A decade ago the Object Management Group started down the road to infrastructure and end-user standards for interoperability in heterogeneous enterprise-wide systems. Ever since, the focus of our work has been on declaration of interfaces. Interoperability achieved through declared interfaces, especially through declaration in an interface definition language (such as OMG IDL), is a powerful concept: it supports team-oriented software construction (through clearly spelled-out interface contracts that can be built on many platforms in many languages); it is the basis for real architectural design of systems; and it is critical for long-term system maintainability. On the technical side, it also takes away from the programmer the pain of dealing with interprocess communication and network communication protocols, allowing programmers to concentrate instead on system definition (and therefore the "business logic" that needs to be implemented). All from a simple, unassuming IDL.
In 1995 OMG took a huge step forward when we not only fleshed out better support for portability, but, more important, defined a basic interoperability protocol, the Generic Inter-ORB Protocol (GIOP), for connecting CORBA systems (along with the better-known TCP/IP mapping of GIOP, the Internet Inter-ORB Protocol, or IIOP). It's important to note that most programmers never see GIOP or IIOP; rather, CORBA implementations layer automatically generated stubs, skeletons -- in effect, generated protocols -- over IIOP to ensure end-to-end interoperability between applications relying on CORBA to perform their interapplication communications.
Since those days the OMG itself has changed character significantly. Today it comprises 800 member companies, nearly half of them end users of information technology (like Citigroup, Boeing, Bellsouth and 3M), or vertical-market independent software vendors (ISVs) rather than vendors (though big names like Microsoft, Sun Microsystems, Hewlett-Packard and Fujitsu are longtime members). The OMG's open, neutral, consensus-making process today has underway about a hundred standards processes. They range from the traditional OMG infrastructure definition and maintenance (CORBA itself, the Unified Modeling Language, services for security and authentication, transactional integrity, event notification, application internationalization and even print service management) to vertical-market (in OMG parlance, "domain") specifications, from manufacturing part definitions and telecommunications network management to life sciences genomic maps and air traffic control systems.
Obviously, the end-useroriented specification processes have a more immediate and obvious impact on the average end user and vertical-market ISV, who can see more immediately the value of a standardized patient identification interface that will make a hospital merger work more smoothly. Nevertheless, the CORBA technology space marches on, and for the first time addresses what some might consider an implementation technology -- specifically, software deployment in heterogeneous platforms.
In fact, the CORBA 3.0 processes to update CORBA focus on three major areas:
The greatest impact of these three components will likely be on the server side. Over the years, a large number of excellent tools have appeared to simplify the construction of software for the desktop, software for the client. Application builders typically start from the viewpoint of the design of a data display or update window and work toward the server with visual components that support front-end application duties. In contrast, the wide availability of deployment technologies such as CORBA Components (as well as Sun's Enterprise JavaBeans, closely aligned with the CORBA Component Model Java mapping) will make graphical server software design possible. Finally, the application service designer and builder -- for both the middle tier and the back end -- will be able to drag server components from a pallet, connect them graphically, select deployment options such as transactional contexts and security domains, and quickly deploy new business logic.
Which is the point, right? And it will come.