Composite Application Guidance for WPF and Silverlight
Composite Application Guidance for WPF and Silverlight

patterns & practices Developer Center

patterns & practices Developer Center

October 2009

Summary

The Composite Application Guidance for WPF and Silverlight is designed to help you more easily build enterprise-level Windows Presentation Foundation (WPF) client applications. This guidance will help you design and build flexible composite client applications-composite applications use loosely coupled, independently evolvable pieces that work together in the overall application.

The Composite Application Guidance can help you develop your client application in a modular fashion. With this approach, you manage the complexity of a large application by breaking it down into smaller, simpler modules. The modules can evolve independently while working together as a unified application.

This version of the Composite Application Guidance is designed to help you build applications in WPF and Silverlight that have a single code base.

The guidance includes a reference implementation, reusable library code (named the Composite Application Library), documentation, QuickStarts, and hands-on labs.


NoteNote

The October 2009 release allows you to use Silverlight 3. If you do not want to upgrade to Silverlight 3, see "Opening Projects with Silverlight 2" in New in This Release. Additionally, there were some other minor updates and bug fixes in this release. For more information, see New in This Release.

Intended Audience

This guidance is intended for software architects and developers who are building enterprise WPF or Silverlight client applications. The guidance uses a number of design patterns. Familiarity with these technologies and patterns is useful for evaluating and adopting the Composite Application Library.

System Requirements

This guidance was designed to run on the Microsoft Windows Vista, Windows XP Professional, Windows Server 2003, or Windows Server 2008 operating system. WPF applications built using this guidance will require the .NET Framework 3.5 SP1 to run, and Silverlight applications will require the .NET Framework for Silverlight 3.

Before you can use the Composite Application Library, the following must be installed:

You may also want to install the following:

Resources

The following table contains links to download the Composite Application Guidance or review information about the release:

Downloads

Composite Application Guidance for WPF and Silverlight

Composite Application Guidance Documentation in CHM format (also included with the above download)

Visual Basic QuickStarts and How-to Topics for the Composite Application Guidance for WPF and Silverlight

Related Download

ManifestManagerUtility for ClickOnce

Getting Started

Evaluating the Composition Application Guidance

Overview

Stock Trader Reference Implementation

QuickStarts

WPF Hands-On Lab: Getting Started with the Composite Application Library

Silverlight Hands-On Lab: Getting Started with the Composite Application Library

Upgrading from the Composite Application Guidance for WPF-June 2008

Community Feedback and Support

CodePlex Community Site

Learn More

Creating Modular Applications using PrismV2 Videos

Prism v2 - Composite Application Guidance for WPF and Silverlight

Prism 2.0 - Elegant Code Cast

What is Prism v2?

License

End User Licensing Agreement (EULA)

Assets Included in the Composite Application Guidance

Asset

Description

Stock Trader Reference Implementation (Stock Trader RI)

This is a sample composite application that is based on a real-world scenario. This intentionally incomplete application illustrates the Composite Application baseline architecture. This is a good reference to see how many of the challenges are addressed by this guidance when building composite applications.

Composite Application Library source code

Developers can use the Composite Application Library to develop WPF or Silverlight applications that are composed of independent and collaborating modules. The library includes extensions to support the integration of the Unity Application Block.

QuickStarts

These include the source code for several small, focused applications that illustrate user interface (UI) composition, modularity, commanding, event aggregation, and multi-targeting applications between WPF and Silverlight. The Getting Started Hands-On Labsprovide step-by-step instructions to create your first application using the Composite Application Library in WPF or Silverlight.

Documentation

This includes the architectural overview, Stock Trader RI overview, design and technical concepts for composite applications, applied patterns, How-to topics, QuickStart overviews, and deployment topics. Much of this guidance is applicable even if you are not using the Composite Application Library, but you want to know best practices for creating composite applications.

Figure 1 illustrates the Stock Trader RI included with the Composite Application Guidance.

Dd458809.PrismV2StockTraderRIShell(en-us,MSDN.10).png

Figure 1
Stock Trader RI

Feedback and Support

