Comparison of component technology and its analysis

xiaoxiao2021-03-06  63

Software development technology has experienced many changes, starting from the digital expression program of the initial machine language, and has developed into the current component technology through the assembly symbolic, structured and object-oriented senior language program. The changes in software demand start from the general calculations, to the practical calculation, to management (MIS), lasting to the distributed system. Changes in the software environment From the initial but tasks, text interfaces, and single threads, to multi-tasks, graphical interfaces, and multithreading, from the initial platform, stand-alone and single language to cross-platform, distributed applications, and multiple languages. Software Development Mode has developed from the original operating system, compiler, and editor to the operating system, compiler, integrated development environment, library structure, trick, component, and other collection of infrastructure.

1. Component and characteristics

Components are independent of specific programming languages ​​and application systems, reuse and self-contained software components, which can be easily combined to a larger program without considering its own implementation details. In one system, the component is an replaceable unit, so the software system is more likely to develop and has greater flexibility;

Component technology is developed based on object-oriented development technology, which can be said to be object-oriented technology extension on the system design level. Component technology inherits the object-oriented encapsulation, and ignores inheritance and polymorphism. Components are organic combinations, and do not need to care for objects and implementation details in components. Components have their fixed features, that is, software reuse and interoperability, scalability, components interface stability, and component infrastructure, and whether it is static or dynamic references to provide components function and interface;

2. Component model

The component model is a collection of components classes, component interfaces, and components inter-component interactions. The core of component chemical technology is to divide an application system into multiple components. These components maintain certain functional independence, and different development tools can be used separately, and can be compiled, even respectively, and test. When all component development is completed, the complete application is obtained together, and the synergy between components is done by interfaces between each other. When the external hardware and hardware environment of the system changes or when the user needs changes, it is not necessary to modify the entire system, and simply modify the affected components, then re-combined new upgrade software.

The core technology of establishing the service application framework and software component is distributed object technology, which exhibits powerful vitality in the development of large distributed applications, gradually forming three representative mainstream technology, namely Microsoft COM / DCOM / COM Technology, OMG COBRA technology and Sun's Java technology.

2.1 COM / DCOM / COM Component Model

Com (Component Object Model) is a component software architecture that is equipped with components of different software vendors, assembles an application or system. COM simultaneously indicates how each object interacts and communicates. On the Windows Operating Platform, COM is encapsulated in the form of a DLL dynamic link library DLL or EXE executable program. Typically, the definition and implementation of the COM interface is performed separately, and the COM interface is the key to COM technology. Users using COM components can only access objects in components by getting pointers pointing to the interface, indicating that the customer only knows what kind of work can do without understanding the specific implementation inside it. Thereby achieving a secure call object, and is independent of the operating system, hardware, and programming language it is located. COM is an agreement between component objects in binary levels and communications, and communicates with the interface mechanism between COM objects.

DCOM (Distributed Component Object Model) is a network technology improvement of COM, which pushes the component software to the Internet. DCOM uses a network protocol (TCP / IP) instead of local process communication protocol LRPC to provide transparent support for component objects located on the Internet. The server object in the DCOM is completely transparent to the customer. The client will access the server object through the method call, and you want to get the pointer of the method in the virtual function table, and then call. Decide whether COM intervention is required for components and customer objects in the same thread. DCOM is a natural continuation of COM in distribution calculation, providing interoperable infrastructure for two COM components distributed to different nodes of network. DCOM enhances the distribution performance of COM, supports multiple communication protocols, strengthens the security COM advocates a new design concept, raising the COM component to the application layer, leave the underlying detail to the operating system, so that COM and operating system Combine is more tight. The underlying structure of the COM is still based on COM, but in the application method, more inherited MTS (Microsoft Transaction Server), including MTS object environment, security model, configuration management, etc. COM has been organically unified with the three of the COM, DCOM and MTS, and also adds some services, such as load balancing, memory database, event service model, queue component service, etc. form a new, functional component architecture, Make COM to form a component technology that is truly suitable for enterprise applications. As shown below: Added the listening mechanism on the basis of COM, which has the scalability of the runtime.

2.2 CORBA Component Model

CORBA is an open industry standard, which is supported by more than 600 companies participating in the Object Management (OMG). OMG does not implement its own specification, but relying on the realization of the manufacturer, CORBA also provides a high degree of interactive operation. This ensures that distributed objects built on different CORBA products can communicate with each other.

The characteristics of CORBA are the introduction of the agent's concept. Using the agent to implement the mapping of the client abstract service request, the server discovery and lookup so that the user can avoid many details when writing the client program, but only fully defined and explained customers. Tasks and objectives that need to be completed. At the same time, CORBA also implements the software bus mechanism, allowing any application or software system to easily integrate components into the system as long as there is interface definition that meets the interface specification, and this interface specification is independent of any language and environment.

The OMG IDL compiler implements mappings such as C , SmallTalk, Ada, and Java, and compiles the interface to the interface, the server frames Skeleton files for the server-side server-side server-side server frames. The CORBA passes the IIOP to locate the internet-based interactive interaction standards between different systems, standardize the message format between the syntax and ORBs, thus establishing the interoperability of the ORB-oriented TCP / IP protocol, from 'And implement the interaction between ORB on the Internet. IIOP is a subset of the Giop protocol, which is a protocol that is specifically used to interact under TCP / IP.

