Middleware classification
thinking
There are many types of middleware, depending on the role and technology used in the system, it is generally divided into the following five: Database Middleware (DM, Database MiddleWare) Database Middleware is applied in all middleware One of the most widely mature technology. One of the most typical examples is ODBC, ODBC is a database-based middleware standard, which allows applications to communicate locally or off-site databases, and provide a range of application interface APIs, of course, in most cases these The API is hidden in the development tool and is not directly used by the programmer. Friends who have actual programming experience know that when writing database programs, just add a data source in ODBC, then you can use this data source directly in your own application without using the realization principle of the relationship target database, Implementation mechanisms, or even know which application interface APIs are available to the application. However, in the database middleware processing model, the database is the core unit of information storage, the function of the middleware completes communication, although flexible, but is not suitable for some applications that require high performance processing, because it requires a lot Data communication, and when the network fails, the system will not work properly. The so-called so that this must be lost, that is, the flexibility of the system is based on the reduction in processing performance. Remote Procedure Calling Middleware (RPC, Remote Procedure Call) Remote Procedure Call is another form of middleware, which is a step by step in the customer / server calculation. It already has a considerable time, and the programmer that is very familiar with most programmers - programmers call remote processes in the program like calling local processes. Start the run of the remote process, then return the run results to the local program. Not only that, far process calls can also pass the control of the program to the remote server. The flexibility of RPC makes it more widely used than database intermediates, which can be applied in a more complex client / server computing environment. The flexibility of far process calls is also reflected in its cross-platform, but it can not only call remote subroutines, but this call can cross different operating system platforms, and programmers do not need to consider these detail. The RPC also has some shortcomings, mainly because RPC is generally used between the application between applications, and uses synchronous communication methods, so for comparing simple applications or suitable because these applications usually do not require asynchronous communication. But for some large applications, this method is not very suitable, because the programmer needs to consider a network or system failure, process concurrent operation, buffer, flow control, and process synchronization. Compound synchronization. The advantage of a message middleware (MOM, Message Oriented MiddleWare) message is capable of providing synchronous and asynchronous connections between the client and the server, and the message can be transferred or stored at any time, which is also a remote Process calls further reasons. In addition, the message middleware does not take up a large number of network bandwidth, track transactions, and restores the system's recovery when the transaction is stored on the disk. Of course, the message middleware does not support the delivery of program control compared to remote process calls, but this function is irrelevant to it. The message middleware is suitable for distributed environments that require reliable data transfer between multiple processes.