Wednesday, May 30, 2007
Friday, May 25, 2007
patterns & practices Performance Testing Guidance for Web Applications Guide
According to the site the guide shows you an end-to-end approach for implementing performance testing. Whether you are new to performance testing, or looking for ways to improve your current performance testing approach, you will find insights that you can tailor for your specific scenarios.
Below is a list of the contents they have in the introduction of the Guide:
Part 1, "Introduction to Performance Testing," gives you a quick overview of the types of performance testing, key concepts, and a set of common terms used in performance testing.
Part II, "Exemplar Performance Testing Approaches," shows you the core activities for performance testing. This section also shows you how to apply performance testing to different environments, including Agile and CMMI.
Part III, "Identify the Test Environment," shows you how to collect information about the project that you'll need for your performance tests. This includes collecting information on system architecture, the physical deployment, user activities, and any relevant batch processes.
Part IV, "Identify Performance Acceptance Criteria," shows you how to figure out your performance testing objectives. You’ll also learn how to get clarity around your various performance requirements, from a performance testing perspective.
Part V, "Plan and Design Tests," shows you how to model the workload and user experience to design more effective performance tests.
Part VI, "Execute Tests," walks you through the main activities of actual performance testing.
Part VII, "Analyze Results and Report," shows you how to organize and present your findings in a way that’s useful.
Part VIII, "Performance Testing Techniques," shows you the core techniques for performing load and stress testing.
Get it here
_
Wednesday, May 23, 2007
Acropolis Client Framework sessions at TechEd 2007
The site he points to lists 3 sessions. I am not going to relist the info here as it may change.
Programming Microsoft Composite UI Application Block and Smart Client Software Factory Book on the Way
We used the CAB to build a Framework similar to the SCSF before it was released. We did a lot of Proof of Concepts (POCs)in order to figure out the best use of the function points we decided to use. We have not built anything with the SCSF but we are looking at it and the Web Client Software Factory (WCSF). I am hoping that this book provides a good path through all the documentation and that it settles some of the contradictions found in the documentation.
About the Book (From the MSDN site... link below)
Hands-on guide to developing smart client applications with CAB and the Smart Client Software Factory
Get hands-on guidance for developing smart client applications using Windows Forms with the Composite UI Application Block (CAB) and the Smart Client Software Factory. Smart clients bridge the gap between thin clients and rich clients—providing the benefits of web applications without sacrificing user experience. However, developing smart clients often requires the skill of an experienced programmer using Microsoft Visual Studio®, Microsoft ASP.NET, and the Microsoft .NET Framework. This book details a simpler, approachable method. With just your fundamental Microsoft Visual Basic® or Microsoft Visual C#® skills, this guide will help you understand the prefabricated classes of CAB and the proven patterns that the Smart Client Software Factory provides. This book offers classroom-tested guidance, hands-on instruction, and a proven building-block approach. Through seven modular lessons, developers of moderate experience with learn how to create functional, robust smart client applications.
Check it out here on MSDN or on Amazon here.
_
Enterprise Library 3.1 - May 2007 Released
The patterns & practices Enterprise Library is a library of application blocks designed to assist developers with common enterprise development challenges. Application blocks are a type of guidance, provided as source code that can be used "as is," extended, or modified by developers to use on enterprise development projects. This release of Enterprise Library includes application blocks for Caching, Cryptography, Data Access, Exception Handling, Logging, Policy Injection, Security and Validation.
-
Tom Hollander's overview of the 3.1 changes can be found here.
-
You can download the Enterprise Library 3.1 version here.
_
Tuesday, May 22, 2007
Vote, Vote, Vote - Enterprise Library 3.1 and Web Client Software Factory 1.1 are coming, and then Web Client Software Factory 2.0.
The interaction between the PnP team and the community has been excellent. If you haven't been voting on the changes you would like to see happen, you should start. Each of the CodePlex sites offer a voting section for the feature we the community would like to see. They even have started the EntLib Contrib project for those ideas for features that will better serve the community as an extension. EntLib Contrib is a community-developed library of extensions to the patterns & practices Enterprise Library. They are definitely listening to the community, and there is still time to have an impact on the Web Client Software Factory 2.0.
To make life a little simpler you can click the links below to vote:
patterns & practices – Enterprise Library
Web Client Software Factory
Web Service Software Factory
Smart Client Guidance
You can check out what is coming in the next release of EL 3.1 here.
The Web Client Software Factory 1.1 is in final testing…. Info here.
_
Monday, May 21, 2007
Microsoft Enterprise Service Bus (ESB) Guidance (based on BizTalk Server 2006)
You can get a look at the guidance currently available (CTP1) on the CodePlex site here.
According to the site CTP1 will be changed considerably before its final release in September 2007. Should be interesting watching the changes take place.
ClickOnce Deployment Resource Kit
They are:
Smart Client Deployment with ClickOnce: Deploying Windows Forms Applications with ClickOnce (Microsoft .NET Development Series) by Brian Noyes
And
Deploying .NET Applications: Learning MSBuild and ClickOnce (Expert's Voice in .Net) by Sayed Y. Hashimi and Sayed Ibrahim Hashimi
ClickOnce Deployment Resource Kit
If however you do not what to spend the $30.00 to by the books, you should check out the ClickOnce Deployment Resource Kit found on the CodePlex Smart Client Software Factory home page. I thought I would point it out, because I have been overlooking it until last night, and thought that others have done the same.
There is a paper is written by Brian Noyes, the author of the first book listed above, included with the download. The ClickOnce Deployment Resource Kit also includes 2 code projects, the ClickOnce Deployment Repository and the Manifest Manager Utility.
The topics covered in the paper are:
ClickOnce Deployment Modes
ClickOnce Update Options
ClickOnce Publishing Process
Publishing Scenarios
ClickOnce Deployment Architecture
Deploying for Multiple Groups
Handling High Deployment Server Load
Implementing a Custom ClickOnce Server File Repository
Deployment Activities
How to: Publish an Initial Version of a Composite UI Application Block Application
How to: Deploy an Initial Version of a Composite UI Application Block Application
How to: Publish an Updated Version of a Composite UI Application Block Application
How to: Deploy an Updated Version of a Composite UI Application Block Application
How to: Move an Application to a Different Server
How to: Add On-Demand Programmatic Update to an Application
How to: Publish Two Different Versions of an Application for Two Different Groups
How to: Restrict Access to Different Versions Based on User Role
How to: Apply New Module Updates at a Future Time in a Composite UI Application Block Application
If the paper doesn't give enough detail, I would suggest buying Brian's book.
The ClickOnce Deployment Resource Kit can be downloaded from this page, or directly by clicking here.
Just an FYI.... the kit's information is included in the SCSF download. They have integrated the information into the help documentation that is found in the paper mentioned above, but it is not as print friendly.
_
Sunday, May 20, 2007
Windows Server 2008 Scenario Voting
Hats off to the team responsible for this.
Here is some info from the scenario survey site:
The Windows Team invites you to participate in making Windows Server 2008 the best server operating system ever released by Microsoft. Now you can take part in the evolution of Windows Server 2008 by testing the featured scenarios with each milestone build and providing feedback. Not only will this give you valuable insight into the product, but you can also influence it through direct input into the Windows Server product teams.
Scenario Voting provides a featured list of Windows Server 2008 scenarios for you to evaluate in the latest build. Exploring this site and trying these scenarios will introduce you to the exciting functionality and potential for Windows Server 2008. Your feedback will also provide valuable information for our product teams so they can further enhance the experience for everyone
Check it out here.
_
Saturday, May 19, 2007
Smart Client Software Factory (SCSF) v2 Released (May 2007)!!!!
According to this blog, this release includes:
-- Windows Presentation Foundation interoperability CAB extensions and View with presenter recipe
-- Offline application blocks and recipes; the application blocks support asynchronous calls to WCF web services.
-- Richer ClickOnce Deployment capabilities
-- Enhanced guidance packages which includes code generation Visual Basic .NET 2005
-- Improved installation with a new dependency checker
You can find installation steps here and a Getting Started with the Smart Client Software Factory Guide here.
Friday, May 18, 2007
Microsoft Popfly
Popfly is the fun, easy way to build and share mashups, gadgets, Web pages, and applications. Popfly consists of two parts:
1- Popfly Creator is a set of online visual tools for building Web pages and mashups.
2- Popfly Space is an online community of creators where you can host, share, rate, comment and even remix creations from other Popfly users.
The list of features:
Mashup Creator
Blocks
Blocks enable Popfly users to do things like get their photos from Live Spaces or Flickr and visually display them using Silverlight blocks like a slideshow or an interactive photo carousel, all without writing code. Underneath the covers, blocks are just chunks of code that wrap complex operations, like retrieving data from a Web site or displaying an animated slideshow so that others can easily reuse that block.
Design Surface
The interactive design surface enables you to drag and drop blocks and connect them together to build your application.
Integrated Tutorials
The mashup creator also includes a right pane with integrated text and video tutorials to help walk you through creating your first application.
Fully Customizable HTML
Advanced users who want to fully control the rendered HTML can switch to the custom HTML view that provides you the ability to create any custom HTML, CSS, or JavaScript code you want. Think of it as your free area to experiment on the Web.
Web Page Creator
Visually Design Your Page
Visually design your Web page without writing code using the same technology that powers the Microsoft Office Live Web Designer.
Custom Themes, Styles, and Colors
Choose from over 150 different themes, 10 styles, and 30 unique color themes for a unique visual design.
Embed Mashups
Go beyond the traditional static Web page hosting offered today and embed mashups, gadgets, and other dynamic content built by you or the Popfly community directly into your site.
Popfly Space
Connect with Creators
Popfly is a social network that enables you to connect with other creators. Using Popfly, you can add your favorite creators as friends and keep track of their latest projects.
Rate, Remix and Embed Everywhere
Popfly lets your rate and Rip (copy) someone else's project which creates a personal copy of the project for you. You can also embed your project on some of the most popular blogging services on the Web, including TypePad, Windows Live Spaces and others. You can even save your project as a Windows Sidebar Gadget that can run on the Windows Vista Sidebar.
Share Visual Studio Express Projects
Advanced users can install the Popfly Explorer plug-in which enables you to upload and share projects built with Visual Studio Express to the world.
Getting Popfly
When you go to the home page or sign up for the wait list you get an email containing the following:
Greetings!
We have received your request for an invitation to Popfly. We will e-mail your invitation when we send out our next batch of invites. If you have any further questions about Popfly, you can reach the Popfly team at our Popfly User Feedback address: suf@microsoft.com
Cheers,
The Popfly Team
I will post more about the Popfly experience when I receive the invite.
Make sure you watch the Popfly screencast on the home page.
Check out Popfly here.
_
A New Software Product Lines Community Wiki to Keep your Eye on.
The site is the brain child of the participants of a one-day workshop entitled “Managing Variability for Software Product Lines: Working With Variability Mechanisms” that was held in conjunction with the 2006 Software Product Line Conference on August 21, 2006 in Baltimore, USA.
The workshop's goal was to begin to fill the void between variability requirements visible to those who deal with features and other product-level concerns, and the variation mechanisms visible to creators and consumers of a product line’s core assets.
The workshop participants wanted to begin to codify a body of knowledge for the informed and purposeful selection of variation mechanisms to use in a software product line’s core assets. They decide to start the Software Product Lines community Wiki.
You can find the "Managing Variability- Working With Variability Mechanisms" (IESE-Report No 152.06/E Version 1.0) paper here.
There also other papers from the 2006 Software Product Line Conference available here.
You can find the new Software Product Lines community Wiki site here. Keep in mind that the site is brand new and doesn't really contain much, if any, useful information yet. But I have high hopes for it. The Second Workshop on Managing Variability for Software Product Lines: Working With Variation Mechanisms (SPLC 2007) has put out the request for papers (here), and one of the options for submission is to submit your variation mechanism pattern to the Wiki site.
Thursday, May 17, 2007
Take a break with Spinal Tap
Take a 5 minute break and watch the Spinal Tap member update here. It is definitely worth checking out.
What or Who is Spinal Tap..... Here.
This is Spinal Tap.... Here.
All Amps should go to 11 ... Here.
11 video ... Here
Remembering the Dead ... Here
_
Friday, May 11, 2007
Internet Explorer Developer Toolbar Version 1 Released
Overview from the MSDN Download site:
The Internet Explorer Developer Toolbar provides several features for exploring and understanding Web pages. These features enable you to:
- Explore and modify the document object model (DOM) of a Web page.
- Locate and select specific elements on a Web page through a variety of techniques.
- Selectively disable Internet Explorer settings.
- View HTML object class names, ID's, and details such as link paths, tab index values, and access keys.
- Outline tables, table cells, images, or selected tags.
- Validate HTML, CSS, WAI, and RSS web feed links.
- Display image dimensions, file sizes, path information, and alternate (ALT) text.
- Immediately resize the browser window to a new resolution.
- Selectively clear the browser cache and saved cookies. Choose from all objects or those associated with a given domain.
- Display a fully featured design ruler to help accurately align and measure objects on your pages.
- Find the style rules used to set specific style values on an element.
- View the formatted and syntax colored source of HTML and CSS.
The Developer Toolbar can be pinned to the Internet Explorer browser window or floated separately.
_
Smart Client Software Factory v2- Windows Presentation Foundation (WPF) Smartpart Support.
When you run this you get the application shown in the following screen shot:
The smartpart is XAML. Shown below:
There are already 2 blogs that talk about some of the technical details of the WPF Smartparts.
They are here:
WPF Support in SCSF
WPF Support in Smart Client Software Factory v2
Wednesday, May 09, 2007
Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing (POSA4)
The authors did a great job of creating a language composed of patterns for distributed software architectures.
The book does not go into the details of the pattern's implementations, so you should already be familiar with the patterns, or be prepared to spend some time researching. They do provide brief descriptions and a model for each pattern included in the language. If you need to research a pattern a little more, that shouldn't be a problem because they have included an excellent References section that contains sources for all the patterns original resources and they do a great job pointing to them throughout the text.
The book's best attribute is in how they show the relationships between the patterns. At the beginning of each section they include an introduction to a problem area that ties all the patterns in that section together.
They have broken the language up into the following sections:
From Mud To Structure
Distribution Infrastructure
Event Demultiplexing and Dispatching
Interface Partitioning
Component Partitioning
Application Control
Concurrency
Synchronization
Object Interaction
Adaptation and Extension
Modal Behavior
Resource Management
Database Access
Although the book is a pattern language for distributed software architectures, the patterns are definitely usable in other contexts.
I used the search on this page to check out the internals of the book before buying it. You can also get some sample chapters here.
Every Software Architect should own a copy of this book. It is a wealth of information. If you have a Software Architect working for you, you should make this mandatory reading in order for them to keep their job.
_
Thursday, May 03, 2007
Microsoft ASP.NET Futures (May 2007) Available for Download
The Overview from the MSDN site:
The Microsoft ASP.NET Futures May 2007 (“Futures”) release contains an early developer preview of features providing a wide range of new functionality for both ASP.NET and Silverlight™. The functionality in the Futures release includes early experimental versions of features currently being considered for future versions of ASP.NET and the .NET Framework. The Futures releases assume prior knowledge of the core features of ASP.NET including the previous ASP.NET AJAX Futures January CTP.
Features in this release include ASP.NET Silverlight server controls, new functionality for ASP.NET AJAX Extensions, dynamic data controls, enhancements to dynamic languages, and more.
Get it here.
_
Wednesday, May 02, 2007
The 5 year old Customer- La La La La La La {with fingers in ears}
Last fall we built a web version of a smart client application for the preparation of home users. The week we were to deliver it, the client decided they didn't want to implement it because there were very few home users at that time. They insisted we trash the project. Make it disappear so it didn't look like we spent time on it. In the next few weeks we will begin to build it again, but this time against an architecture that has been completely reworked thanks to the Programmer from Hades we employed. Of course that programmer was only allowed to do their damage because of the same client insisting they could manage them.
Although our team works a lot of overtime trying to keep this project a success, in reality it isn't. Our company is being paid about 2/3 of what we have spent keeping this project alive and well, and the client has wasted a least 50% of their spent budget on rework because of their lack of development experience and poor choices based on the fact that they perceive themselves capable of making the right choices.
We recently got another La La La La La La {with fingers in ears} session. Where we were told to stop wasting their time and money by planning. We should never be planning, we should always just be developing. We were planning an architecture to help fulfill the next iteration's requirements. Without it, we will in essence need to rebuild the application a third time.
So why are we sticking with it? Our sales guys have mistaken a dangling carrot for a dangling gold bar. They believe that some day the client will begin to listen to people who develop software for a living, instead of pretending that they have the experience needed to make the right decisions.
Do I think it will change? Nope. I used to be associated with a company that would go into organizations and clean house for them. Part of the assessments they did of individuals resulted in a rating of trainability based on several criteria. Being non-trainable meant they were not capable of change and they were marked for elimination. I am afraid we are dealing with some very untrainable folks.
Could we bring this client down the hard way? We definitely could try, but I don't believe it is within the scope of my responsibility and I would be doing the same thing the client is doing. I would be making decisions that I may not be qualified to make. I develop software, I am not a salesman, I don't run companies, I don't manage my client, and I certainly have the opportunity to simply leave the project if I don't like the way the powers that be are running it.
So how do we cope with the stupidity and the angry outburst from the client? This book definitely helped. If you have read the book, you will understand the statement that we are dealing with one that falls into the category of incompetent and certified (More here from Bob). It also helps to keep it all in a bigger perspective. If done right or wrong, in 10 years none of it will matter anyway.
It amazes me that some months, if we just didn't do any work at all for the entire month, we would be 6 weeks ahead of where we ended up after working all month. Go figure….