h1>ULS System Integration via Model Composition
With the emergence of commercial-off-the-shelf (COTS) component middleware technologies, such as Enterprise Java Beans (EJB), CORBA Component Model (CCM) and Microsoft's .NET Framework and Web Services, system integrators will increasingly need to integrate heterogeneous complex ULS systems built using different COTS technologies, which increase with each new generation of technologies. These technologies differ in many ways, including the protocol level, the data format level, the implementation language level, and/or the deployment environment level.
Although there are well-documented patterns and techniques for system integration using various integration middleware technologies, system integration is still largely a manual process. Such a tedious and error-prone process will will completely break down in ULS system integration due to the scale of the systems being integrated and the differences in the teams, goals, and technology bases when these systems were designed. Despite the benefits of component middleware, therefore, some key unresolved challenges of integrating ULS systems developed using heterogeneous COTS middleware remain, including:
Complexity of declarative metadata.@ Component middleware technologies use declarative notations (such as XML descriptors, source-code attributes, and annotations) to capture metadata that describes configuration options on interfaces, interconnections between these interfaces, and implementation entities. Examples metadata include EJB deployment descriptors and .NET assembly manifests. System integrators must track and configure these metadata correctly during integration and deployment since the correct functionality of the integrated system depends on the correct configuration of the metadata. While manually configuring metadata is already a problem in today's large-scale systems, it will become completely infeasible in ULS system integration due to the number of components, the differences in the metadata of different technologies, and even the ifferences between versions of metadata of the same technology due to ULS system longevity. New approaches to metadata management are therefore needed to achieve integration of ULS systems.
Incompatible differences between middleware technologies.@ Component middleware technologies generally support applications developed in multiple languages andor on multiple operating systems, which in-turn run on multiple hardware platforms. This diversity in technology implementation and deployment poses significant challenges during system integration, however, since integrators must reconcile different ways to achieve the same goal in each technology base. For example, simple activities, such as determining the functionality exposed by a system, become hard due to different ways of describing system interfaces, such as CORBA Interface Definition Language (CCM), Java interfaces (EJB), and Web Services Definition Language (Web Services). Similarly, the on-the-wire protocol format for CCM and EJB is Internet Inter-ORB Protocol (IIOP), which is a binary protocol, whereas Web Services uses SOAPHTTP, which is a text-based protocol. The sheer number of incompatibilities between middleware technologies therefore necessitate automated resource adaptation techniques in the ULS system integration space.
Incompatibilities between different middleware implementations.@ The success of COTS middleware technologies have started a trend where multiple implementations of a single middleware technology are available from different providers. Differences between these implementations will likely arise due to non-conformant extensions to standards, different interpretations of the same (often vague) specification, or implementation bugs. Regardless of the reasons for incompatibility, however, problems arise that often manifest themselves during system integration. Examples of such differences are highlighted by the presence of efforts like the Web Services-Interoperability Basic Profile (WS-I), which is a standard aimed at ensuring compatibility between the Web Services implementations of different providers. It is therefore critical to externalize and document the implicit design assumptions of implementations of various component middleware technologies, to ensure smooth integration and dynamic replacement of one implementation with another.
A promising approach to address key challenges with integration of
component middleware is to develop Model-Driven Engineering (MDE)technologies . At the core of MDE is the concept of
domain-specific modeling languages (DSMLs), whose type systems formalize the application structure, behavior, and requirements within particular domains. A DSML is often accompanied by a generators, which analyze the models and synthesize various typesof artifacts, such as source code, deployment descriptors, or input to
simulators.By capturing the semantics of a domain, DSMLs can not only be used as
effective ``metadata management'' frameworks but also be used togenerate ``resource adapters''. DSMLs are an effective means to
capture implicit assumptions associated with component middlewaretechnologies. Representing elements of a component middleware
technology as first-class entities of a DSML makes hidden implicitassumptions explicit at the modeling level. DSMLs can thus be used to
highlight--and ultimately help resolve--the complexities associatedwith incompatible implementations to earlier in a system's lifecycle.
While DSMLs have been used to help software developers create homogeneous systems , large-scale enterprise software systems are rarely homogeneous. A single DSML developed for a particular middleware technology, such as EJB or CCM, may therefore not be applicable to model, analyze, and synthesize key concepts of
Web Services. To integrate heterogeneous systems successfully,therefore, system integrators need tools that can provide them (1)
unified view of the entire enterprise system and (2) fine-grainedcontrol over specific subsystems and components.
A promising approach to achieve these capabilities is model
composition , which involves creating a new DSML from multiple existing DSMLs by adding new elements or extending elements of existing DSMLs, defining new relationships between existing elements, and defining relationships between new and existing elements. A key characteristic of the model composition is that it supports the open-closed principle which states that a class should be open for extension but closed with respect to its public interface, but at a higher level of abstraction, i.e., at the level of DSMLs. Other benefits of model composition include its ability to leverage prior investments in existing tool-chains, including domain constraints, generators of the existing DSMLs, while simultaneously adding new capabilities.A combination of DSMLs and model composition technologies can help to address the challenges associated with integrating component middleware technologies in ULS system
environments, without incurring the drawbacks of conventionalapproaches. I would like to discuss our approach to addressing these
challenges in today's large-scale systems context, identify thedrawbacks with direct application of these techniques to integrating
ULS systems, and suggest possible approaches to rectifying theseproblems to scale integration capabilities more smoothly to ULS
systems.