Subscribe with RSS or ATOM Add to Google





Monday, November 16, 2009

Microsoft Application Architecture Guide 2nd Edition Book Review

Man, was I glad to see them print this thing. I had bugged them about it, but they said it wouldn’t pay for itself. It’s good to see they changed their mind. I have been lugging it around in a binder, and that had been less than pleasurable.

I like keeping this with me because it serves as great reference of all the things I am supposed to remember, but often forget. When it comes time to begin a new architecture I like having my valuable books nearby, and this is one of them.

This book is packed with guidance on Mobile applications, Rich client applications, Rich Internet applications, Service applications, and Web applications built with .NET. The solution guidance provided in this book is all 100% .NET and Microsoft centric. It maps all the important aspects of software architecture to ways to implement them in .NET or with Microsoft products. This is the compass you need to find out what Microsoft has to offer for building different types of architectures.

The book includes individual chapters on designing Mobile applications, Rich client applications, Rich Internet applications, Service applications, Web applications, Hosted and Cloud Services, Office Business applications, and SharePoint LOB applications.

The book also includes some nice appendixes. They include the Microsoft Application Platform, Presentation Technology Matrix, Data Access Technology Matrix, Integration Technology Matrix, Workflow Technology Matrix, patterns & practices Enterprise Library, and a patterns & practices Pattern Catalog.

The book primarily focuses on architecture, but each chapter provides resources for guidance on the details of implementation for the technologies mentioned in that chapter.

The book focuses on the technical aspects of .NET architecture. It does not cover the soft skills needed to be an architect, or cover the customer facing skills need to communicate with the business stakeholders. You won't find much on process either, just an overview. These missing topics have not taken away from the book, they have made it a stronger book. There are plenty of resources on how to execute the soft skills and architecture process. This book concentrates on how to communicate with the development team through solid design and well known patterns and principles.

If you are a .NET Architect, Developer, or Project Manger of a .NET team, you should have this book at your side. As a matter of fact, I would recommend making one of your interview questions for your team members – “Tell me what your favorite part of the Microsoft Application Architecture Guide 2nd Edition is?” If the candidate does not have a favorite part, you get back that hour you almost wasted on them.

Thursday, November 12, 2009

Video of Len Bass from SEI Discussing Quality Attributes (Non-functional requirements)

Len Bass, co-author of Software Architecture in Practice, discusses quality attributes.

Overview from video site:
Quality Attributes (Non-functional requirements) as first class citizens of a project? Too far fetched? Len Bass, co-author of Software Architecture in Practice and longstanding member of the Software Engineering Institute (SEI), thinks he has an answer. But how does this fit in an agile world?

Check it out here.

Tuesday, November 10, 2009

Bing Maps Silverlight Control Version 1.0 Released

Microsoft has released version 1.0 of the Bing Maps Silverlight Control. It is a pretty sweet control, easy to use and great performance.

Description form the SDK:
The Bing Maps Silverlight Control combines the power of Silverlight and Bing Maps to provide an enhanced mapping experience. Developers can use the Bing Maps Silverlight Control to incorporate the latest location and local search features into their applications.

Below are some links to get you started:
Bing Maps Silverlight Control SDK
The Bing Maps Account Center
Watch the Video Announcement
Download the Bing Maps Silverlight Control SDK (which includes the control)

Saturday, November 07, 2009

Introduction to the SEI Framework for Software Product Line Practice Webinar

You can now register for the second of three webinars in a three-part series on Software Product Line Management.

About the Webinar (from the Webinar annoucement page)

RYMA's November 11th Webinar will be presented at noon Eastern Time by Patrick Donohoe of the SEI. This is part two of a three-part series on Software Product Line Management. Also watch for part three "An Implementation and Maintenance Case Study."

Software product lines have emerged as a new software development paradigm of great importance. A software product line is a set of software intensive systems sharing a common, managed set of features, that satisfy the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way.

