Microsoft Architecture Overview
Michael Plattmicrosoft Corporation
table of Contents
Enterprise Architecture Applications and Technical Architecture Concepts, Logic and Physical View Application Architecture Application Mode Technical Architecture Technology Mode This article The objective readers of this article are those who wish to understand Microsoft in terms of enterprises, applications, and technical architectures. Business, software and infrastructure architects. It includes the terms, patterns, concepts, and definitions of the architecture, and a series of archives of the architecture. The architecture definition used in the Enterprise Architecture ANSI / IEEE STD 1471-2000 is: "The basic organization of a system, manifesting the interrelationship between components, components, interrelationships between components and environments, and design and evolution The principle. Enterprise Architecture (EA) is a conceptual tool for helping organization to understand its structure and its principles. It provides a structural diagram of the company, which is a planning tool for business and technology. In general, the enterprise architecture is characterized by a set of interrelated models that describe the structure and functionality of the company. The enterprise architecture is mainly used for systematic IT planning and architecture, as well as improved decision-making processes. Each model in EA is arranged logically, allowing the company's details, including:
Purpose and objectives. Process and organization. Systems and data. Use technology. The information in the Microsoft Architecture Analysis Enterprise Architecture can be examined from different angles and can meet the needs. Users of architecture include business managers and analysts, system architect designers, workflows and program analysts, logistics experts, organizational analysts, etc. These personnel require advanced summary information, detailed data and intermediate data of various levels. These needs to be satisfied by creating conceptual views, logic analysis, and physical implementation. In Microsoft, we discovered four important and commonly used basic review perspectives. They are business, applications, information, and technical perspectives. Business angle "Business Angle" describes the operation mode of the business. It includes a wide range of business strategies, as well as plans to make organizations from the current state to the future state of the idea. Generally include the following:
Enterprise advanced goals. Business processes implemented through an important part of the entire enterprise or business. Executive business features. The main organizational structure. The interrelationship between each element. Application perspective "Application Angle" defines the asset application of the company and is based on the application. Generally include the following:
A description of the automatic service supporting the business process. The description of the interaction between the application system in the organization and the description of each other (interface). Develop new applications and renovate old applications and develop technology platforms based on corporate goals. Application perspectives can represent cross-organization services, information, and functions, connect users with different skills and technology to achieve common business goals. The information angle "Information Angle" describes the information you need to know during business processing and operation. Including the following:
Standard data model. Data management strategy. Mode description of information generated and used in the organization. The information angle also describes the way the data is associated with the workflow, including structured data storage (e.g., database) and non-structured data storage (such as documentation, spreadsheets, and presentations, etc.). Technical perspective "technical perspective" provides hardware and software support for organizations. It includes, but is not limited to:
Desktop and server hardware. operating system. Network connection components. printer. modem. Technical perspectives provide logical descriptions of infrastructure and system components required to support applications and information perspectives. It defines a set of technical standards and services to complete the business. Although there are many angles, it is just a corporate architecture from these perspectives. The value of the corporate architecture is not in any individual angle, but the interrelation, interaction, and interdependence between each angle. Although all angles are key elements of the enterprise architecture, this article will still discuss the application and technical perspective. The "function" requirements of the application and technical architecture software system describe the business value provided by the software. For weather forecasting services, functional requirements may be described as "information A of the organization as input, and the service will return information B" for the time span and geographic locations represented by information A. "Application Architecture" is an automatic service architecture for supporting and implementing such business needs, including interface between the service and other applications. It describes the structure of the application, and how this structure implements the functional requirements of the organization. Although Ideally, an organization should have only one application architecture, but in fact, an organization often has many different application architectures. The "operation" requirements of the software system define the reliability, manageability, performance, security, and interoperability of the software. Common examples are only available to authorized users, this service requires its functionality to implement it in 99.999%. "Technical Architecture" is a system structure that supports organizations and hardware and software infrastructure that implements operational (non-functional) requirements (especially organizational applications and information architectures). It describes the structure and internal relationships of the technology used, as well as how these technologies support the operational needs of the organization. A good technical architecture can provide security, availability and reliability, and also support various other operational needs. However, if the application is not using the advantages of the technical architecture, its execution effect will be poor, or it will be difficult to deploy and operate. Similarly, even a excellent application architecture is built by using the latest technology, using the reusable software components to meet the needs of the business process, it may not reflect the actual technical configuration, for example : The server has not been configured to support application components, and network hardware settings cannot support information flow. This shows the interrelationship between the application architecture and the technical architecture: a good technical architecture supports key applications in the organization, and a good application architecture can make full use of technical architecture, throughout the operation Consistent performance in demand. Figure 1: Relationship between architecture, logic and physical views All architectural perspectives have multiple architectural views, usually divided into concepts, logic, and physical views. "Concept View" is the most abstract view, which is generally described in terms familiar to system users (non-IT professional users). Concept view Used to define the functional requirements and business user views of the application to generate a business model. "Logical View" shows the main functional components and their relationships in the system, without related implementation details. The "Application Model" created by the architecture designer is the logical view of the business model, because they determine how to meet business goals and needs. The application model represents a logical view of the application architecture. "Physical View" is the least abstract, which represents a specific implementation component and the relationship between them. Each element in the physical view is generally implemented by the design and development process, such as software and hardware systems. "Implementation View" usually manages the organization's development or operation department, so it is not within the discussion herein. Figure 2: Architecture view Each architecture level may have (in fact, there will be) multiple views, for example, each application usually has a logical application architecture. These views are driven by a set of demands, which in turn generates design, development, configuration, and operational processes and systems for the system.
Figure 3: Architecture View and Mode This remainder of this guide will focus on application and technical architecture, and construct a service-based application concept and key mode using Web service technology. Although the implementation of the part (including design, development, configuration, deployment, and management) is very important for the overall system of the overall system, it is not within the discussion of this article. The application architecture is as mentioned earlier, the application architecture provides three views: concepts, logic, and physical views. Architecture designers can use these views to generate models that support and meet their business needs. Ideally, each view has only one model, but in fact, each view may have multiple models because organizations and technologies are growing and changing. However, whether the reasonable minimum set of these models can be obtained is the key and efficient key. View Concept View Concept View to Define Business Requirements and Business User Views for Applications to generate "Business Models". Conceptual modeling techniques (such as use case analysis, activity graphics, process design, business entity modeling) help to build critical business processes and data for their use, can emphasize business objectives and requirements, and do not include implementation technology. The "Application Model" created by the logical view architect designer is the logical view of the business model, because they determine how to meet business goals and needs. The application model represents a logical view of the application architecture. The architect designer cares about the overall structure of the application. They determine the correspondence between the data management and processing steps, design the interaction between the model components, and determine the data type and status reserved in the model. Each element of the physical view application model requires mapping to a real technical element. In this way, the application model is implemented in the way "realization model". When the programmer writes the detailed business logic into code, the regular development process takes partial implementation tasks, but most implementation activities should be completed by the framework. Framework is completed is a development technology. The infrastructure of most distributed applications and data management is processed by complex frameworks, and these frameworks are extended by custom application logic and published control structures. The framework completes developers to avoid cumbersome work (such as intricate asynchronous messaging), making ordinary developers to make greater contributions to projects. A model for organizing and building different levels is a fairly laborious job. Moreover, it is also critical to the correct definition of these models. The design error of the architecture model will always lead to serious design issues or operational issues (such as scalability and reliability issues), and even cause the project to complete and affect the business when severe. Architecture designers are looking for frameworks and guides to help them create and implement these models and minimize the risk of using error models. Architecture designers can use two architectural guidelines and help to speed up modeling speed and reduce risk. The first is a set of architecture concepts, they provide:
General understanding and communication. Regarding how to use a guide to use a concept, and information about its properties. In accordance with these guidelines or practical technologies, instructions can be implemented and used. The second is a set of patterns, based on the actual experience of a large number of successful distributed applications, consists of these basic concepts. These patterns encapsulated important optimal distributed applications design examples by providing excellent, tested architectural models, and can minimize the risk of project failure. Figure 4: View of the application architecture These two sets of guides (concepts and patterns) are in conceptual level (they are the concepts and modes of the enterprise model), and the logic level (they are application concepts and patterns) and technical levels have corresponding guidelines. . These concepts and patterns are only critical to success, fast and efficiently implementing systems in the organization and using technology. Application Architecture: Concept View In the past, the application is built 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 unique 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 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 anytime, anywhere. 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. .NET promotes this concept by combining the high-efficiency tight coupling characteristics of the N layer calculation and the Web in information-oriented loosely coupled concept. This calculation method is called "XML Web Service". It represents the next generation of application development techniques and is the basis for conceptual application architecture. Web services are valid units of application logic, which provides messages that are suitable for 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, your goal is to effectively encapsulate logic and data related to process in the real world, making a wise choice for content to include and as an independent service implementation. 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 policy." Concept view of the app in Application Architecture : Conceptual View (English) has a detailed introduction. Application mode mode is a problem in an environment. Mode will organize a text from a particular knowledge collected from a certain field. The application mode is the architectural stage mode, which defines the best instance of architecture design in a particular application environment. Mode There are many classification methods to be defined and interpreted as specific modes, but are not within the discussion of this article.
Many existing architectural modes can be applied to a web-based architecture, but new structures in Web services have brought a lot of new modes. Technical architecture is similar to the application architecture, and the technical architecture also provides three views: concepts, logic and physical views. Architecture designers can use these views to generate a model that supports and meets its operational needs. As with applications, there should be only one technical architecture, but in fact, due to the continuous growth and changes due to organizational and technology, there are almost a plurality of technical architectures. A key requirement for organizations is to integrate these completely different technical architectures into a complete architecture to reuse existing applications and make these technical architecture reach a reasonable minimum collection. Such a public architecture is critical to creating efficient, flexible organizations. Concept view of the concept view Technical Architecture is used to develop the technical field as a structure and frame. It is used to define, naming, and locates organizations that IT vendors and organizations can understand, ensuring that all technical areas needed to achieve organizational operation or non-functional demand is defined and available for organization. The logical view of the logical view technical architecture is the main functional element that provides support for enterprise-level operational needs and provides interior relationships with each other. Enterprise technical elements (such as databases, mail systems, transaction support, and reliable messaging) are provided in the logical view. The techniques provided at this level are usually provided by the enterprise software vendor with the server. Each element of the physical view technology architecture needs to be mapped to the actual technical elements of hardware and software. In this way, the technical architecture can be implemented as a complete system such as a network, server, operating system, etc. Actual physical location, server product name and connection are displayed at this level. Architecture designers are looking for frameworks and guides from IT suppliers to help them build systems that meet the needs of organizational operations and ensure that organization's technology is consistent with IT suppliers. Technical Architecture: Concept View Technical Concept Architecture is the technical foundation for establishing an enterprise-level web service in the organization. The advanced graph of the technical concept architecture shows a set of general levels that provide a business-based service for the generation of Web services. These levels include common elements required for web service applications or systems. Figure 5: The concept of the concept view of the technical architecture is the "service platform", which provides the operating system, hardware, storage, networking, and trust and management services for the entire system. "Service Framework" provides the process, logic, functionality, and status management required by web services, and is also a complete enterprise application server that supports Web services. "Service Pass" includes portal and client services, mainly to provide problems and technologies, including support for various devices. "Service Integration" provides integration and interoperability between services and existing operating systems: old applications, commercial applications, databases, and other Web services. This is often referred to as enterprise application integration (EAI). Finally, "Service Creation and Deployment" provides tools, processes, methods, and patterns required to design, develop, assemble, manage, deploy, and test Web services. Technical Architecture Concept View in Technology Architecture: Conceptual View (English). The technical model technology model is an architectural stage mode that defines the best instance of architecture design in a particular application environment. Enterprise architects are looking for guidelines and best instances of the following key areas: security, identification and trust. Integration and interoperability between future systems and existing operations (old) systems. Deploy, monitor and manage. Scalability and Properties of Distributed Technical Architecture. Technical architecture reliability and availability