Questions? Comments? Suggestions? To provide feedback about this deliverable, or to get help with any problems, visit the CodePlex Community site.

The Composite Application Guidance for WPF and Silverlight is designed to be reused, customized, and extended. It is not a Microsoft product. Code-based guidance is shipped "as is" and without warranties. Customers can obtain support through Microsoft Support Services for a fee, but the code is considered user-written.

Future Plans

The next release of the Composite Application Guidance for WPF and Silverlight is planned for the first half of 2010. The patterns & practices team has collected customer feedback on the February 2009 release. This feedback will be used to plan the release in 2010. The release will be communicated on the community site.

To provide feedback, please create and vote on work items in the CodePlex issue tracker.

Related Titles

Authors and Contributors

The Composite Application Guidance for WPF and Silverlight was produced by the following individuals:

patterns & practices Team:

Blaine Wastell, Bob Brumfield, David Hill, Erwin van der Valk, Larry Brader, Nelly Delgado, Prasad Paluri (Microsoft Corporation)

Gokul Janardhanan, Manickavasagam Shanmugasundaram, Rathinayagam Velusamy, Srivisakh RajaSekar, Thiagarajan Venkatramani (Infosys Technologies Ltd)

Damian Schenkelman, Diego Marcet, Diego Poza, Ezequiel Jadib, Ezequiel Sculli, Julian Dominguez, Mariano Converti, Pablo Costantini, Paulo Arancibia (Southworks)

Tina Burden McGrayne (TinaTech, Inc.)

Veronica Ruiz (CXR Design)

Contributors to the previous release of this guidance:

Francis Cheung and Glenn Block (Microsoft Corporation), Brian Noyes (iDesign), Adam Calderon (Interknowlogy LLC), Arun Subramonian Namboothiri, Padmavathy Bharathy Jambunathan, and Prashant Javiya (Infosys Technologies Ltd), Ignacio Baumann Fonay, Jonathan Cisneros, Mariano Szklanny, and Matias Woloski (Southworks).

Many thanks to the following advisors who provided invaluable assistance:

Adam Calderon (Interknowlogy LLC), Bil Simser, Bill Wilder, Brad Abrams (Microsoft Corporation), Brian Austin (IHS Inc.), Brian Noyes (iDesign), Chad Myers, Clifford Tiltman (Morgan Stanley), David S Platt (Rolling Thunder Computing, Inc.), Derek Greer, George Bolsch (Dotway), Ian Ellison-Taylor (Microsoft Corporation), Ivo Manolov (Microsoft Corporation), Jamie Rodriguez (Microsoft Corporation), Jeremy D. Miller (Dovetail Software), John Gossman (Microsoft Corporation), Josh Twist (Microsoft Corporation), Matt Smith (AltiMotion Corporation), Mark Feinholz (Microsoft Corporation), Mark Tucker (JDA Software Group, Inc.), Michael D. Brown (Software Engineering Professionals, Inc.), Mike Kenyon (IHS, Inc.), Michael Sparks (RDA Corp), Norman Headlam, Ohad Israeli (Hewlett-Packard), Oren Eini (aka Ayende Rahien), Peter Lindes (The Church of Jesus Christ of Latter-day Saints), Rob Eisenberg (Blue Spire Consulting, Inc.), Shanku Niyogi (Microsoft Corporation), Scott Bellware, Szymon Kobalczyk (InterKnowlogy), Udi Dahan (The Software Simplist), Varghese John (UBS), Ward Bell (IdeaBlade)

patterns & practices Developer Center

© 2010 Microsoft Corporation. All rights reserved.   Terms of Use | Trademarks | Privacy Statement
Page view tracker
Rate the Lightweight library
x
Lightweight builds on ScriptFree (loband) by adding features you've requested: a SearchBox and default code language selection.
Do you like the SearchBox?
Do you like the tabbed code blocks?
How useful is this topic?
Tell us more.
Thanks
x
You're helping to improve MSDN Online.
Feedback
Switch View
Classic
Lightweight Beta
ScriptFree
Switch View