Web Services is to connect applications through the SOAP interface, connect to the network. Web Services is of course a lot. You can use the components from any place on the network.

2.3Javabeans Component Model

JavaBeans technology is also a technique proposed for the application of Java languages ​​on the Internet. JavaBeans is built on the Java platform, extended Java language, can be placed in a container, providing specific operation functions, which can be visual, or an invisible background handler; can be a small and medium-sized control The program can also be a complete application.

JavaBeans implements the permanent storage of custom components by serialization, and the recovery of component status can be implemented by reverse series. Generally speaking, Javabeans consists of two parts, namely data, and methods that process them. The public approach in JavaBeans is the main way for javabeans with external communication. Javabeans introduced the concept of object bus, extends locally to Internet and Enterprise Internal Net. It provides three-in-one object bus: IIOP, RMI, and JDBC. Where JDBC is used for database access, IIOP is used to communicate with CORBA components, and RMI is a distributed computing environment established with Java language, and its client's Java program calls the Java object on the application server through the RMI internal communication mechanism. Since the portability of the Java language makes RMI also have strong cross-platform characteristics, RMI can only access Java objects, and communication between CORBA components require further research. 3. The difference between several components technology

COM technology is the exclusive technology of Microsoft, which has experienced several phases of OLE 2 / COM, ActiveX, DCOM and COM . Microsoft's COM platform is relatively high, and it has a series of corresponding development tool support, and application development is relatively simple. However, COM / DCOM adapts a single platform, and programming C is closely combined, and supports other languages. Among them, DCOM's pointer is the most typical.

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, defined some services and some infrastructure support. The characteristics of CORBA are large, interoperability and openness. However, its disadvantages are large and complicated, and the technology and standard updates are relatively slow. CORBA supports multi-platform, avoiding problems that the platform does not have all, CORBA uses IDL to convert standard languages, and there are five kinds of confirmed.

Javabeans is a component that relies on the Java language. Due to the Java platform independence, JavaBeans can easily run between different development platforms. It is an ideal Internet technology carrier, CORBA specification and interoperability standards in the intranet and Internet. For heterogeneous enterprise applications, CORBA and Javabeans have obvious advantages, and the CORBA processing network transparency, while JavaBeans handles transparency. The combination of JavaBeans and CORBA technology will become a new direction of development of component technology.

JavaBean is different from the pure object due to its external interface. JavaBean is designed to be locally in a single process, and they are often visible at runtime. This visual component may be a button, a list box, a graphic, or a chart. EJB is a non-visual remote object designed to run on the server and is called by the client. EJB can be constructed by multiple non-visual JavaBeans. They are installed on the EJB server and is like a remote interface that is called as calling other CORBA remote objects.

For existing assets or systems, Java and Corba languages ​​allow these useful resources to continue to be retained. Due to its compiled bytecode structure, Java language will create and distribute portable objects, while CORBA connects these objects to the rest of the computing environment.

The current popular Web Service technology uses SOAP to invoke components in a platform-independent location-independent way. The SOAP client sends request information to the server, requires the function of the component, the server processs sending the request, performs the function we need, and then transmits the execution result in response information to the client. These messages are XML format and can be transmitted between clients and servers in a variety of protocols. It can be said that Web Service is a higher level of component technology that provides services to provide services after fully encapsulating the WSDL description interface. 4. Component Development Mode (CBSE)

Component based development is developed when the C / S mode is transformed from 3 layers. This makes software development can be produced as product assembly. It is based on combining, inheritance, design components, and shorten the development cycle in accordance with certain integrated rules, installments, increment-based development applications.

Component-based development ideas make software development in a large-scale industrialization, is a general software architecture, improved software reusability. In the development model of a component, you must first have a component framework for component running an environment, and then develop components, and implement the interfaces and component classes of components in accordance with specification. Configure the components into the component framework to provide services with other component collaboration. CBSE is based on the core, fundamentally changed software production, and improves software reuse, protects existing investments, enabling developers to put more attention to business processes and business rules. The CBSE development method uses loose coupling, modular, and focus is in the interface, which is an evolutionary concurrent development.

The development idea of ​​components can help developers package a set of interfaces as a particular service. In a broader sense, components are more perfect and more functional than the objects. A component can directly encapsulate a problem from analysis and design models, which can be developed faster to develop, reuse at higher levels. Compared to pure object-oriented development processes, the focus of component development is the function identification and assembly of components, rather than identification and development of classes in the object-oriented method. Officially used component technology normative, the standard component interface model can be reused in subsequent development, and component technology is an important technique in future software development.

5. Conclude

Component technology is an advancement of object-oriented technology. Current software development technology is moving from object-oriented technology. Component-based development technology, component-based development model is also the development direction of future software development models, although there are still some problems in the current component model For example, the communication issues and cross-platform problems, but there is no doubt that the proposal of component technology is a leap in the original development technologies and methods, which makes up for insufficient, and proposes new development methods.

references:

1. Sun Microsystems Inc. Entrograise JavaBeans Speciation, Sun Microsystem Inc, 1999.

2. Paul J, Perrone. J2EE Build Enterprise System Expert Species [M]. Zhang Zhiwei, Tan Yusong, Zhang Mingjie Translated. Beijing: Tsinghua University Press, 2001.

3. Tbuan L TBAI, DCOM Getting Started, China Power Press

4. DON BOX, COM Nature, China Electric Press

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

New Post(0)