New progress in distributed object technology

zhaozj2021-02-08  470

The new progress of distribution object technology Guo Hong (this paper reproduced from Software Engineering Expert Network www.21cmm.com, does not mean GIGIX perspective) Distributed object technology in the 1990s provides a strong solution for software development on the network computing platform. . At present, distributed object technology has become the core technology of establishing service application frameworks and software components, and has exhibited powerful vitality in the development of large distributed applications, and has formed three representative mainstream technology, namely Microsoft COM / DCOM technology, Sun's Java technology and OMG Cobra technology. In this interview, Li Jing Director Li Jing, Li Jing, the Software Research Institute of the Chinese Academy of Sciences, will take us to see - Q: How is the distribution object technology produced? What is its concept? A: It should be said that distributed object technology is an object-oriented technology that has been developed with the network. The previous computer system is mostly a stand-alone system, and multiple users are accessible through online terminals, and there is no network concept. After the network appears, the CLIENT / Server computing service mode is generated, and multiple clients can share database servers and print servers, and the like. With the further development of the network, many software need to operate in network products, hardware platforms, network protocols of different manufacturers, and the size of the application is also developed from the LAN. In this case, the limitations of the Client / Server mode are also exposed, so that the middleware came into being. The middleware is a general service between the operating system and the application software. Its main role is to block the differentiality of the network hardware platform and the isomer of the operating system and the network protocol, so that the application software can be operated relatively smooth. on the platform. At the same time, middleware has played a lot of role in load balancing, connection management, and scheduling, making the performance of enterprise-class applications greatly improved, meeting the needs of critical business. But at this stage, the client is a request service, and the server is serviced, and their relationship is asymmetrical. With the further development of object-oriented technology, distributed object technology has occurred. It can be said that distributed object technology is constantly improving with the development of network and object-oriented technology. The promulgation of the CORBA 1.0 standard in the early 1990s unveiled the prelude of the calculation of distributed objects. In the distribution object calculation, the commonly involved calculated calculated calculation is symmetrical. Distribution objects are often referred to as components, and components are some separate code packages, which can be a simple object in the environment, but most of the cases are a set of associated object complexes, provided A certain service. In a distributed environment, components are some sensitive software modules that can be transparent, and the language independent and platform are independently transmitted to each other. Request service. Q: You mentioned that distribution object technology continues to mature and perfect, then what is the essence of distribution object technology and traditional object-oriented technology? A: We know that traditional object-oriented technologies have two basic features: encapsulation and inheritance, usually it is emphasized that code multiplexing, objects often exist only in one program, and the outside world is not possible to perceive and access These objects. The distributed object technology mainly uses an object-oriented package, and components can be distributed anywhere in the network. For the outside world, it is only the interface of the component. It is not necessary to consider it inside how to implement it, and the remote customer visits it through method calls. This is the biggest difference between distributed object technology and traditional object-oriented technology.

In addition, the distributed object computing system does not support cross-site inheritance, for example, assume that the object 1 is a special case of the object 2, and two objects will be distributed on different sites, if fully follow the object-oriented concept, object 1 You can inherit the code and data of the object 2; however, in a distributed environment, the object 1 wants to inherit the code and attributes of the object 2 are very difficult, without any distribution system supports this inheritance because the cost is too large. In addition, we generally do not object in distributed objects, and the components are mentioned. So, what is the difference between components and objects? We know that there is a small object in object-oriented technology, such as a postal code to do an object; but in the distribution object calculation, we tend to combine some small related objects to form a relatively comparison Big components provide a range of services through this component. Q: We know that there are 3 mainstream technology - COM, Java and Cobra, please talk about how these three technologies have developed? What is the characteristics of their respective features? A: At present, the distributed object technology has three geography - Cobra, COM / DCOM and Java. CORBA technology was the earliest, 1991 OMG promulgated Cobra 1.0 standard, which was very beautiful at the time; then it was Microsoft's COM series, from the original COM to the current DCOM, forming a distributed distribution of Microsoft Object's computing platform; Sun's Java platform, only provided remote method calls at the earliest introduction, did not be able to be called distributed object calculations at the time, but it was launched JavaBean is not enough to compete with the above two geography, and its current version is called J2EE, which has introduced EJB, in addition to the language and components in the language and the framework of cooperative work communication between components. So, the current three geography is formed. It should be said that in these three, the Cobra standard is the most beautiful. The COBRA standard is mainly divided into 3 levels: objects request agency, public object services and public facilities. The bottom layer is the object request proxy ORB, specifies the definition of distribution objects (interface) and language mapping, communication and interoperability between objects, is the "soft bus" in the distribution object system; there are many public services to the ORB. It is possible to provide a wide range of services such as concurrent services, name services, transaction (transactions) services, security services; the top-level public facilities define the component framework, providing services that can be used directly to business objects, specifying business objects The agreement rules needed to work effectively. In summary, CORBA is characterized by large, interoperability and openness. At present, the latest version of CORBA is 2.3. Corba 3.0 has also basically completed, adding content related to Internet integration and QoS control. The disadvantage of CORBA is a large and complex, and the technology and standard updates are relatively slow, and the time of the COBRA specification is very short from 1.0 upgrades to 2.0, and the release of the release is relatively slow. In contrast, the development of Java standards is much faster, Java is SUN's own, the evolution is very fast. Java's advantage is that in pure language, cross-platform is very good. Java distribution object technology typically refers to remote method call (RMI) and enterprise JavaBean (EJB).

