The extensive suite of Object Management Group (OMG) standards will, ultimately, unify computing from analysis and design through development, deployment, runtime and support.
OMG is an open, member-driven organization, and future directions emerge from the work of its nearly 800 members. Thus, like any other process that tracks developments in our rapidly moving industry, it's hard to see more than a few years into the future. It takes from about 14 to 20 months to create an OMG specification from the time OMG's members publish their requirements as an RFP (request for proposal), which is probably the fastest open consensus-building process in the computer industry. In this article I'll use this lead time to look a year or two into OMG's future. Market trends are another good indicator of trends so I'll include a dose of them too.
Taking all of OMG's technology into consideration, the group has come up with six predictions. If our crystal ball is right, watch for:
In the remainder of this article I'll discuss these predictions in more detail, starting with the new UML release.
- New UML release: A major new release of the Unified Modeling Language (UML), OMG's showcase standard for analysis and design. The role of OMG's Analysis and Design standards - UML, the Meta-Object Facility (the MOF), XML Metadata Interchange (XMI) and the Common Warehouse Metamodel (CWM) - will also expand as more and more enterprises embark on large-scale application integration projects.
- Glue standards: New "glue" standards at the boundaries between OMG's technology areas - Analysis and Design, core CORBA, and Domain facilities - will unify an environment in which applications flow smoothly and automatically from analysis and design, coding and deployment, into support.
- Domain Technology expansion: OMG's Domain Technology program will expand its penetration into vertical-market computing as products based on OMG standards reach the marketplace in finance, healthcare, manufacturing and other areas.
- CORBA marches on: CORBA platform technology will continue to embrace emerging enterprise technologies.
- Core technology comes to market: Recent extensions to the CORBA core technology - in particular, asynchronous and messaging mode invocations and the CORBA Component Model (CCM) - will reach the marketplace and mature.
- COBRA in specialized distributed systems: CORBA will play an increasing role in distributed embedded and real-time systems.
OMG Standards in Analysis and Design
Starting with the UML and branching out, OMG now maintains a suite of standards that unifies both application and data modeling under a common hierarchy. The first extension beyond UML was the Meta-Object Facility (MOF), which standardized both a meta-model and its representation, providing the key foundation elements. It also standardized a repository, confirming that its meta-model was useful in code as well as in concept.
The next extension defined XML Metadata Interchange (XMI). Enterprises invest in a standard model because it is useful in more than one application or tool, but this requires transporting the model from one place to another. XMI is the transport format that allows models to be moved from tool to repository, repository to tool, or from one tool to another. Expressed in XML, XMI combines three industry standards: XML, UML and the MOF.
The most recent addition is the Common Warehouse Metamodel (CWM). Enterprises mine data warehouses for new business opportunities. (Think of this as more ways to earn the money that goes into your paycheck!) But conflicting models in different warehouses within the same company make analysis difficult. For example, engineering and manufacturing use a model that emphasizes how the company's products are put together, while marketing and sales use a model that emphasizes what they do and why customers want to buy them. The two models may even use different terms for the same concepts. CWM overcomes these difficulties without forcing either side to use a model that doesn't meet its needs.
Why are we devoting this much space to modeling standards in a programmer's magazine? As Java matures, it's being used more and more to build huge servers that have to be designed before they get coded. Even if you won't ever design anything yourself using UML, it's likely you'll be asked to code something that someone else did (either that or someone else who can code from a design will get that contract or raise instead of you). We think familiarity with analysis and design techniques and tools is a handy skill for every enterprise programmer.
OMG Analysis and Design Directions
OMG members are currently drafting an RFP for a new major release, UML 2.0. Unlike point releases (UML 1.1, 1.2 and so forth), which can only fix bugs and clarify ambiguities, major releases contain new features. Even the RFP, the requirements document for the new release, involves a lot of work. OMG members expect to issue the RFP for UML 2.0 before the end of 2000; when it does, it will appear on OMG's "Work in Progress" Web page,
www.omg.org/schedule, where you can follow it through the process.
Extending the modeling arena, members are working on a standard covering XMI production of XML schemas. This new work will unify XMI and the MOF with W3C's emerging standard for schema representations in XML.
This illustrates two recurring themes in OMG's work:
Software Process Engineering
- Members try to integrate all of the significant work in an area to keep the group's standards useful.
- OMG "works well with others," establishing liaison relationships with other standards groups and using their specifications wherever they apply.
A new direction is Software Process Engineering (SPE). Long ignored by standards efforts, SPE includes software pro∆ject management but goes beyond it, encompassing team organization and culture, choice of technology and other real-world aspects of producing applications. One SPE RFP is in process now; a look through the document reveals that more will follow until the space is fully populated with standards. The group at OMG that pushes this effort calls itself the Process Working Group (PWG); if your company is an OMG member and you want to follow it, e-mail [email protected] and ask to be put on the e-mail list [email protected].
Business Object Initiative: "Glue Standards"
The biggest area of new work is in what you might call "glue standards." (No, people don't call it that at OMG, but I think it's a handy descriptive term.)
Glue standards unify OMG technology at the boundaries. Now that OMG specifications provide so much help within each area of application development - analysis and design, infrastructure, standard objects - it's even more noticeable how much work you have to do to jump over the boundary from one stage of your project to the next. For years people have wondered why it was such hard work to transition from a work product in one language to the next - from UML to OMG IDL and from IDL to Java or C++.
With standards well established within each area, it's finally possible to standardize the glue between them, and OMG members are putting a lot of effort into this. The overall effort has been named the Business Object Initiative (BOI). The first stage of the BOI will produce four base standards. The first is ready and currently under vote, the next two are in process and the fourth is an RFP draft waiting to be issued. Here are some details:
UML Profile for CORBA
UML is a comprehensive language and its models can apply to many infrastructure and development environments besides CORBA. (Some people think that OMG hasn't noticed this yet. We have!) This flexibility is a great enabler, but it also makes for awkward moments when you try to implement a UML model, since nothing stops you, when you construct your model, from using concepts that don't carry over into your target development environment. To streamline this transition for CORBA projects (our favorite target environment here at OMG), the first specification in the BOI is a UML profile for CORBA. By restricting your UML space to this profile, a UML tool will guide its user to produce a model that moves smoothly into a CORBA development. This helps whether your transition will be manual or automated (as the BOI anticipates). This process has a few procedural votes left before it becomes an official specification, but you can read the almost-specification now at
www.omg.org/cgi-bin/doc?ad/00-02-02 and www.omg.org/cgi-bin/doc?ad/00-06-50.
UML Textual Notation
The only "language" for UML right now is graphical. (XMI is great at transporting a model from one place to another, but it doesn't represent the model in a manipulable way.) This effort will produce a human-readable and possibly machine-editable text-based representation for UML.
UML Profile for EDOC
Enterprise Distributed Object Computing (EDOC) - large applications with high throughput and reliability requirements, along with integrated legacy applications spread over the enterprise - represents a big market for UML and CORBA. This RFP will produce a profile for UML aimed specifically at this market and its unique requirements. Its completion will set the stage for the fourth RFP, described next.
Mapping of the UML Profile for EDOC to CORBA
This has to wait for the EDOC UML profile so submitters know what they need to do. When this mapping is complete, you'll be able to model your EDOC application in UML and move the model into a CORBA implementation, experiencing no pain at the boundaries.
The target CORBA environment of the BOI isn't the version you're coding in now - it's CORBA 3, with all the features of the CCM. The support for a tiered architecture, homes for component types, and built-in scalability, transactionality and security combine to make CORBA 3 the ideal environment for enterprise servers. By standardizing the way it provides these services, CORBA 3 enables automation of the transition from design to code.
There's one more RFP working now that will expand the modeling area: UML Profile for EAI (Enterprise Application Integration). EAI has been receiving a lot of attention recently, and this profile will make it easier to model your EAI project in UML.
There is also work underway, not yet visible, to create UML profiles for real-time and minimal (i.e., embedded) systems. We'll touch on these one more time in our last prediction.
OMG's Domain Technology Program
Since the first meeting of OMG's Domain Technology Committee in January 1996, domain-specific activities have grown as large as the platform-side activities like CORBA and UML standardization and are still the fastest-growing part of the organization. All nine Domain Task Forces are working on new standards and have more planned.
The nine are :
This topic is big enough to get its own article, and we're already working on it. You can follow all of this at
- Business Objects
- Electronic Commerce
- Healthcare (sometimes called CORBAmed)
- Life Science Research
Since we're talking futures, we also need to mention groups that aren't quite task forces yet but are expected to emerge. New groups are starting to coalesce in these areas: Space Science, Retail, Customer Relationship Management, Digital Content Management and Semiconductors. If you work in one of these areas and would like to get involved at the ground floor, send e-mail to [email protected] for more information.
CORBA Platform Technology Embraces Emerging Enterprise Interoperability Modes
People are always searching for something. In the Middle Ages it was the philosopher's stone and the Holy Grail. In enterprise interoperability it's the silver bullet. Each new technology comes in accompanied by a promise that it does everything better and will replace all current technology. ("Instead of n technologies to support, you'll only have one!") After a few years, things settle down with the new technology taking its place alongside all of the previous stuff, doing the things it does better and leaving everything else to the rest. (Instead of n technologies to support, you end up with n+1!)
CORBA's forte is integration. As new technologies come (and never seem to go), CORBA extends a welcoming arm and integrates them into the rest of the distributed environment. When everything is sorted out, at least our n+1+1+1...technologies are well integrated.
The new technology in the news now is XML. OMG has already used XML to good advantage in XMI and the CWM; in addition, configuration files in CCM are generated in XML. A new specification, due to complete around the time this article goes to press, will define a mapping from XML to OMG IDL, translating XML documents into IDL types so they can be sent as parameters to CORBA object invocations. This remedies XML's lack of semantics for invocations, transactions and security. Watch for a CORBA Corner highlighting this new specification in a few months.
Consolidation of New CORBA Core Technologies
ORB vendors - including OMG members as well as nonmembers - are now in implementation mode, assembling and implementing the CORBA 3 technology adoptions that extended OMG into new territory: the Asynchronous Messaging Specification including network quality of service control, the CCM and the Persistent State Service are the most obvious ones, but there are about half a dozen others as well. These new specifications will allow software vendors and CORBA users to take better advantage of CORBA within the enterprise, and in interenterprise computing. Early implementations should be available on the market by the time you read this, although some specifications may take another generation to mature. The CCM contains so many advances that it's worth the short wait.
Even more extensions to CORBA are either underway or contemplated, including wireless transport (in cooperation with the Telecommunications DTF), parallel processing, multicast and others. Check the Work in Progress Web page (already referenced) under ORBOS for details.
CORBA in Real-Time and Embedded Systems
OMG members have adopted specifications for both real-time and embedded (officially termed minimal) CORBA and are now extending these in several directions. One new standard configuration, not yet even an RFP, is nicknamed microCORBA, a configuration with a footprint smaller even than minimal CORBA. OMG's first workshop on distributed real-time and embedded systems, held in Virginia in July of this year, demonstrated the industry's interest. We'll write up the workshop in a future column.
An area not represented in RFP yet but likely to appear is modeling of realtime and embedded systems. Members are already working on draft RFPs in this area; you'll see them on the Work in Progress page as soon as they issue.
That's as far ahead as my crystal ball can predict, at least on the platform side of OMG. Most of the DTFs have issued road maps organizing their thoughts on future work. Combined with draft RFPs and work in progress, these documents give us insight into the IT future of Telecommunications, Manufacturing, Transportation, Healthcare, Banking, Insurance, Electronic Commerce and others. We'll review these in a future column.
In the meantime, if your company is interested in participating in any of OMG's standards efforts, you can find out more at our Web site. We've already cited the Work in Progress page; for membership information (since you have to be a member to contribute to OMG specifications), surf to
www.omg.org/membership or e-mail me directly at [email protected].
Jon Siegel, the Object Management Group's director of technology transfer, also writes
articles and presents tutorials and seminars about CORBA. His new book, CORBA 3 Fundamentals and Programming, has just been published by John Wiley and Sons.
Jon Siegel can be reached at: [email protected]