Since the 90s, the technology gradually into a new era of network-centric users wishing to establish a broader network of distributed applications client / server not only data sharing, support and sharing knowledge and sharing different types of computational resources, and can reach, including the entire company, including all levels of interoperability.
To answer these requirements, distributed object technology to become mainstream in the development of management distributed computing environment. Features:
applications 1. major heterogeneous environments interoperability problems
2. The heart of the system object management is client / server and object-oriented technology and
3. Provide object-oriented API
4. Became the standard for the integration of established frameworks and software components of the core technology.
On this basis, in order to solve large-scale application systems integration and scalability of the conflict between the middleware (middleware) technology has developed.
Middleware is a software
intermediaries in the application layer and the network layer of a functional level, to make applications independent of operating system heterogeneous hardware platform and the composition of the environment in communication protocol behind.
Middleware extends the client / server architecture, including the formation of a client, middleware and servers, including the three-tier structure and multi-level structure for the development of reliable, scalable, complex applications intensive transactional provide strong support.
Middleware can be divided into four types:
1. Based on RPC (Remote Procedure Calls) middleware. RPC is the traditional programming languages, procedure calls for the expansion of the object is called the distribution system across physical platform. SunSoft OSF DCE and ONC +, etc. are such middleware.
2. Message-Oriented Middleware support for inter-process communication based messaging. Middleware that applies to both client / server model, peer model is also applicable to the general budget of RPC middleware based on a higher operating efficiency. system: SunSoft ToolTalk, PeerLogic pipe and then Talarian SmartSockets.
3. Based ORB (Obecjt request brokers) middleware, middleware that is the favorite object-oriented applications. For routing messages through the ORB, ORB simultaneous integration and security issues. Microsoft OLE / COM / DCOM and CORBA middleware are the OMG such.
4. Database, middleware, support for transparent access to heterogeneous relational databases traditional. These systems include existing Sybase Open Server, Oracle SQL Connect and BEA WebLogic, etc..
object-oriented technology based on a software architecture
The software architecture is the structure of a program or system components, their relationships and design of the disposal system and the development of principles and guidelines. In general, a system architecture describes the components of the system in all calculations, the interaction between components, connectors and how to combine the components and connectors constraints.
software architecture, said the main issue is how the software architecture, thus modeling software architecture. For a larger scale structures implementing more complex applications, system model is designed to improve the practical application of openness and integration, taking into account efficiency.
software systems, including data, open the scalability of the system functional and open availability of a product depends on the aperture of the base model of the system. integration of software systems is described by the same means of information mechanism and treatment will be uniform in all functional subsystems into a single, integrated environment, the integration of good or bad depending on the model system as fundamental. The effectiveness of software systems typically include operational efficiency of the system and the efficiency of the application. The efficiency of the operating time and space complexity, while the efficiency of the application refers to the ease of development and implementation efficiency. Effectiveness depends largely on the model of the system, but also to the concrete realization of the system.
open system model allows the integration of sub-features and easy to implement, but it should also improve the efficiency of application development, integration and efficiency in turn is useful for better achieve the objectives of openness. These three complement each other, which will open as a basis for the integration and efficiency, and only open only integrated, open only efficiency only.
system application software for the opening, there was a lot of system model class represents the application of software technology and industry at different stages of development. Representative of all stages of the system model were: a model based on the data function as the center of the system model, object-oriented system model, and the model system bus based.
center model data in Figure 2a. These models will be based on the sharing of databases in the system, the option of data using a unified description of all subsystems of the development process completely independent subsystems uniform exchange interface data, the overall scalability, and can be arbitrary increase in accordance with the standards for data exchange application. However, the general structure of this model integration in bulk is not good enough, can make data multiplexing can not do with the return function, causing a lot of redundant code; 由于 Ying Yong relevant data exist the definition difficult to meet all application requirements data interface standard, the semantic data appear distorted. The point of view of the opening, these systems have only open data, open non-functional, but its good scalability.
To implement the system model for the center will focus on different applications through a uniform implementation of the Centre to implement the sharing of data and the user interface and consistent, as shown in Figure 2b. These models will be shared computing and executive functions separate from the application, the implementation of the center, to avoid duplication of code, users interact with the system of separation of application, easy to implement the unified user interface design, and database all data exchange is done through the implementation of the center supports a strict management of data, to ensure data consistency. These models solve the model based on data redundancy code and interface style is not reunification, but there are still some drawbacks: the implementation of complex functional design center, it is difficult to answer all application requirements define the functions of collecting and quite difficult to reach; Executive Centre also with the user interface to maintain communication with all applications, but also the data management burden too heavy, easy to form the bottleneck. In short, this type of data model not only open, but also has the function of open, scalable Ye Hao, in general better than the model based on the data.
With the maturity of object-oriented technology, there have been more concise object-oriented model, with design ideas of these two models are very different, as shown in Figure 2c. Among them, the kernel object is encapsulated in the user interface for all application objects and shared data objects and corresponding operations; UI object in the package is the user interface data and corresponding operating; Application object is encapsulated application data and the corresponding operation. All these objects through the coordination of communication between the completion of the specified function. Form the point of view of the system, the structure of these models is not the center, the system consists of the target entity, the entity object with equal status, which is data-centric and implement different models for the center. object-oriented model of the main advantages is that a reasonable set of data and data features and functions that reducing the centralized management of communications overhead and complexity of operations; Furthermore, no central structure of the system structure system becomes more flexible. In general, object-oriented system model, regardless of its effectiveness is still open is better than the first two types of models.
object-oriented model as the previous model made great progress, but still insufficient: the link between objects is a direct link point to point, when the number of objects in the system increases, the number of communication links will quadratic against power surges the same time, to support the communication, each entity object must maintain a physical object that contains all the functions of database services functional information services, this part of the information repeats, but also to ensure consistency. These costs have undermined the effectiveness of the system. A bigger problem lies in: the interface of the object is no uniform standard, resulting from the expansion of the system to be arbitrary and illegal, is not conducive to system maintenance and reuse of the object.
Based on components and object-oriented middleware technologies gradually matured and system modeling software to implement new ideas introduced, which in the model-based system bus, as shown in Figure 2d. Components, middleware, object-oriented technology, monitoring after the development of software technology engineering news, is an extension of the object-oriented technology. model system bus is still a kind of object-oriented structure, the system 但, the object is the design specification 按照 Mokuai these definitions good software modules (components) in the system to co-exist and adequately Xianghuzuoyong. Under this structure, a number of components can be combined to create larger and more complex systems.
The key to this model, an efficient bus architecture, so that between the components of a public interface can connect with each other, so that the components of the plug and play, seamless integration. This model system, the components of the communication link between the number is linear, and because the consistency of each component interface specification, Tong Xun complexity is significantly reduced, the components of each Yetigaoliao Xing Caozuo.
system components according to the status of various components of the software systems can be divided into two levels, the basic components and application components. In comparison with the basics, the application components required for system services is much less, and a service request at low frequency. As a result, the bus can be divided into the basic bus and bus applications, thus forming two bus architecture. In this bus architecture, the basic components and application components are still good between interoperability, but bus shield application components within service requests, reduce bus traffic base, strengthening software and database application system efficiency.
constitute the basic components of the application and bus based system and prototype software framework based on the integration with application components.
Usually in a distributed environment, application components are not directly related to the application bus (also known as broker), but rather by a software agent (agent) indirectly connected to the bus, the Figure 3. role of the agent is an agent from the hand application components of the communication process complex application components are more focused on the function of the realization on the other hand, meet the needs of different application components neibu heterogeneous data in the same configuration data to broker communications to ensure the unity of the language. Thus, in the model system bus based broker and agent are between application components (client) and the host system (server) between the middleware.