What is it?
Corba (Common Object Request Broker Architecture) is a supplier-neutral, language-neutral standard for distributed application integration.
Fundamental principles include re-usability of components, portability and interoperability. Corba has its own component model and scripting language, and is behind the Internet Inter-Orb Protocol (IIOP). IIOP ensures that any object wrapped in IDL (Interface Definition Language) can find and speak to any other object wrapped in IDL, no matter which Corba implementation is used.
In March, the Object Management Group (OMG) announced its Model Driven Architecture (MDA), which it describes as "a full-lifecycle approach to solving the problems of developing, deploying, and integrating existing distributed systems with emerging technology, assembling virtual enterprises that span multiple companies, and implementing business intelligence solutions and enterprise information portals in a multi-supplier environment." Corba is at the heart of MDA.
Where did it originate?
With the OMG, a not-for-profit organisation founded in 1989, which has more than 800 members, including Microsoft. The OMG works to ensure its standards will interoperate with key Microsoft technologies such as Com, Soap and .net.
Enterprise Java Beans (EJB), the other major enterprise object/component standard, has from the outset been designed to interoperate with Corba.
What is it for?
In addition to Corba, MDA builds upon the OMG's established modelling standards: UML (Unified Modelling Language), XMI (XML Metadata Interchange), Meta-Object Facility (MOF), and the Common Warehouse Meta-model (CWM) for database schemas and datawarehousing.
Whether the ultimate target is Corba, EJB, MTS (Microsoft Transaction Server) or some other component or transaction-based platform, the first step when constructing an MDA-based application is to create a platform-independent application model expressed via UML. Platform specialists then convert this into a model targeted at the specific platform.
Where is it used?
Corba is well established in commercial, industrial and public sector applications.
It is particularly strong in telecoms, healthcare, finance, manufacturing and real-time systems.
What makes it special?
MDA will be able to integrate different distributed object architectures and message-oriented middleware, including EJB, XML/Soap and .net. It will also be able to unify the dialects of XML developed by different industries. Legacy applications can be brought in by "wrapping" them with a
layer of code.
What does it run on?
All major hardware and operating systems.
How difficult is it?
You will need an understanding of UML, object-based programming and distributed component-based computing. In most cases, some hand-coding will be required when building the platform-specific models, but as MDA tools become available, and techniques for modelling application semantics are refined, the amount of manual work will decrease.
What's coming up?
MDA implementations are expected to start appearing by the end of the year.