EJB, DCOM, CORBA
---- Distributed object technology in the 90s provides a strong solution to the 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 issue, Li Jing, the study and development center of the Chinese Academy of Sciences, Li Jing, will take us to see - the new progress of the distribution object technology, the reporter Guo Hong ---- Q: How distributed object technology is 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. ---- Distribution object calculation, usually participating in calculated calculations (distributed objects) are 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 continuously matures and improves the development of object-oriented technology, then what is the essence of distribution object technology and traditional object-oriented technology? ---- A: We know that traditional object-oriented technology has two basic features: encapsulation and inheritance, usually it emphasizes code multiplexing, objects often exist only in one program, the outside world is not It may be perceived 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 the two objects will be distributed on different sites, if fully follow the object-oriented concept If the object 1 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, which is very difficult, without any distribution system supports this inheritance, because implementation The cost is too big. ---- 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, how do you talk about how these three technologies develop? 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, and 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. ---- COM technology is MICROSOFT exclusive, is the initial development of OLE 2 / COM, ActiveX, DCOM and COM , in Windows 3.1, in the development of OLE 2 / COM, ActiveX, DCOM and COM , current COM Putting the message communication module MSMQ and the transaction module MTS that solves the critical business, 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. ---- Currently 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 like Oracle, Sybase, Lotus, which have announced their software products, and present 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 companies in ERP and e-commerce. Applications. ---- Distribution Object Technology is more applicable in comparison of large network systems, such as medical information systems, banking, transportation, telecommunications, almost all walks of life have successful examples, but in China successful comparison less. ---- Distribution object technology is more complicated because this software is usually large, involving a variety of 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. ---- Large-scale applications developed foreign use distribution object technology is not a lot of 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 running line.
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. It is comprehensive, first of all, all distribution objects are all developed by foreign organizations and enterprises; the second in the support platform, famous products are no longer hundreds, and China has a few scientific research institutes and the company. Some prototypes, there is basically no product; third, the successful application is too small. Generally speaking, the first generation model of network distributed application is called Client / Server mode, the second generation is called 3-layer Client / Server mode, and the third generation is called distributed object mode. At present, it is basically since the second generation of the second generation. The three generations transition, the rise of e-commerce will accelerate this process. my country's current large-scale applications are also mainly simple to Client / Server structures, but more and more models of 3-layer Client / Server. ---- Talking about the new progress of distributed object technology, an advanced progress is to combine distribution object computing with web and embedded mobile computing, in addition to middleware (such as transaction middleware, communication middleware, etc. Combination. For example, the new standard of the Cobra has joined the Internet service and message service. The message service can support the call of asynchronous methods, which can improve the throughput of the program, and the powerful ability to enhance the overall performance of the system and increase the flexibility of the system. ---- Q: Some people say that the development direction of distributed object technology is intelligent Agent technology. What do you think of this? Please talk about the future development trend of distributed object technology? ---- A: I think that distributed object technology and Agent technology have some commonality, and one of its branches may develop into intelligent Agent, but smart Agent technology does not represent all distributed object technology. Agent usually contains two meanings: First, the Agent has higher autonomy, which can have certain mushing properties to the surrounding environment. Second, Agent can be understood as moving components, which can be interplanted with the network node as needed. mobile. ---- Distribution object technology, there are many research topics on its software architecture and development methods, and how to integrate different standards in a unified manner is also a topic worth studying in the future. Distribution object technology will develop in the direction of intelligent, miniaturization, and standard fusion and will play a huge role in mobile computing and e-commerce applications. ---- Responsible Editor: Guo Hong guo_hong@ccw.com.cn ---- Responsible Beauty: Wang Binghui Wang_Zhanhui@ccw.com.cn Schedule 3 Distribution Object Technology ---- Integration: Integration Mainly reflected in the basic platform support for application interoperability. It requires distribution on different machine platforms and operating systems, all kinds of business applications generated by different languages or development tools must be integrated to form a unified enterprise computing framework. This integration framework must be based on the network and have integration capabilities for legacy applications; ---- availability: The software component technology required to be used must be mature technology, and the corresponding products must also be mature products. In a critical enterprise application, it is possible to operate, safe and reliably. In addition, since the database plays an important role in enterprise calculations, software component technology should be closely integrated with database technology; --- Scalability: The integrated framework must be scalable, coordinating different design patterns and implementation strategies. Cut according to the needs of enterprise calculations, and can quickly respond to market changes and development trends. Protect your investment by ensuring the reusability of current applications.