Enterprise application integration based on software architecture
with the increasing number and scope of computer application software implemented by enterprises, and enterprises also pay more and more attention to business process oriented problems, enterprise application integration has become a very complex technical and management problem that enterprises and software suppliers must face and solve
1. Enterprise application integration (EAI) is a major problem in the current application of computers in enterprises, and has become a very active field of research at home and abroad recently. Enterprise application integration is mainly to solve the problem of "information island" across enterprises or governments, smooth the information process of enterprises or governments, bring greater benefits to enterprises, and bring better ability to serve the people to the government. When enterprises run more than one computer application software system, and the systems need to exchange data, information and business with each other, there is the integration of different systems. Moreover, with the increasing number and scope of computer application software implemented by enterprises, and enterprises also pay more and more attention to business process oriented problems, enterprise application integration has become a very complex technical and management problem that enterprises and software suppliers must face and solve
The content of EAI is very complex, involving all levels of enterprise systems such as structure, hardware, software and process. At present, the research and application of EAI have achieved good results. At the level of integration, it puts forward: business process integration, application integration, data integration, component integration and platform integration. There are four types of middleware based solutions: user interface integration, data integration, business process integration, function or method integration. The key technologies of EAI implementation include message middleware technology, workflow technology, XML data format and web service technologyhowever, the current enterprise application integration technology and products still have limitations, and can not satisfactorily solve the integration problems of various computer application software at the large system level and enterprise level
in fact, the core problem of EAI is that its solution does not provide a complete and systematic software development method. It only applies some research results of current software technology and software engineering. Therefore, the software system developed and integrated with EAI has defects in architecture, which makes it difficult to maintain and expand the software in the future. At present, with the increase of market competition and the requirement of rapid product launch, more and more enterprise level information systems are assembled from multiple commercial software products or suites. However, if the overall structure of the system, the interaction between subsystems, global data flow, function distribution, physical configuration and other high-level design of the architecture scope cannot be clearly described and explained, and the quality and function of the whole system cannot be analyzed and evaluated at the system or subsystem level, and even verify whether the system meets the needs of users, it is difficult for end users to accept. In particular, the role of enterprise executives has become increasingly prominent in the selection and selection of integrated solutions for enterprise applications. EAI technology, which goes deep into the bottom of the computer, cannot highlight the architecture of the computer application system, and cannot provide the abstract level of the corresponding information system that such executives pay attention to. These are the key problems to be solved by software architecture
At present, the research and application of software architecture is very active in the field of computer software theory and software engineering. It describes, analyzes, selects, evaluates, develops and maintains complex software systems from the perspective of software architecture and at the high level of the system, guides all activities in the process of software development and maintenance, and plays a great role in solving the current EAI problems2 software architecture
software architecture studies software components, the connections between components, as well as system structure, methods, constraints, semantics, analysis, attributes and system requirements. Software architecture is a level of the design process. It deals with the design of transcendental algorithm and data structure, and studies the overall structure design and description method. The architecture includes software organization structure, global control structure, communication and synchronization, data access, function of design elements, physical distribution and organization, selection, evaluation and implementation of design schemes, etc. The ultimate goal of software architecture research and application is to reduce the time and cost of large and complex software system development and improve the quality of system development
The basic process of architecture development (as shown in the figure) is different from traditional software development. From the perspective of software architecture, it focuses on the design and maintenance of software today. Its main function is to use software architecture to reflect the quality of the system, such as performance, security, modifiability and reliability. Software architecture not only affects the designer's control of large and complex systems, but also affects the software development process itself. It suggests and even determines the work allocation, software integration plan, software test plan, configuration management and software documents in the development process. In short, software architecture is the blueprint of all activities in the software development life cyclesoftware architecture can play an important role in software development and maintenance:
by understanding and understanding software architecture, the high-level relationship of the system can be fully expressed and understood, which is very important for the analysis of high-level performance of complex systems
obtaining the correct software architecture is the key to software design, which helps designers make correct choices in the face of complex problems, and can avoid structural errors in software development from the source
a rigorous and standardized description of software architecture can enable software designers and users to communicate consistently and conveniently, accurately grasp users' needs, and find differences in understanding the system as soon as possible
the description document of software architecture is the cornerstone throughout the software development and maintenance process, which is conducive to rapid and convenient communication and communication between software design, implementation, testing and maintenance personnel
a correct understanding of software architecture and a standardized description of software architecture are conducive to the discovery and refinement of high-level reusable software components, templates or application frameworks; At the same time, these reusable software elements can also be used in the system design of software
any system maintenance, upgrade and expansion under the guidance of the overall idea of software architecture will not damage the integrity and consistency of the system due to modification and update
3 EAI based on software architecture
functions and characteristics of the enterprise impact testing machine based on Software Architecture: the sabid method for manually controlling the oil delivery valve and oil return valve is mainly to use the principles, methods, technologies and tools of two enterprise application integration and software architecture that deal with software at the same system level to jointly accomplish the objectives of the project
granularity of software elements sabid is a new medical material and preparation technology design and construction software system with other new mechanisms at the subsystem and system level, which is completely different from the previous programming method at the command line level. Sabid focuses on the methods of construction, assembly and integration, which is the continuation of the current object-oriented design/programming (OOD) technology and component oriented software development (CBSD). Of course, if the components assembled by the system do not exist, cannot be configured or are inappropriate, then software development at the component level is still required. Therefore, sabid is a supplement to the current software development technology and methods
different from traditional system design, architecture design can be a part of traditional system design. Current research believes that software systems must be described from multiple perspectives or views, including: conceptual model describing system structure, control model describing subsystem/component interaction, global data flow model describing data trend, development model explaining how subsystems are decomposed and physical model describing how subsystems/modules are allocated, etc. How to establish, analyze and apply these models in the implementation is the basic task of software architecture. The software architecture is more clear, strict, accurate and comprehensive than the traditional system block diagram
goals and objectives the starting point of sabid methodology is based on the modern rapid and changeable market pressure and the constantly changing and personalized needs of customers, that is, to ensure to quickly meet the needs of users and improve the quality of products, and to extend the life cycle and total application cost (TAC) of application software. Under the guidance of architectural principles, component technology and cots based rapid software development method are adopted, We should meet both immediate interests and long-term goals
u improve customer participation joint development method JAD has become an important management method of modern software development because it strengthens the communication and exchange between customers and software developers and allows users to join the software development stage as soon as possible. However, modern and complex software technologies, such as object-oriented design, component-based software development, web technology, distributed mechanism CORBA, have posed severe challenges to JAD methods and customers. At present, neither the customer nor the software developer will discuss the details of the program or module. The representatives of both sides are business experts, senior executives and software architects. Software architecture is the cornerstone of maintaining the communication between system level customers and software developers
system level special software reuse in the enterprise application field, using professional domain analysis to obtain special system mode, application framework and architecture style can improve the reuse rate of software at the system level. Moreover, combined with the knowledge of the application field and the in-depth study of the software architecture, it is possible to realize the automatic/semi-automatic generation of all or part of the executable program code from the analysis of user needs and the specification of the software architecture
the dynamics and maintenance of application system application software has the dynamic characteristics of life, and software maintenance, update and improvement are inevitable. Sabid uses architecture as the core of the whole software development process and all its activities, and emphasizes maintenance oriented and change oriented software technology. A strict and standardized architecture helps to analyze, simulate and evaluate the quality characteristics of the system at the early stage of system development, and avoids the omission of requirements and serious logical errors; Designing a stable architecture makes the subsequent software maintenance become the update of components, parameter adjustment, and system configuration. All these improve the maintainability of the software
take the software architecture as the guidance of system development, combined with the relatively mature component oriented development method, take the component operation platform as the assembly and operation support, and use the automatic conversion mechanism supported by tools to provide a systematic solution from the high-level design of the system to the final realization. The EAI process based on software architecture is shown in the following figure
4 complementary role of software architecture and enterprise application integration
principles, methods, technologies and tools of enterprise application integration and software architecture to jointly accomplish the objectives of the project. These two methods are not contradictory and contradictory, but complementary to each other
in the details of software implementation: EAI technology pays attention to the preparation and transformation of application code, especially for different application software from different manufacturers
LINK
Copyright © 2011 JIN SHI