Middleware - Key Technologies for Building Complex Distributed Applications
-------------------------------------------------- ------------------------------
Chinese Academy of Sciences Software 2000-09-01
Intermediate Parts - Building complex distributed applications The key technology of the Chinese Academy of Software Zhong Quanhao has begun to become mainstream technology, and the data is uniformly stored on the data server, and the relevant business logic is in the customer. End implementation, that is, the so-called fat end-end solution, this two-layer structure is greatly hinder the development of the system, and the single server structure is closely relying on suppliers; data access is limited; difficult to expand to large enterprise WAN or international Internet It is also difficult to manage the client's cluster. With the growth needs of user business, the popularity of Internet / intranet will be taken from three or four-layer architecture. The three-layer structure is independent of the service logic of the client, and combined with the storage process in the database server, constitutes the application layer to improve computing power, and achieve flexibility. In this structure, the user is only processing the graphical user interface (GUI), and the current trend is a browser with interactive function, that is, the working mode of the thin terminal, for this, the middle increases, called the web. The server layer forms a four-layer architecture.
The distribution system of such multilayer structures, each server, and terminals are connected through the network, and there is a lot of information and data. For each application system, it is necessary to develop in design and implementation, only software of the business logic part on the application server, in addition to this, must also design software unique to the distribution system, The current system software (operating system and support software) is not supported. A middleware has occurred for this, which is a batch of software in system software and application software. Make designers focus on the design and application-related parts, greatly simplify design and maintenance. Through a large number of applications and practices in five or six years, the middleware has a batch of mature products and is an indispensable software when designing distributed systems. In just a few years, the middleware has developed rapidly with the speed of thunder, and the annual market sales are growing.
What is the middleware middleware is software between operating systems and applications, and some people think it should be part of the operating system. When people use the middleware, it is often integrated together to form a platform (including development platform and running platform), but there must be a communication middleware in this set of middleware, so I agree to this definition:
Middleware = Platform Communication
This definition is also limited to only in a distributed system, which can also be distinguished from support software and utility.
The role and classification of middleware should be said that this issue we used an example in a life. Watch the distributed system as the transportation system in Beijing, the network is considered as the urban road, and communicates with the transportation (car). There will be tens of thousand cars on the road through the transportation facilities, if there is no corresponding transportation facilities and management. Planning, Beijing will become a group, and various traffic accidents have occurred.
1. Communication processing (message) The middleware first must repair the road, install traffic lights, set up traffic management, and develop traffic rules, which is to build network and develop communication protocols, communicate between different platforms, implement distribution Reliable, efficient, real-time cross-platform data transmission (such as Tonglink, BEA ELINK, IBM MQSeries, etc.), called a message middleware. This is the only indispensable in the middleware, which is the largest sales of the sales, and is currently included in the Windows 2000 operating system.
2. Transaction (transaction) Middleware To handle a large amount of transactions in a distributed transaction system, often do 10,000 transactions in the system. For example, in Beijing, we must set a variety of carrying cars, complete daily carrying, while monitoring the car operation at any time, when there is a fault, there is a rule to schedule, and it is scheduled when blocking. In the online transaction system (OLTP), each transaction often coordinates the program on multiple servers. Once a certain fault occurs, it is necessary to complete the recovery work, but also automatically switch the system, reaching the system never Stop, achieve high reliability operation; at the same time, it is necessary to make a large number of transactions in real time and run in real time, and carry out load balanced scheduling, realize the equivalent functions of expensive reliability and large computer systems, in order to achieve this goal, requirement The system has the function of monitoring and scheduling the entire system. The BEA's Tuxedo is known as the most growing consumer. A transactional platform, according to the parameter model of X / Open, consists of three parts: the transaction intermediate piece, the communication processing middleware, and the data access management middleware. Dongfang Technology Company's Tonglink and TonGeasy realized this reference model regulation. 3. Data Acquisition Management Middleware In a distributed system, important data is centrally stored in a data server, which can be a relational, composite document type, multimedia type with various storage formats, or encrypted or Compressed storage, the middleware will be convenient to virtual buffering, format conversion, decompression, and the like on the network.
4.Web Server Middleware Browser graphical user interface has become a recognized specification, but its session ability is poor, cannot be written, subject to HTTP protocol, etc., it is necessary to modify and expand, forming a web server middleware, Such as Silverstream products.
5. Safety Middleware Some military, governments and business sectors are the biggest obstacles on the Internet are security confidential issues, and they cannot use foreign security measures (such as firewalls, encryption, certification, etc.), and must use domestic products. An unsafe factor is caused by operating systems, but must be solved with middleware to adapt to flexible and variable requirements.
6. Intermediates of cross-platform and architectures Currently developed large-scale applications typically adopt architecture and component technology, in distribution systems, need to integrate components or new and old versions on different system platforms on each node, thereby producing The architecture of the architecture, the strongest function is CORBA, can be across the platform, but it is too large; JavaBeans is more flexible and simple, it is very suitable for browsers, but the operational efficiency is mainly suitable for the Windows platform, has been widely used. In fact, domestic new systems are mainly UNIX (including Linux) and Windows, so it is necessary to build a corresponding middleware for both platforms.
7. Dedicated platform intermediates For specific application domain design area reference mode, establish corresponding architectures, configure the corresponding component libraries and middleware, develop and run key tasks in specific areas for application servers (such as e-commerce, websites, etc.).
8. Networking middleware It includes network management, access, network testing, virtual community, virtual buffer, etc., is also the current most popular R & D project.
The middleware model and the shape of the middleware are only five years, but the development is extremely rapid. It is the fastest growing software product in history, but in technology is still in the growth stage, there is no unified standard and model, usually They are all implemented in C languages, but its characteristics have exceeded the expression of facing objects, since it belongs to reusable components, it is currently trending with component techniques. However, middleware should involve all standards, specifications, and technologies of software, which contains more connotations, because it includes platform functions, autonomous, autonomous, isolation, socialization, excitation, initiative, concurrency, Characteristics such as ability to understand the structure of the Agent (agency), using Agent's concept and technology more suitable, establish models and norms are core measures to promote technology development. Zhong Quanhao: Researcher, doctoral tutor, research direction of the Chinese Academy of Sciences, research direction is the computer software and calculation method, Zhong Lao is the first generation of software experts in my country, took the lead in research software: Compiler, language, operating system , Application software, etc. In the past 10 years, we are engaged in application software development and research. He has successively served a part-time professor of more than 10 colleges and universities, Beijing Software Professional Consultant, Software Engineering National Engineering Research Center Researcher, and has obtained 8 national scientific and technological progress second prizes, provincial level first prize.
Message Middleware Product IBM MQSeries
IBM MQSeries is an IBM message processing middleware. MQSeries offers a messaging system with industrial standards, secure, and reliable.
Its function is to control and manage an integrated system that completes the entire workflow through multiple branch applications (modules) of this system. MQSeries is basically constructed by an information transfer system and an application interface, and its resources are messages and queues.
One of the key features of MQSeries is to ensure that the information is reliably transmitted, and the information can be guaranteed even when network communication is unreliable or an exception. The asynchronous message processing technology of MQSeries guarantees that the information between the system is not lost when the network or communication application itself is in a "busy" state or failure, nor will it block. Such reliability is very critical, otherwise a large amount of money and customer reputation will face great damage.
At the same time, MQSeries is a flexible application communication scheme. MQSeries supports all major computing platforms and communication modes, which can also support advanced technologies (such as Internet and Java), with interfaces that are connected to major products such as Lotus Notes and SAP / R3, etc.).
Dongfang Technology Tonglink / q
Tonglink / Q is a message-oriented middleware. The main function of Tonglink / Q is to provide reliable messaging between different network protocols, different operating systems and different applications.
Efficient, reliable, flexible transmission function guarantees the implementation by pre-built connection, multiplexing, flow control, compression transmission, breakpoint retransmission, transmission priority management, service (class) driver, etc.
The event proxy mechanism event proxy provides an asynchronous application development model. Users only need to define an event and how to process, TongLink / Q automatically completes operations. Using event agency mechanisms, event subscription and release can be implemented, and policy management is implemented.
Session Management TongLink / q describes a complex communication relationship through a simple session identifier to achieve a higher level, more abstract communication service.
Good ease of use and manageability Tonglink / q achieve real-time monitoring and management, providing log mechanism, dynamic configuration, remote management functions. And provide multi-level security management, support multiple development tools.
Trading middleware bea tuxedo
BEA Tuxedo As an e-commerce trading platform, it allows clients and servers to participate in a transaction involving multiple database coordination and update and ensures data integrity. A feature feature of BEA Tuxedo is to ensure uninterrupted access to the e-commerce application system. It can continue monitoring of system components to see if there is an application system, transaction, network, and hardware failure. Once failed, BEA Tuxedo is logically excluded, and then performs the necessary recovery steps. BEA Tuxedo automatically opens and closes the application service according to the system's load instruction, which can balance the load of all available systems to meet the high-intensity usage requirements for the application system. By DDR (Data Dependency Routing), the BEA Tuxedo can select the message route according to the context of the message. Its trading queue functions allows the distributed application system to work together in asynchronous "less connection". The BEA Tuxedo LLE security mechanism ensures confidentiality of user data, the application / transaction management interface (ATMI) provides a consistent application programming interface for more than 50 hardware platforms and operating systems. BEA Tuxedo-based graphical interface management simplifies the management of e-commerce, providing end-to-end e-commerce trading platform for establishing and deploying e-commerce applications.
Dongfang Technology TonGeasy
TONGEASY is a middleware for transaction processing. Responsible for proper delivery of transactions, managing transaction integrity, dispatching the operation of the application, ensuring the efficiency of the entire system operation. TONGEASY combines its own trading management function and the transaction management function of the database to achieve global management of distributed transactions.
The transaction management mechanism is TonGeasy's most original aspect. TONGEASY has two ways to manage transaction integrity: one is the application processing submission / revocation command, and the other is based on the XA protocol. XA-based transaction management methods can be subdivided into standard XA modes and fast XA.
Tongeasy's diversity is in order to solve the particularity of China's application environment. Most domestic applications are based on a wide area network that is low and reliability. The XA method is based on two-stage submission protocol. It will bring some problems when using two stages of submission protocol on a low-speed wide area network. First, the number of handshakes, the database is long, and the efficiency is low, the second is not possible It is well solved the problem of trading integrity due to network failure. Therefore, TonGeasy provides a variety of options in transaction management to make efficiency, transaction integrity, development effort, and other key indicators.