CORBA component model: Part 1, evolving to component middleware (Component MiddleWare)
The CORBA Component Model, C / C Uses Journal February 2004
Douglas C. Schmidt and Steve Vinoski
CNDEVELOPERW (YSF_GZB@21cn.net)
Early calculations, software from the first draft to completing a dedicated goal is to develop on a specific hardware platform. Since the computer is more expensive than programming, the savings are placed in the system's software reuse and from the existing morning pre-software. In the past four decades, the following two trends have prompted the Hardware-Centric to the Software-centric development mode (PARADIGM). 1. Economically factor. Due to the VLSI (Translator Note: Ultra-size Integrated Circuit) and hardware's commercialization, most computers are now much cheaper than the programs running. 2. Technical progress. As software development technologies such as object-oriented programming languages and distributed objects, the development of software development technologies such as intermediates is more easier and featured.
Software development mode A main common topic is craving for reuse, for example, combining and customizing applications from a previously existing software build block. Modern software development model, such as object-oriented, component-based, component-based, generating, and other technologies, to form different types of buildings, build blocks, The particle size is coming to this common goal. The development and evolution of middleware technology also follows similar capture and reuse of various levels of design information in the past.
This column is the first series focused on the Corba Component Model, CCM). First, we have an overview of abstract evolution from sub-processes, objects, and components. Then, describing how this evolution is largely reflected in the middleware - passed from the message to the remote call, from the distributed object to the component middleware. We discuss the limitations of distribution object computing, DOC middleware, and the need for universal need for component middleware and CORBA component model (CCM).
Writing abstract evolution
From the reusable build block, it has become a research objective for software researchers for more than 30 years. For example, in 1968, Doug McllRoy triggered the demand for software "Integrated Circuit" (IC) and large-scale production and testing: (1) Type variability of software IC; (2) Effective standardized IC type. Since MCllroy's work advances in the extensive applicable period of objects and components, he imagined, a software IC can be built from a standard sub-process directory, which is accurately strengthened from time-space performance, size limit and binding time. classification.
Originally in system software, including operating systems and advanced language compilers, also emphasized the use of Prebuilt Software. Such software often includes the general calculation support capabilities of the OS or compiler to run themselves, and frequently organized general calculation support capabilities from the peripheral maturation function of the online file system to the math operation. Application developers manually prepare these ready-made functions into new applications.
Later, the efforts of software IC dreams have led to information hidden and data abstraction techniques that put more focus on organizational data rather than the design. Data Abstraction The Module Concept is formally configured as a related process and data of its own maintenance, which leads out the segmentation of the program so that the data is hidden in the module.
Information hidden and data abstraction techniques are embodied in programming languages, such as CLU, MODULA2, and ADA. These languages provide modules as an infrastructure, except for external controls of the name domain (Import / Export) - a module initialization mechanism, and a well-known and recognized feature-specific use of the above. Although these languages allow programmers to create and apply user-defined types, they are still difficult to extend these types to new use scenarios without modifying. The next programming mode is from object-oriented design techniques such as OMT and BOOCH symbols / methods (Notations / Methods) (last incorporated UML), as well as object-oriented programming languages, such as C and Java. Object-oriented technology is focused on applying software to clearly define interfaces and objects associated with derivation, aggregation, and combinations. Object-oriented technology is a key advantage is that the common support of the generalization attributes and special attributes of the special properties. Expressing this difference and uses its simplified programming --- through the inheritance supported by object-oriented language, allows common things to be determined in class behavior, and polymorphism, allowing base class behavior to overload by dynamic binding Customized in the subclass.
Although object-oriented programming enhances early programming mode, it is still inadequate. For example, object-oriented languages typically assume that different entities in the software system have the following interfaces: (1) Compliance inheritance and polymerization; (2) Writing with the same programming language. Many of today's applications must run in multilingual or even in a multi-mode environment, which must be required to provide higher levels than single-programming language or design modes.
(Continued ...)
CNDeveloperw (YSF_GZB@21cn.net)