Application Layers in a Service-Based Architecture Home
.NET Designers
Application Layers in a Service-Based Architecture
 

August 16, 2002

Steve Kirk
Microsoft Corporation

Summary: By looking at service-based architecture at different scales, Steve Kirk examines the place of factoring an application into logical layers in the new conceptual application architecture of Microsoft .NET. (3 printed pages)

In the July column, I introduced the .NET Architecture Center and some new content there, including the Application Architecture: Conceptual View. A colleague who had visited the Center and read this recently stopped by to discuss applications such as Duwamish 7 and IBuySpy catalogued in .NET Architectural Sample Applications. He wondered how those applications fit the new architectural concepts.

Those applications are factored into logical layers. For example, the Duwamish 7 architecture contains User, Business Façade, Business Rules, Data Access, and Data layers. The layers are themselves factored by use case, and the physical architectures vary significantly, but the concern driving my colleague's visit was, "Where do these logical layers fit in the new conceptual application architecture?"

The short answer is that it continues to make sense to factor an application into logical layers. If we want to address the question more thoroughly, we can consider the architecture at a range of scales.

Figure 1. A service and process view

Figure 1, borrowed from the Applications part of Application Architecture: Conceptual View, shows a process service that calls other process services and business services. A process service is itself a service that controls step-by-step calls to services. An order process service might make calls to customer, shipping, and credit-card billing business or process services.

Figure 2. Detail showing the internal architecture of a service

Figure 2 shows a service closer up, illustrating the internal service architecture. At this more detailed scale, we can see that the service is factored into layers that correspond reasonably well to the above-mentioned Duwamish 7 layers. So looking at the service-based architecture at different scales helps to show what doesn't change with this architecture, as well as what does.

From User-Interface Scale to Enterprise Scale

The exercise of applying the concepts at various scales can also help show, as suggested in Applications, how you can apply the service and process service concepts from the user-interface scale, to the business-process scale, and on to the enterprise scale.

Applying these concepts at the user-interface scale can enable better factoring of business logic from the user interface, leading to enhanced maintainability and reuse.

When applied at the enterprise scale, a portfolio of applications may be thought of as a portfolio of services—and this may in turn lead to enhanced enterprise integration. In fact we'll soon be addressing this, and other design issues, through a new document set, Application Architecture: Logical View, which is now being developed for publication on the .NET Architecture Center.

 

.NET Designers

Steve Kirk is an application architect with the MSDN Architectural Samples team. He coordinates content for the .NET Architecture Center and Building Distributed Applications with .NET. Other projects include Duwamish Books and other MSDN sample applications.

© 2009 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