patterns & practices Publishes Rich Internet Application Pattern

Microsoft’s patterns & practices team has published an RIA pattern under the Application Architecture Guide 2.0 project. The pattern addresses a 3-tier scenario providing a solution for it. And although the document can be applied regardless of platform, it does show how the Microsoft technologies, such as Windows Server 2008, Silverlight, ADO.NET Entity Framework, fit together to form the pattern.

In this scenario, you are using an existing database schema in the development of a Rich Internet Application (RIA). The application will be accessible from the Internet. However, the application does not handle personal information or sensitive data. As a result, this scenario can be implemented using a three-tier design with the client workstation representing one tier, a web server representing the second tier, and a database server representing the third and final tier.

The RIA architecture guide builds on several patterns that provide the three-tier funcationality. The pattern solution constructs three tiers with the following patterns:

  • Client Workstation
    • Page/Front Controller (MVC)
    • Proxy
    • Composite View
  • Web Server
    • Services Layer
      • Services Interface
      • Data Transfer Object
      • Entity Translator
    • Business Layer
      • Facade
      • Transaction Script
      • Data Access Layer
    • Repository
      • Domain Entity
      • Data Mapper
  • Database Server

The key characteristics are:

  • The presentation layer is hosted in a rich user interface container.
  • Service, business, and data access layers are located on the same physical machine.
  • The presentation layer interacts with the business layer through a service.
  • The application uses an existing database schema.

For more information, including architecture diagrams and details about what each pattern does and the proposed technologies for each pattern, see Three-Tier RIA Application Scenario. Comments are welcome on the Codeplex site.