The concept of middleware introduced early. The middleware provides the integrated server platform and the computer client to provide the software lower constructed above the network hardware, which may contain all platforms. Distributed lower configuration is a generalized description of object or other information technology, while software architectures can be selected from it. Figure 20 shows the technique that can be selected on the client server and the middleware operating system platform [ORfali 1996]. On the client platform, its technology includes Internet Web browser, graphical user interface development capabilities, system management capabilities, and operating systems. On the server platform, it is a similar set of technologies, including object services, group capabilities, transactional capabilities, and databases. As mentioned earlier, with the evolution of the client-server technology, the server's ability to migrate to the client platform. On the stage of the middleware, there is also a considerable set of client-server capabilities. These include a large number of different transmission stacks, network operating systems, system management environments, and special services. These technologies have a detailed description of a book "The Client Server Survival Guide" [ORFALI 1996] in Bob ORfali, Dan Harkey and Jeri Edwards.
Figure 20. Reference model of the lower structure
We need to know that some of the key points of the client-server technology include a fact that important client-server technologies employed is based on standard. There are too many options for standard great aspects. A simple summary of a typical application contains more than 300 technical standards. These standard summary will apply to a typical large enterprise information policy. It has now established a lot of similar summary for the US government and business industries. The information technology market is huge and growing continuously. The object-oriented part of this market is still relatively small, but a sufficient market has been formed, so it is a factor in most application environments. The standard is evolving, and commercial technology is also evolving. The standard may take seven years to be officially adopted, but in a similar omg group in a year and a half, it will be improved. The speed of commercial technology is faster, and in the late 1980s, the technical characteristics of the teachings were three years, and the current declined to 18 months to one year. For example, many vendors began to combine their products in the name of their products, so that the technique of technology is obvious when they are called, and users have to upgrade their software annually. Manufacturers will reduce innovation to less than one year and began to bind the month to their products together? The management of compatibility between product versions has gradually become a difficult challenge, so that end user companies rely on their own information technology environments and even thousands of independent product versions. A typical medium-sized independent software vendor relies on 200 software sellers, through them to send products and services, and this value is only twelve six years ago. Figure 21 shows how the business technology in the middleware market is evolved in the direction of increasing the application function. It starts from a network source, and the protocol stack (such as transmission control protocol, TCP) provides the basic capabilities of moving raw data on the network.
Figure 21 evolution of distributed computing technology
The next level of technology includes socket services, which can be used on the most platform, which is located under Internet technology. The socket service solves the difference between platform dependencies. In the next layer is some service interfaces, such as Transport-Layer Independence, TLI, which allows us to replace the multi-set-level message service under the application software. Since each technique improves its precaution technique, additional function (it is generally written in the application) is included in the basic configuration of the lower layer. The result of improving the abstraction level is that we have lost control of many lower network details in terms of service quality, while more original hierarchies expose these control capabilities. On the basis of the transmission process, remote process call technology provides normal advanced language mechanisms for network-based communications. The distributed computing environment shows the peak of the process-oriented technical support distributed computing. Object-oriented to DCE, including object-oriented DCE and Microsoft COM , currently providing mechanisms for object-oriented programming languages and these lower constructs. Finally, the CORBA object request agent is uniformly united by the way the object class references is unified in the way in which the independent service is referenced, so as to abstract the above-described remote process mechanism. In other words, CORBA technology deletes another hierarchical network detail information to simplify references to objects and services in a distributed computing environment. The advancement of technology evolution is not necessarily directly forward. An important technique for some of the advantages of the architecture has not succeeded in the technical market. Its example has OpenDoc technology, many authorities believe that its architecture exceeds the current technology similar to ActiveX and JavaBeans. The members of the Standard Organization have overlap much, causing big companies to dominate the majority forum. These organizations come to go to the trend of technology evolution. Recent Internet Forum (W3C, IETF) is also controlled, it is just like Javasoft and Microsoft Open forum. Many networks and open system technology and other object-oriented standards are now no unity's results. The situation of the group is dynamic. Some previous groups (such as open software funds and X Open) are now consolidated (merged into open group). Other groups, such as the object management working group, and members of the Universal Open Software Working Group also overlap. Active Working Group recently added, it is responsible for publishing the standards of Microsoft's developed technologies (Figure 22). Open Software Fund initiated a distributed computing environment that supports remote processes and other distributed services. The distributed computing environment is a direct predecessor of Microsoft COM technology. The distributed computing environment reflects the consistent opinion of the manufacturer group outside of Microsoft. Figure 22. Commercial software technology group
With CORBA, a distributed computing environment is a mainstream technology for large enterprises (Figure 23). One of the important defects of the distributed computing environment is the provisions of the Single-Protocol-Stack implementation. With the evolution of distributed computing technology, it provides a variety of network implementation to meet different service quality requirements. These requirements may include real-time, performance, throughput, reliability, security, and other non-functional needs of messaging. In the single protocol stack implementation, the developer of the application has no ability to provide appropriate levels of services. The technical gap described here can be expressed in an access transparency, which is the term defined by the international standardized organization. The lower configuration of the appropriate object-oriented distributed calculation provides access to transparency and gives developers to choose the appropriate protocol stack to comply with application service quality requirements.
Figure 23. Distributed computing environment
Figure 24 shows the lower construction technique of Microsoft's COM and ActiveX product lines. The basis of these technologies used in distributed calculations comics from the original OSF environment, but people use the patent interface to extend this technology in different ways to support the use of C programming (supplementary as DCE supported). ActiveX technology has a split line between the capabilities of distributed computing and the power limitations of a single desktop system. Specific desktop capabilities include a composite document tool. Composite Document Tool Supports integrates data from multiple applications into an Office document. Some problems may occur when migrating a document from a desktop to another because it lacks a perfect integration with distributed environments. Figure 24. Principles ofactiveX technology
Figure 25 shows how the component object model and the COM model are some low-level detail information that is docked with the application software. The application is exposed to the Microsoft's generated menu, and this menu is directly related to the runtime system of Microsoft Visual C . The result of this connection Visual C in the application is that the mapping to other programming languages is not standardized, and this is difficult in some cases (for example, putting the original C program with the COM lower construction application). CORBA technology provides a way to overcome these disadvantages.
Figure 25. Component Object Model
Figure 26 shows some of the basic concepts behind the object request agency (ORB). The purpose of the ORB is to provide communication between different elements of the application software. The application of the service is used as an object. This object may encapsulate not object-oriented software. The application client can request some services from the object via ORB send requests. We define CORBA mechanisms to help you simplify your role in the distributed system. The advantage of this method is that it reduces the number of software that must write to establish an application client and interacting it in a distributed environment.
Figure 26. Object Request Agent Concept
Figure 27 shows some excellent detail information of the CORBA model. Fig. 27 corresponds to Fig. 26, and the client and the object software are interactive through the ORB in Figure 26. CORBA is standardized in this part of the lower constructs to limit the shield interface between the application software and the lower part of the ORB. CORBA does not standardize the underlying mechanism or protocol stack. This achievement is advantageous, and it is important. Different implementations can provide different mechanisms and protocol stacks under the CORBA interface, a large number of different products support this standard and provide different quality of service. In fact, some implementation provides dynamic quality of service, which can be changed between local types and remote types. The result of this achievement is that the selected mechanism may be incompatible between different vendors. An additional protocol The Internet Inter - INTER ORB protocol (IIOP) defines how different ORB mechanisms can be transparently interactive. All CORBA products must have IIOP implementation.
Figure 27 Corborba key interface
The lower part of the CORBA provides two different types of mechanisms for the implementation of the client and communication services. At the client, client developers can choose to use the pre-compiled stub program, which is similar to the normal call to the application. The use of static storing roots minimizes the desired dedicated programming because the application is potential distributed. The stub program looks similar to the local object in the application environment, but the root is a proxy with the remote object. Client developers can also use dynamic calls (Figure 27). Dynamic call is an interface that allows the client to call any message request on the object that is dynamically discovered. Dynamic call gives CORBA mechanism scalability, which is only useful in certain types of professional applications. These applications may include program debugging, mobile agents, and operating systems. The tools for object services in the CORBA environment also have the ability to select static calls or dynamic calls. Both options are generated with the static program framework (Skeleton) or the dynamic program framework. These program frameworks provide software with an ORB communications interface between the following constructors and applications, and they use software developers to naturally understand this operation. Some interesting capabilities may be implemented by using dynamic program frameworks and dynamic calls in the same program. For example, a software firewall, which provides a different application group, which can be easily implemented by both dynamic capabilities. Figure 28 shows the CORBA technology in the object management architecture and how these techniques are associated with the Cargill model discussed above. The object management architecture shown in Figure 9 provides a reference model for all CORBA technology. Corba and its related standards, such as CORBA services and CORBA tools, are examples widely used in industry standards in multiple domains. Figure 28 Object Management Architecture Extension