|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
XML Protocols UML, MOF, and XMI
UML, MOF, and XMI
Jun. 15, 2000 12:00 AM
In today's environment it's becoming more and more difficult to develop well-architectured software for two reasons: the size and complexity of software keeps growing and the target environments are becoming more and more complex. In other words, today's environments are distributed and highly heterogeneous. Applications are so large that one doesn't develop stand-alone systems anymore - applications are developed from existing components and are likely to use common services available in the target implementation environment. Since networks - especially the Internet - facilitate interoperability, today's applications need to interoperate with other applications and share information with them. Through modeling, architects attempt to manage the complexity of software systems better. The model allows the software architect to separate design from implementation: it's essentially a design abstraction of the application. It doesn't capture implementation details nor does it specify interoperability semantics, information interchange formats and so on. This is clearly the limitation of the model. To provide a complete definition of the application, the architect needs to specify operational semantics, constraints and information exchange formats in addition to the design abstraction captured by the model. The three-legged stool for software development recommended by the Object Management Group (OMG) consists of the Unified Modeling Language (UML), the Meta Object Facility (MOF) and the XML Metadata Interchange (XMI) format. The MOF is the meta-metamodel used to describe the entire software development architecture (including itself). That is, it describes modeling languages such as UML, a set of technology metamodels such as the CORBA component model (CCM), the Enterprise JavaBeans (EJB) model and so on, as well as any other user-defined metamodels. The MOF also contains a set of rules that specify the interoperability semantics and interchange format for any of its metamodels. To describe a software system, the software architect uses a modeling language such as UML (that's already described using MOF) to describe the "design." This design can then be enhanced using the technology models - and other models - to describe implementation/runtime semantics. The MOF rules are applied to the model to define the interoperability semantics and interchange format. Thus this architecture allows the architect to fully describe the software system. By describing models using metamodels and describing all metamodels using a self-describing meta-metamodel, the MOF-based architecture allows applications and technologies to be described from different levels of abstraction. It also includes rules that specify interoperability semantics and interchange formats, thus facilitating interoperability and information interchange across different execution environments and technologies.
MOF-Based Software Development Architecture In the middle tier the MOF is used to describe the different technologies within the object management architecture (OMA). The OMA is the OMG's distributed object framework. This layer consists of a set of metamodels that describe technologies, services and business models (or information models in general) such as UML (i.e., the UML metamodel), CCM, the Common Warehouse Model (CWM), the EJB model and so on. Note that the technology models are shared by tools and applications. The technology layer is used to provide a rigorous definition of the OO modeling/ implementation environment. Models of applications and their implementation details are captured in the final tier of this architecture. The technology models of the middle tier are used to capture different aspects of the application. Let's take, for example, an accounting application whose business logic is captured in a UML model. In this architecture the model will be an instance of the UML metamodel. Note that this model captures only the business logic of the application - it doesn't capture any implementation details. The accounting application may be targeted toward one or more implementation environments. The implementation details will be captured by the respective technology metamodels - e.g., EJB and/or CCM metamodels. In addition, the application may be developed using already available components and may make use of services available in the target environment. This information can also be captured using the respective technology metamodels. Thus a rigorous description of the application that includes its business logic as well as implementation details is captured by this three-tiered, metamodel-based approach. For today's e-business systems (i.e., integrated systems across the enterprise) the metamodel-driven architecture described above combines the business model and the metadata captured in the "meta" levels of the business model to bring about new levels of abstraction, personalization and extensibility of these business models - essential ingredients to manage business information (content) and application/business processes that use this content in the distributed OO environment.
Interoperability and
Information Exchange Next, a simple example is used to illustrate the interoperability and information exchange capabilities of this MOF-based architecture. In this example the MOF is used to define a relation database (RDB) technology metamodel. The MOF rules are then applied to the RDB metamodel to generate the normative IDL interfaces and XMI DTD for information exchange.
The Metamodel
1. Each column belongs to one and only one table.
The DTD
The Interfaces
The XMI Stream
1. "name" of type "String" used to store the name of a person
Current State of the Technology At an OMG meeting in November 1998, before XMI became an OMG standard, nine products from five vendors were demonstrated working together using XMI. In fact, a demonstration on the exchange of metadata between CWM repositories of different vendors is scheduled for the September 2000 meeting of OMG to be held in Burlingame, California. Although the MOF is an OMG standard (and generates only IDL interfaces), it's gaining acceptance outside the OMG as well. Currently, normative Java interfaces to the MOF are being defined as part of JSR-40 - the Java Community Process (JCP) Metadata API Specification. JSR-40 is scheduled to be completed in third quarter 2000.
Summary
XML References Reader Feedback: Page 1 of 1
Latest Cloud Developer Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week
Breaking Cloud Computing News
|
|||||||||||||||||||||||||||||||||||||||||||||||||