July 2002
Michael Platt
Microsoft Corporation
The target readers in this article are those who wish to understand the methods provided by Microsoft in business, applications, and technical structures. It includes structural terms, patterns, concepts, and definitions, and a series of views of the structure.
This page
Business architecture app and technology concept view, logical view and physical view application structure application mode technology structure technology model
Enterprise architecture
The definition of architecture used in ANSI / IEEE STD 1471-2000 is: "The basic organization of a system, the relationship between components, components and components and environments, and the principle of managing their design and evolution."
Enterprise Architecture (EA) is a conceptual tool that helps organizations understand their own structure and their principles. It provides a structural diagram of the company, which is a planning tool for business and technology.
In general, the enterprise structure is characterized by a complete set of interrelated models, which describes the structure and functionality of the company. Enterprise structure is mainly used for systematic IT planning and architectures, as well as improved decision-making processes.
Each model in EA is arranged logically, allowing the company's details, including:
• Purpose and Targets • Processes and organizations • Systems and data • Use technology
Analysis of Microsoft Structure
Information in the corporate structure can be examined from different angles and can meet various needs. Structure of users include business managers and analysts, system structural 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 perspective
The business perspective 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's Advanced Target • Business Procedure for Importance of Establishing Enterprises or Enterprises • Executive Business Features • Main Organizational Structure • Interrelationships between Elations
Application perspective
The application perspective defines the briefcase of the application in the company and the application is centered on the application. Generally include the following:
• Standard Data Model • Data Management Policy • Mode description of information generation and use in your organization
The information angle also describes how data is associated with workflows, including structural data storage (e.g., databases) and non-structured data storage (eg, documents, spreadsheets, and presentations, etc.).
Technical perspective
Technical perspectives provide hardware and software support for organizations. It includes, but is not limited to:
• Desktop and Server Hardware • Operating System • Network Connection Components • Printers • 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 an enterprise structure from these perspectives. The value of the corporate structure is not in any individual angle, but the interrelation, interaction, and interdependence between each angle.
Although all angles are key elements of an enterprise structure, this article will still discuss the application and technical perspective.
Back to top
Application and technical structure
The functional requirements of the 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.
The application structure is the structure of the automatic service, used to support and implement such business needs, including interfaces 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 structure, but in fact, an organization tends to have many different application structures.
The operational demand of the software system defines 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%.
The technical structure is the structure of hardware and software infrastructure that supports organizations and implements operational (non-function) requirements (especially organizational applications and information structures). 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 structure can provide security, availability, and reliability, and also support a variety of other operational needs. However, if the design of the application does not use the advantages of the technical structure, its execution effect will be poor, or it will be difficult to deploy and operate. Similarly, even a excellent application structure 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. Thereby showing the relationship between application structure and technical structure: by building a good technical structure to support specific applications vital to organizations; good application structures utilize technology structures to meet the entire operational demand is consistent Performance.
Figure 1. Relationship between structures
Back to top
Concept view, logical view and physical view
All structural perspectives have a variety of structural views, usually divided into concept views, logical views, and physical views. The concept view is the most abstract view, which is generally described using 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. The logical view shows the main functional components and their relationships in the system, without related implementation details. The application model created by architects is a logical view of a business model because they determine how to meet business goals and needs. The application model represents the logical view of the application structure. The physical view is the least abstraction, 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. Implementing views typically manage the organization's development or operation department management, so it is not within the discussion herein.
Figure 2. Structure view
Each structural level may have (in fact, there will be) multiple views, for example, each application usually has a logical application structure.
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. Structure view and mode
The rest of this guide will focus on application and technical structure, 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.
Back to top
Application structure
As mentioned above, the application structure provides three views: concept view, logical view, and physical view. Structural 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.
Concept view
Concept view Used to define business needs and business user views for applications to generate business models. Conceptual modeling technology (for example, use case analysis, activity graphics, process design and business entity modeling) help build critical business processes and data for their use, you can emphasize business objectives and requirements, and do not include implementation technology .
Logical view
The application model created by the structural designer is the logical view of the business model, because they determine how to meet business goals and needs. The application model represents the logical view of the application structure.
Structural designers care 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. Physical view
Each element of the application model requires mapping to a real technical element. In this way, the application model is implemented in the way to realize the 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 complements the developer to avoid cumbersome work (eg, intricate asynchronous messaging), enabling ordinary developers to make greater contributions to the project.
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. Design errors for structural models will always lead to serious design issues or operational issues (eg, scalable and reliability issues), and even cause the project to complete and affect the business when severe. Structural designers are looking for frameworks and guides to help them create and implement these models and minimize the risk of using the error model.
Structural designers can use two structural guidelines and help to speed up modeling speed and reduce risk.
The first is a set of structural concepts, they provide:
• General understanding and communication • About how to use a guide to use a concept, and information about its properties. • When 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 modes have encapsulated important optimal distributed application design examples by providing excellent, tested structural models, and can minimize the risk of project failure.
Figure 4. Application structure view
These two sets of guides (concepts and patterns) are in conceptual level (they are the concepts and patterns of the enterprise model), and the logic level (they are applications 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 Structure: Concept View
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 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 structural model, but it produces "application ventilation" or "information islands", which will cause major problems in structural reuse.
.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 foundation of conceptual application structure.
Web service is a discrete unit of application logic, which provides a message based on an interface that is 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 strategy."
In the application structure: concept view of the application will be discussed in detail in the concept view.
Back to top
Application mode
The mode is a problem in the environment. Mode will organize a text from a particular knowledge collected from a certain field. The application mode is the structural stage mode, which defines the best instance of the structure 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 structural patterns can be applied to Web Service-based structures, but new structures in Web Service have brought a lot of new modes.
Back to top
Technical structure
Like the application structure, the technical structure also provides three views: concept view, logical view, and physical view. Structural 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 structure, but in fact, due to the continuous growth and changes due to organizational and technology, there are almost a plurality of technical structures. A key requirement for organizations is to integrate these completely different technical structures into a complete structure in order to reuse existing applications and make these technical structures to achieve a reasonable minimum collection. Such a public structure is critical to creating efficient, flexible organizations.
Concept view
The concept view of the technical structure is used to develop the technical field as a structure and framework. 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.
Logical view
The logical view of the technical structure is the primary functional element that provides support for enterprise-level operational needs and provides interior relationships with each other. Enterprise technical elements (eg, 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.
Physical view
Each element of the technical structure needs to be mapped to the actual technical elements of hardware and software. In this way, the technical structure can be implemented as a complete system such as a network, server, operating system, and the like. Actual physical location, server product name and connection are displayed at this level.
Structural designers are looking for frameworks and guidelines 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 Structure: Concept View
The technical concept structure is the technical foundation for establishing an enterprise web service in the organization. Advanced graphs in the technical concept structure show a set of general levels that provide a business-based service for the generation of Web Service. These levels include the common elements required by the Web Service application or system.
Figure 5. Technical structure concept view
The bottom of the chart is a "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, functions, and status management required by Web Service-based applications, but also a complete enterprise application server that supports Web Service.
"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, business applications, databases, and other web services. This is often referred to as enterprise application integration (EAI).
Finally, "Service Creation" provides tools, processes, methods, and patterns required to design, develop, assemble, manage, deploy and test Web Service. In the application structure: concept view of the application will be discussed in detail in the concept view.
Back to top
Technical model
The technical model is a structural stage mode that defines the best instances in the structural design in a particular application environment. Enterprise structural designers are looking for guidance and best examples of the following key areas
• Safety, Identification, and Trust • Integration and interoperability between future systems and existing operations (old) systems • Deployment, monitoring, and management • Scalability and performance of distributed technology structures • Reliability of technical structures And availability
Go to the original English page
Back to top