OMG Specifications for Enterprise Interoperability IESA 2010 Workshop Standardisation – a foundation for Interoperability Brian Elvesæter1 and Arne-Jørgen Berre1 1 SINTEF ICT, P. O. Box 124 Blindern, N-0314 Oslo, Norway ICT Presentation Outline Object Management Group (OMG) Summary of specifications Selected specifications positioned in Zachman OMG and interoperability Overview of standards BPMN 2.0 SoaML Conclusions Questions ICT Object Management Group (OMG) The Object Management Group (OMG) is an international, open membership and not-for-profit industry consortium, which develops enterprise integration standards for a wide range of technologies and provide modelling standards to support enterprise architecture. Summary of specifications http://www.omg.org/technology/documents/spec_summary.htm Business modelling specifications BMM, BPDM, BPMM, BPMN, PRR, SBVR Modelling and metadata specifications CWM, MIPS, MOF, MDMI, MLTD, MOFM2T, QVT, MOFFOL, OCL, SysML, ODM, RAS, FUML, SoaML, SPEM, UML, UMLDI, HUTN, XMI UML profile specifications SysML, smartant, CCMP, CCCMP, UML4DDS, EAI, EDOC, MARTE, QFTP, SPTP, SoCP, SDRP, VOICP, UTP, UPDM ICT Selected Standard Initiatives We give an overview of the newest OMG modelling standard initiatives with respect to enterprise architecture. Enterprises are today looking into enterprise architectures that provide models that can be used to describe and understand how different aspects of an enterprise work together. A framework for enterprise architecture was first introduced by Zachman in 1987 Business modelling specifications Business Motivation Model (BMM), Business Process Modeling Notation (BPMN), Organization Structure Model (OSM), Value Delivery Metamodel (VDM), Case Management Process Modeling (CMPM), Semantics of Business Vocabulary and Business Rules (SBVR), Date-Time Foundation Vocabulary (DTFV) IT modelling specifications Unified Modeling Language (UML), Service oriented architecture Modeling Language (SoaML), Ontology Definition Metamodel (ODM), Information Management Metamodel (IMM) ICT OMG Specifications in Zachman (1/2) Data (What) Function (How) Scope (Contexts) List of things important to business List of processes that the business performs SBVR VDM VDM Business (Concepts) Semantic Model Business Process Model Business Logistics System BPMN, CMPM System (Logic) Logical Data Model Technology (Physics) Component (Assemblies) Operation (Instances) ODM, IMM (CWM) Network (Where) People (Who) Time (When) List of locations which List of organizations List of events/cycles the business operates important to the business important to the business OSM Motivation (Why) List of business goals/strategies DTFV BMM Workflow Model Master Schedule BPMN, CMPM, DTFV Business Plan BPMN, CMPM OSM, BPMN, CMPM ODM, IMM (CWM), UML Application Architecture Distributed System Architecture Human Interface Architecture SoaML, UML SoaML, UML BPMN, CMPM Physical Data Model System Design IMM (CWM), UML SoaML, UML Technology Architecture Data Definition Program IMM (CWM), UML UML Data Function SoaML, UML Network Architecture UML Network Presentation Architecture Process Structure BPMN, CMPM, DTFV Control Structure SBVR Business Rule Model SBVR Rule Design BPMN, CMPM, DTFV SBVR Timing Definition Rule Definition DTFV SBVR Schedule Strategy Security Architecture Organization ICT OMG Specifications in Zachman (2/2) Data (What) SBVR Network (Where) Function (How) List of locations VDMwhich the business People (Who) Time (When) Motivation (Why) List of events/cycles important to the business List of business goals/strategies Workflow Model Master Schedule Business Plan Human Interface Architecture Process Structure Business Rule Model OSM List of things important to business List of processes that the business performs operates Business (Concepts) Semantic Model Business Process Model Business Logistics System System (Logic) Logical Data Model Application Architecture Distributed System Architecture Technology (Physics) Physical Data Model IMM (CWM) System Design Technology Architecture Presentation Architecture Structure DTFV Control Rule Design Component (Assemblies) Data Definition Program Network Architecture Security Architecture Timing Definition Rule Definition Operation (Instances) Data Function Network Organization Schedule Strategy ODM SoaML List of organizations important to the business BMM Scope (Contexts) BPMN CMPM UML ICT SBVR OMG and Interoperability Enterprise Architecture Zachman Framework introduced in 1987. Today there exists several, e.g., DoDAF, MODAF, TOGAF. Regardless of the differences between the enterprise architectures, the models within them must all represent the goals, processes, rules, IT resources and relationships that define how the enterprise operates. Since all of OMG’s modelling specifications are based on a common modelling infrastructure, namely the Meta-Object Facility (MOF), using OMG modelling standards help tie individual models together in an overall architecture. ICT Metamodelling System development is fundamentally based on the use of languages to capture and relate different aspects of the problem domain. The benefit of metamodelling is its ability to describe these languages in a unified way. This means that the languages can be uniformly managed and manipulated thus tackling the problem of language diversity. For instance, mappings can be constructed between any number of languages provided that they are described in the same metamodelling language. Using metamodels, many different abstractions can be defined and combined to create new languages that are specifically tailored for a particular application domain. ICT Three Modelling Levels Minimum & Reflexive M3 the MOF MMM level M2 level the BMM MM M1 level M0 level a UML model m a particular use of m the BPMN MM the UML MM another UML model m’ another use of m “The real world” ICT ModelElement Constrains 0..* 1..* 1..* Contains AttachesTo 0..* Import MOF Model (M3) /Depends On Namespace Tag 0..* {ordered} Aliases 0..* 0..* 0..* Constraint 0..* +typedElement IsOfType GeneralizableElement TypedElement Feature StructureField Constant Parameter Generalizes +type 1 Classifier Package BehaviouralFeature StructuralFeature AssociationEnd /Exposes 1 1 ReferesTo Association Class DataType Exception Operation Attribute 0..* Reference CanRaise 0..* 0..* {ordered} PrimitiveType StructureType EnumerationType CollectionType ICT AliasType Business Modelling Specifications (1/2) Business Motivation Model (BMM) Implementing enterprise architecture typically starts with documenting goals, strategy and business plans. BMM defines a set of concepts (e.g., goal, objective, vision, means and strategy) that can be used to model the elements of business plans. These elements can be linked to business roles, business rules and organization unit that are specified using other OMG modelling standards. Business Process Modeling Notation (BPMN) BPMN 2.0 is in the final stages of standards adoption at OMG. The specification provides a notation and a model for business processes and an interchange format. BPMN is designed to cover many types of modelling and allows the creation of end-to-end business processes. It allows the specification of private processes (both non-executable and executable), public processes, choreographies and collaborations. ICT Business Modelling Specifications (2/2) Value Delivery Metamodel (VDM) This RFP solicits proposals for a metamodel specification for modelling customer value delivery. Integrated value delivery models provide context for understanding the impact of services on multiple lines of business. These models also provide the context for sharing services. They make cost and time analysis, in the context of strategic planning and transformation, more efficient by formalizing the structure of the value delivery system. Case Management Process Modeling (CMPM) This RFP solicits proposals for a metamodel extension to BPMN 2.0 to support modelling of case management processes. Case Management focuses on actions to resolve a case – a situation to be managed toward objectives. Cases don’t have predefined processes for achieving objectives. Humans make decisions based on observations, experience and the case file. ICT BPMN History The Business Process Management Institute (BPMI – now a part of the OMG) develops BPML and realizes the need for a graphical notation BPML was later replaced by BPEL as the target execution language August 2001, the Notation Working Group is formed. May 2004, the BPMN 1.0 specification was released. BPMN1.x BPMN 1.0 adopted as an OMG standard – February 2006 BPMN 1.1 (OMG) – January 2008 BPMN 1.2 (OMG) – January 2009 BPMN 2.0 expected finalized June 2010 http://www.omg.org/spec/BPMN/2.0/ 13 ICT New Features in BPMN 2.0 Formal metamodel specified in MOF Interchange formats for model and diagram interchange New process elements Non-interrupting events Event sub-process New data elements New interaction diagrams Conversation Choreography 14 ICT Conversation Diagram A Conversation is set of Message exchanges (Message Flow) that share the same Correlation. 15 Conversation diagram depicting several conversations between Participants in a related domain. ICT Choreography Diagram Provides a flowchart view to sequence interactions between Participants Choreographies define a “business contract” or protocol to which the Participants agree to follow during real-time interactions. 16 ICT SoaML History http://www.soaml.org Issued September 29, 2006 LOI Deadline November 28, 2006 IBM,... SHAPE,... Fujitsu,... Initial Submission Deadline June 4, 2007 S1(3) Adaptive,... S3(1) Revised Submission Deadline May 26, 2008 B1 S2(2) Revised Submission November 19, 2007 OMG Technical Meeting June 23-27, 2008 * Ontario Canada Revised Submission Deadline Aug 25, 2008 SoaML FTF Feb., 2009 OMG Technical Meeting Dec 08-12, 2008 * Santa Clara EEUU Voting List Deadline August 5, 2007 S4 OMG Technical Meeting Sept 22-26, 2008 * Orlando EEUU S5 Revised Submission Deadline Nov 10, 2008 AMP, Aug. 2009 B2 SoaML FTF Nov., 2009 BPMN 2.0, Dec. 2009 SoaML FTF Rec. Dec., 2009, Los Angeles SoaML final standard March, 2010 (veto, by Oct. 2010) Sx – Submission version x Bx – Beta version x 17 ICT SoaML Goals Intuitive and complete support for modelling services in UML Support for bi-directional asynchronous services between multiple parties Support for Services Architectures where parties provide and use multiple services. Support for services defined to contain other services Easily mapped to and made part of a business process specification Compatibility with UML, BPDM and BPMN for business processes Direct mapping to web services Top-down, bottom up or meet-in-the-middle modelling Design by contract or dynamic adaptation of services To specify and relate the service capability and its contract No changes to UML ICT SoaML Key Concepts Services architecture – specification of community Participants – role Service contracts – collaboration (provide and consume) Service contract – specification of service Role – Provider and consumer Interfaces Choreography (protocol, behaviour) Service interface – bi-directional service Simple interface – one-directional service ICT Order Conformation Provider Consumer Marketplace Services – Example Shipped Mechanics Are Us Dealer Acme Industries Manufacturer Consumer Status Ship Req Shipped Provider Physical Delivery Provider Delivered GetItThere Freight Shipper ICT Consumer Services Architecture Purchasing service Shipping service Ship Status service A ServicesArchitecture (or SOA) is a network of participant roles providing and consuming services to fulfil a purpose. The services architecture defines the requirements for the types of participants and service realizations that fulfil those roles. The services architecture puts a set of services in context and shows how participants work together for a community or organization without required process management. A community ServicesArchitecture is defined using a UML Collaboration. ICT Inside the Manufacturer Order OrderHandler Conformation Service Shipped Shipper Ship Req Shipped Delivered ICT Service interfaces: ShippingService The ShippingService service interface refines the ShippingContract service contract. The ShippingService service interface involves two roles: The shipper role is a provider role. It is responsible for fulfilling the shipping responsibilities that are given by its type, the shipping interface. The orderer role is responsible for processing the shipping schedule. This is shown by its ScheduleProcessing type. ICT Message-centric vs. RPC-style services There are several SOA interaction paradigms in common use including document centric messaging, remote procedure calls (RPC), and publishsubscribe. The decision depends on cohesion and coupling, state management, distributed transactions, performance, granularity, synchronization, ease of development and maintenance, and best practices. SoaML supports both document-centric messaging and RPC-style service data. Service data is data that is exchanged between service consumers and providers. The data types of parameters for service operations are typed by a DataType, PrimitiveType, or MessageType. ICT Service realization: Composite structures A ServiceInterface can be the type of a service port. The type of a Request port is also a ServiceInterface. The Request port is the conjugate of a Service port in that it defines the use of a service rather than its provision. This will allow us to connect service providers and consumers in a Participant. Each service operation provided by a service provider must be realized by either a behavior or an action. ICT Conclusions OMG should be regarded as an important industry consortium that standardizes and promotes many relevant specifications to support interoperability. One important benefit of using OMG standards is that all standards are based on the common modelling infrastructure MOF, which ensures that the models are tied together in an overall architecture. This has the advantage that tools and methodologies that are based on OMG standards will be able to exchange models and interpret the different models. ICT Questions? ICT