Organizations developing a portfolio of products as a software product line are experiencing order-of-magnitude improvements in cost, time to market, staff productivity, and quality of the deployed products. A product line succeeds because the commonalities shared by the software products can be exploited to achieve economies of production.

The SEI Framework for Software Product Line Practice is a web-based document that describes essential activities and practices that organizations must master in order to successfully adopt a product line approach.

Webinar attendees will gain a basic understanding of
--how the framework codifies existing best practices for software product line
--show the software engineering, technical management, and organizational management practice areas of the framework support the three essential activities of software product line development

Register here

Pro Silverlight 3 in C# Book Review

This book is by far the best resource for Silverlight 3.0. In this version the author added a whopping 185 pages to the last edition. He added chapters on Data Controls, separated the Styles, Templates, and Custom Controls into two separate chapters name Styles and Behaviors, and Templates and Custom Controls, and added a new chapter on Navigation.

I have bought 3 other books on Silverlight 3, and put together they only contain about 1/8 of the value of this book (you can see which ones here "Shiny Turds Books that do not Cut the Mustard").

It starts out with an introduction that covers the Visual Studio Silverlight environment. He then gives a short introduction to XAML. The introductions really help those who have no experience get rolling right away.

The author covers every out of the box element in detail (including the DataGrid control and a little on the DataForm control), and includes a nice reference for where the element can be found in the book. He also covers styles and templates, brushes and transforms, shapes and geometries, animation, and layout containers.

The book covers out-of-browser applications, assembly caching, networking, multithreading, isolated storage, browser integration, media and deep zoom, wcf services, the application model, and dependency properties and routed events.

One of the things I like best about the book is it includes a lot of references and material on the Silverlight Toolkit.

The book is very readable for those that like to read cover to cover, but it also makes a great reference.

The downloadable code is very usable and very complete. Below is a screenshot of the Elements chapter's sample code running.

This is a must have book for any developer working with Silverlight 3.0.


Click here to see larger image.

Wednesday, November 04, 2009

New Webinar Series on Software Product Lines has started

The first in a series of 3 Webinars on Software Product Lines is available to watch on line. The first titled Software Product Lines: An Effective Business and Development Strategy can be watched here.

More about the Webinar (from the Webinar's web site):
RYMA's November 4th Webinar was presented by John McGregor. This is Part-One of an exciting Three-Part Series on Software Product Line Management. Also watch for Part-Two from SEI, presenting the Software Product Line Framework, and Part-Three "An Implementation and Maintenance Case Study".

By attending this webinar you will take away
an improved understanding of the characteristics that are indicative of product line success and how these characteristics support innovation, concrete examples of companies that have used the strategy to dramatically reduce the time to market and to increase productivity by orders of magnitude, and a basic analysis technique to assist in determining whether a software product line strategy will achieve their company's goals.

The increasingly diverse nature of the software industry requires strategies that can be tailored to meet the specific objectives of the organization. The software product line strategy integrates business and technical practices to achieve an organization which has the capability to produce a set of related products achieving extraordinary efficiencies in the development process. Although many software companies have grouped products with similar features, such as office suites or the community-pro-enterprise feature levels, few have carried that grouping into the techniques by which the products are actually constructed.

This presentation will include product line concepts, success stories, and resources that are available from the product line community for companies just beginning to adopt these practices. The presentation will illustrate how the strategy blends architecture-centric development activities with management coordination activities and will provide a high-level view of an organization employing these activities.

The event System. Data. Objects. DataClasses. StructuralObject. PropertyChanged can only appear on the left hand side of += or -=

This time I am putting the answer somewhere I will remember it.

When you upgrade to VSTS2010 you'll get a ton of these errors in your service references (reference.cs). I got them on all the EF stuff I had in mine.

The fix is below:
If you look in your client project directory, there is a directory called Service References which contains a directory per service reference. Inside this directories there is a file called Reference.svcmap that contains the proxy generation configuration. Open the file and change the line that says <EnableDataBinding>true</EnableDataBinding> to <EnableDataBinding>false</EnableDataBinding>.