Introduction
Application Structure: Concept View
This page
Application Concept: "Conceptual Structure" Service-based Application Structure Service Message Agreement Policy Status Processing Application
This article introduces the concept view of the application architecture of Microsoft. The target readers in this article are those who wish to understand the method of Microsoft handling enterprises, applications, and technical architectures, software, and basic architects. "Application Architecture" and "Concept View" are introduced in the article "Overview of Microsoft Architecture", which covers all levels of architectural terms, patterns, concepts, and definitions.
The emergence of web services has a considerable impact on some of the architectural layers and provides a set of new basic architectural elements for Class = Grame> architect working in the concept layer. These elements include web services, messages, status, and processing, this document will define and discuss them.
This article focuses on the application concept or "conceptual architecture". Application mode, technical concepts, and related technology patterns will be described in other documents.
Application concept: "Conceptual Structure"
In the past, the construction of the application was implemented by integrating local system services such as file systems and device drivers). This model provides great flexibility in accessing rich development resources and precise control applications, but it is easy to errors, high cost and more time.
The complex distributed application can now be constructed by integrating existing applications and services on the entire network, then providing a unique value of additional value on them, using such as business entities, data entities, and other aspects. This allows developers to focus on providing business value, thereby reducing the time of entering the market, increasing development efficiency, and ultimately developing high quality software. Over the years, this has always been a powerful architecture model, but it produces "application ventilation" or "information islands", which will cause major problems in architectural reuse.
Now, we have entered the next calculation phase. This phase is implemented through the Internet and Web service concepts, which can create powerful applications that can be used by anyone, any location. It adds the application range and can be delivered. In this case, the software is service - a service to order and use over a communication network.
Microsoft .NET is promoted by the integrated N layer computational high-efficient tight coupling characteristics and web-oriented loose-oriented loose concepts. This calculation style is referred to as an XML Web service that represents the next revolution developed by the application. Web services are an application that uses standard Internet protocols to programmatically programmed by Internet or intranet.
Web services provide the following set of basic elements to the concept layer constructor.
Back to top
Service-based application structure
The application architecture provided herein uses software services to provide a cross-organization that is easy to integrate and meet consistent operation requirements. The service-based architecture greatly enhances the abstract level of code reuse, allowing applications to bind to services that continue to evolve and improve over time without modifying applications using services. The service provides a clear model for the internal and cross-organizational boundary integrated software systems.
The next section briefly introduces the main concepts, then introduces the details of the architecture.
Back to top
service
Software services are discrete units of application logic, providing messages based on interfaces that are suitable through network access. Typically, services provide both business logic, and provide status management related to issues to be resolved. When designing services, the goal is to effectively encapsulate logic and data related to the process of the reality world, making wise choices to content to be included and to be implemented as an independent service.
Status management is managed by business rules. Business rules are relatively stable algorithms (for example, a method of summarizing the invoice from the product list), generally implemented as an application logic.
Service is managed by strategy. Compared to business rules, the stability is poor and may be regional or for specific customers. The strategy is typically driven by reviewing the table at runtime. Therefore, the more complete definition of the service should be: "The service is a software unit that can run on the network, which implements logic, manages status, and communication through the message, and manages the strategy."
Figure 1. Service
Back to top
news
The service interacts by switching messages. In the provided service model, the service is completely defined by a message thereof (the sort requirements including these messages). Successful routing messages between services is a complex process, which is best processed by the message processing infrastructure shared between the organization disclosed services.
Back to top
agreement
When two services interact, the message is sent back and forth between the two. Both of these are exactly what they want to send, how to send it, what is expected, and how to expect it. Not only is it necessary to define a sendable message, which should be used in the format and its sending mode, and must also specify the transmission order of these messages. The agreement is the full content of the two services and how to send their definition or binding protocols.
Back to top
Strategy
Different departments not only take responsibility for different services, but also responsible for different services, each service is usually managed by different departments or roles within the organization. Each of these groups will have a separate responsibility: a group can be responsible for defining security rules, and another group needs to ensure the normal runtime and response of the system. These management rules typically need to consider the design phase of the project, and because these solutions are usually not flexible, they cannot be adapted. Using policies, you can set up rules to control communication and service behavior. Making strategies a part of the design process will increase flexibility and enhance management functions.
Back to top
status
Service management status; this state is usually the reason for the service. Service monitors this status and ensure that the status is consistent and accurate through their business logic. This status is the only real current source of information.
Almost all services manage persistent states, which are stored in a persistent medium (eg, file system or database). The service receives a request for another service, retrieves a state from this persistent medium and generates a response or update state. This lasting state is very important; the service may be turned off, and when they are started again, the persistent status will remain at the original and continue to run, as if there is no matter what happened. The service will be consistent as much as possible; they will also keep their own application status in memory, but if there is a problem, they just give up the processing, forget the status of the application in memory, and use this The persistent state sets a new state.
Back to top
deal with
Business processing or processing, controls an step-by-step operation of a work and transfer the system from one state to another. It can call a business operation in each step. These processes can host the host in a service processing service or processing service. Processing in the similar processing service sends a message to invoke a service operation included in a service, then proceeding to the next step, which may require another service.
Handling services Using business services, such business services can be built as multi-layer systems.
Business services can follow traditional design; including the service structure of the processing service to connect these systems. Typically, the business service itself is a more closely coupled system; the coupling between services is relatively loose. The service structure is coupled in a loose manner coupled to a tightly coupled system.
Each of these concepts will be introduced more detailed in the rest of this document.
Back to top
application
The application consists of processing services and services and user interface (UI) services. Handling the interaction between service control services and UI services. Business services are typically composed of four layers: service interface layers, business processing layers, business entity layers, and data representations.
This model is valid for traditional applications (user interfaces with business services) and businesses that communicate between business services (traffic services). Go to the original English page