RMI provides a Java object to remotely call another Java object method, similar to traditional RPC, can only support primary distribution object interoperability. Sun is based on RMI and proposes EJB. Based on the Java server-side component model, the EJB framework provides services such as remote access, secure, transaction, persistent, and life-aspiration management. Currently, Java technology and CORBA technology have a fused trend. The COM technology is MICROSOFT exclusive, which was originally developed to support composite documents in Windows 3.1, which has experienced several phases of OLE 2 / COM, ActiveX, DCOM and COM , current COM Communication Module MSMQ and the transaction module MTS to solve critical services are added, and it is a relatively complete platform for distribution objects. Microsoft's COM platform is relatively high, and it has a series of corresponding development tool support, and application development is relatively simple. But it has a fatal weakness that COM has a poor cross-platform, how to achieve interoperability with third-party manufacturers is a major problem. From the perspective of development of distributed object technology, most people think COM competition is not Cobra. At present, we often talk about distributed object technology is mainly these three, involving its model, standard, standard, and implementation. Detailed comparison of 3 distributed object technology can be found in the schedule. Q: It is said that foreign software manufacturers have announced distributed object technology in Oracle, Sybase, Lotus, etc., and presenting a good application momentum. So, what are the applications of distributed object technology? How to apply it? Some said that my country is basically running in the same way in the field of distributed object technology, how do you see this? Introduce our situation, as well as the new progress of distributed object technology. A: Oracle, Sybase and Lotus foreign software manufacturers support CORBA, EJB and DCOM technology in its mainstream products to support enterprise-class applications and web applications, which have a large number of applications in ERP and e-commerce. Distribution object technology is more applicable in comparison of large network systems, such as medical information systems, banking, transportation, telecommunications, almost all walks of business, but there are fewer success in China. The distribution object technology is more complicated because this software is usually large, involving various technologies such as networks, object technology, especially Cobra, and system development. Distributed systems typically develop or integrate with a Component Software method, which is based on integration of software architectures. Only a component of special needs requires new development, and other components are integrated under integrated frameworks. Of course, the use of the combination framework software for distributed system development requires a full range of methods, tools and platform support. It is not a lot of traditional methods, which use distributed object technology development, relative to traditional methods. In addition to development difficulty, I think there is such a reason here, that is, people like to use mature technology. In large software adopts distribution object technology, the experience in the control of the project development process is insufficient, and the application of distribution object technology is limited to some extent. For distributed objects, this application is required, there is a need for a series of methodology, software engineering methods and tools. If you don't start with an object-oriented approach, it is difficult to make a successful distributed application using the object-oriented methodology and tools. I personally disapprove this saying on the same way. I believe that in terms of distributed object technology, my country and abroad gaps are still comprehensive. It should be said that domestic tracked this technology is also in research and development, such as communication routes, China's communication lines are not very good. We have made improvements in the communication module.

转载请注明原文地址:https://www.9cbs.com/read-614.html

New Post(0)