| OMG Specifications and Process | OMG Process Introduction | Introduction To OMG Specifications | CORBA FAQ | | Getting Specs and Products | Payoff | BPM, UML, and CORBA Training | OMG® SPECIFICATIONS AND PROCESS: THE BIG PICTURE The hundreds of member companies of the Object Management Group produce and maintain a suite of specifications that support distributed, heterogeneous software development projects from analysis and design through coding, deployment, runtime, and maintenance. Here's an overview: | OMG Specifications: | | MDA® - The Model Driven Architecture®. Unifying the Modeling and Middleware spaces, OMG's MDA supports applications over their entire lifecycle from Analysis and Design, through implementation and deployment, to maintenance and evolution. Based on UML models which remain stable as the technological landscape changes around them, MDA-based development maximizes software ROI as it integrates applications across the enterprise, and one enterprise with another. Adopted by members as the basis for OMG specifications in September, 2001, the MDA is truly a unique advance in distributed computing. | | UML® - the Unified Modeling Language® standardizes representation of object oriented analysis and design. A graphical language, its dozen diagram types include Use Case and Activity diagrams for requirements gathering, Class and Object diagrams for design, and Package and Subsystem diagrams for deployment. UML lets architects and analysts visualize, specify, construct, and document applications in a standard way. | | MOF™ - The MetaObject Facility™ standardizes a metamodel for object oriented analysis and design, and a repository. (The CWM™ standardizes a metamodel for data modeling; look two paragraphs down.) Because they are based on the MOF metamodel, UML models can be freely passed from tool to tool using XMI - without the commonality of definition provided by the MOF, this would not be practical. | | XMI® - XML Metadata Interchange allows MOF-compliant metamodels (and therefore models, since a model is just a special case of a metamodel) to be exchanged as XML datasets. Both application models (in UML) and data models (in CWM™ see below) may be exchanged using XMI. In addition to allowing model exchange, XMI serves as a mapping from UML and CWM to XML. | | CWM™ - The Common Warehouse Metamodel standardizes a basis for data modeling commonality within an enterprise, across databases and data stores. Building on a foundation metamodel, it adds metamodels for relational, record, and multidimensional data; transformations, OLAP, and data mining; and warehouse functions including process and operation. CWM maps to existing schemas, supporting automated schema generation and database loading. This makes it the basis for data mining and OLAP across the enterprise. | | CORBA® - the Common Object Request Broker Architecture™ is OMG's showcase specification for application interoperability independent of platform, operating system, programming language - even of network and protocol. CORBA includes a number of specifications that you may have heard about separately: OMG Interface Definition Language (OMG IDL™), the network protocols GIOP and IIOP, an infrastructure for server-side scalability termed the POA (for Portable Object Adapter), and the CORBA Component Model (CCM). The CCM integrates Enterprise Java Beans, and a mapping to XML provides the most robust support in the industry for XML document usage and interoperability. | | The Object Management Architecture (OMA) is a set of standard interfaces for standard objects that support CORBA applications. It includes the base-level CORBAservices, the CORBAfacilities, and a large and growing set of Domain Specifications. | | To learn more about these specifications, click here. To learn how the specifications are produced, and who can use them, continue reading this page: | | OMG's Open Process | | These specifications are written and adopted by hundreds member companies of the Object Management Group (OMG), following a well-defined open process. Any company, institution, or government agency can join OMG, and contribute to or influence the specifications. | | Freely Available and Available Free | | Anyone can download specifications from the OMG website for free, write software implementations that conform to the specifications, and use them, give them away, or sell them. Neither OMG membership nor license is required for this. | | Specifications vs. Products | | OMG produces and distributes only specifications – not software. Software products implementing OMG specifications – The MDA, UML, the MOF, XMI, CWM, CORBA, the OMA, and the Domain Facilities, – are available from hundreds of sources including vendor companies and sources of freeware and open-source software, including both OMG members and non-members. | | CORBA and UML on the Market | | OMG specifications are mature and stable, and products that implement them have an imposing market presence in enterprise and internet computing. CORBA integrates some of the largest web servers in the world – ones that you probably use every day. CORBA-based software scales to internet and enterprise size and hit rates, although specialized versions of CORBA also run in real-time, or slim down to fit in embedded systems, without sacrificing interoperability. | | That covers all of OMG's specifications, but we did leave one thing out and here it is: What is all this good for? What problems does it solve? | | Companies own lots of diverse computers and each one - whatever its platform, operating system, and other characteristics - was chosen because it was the best one, or in some cases the only one, that could do its primary job. But in these days of the Internet and corporate intranets, computing problems extend beyond an individual machine to encompass a department or corporation, and beyond to its suppliers and customers. It's easy (or at least easier) to integrate a collection of computers if they're all "the same", whatever that means - platform, operating system, or other characteristics - but, for most companies, this would require replacing a lot of perfectly good computers that were chosen for their suitability for their core business application, with machines that were chosen because they could talk to each other even though they're not the best suited for that business purpose, and that's not a smart way to choose the machines that run your business. What the industry needs is a computing infrastructure that allows companies to choose and use the best computer for each business purpose, but still have all of their machines and applications work together over the network in a natural way, not only with other machines within their company, but also beyond it to their suppliers and customers. | | The OMG specification suite defines just this environment: CORBA enables natural interoperability regardless of platform, operating system, programming language, even of network hardware and software (although CORBA defines a mandatory TCP/IP based protocol for interoperability over the Internet and most intranets). CORBA clients can run on anything from a hand-held wireless palmtop or pager, to a desktop machine, to a mainframe; CORBA servers can run on all of these machine types also (really!); the specification standardizes sophisticated resource management and fault tolerance for large, reliable server-side installations but also defines specialized versions of CORBA for Real-time and small embedded servers. Supporting CORBA on the application side is the Object Management Architecture, a collection of standardized objects performing standardized functions including the key enterprise-required services transaction handling and security, and going beyond this to define standard objects and frameworks in business domains such as finance, insurance, manufacturing, and more. In the steps before coding starts, CORBA is supported by UML, the Unified Modeling Language, OMG's standard for Object Oriented Analysis and Design. UML, in turn, is supported by the Meta-Object Facility, XML Metadata Interchange (XMI), and the Common Warehouse Metamodel (CWM). | | Last updated on 05/31/2016 | |