Printer Friendly Version      Send     
Click to Rate and Give Feedback
Composite Application Guidance for WPF

patterns & practices Developer Center

June 2008

Summary

The Composite Application Guidance for WPF 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 WPF client applications—composite applications use loosely coupled, independently evolvable pieces that work together in the overall application.

The Composite Application Guidance for WPF can help you split the development of your WPF client application across multiple development teams. In this type of application, each team is responsible for the development of different pieces of the application, which are seamlessly composed together. The guidance includes a reference implementation, reusable library code (named the Composite Application Library), documentation, QuickStart tutorials, and hands-on labs.

Intended Audience

This guidance is intended for software architects and developers who are building enterprise WPF 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, or Windows Server 2003 operating system. Applications built using this guidance will require the .NET Framework 3.5 to run.

NoteNote

This version has been smoke tested on Windows Server 2008, but it has not been exhaustively tested.

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

Resources

The following table contains links for where you can download releases of the Composite Application Guidance, review information on getting started, and other information:

Downloads

Composite Application Guidance for WPF

Composite Application Guidance for WPF Documentation (also included with the above download)

Related Download

ManifestManagerUtility for ClickOnce

Getting Started

Getting Started with the Composite Application Guidance

Overview

Stock Trader Reference Implementation

QuickStarts

Hands-On Lab

Community Feedback and Support

CodePlex Community Site

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 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, dynamic modularity, commanding, and event aggregation. The Hello World QuickStart provides a step-by-step hands-on lab to create your first application using the Composite Application Library.

Documentation

This includes the architectural overview, Stock Trader RI overview, design and technical concepts for composite applications, applied patterns, how-to topics, QuickStarts 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.

Figure 1
Stock Trader RI

Feedback and Support

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

The Composite Application Guidance for WPF 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

At the time of publication, no new releases of the Composite Application Guidance for WPF are planned for the 2009 fiscal year. The patterns & practices team will start collecting customer feedback on the June 2008 release. This feedback will be incorporated into our product planning process and will be broadly communicated in our 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 was produced by the following individuals:

patterns & practices Team:

Blaine Wastell, Bob Brumfield, David Hill, Erwin van der Valk, Francis Cheung, Glenn Block, Larry Brader, Nelly Delgado, Alex Homer (Microsoft Corporation)

Brian Noyes (iDesign)

Adam Calderon (Interknowlogy LLC)

Arun Subramonian Namboothiri, Gokul Janardhanan, Padmavathy Bharathy Jambunathan, Prashant Javiya, Prasad Paluri (Infosys Technologies Ltd)

Damian Schenkelman, Diego Poza, Ezequiel Jadib, Ignacio Baumann Fonay, Jonathan Cisneros, Julian Dominguez, Mariano Converti, Mariano Szklanny, Matias Woloski (Southworks)

Tina Burden McGrayne (TinaTech, Inc.)

Veronica Ruiz (CXR Design)

Many thanks to the following advisors who provided invaluable assistance:

Bil Simser, Brad Abrams (Microsoft Corporation), Chad Myers, Clifford Tiltman (Morgan Stanley), David S Platt (Rolling Thunder Computing, Inc.), Derek Greer, 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.), Michael Kenyon (IHS, Inc.), Michael Sparks (RDA Corp), 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)

© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker