Soft test system architect model essay 2: On service-oriented architecture and its application

On Service-Oriented Architecture (Design) and Its Application

Summary:

 

In May 2017, I participated in the development of the company's "Data Center Management System" project, and served as a system architect, responsible for the system architecture design. The system aims to send the equipment status and information in the company's scattered data centers across the country to the server through a series of transmission protocols. After the server analyzes and processes, it will feed back to the equipment operation instructions or send notification information to the management personnel, and finally Realize terminal monitoring and manage all devices. This paper takes the data center management system as an example to discuss the selection and application of software architecture style in the project. The whole system chooses data abstraction and object-oriented, pipeline/filter, rule-based system and process communication four architectural styles combined application to complete the project, which effectively realizes the unified management of all data centers by the terminal, and at the same time proves a good choice of architectural style and The application makes the performance, availability and other indicators of the system reach the expected goal. The project was officially launched after the completion of acceptance in November 2018. It has been delivered and has been running stably, and has received awards from the company and praise from users.
   (Welcome to exchange notes 345092496)                                                                                                                                                         

text:

Background and project overview:

In July 2016, China Telecom proposed the 3.0 strategy to adapt to the era of intelligence and transform and upgrade through intelligence, focusing on promoting network intelligence, business ecology, and operation intelligence, building an industry-leading open platform for the Internet of Things, and providing customers with powerful Internet of Things capability application services, reshaping customer business processes, mining business value, and reducing operating costs. On the one hand, the company implements the group strategy. On the other hand, due to the continuous expansion of the company's business over the years, the company has gradually built multiple data centers across the country. The traditional data center management mode is stand-alone, that is, a data center is designed for each data center. Set up a management system and arrange managers to be responsible for status monitoring, event processing and data reporting. With the continuous increase of data centers and wide geographical distribution, continuing to use the traditional stand-alone mode will increase a lot of human and material resources.

How to manage all equipment in all data centers in a unified manner, reduce management costs, and reduce human and material expenditures has become an urgent problem for the company to solve. Our company has been engaged in data center equipment production, module design, equipment management and related software development for many years, and has rich relevant experience. After discussions with all department leaders of the company, it is decided that the development department will be responsible for developing a data center management system. The company set up a software development team of 12 people and 3 system implementers, and appointed me as the system architect of the project, responsible for software architecture design and development.

After careful combing, the system is divided into four main modules. The device access module is a module that directly interacts with the gateway device, and is responsible for message interaction with the gateway device; the message processing module converts the incoming message of the device and the processing results of the business layer into a format that can be recognized and processed by each; the rule module according to the custom The rules feed back the processing results of the corresponding messages and persist the messages; the business modules include system management, device management, network component management, notification management, rule management, log management and other functions.

 

Transition:

At the beginning of the architecture design, I analyzed the characteristics of all the modules to be developed. Due to the large number of modules in the system, the development language, architectural style, and execution standards of each module may be different. In order to ensure that each module interacts in a unified and common way, and to meet the overall standardization, loose coupling, and coarse-grainedness of the system After considering various factors such as service and portability, I decided to adopt service-oriented architecture design to develop the system. This article first expounds the main technologies and standards of SOA and the specific content of each technology and standard, and discusses how to use the service-oriented architecture to develop the system, and finally describes the problems and solutions encountered in the component service-oriented architecture during the project development process and personal perception.

 

argument:

Technology Introduction:

Service-Oriented Architecture (SOA) is a component model that links the different functional units of an application (called services) through well-defined interfaces and contracts between those services. The interface is defined in a neutral way, it should be independent of the hardware platform, operating system and programming language that implements the service. This enables services built in a wide variety of systems to interact in a unified and common way. The technologies closely related to SOA mainly include UDDI, WSDL and SOAP. Among them, UDDI (Unified Description, Discovery, and Integration) provides a method for publishing, searching, and locating services. It is a registration specification for services, mainly including three contents: data model, API, and registration services; WSDL (Service Description Language) is for Service description language, which has a set of XML-based syntax definition, including service implementation definition and service interface definition; SOAP (Simple Object Access Protocol) defines the message transmission specification between service requester and service provider. SOAP uses XML to format messages and HTTP to carry messages. Data exchange and remote procedure calls can be carried out in the network through SOAP applications. SOAP mainly includes four parts: encapsulation, encoding rules, RPC and binding.

The main implementation methods of SOA are WebService, ESB and service registry. This time, WebService is used in this project to realize SOA. There are three important roles in this method, namely service provider, service requester and service registration center. The following describes the specific construction process, problems encountered and implementation effects.

Combine project:

Service providers mainly complete the design, description, definition and release of services. Through the analysis and sorting out of the business, the service is designed by comprehensively considering the characteristics of coarse-grained, loosely coupled, and self-contained. At the same time, in order to avoid excessive communication traffic and frequent interaction between services, the number of services is reduced as much as possible. After design, four main services are preliminarily extracted: device access, message processing, rule feedback and business analysis. Among them, the device access service is connected with the gateway device, which is responsible for message interaction with the gateway device; the message processing service processes and converts the input messages between the gateway device access service and the business analysis service to generate an output stream; The rule feedback service automatically executes feedback and corresponding operations for frequently used messages; the business analysis service is responsible for system management, device management, network component management, notification management, rule management, log management, etc.

The service registration center is the link between the service provider and the service requester. The service provider publishes the service description here, and the service requester finds the required service here. Although the service registry is an optional role in some cases, the existence of the registry can further decouple service providers and service consumers. In order to ensure the loose coupling and mutual independence of the services in the system, this project uses this technology in the architecture design. The registration center contains four published services: device access, message processing, rule feedback and business analysis. The description The information mainly includes service function description, parameter description, interface definition and other related content.

The service requester , the service requester is the service consumer, and the service can be found, bound and invoked through the service registry. The main processes in the system are equipment information collection and business result feedback. The data center management system uses the service registration center to obtain the corresponding service interface, parameters and return value to realize dynamic binding. In the device information collection stage, the device sends messages to the message processing service through the device access service, and the messages are sent to rule feedback or business analysis after format conversion. In the business result feedback phase, the business analysis or rule feedback service sends the processing results to the device after message processing. During the service call, the requester does not need to care about the service provider's business processing and technical implementation, but only needs to focus on its own business, which simplifies the development process and improves work efficiency.

Conclusion:

From the overall perspective of this project development, the use of SOA architecture reduces the coupling degree between modules, improves the system performance, usability and modifiability and other indicators, meets the company's expected requirements, and ensures the rapid secondary development of the system in the later stage and data access. However, some problems were encountered in the process of system development. Because SOAP is based on XML communication, the communication efficiency is low. When messages explode, there will be a large backlog of messages, which cannot be resolved in time, because the feedback of messages is not strict. Sequence requirements, so I chose to add flexible routing, message middleware with good fault tolerance RabbitMQ and upgrade hardware combination solution to solve this problem.

The smooth development of this project has allowed me to further understand the importance of system architecture design. At the same time, I have accumulated more experience. At the same time, it also revealed that I still have some shortcomings in architecture design. I should summarize the experience of this project. Strive to do better in the next project.

 

 

 

Guess you like

Origin blog.csdn.net/qq_38951230/article/details/126982909