860 likes | 1.01k Views
The Joint UML for EDOC Submission. ad/2001-06-09. Submitters: CBOP, Data Access Technologies, DSTC, EDS, Fujitsu, IBM, Iona Technologies, OPEN-IT, Sun Microsystems, Unisys Supporting companies: Hitachi, Netaccount, SINTEF …. Agenda. Introduction to UML for EDOC Vision and Rationale
E N D
The Joint UML for EDOC Submission ad/2001-06-09 Submitters: CBOP, Data Access Technologies, DSTC, EDS, Fujitsu, IBM, Iona Technologies, OPEN-IT, Sun Microsystems, Unisys Supporting companies: Hitachi, Netaccount, SINTEF …
Agenda • Introduction to UML for EDOC • Vision and Rationale • Submission structure, RFP Requirements • Platform Independent Modeling - ECA • CCA Profile • Entities Profile • Events Profile • Business Process Profile • Relationships Profile • Patterns • Platform Specific Modeling • EJB, FCM, MOF • Technology Mappings • Summary, RFP Requirements - Discussion
EDOC Vision • Simplify the development of component based Enterprise (EDOC) systems by means of a modeling framework, based on UML 1.4 and conforming to the OMG Model Driven Architecture. • Provide a platform independent, recursive collaboration based modeling approach that can be used at different levels of granularity and different degrees of coupling, for both business and systems modeling.
EDOC Key RFP Requirements • Modelling framework for enterprise distributed object computing systems: • Based on UML 1.4 • System operation directly relatable to business processes • Models driven by business requirements • Mappable to different platforms (incl. CORBA ) • Specifically, support modelling of: • Business entities • Business processes • Business rules • Business events.
Using RM-ODP viewpoints Enterprise viewpoint (CCA, Business Processes, Entities, Relationships, Events) Part I: ECA Information viewpoint Computational viewpoint Computational viewpoint (Entities, Events, Relationships) (CCA, Entities, Events) (CCA, Entities, Events) Part II: Part II: Engineering viewpoint Engineering viewpoint ECA to technology (Technology abstraction: FCM) (Technology abstraction: FCM) mappings mappings Part I:Technology Part I:Technology Specific Models Specific Models Technology viewpoint Technology viewpoint (UML for J2EE/EJB/JMS, CORBA 3/CCM, COM, SOAP, ebXML) (UML for J2EE/EJB/JMS, CORBA 3/CCM, COM, SOAP, ebXML) Part I: Patterns - applied to all viewpoints
The Internet Computing Model • Collaboration of independent entities • Document exchange over internet technologies • Large grain interactions, not “method calls” • No required infrastructure * • Long lived business processes • Business transactions • Not technical transactions Portals Business Party Business Party
“Pattern” for the MDA Platform Independent Models Technology mappings ECA Events Entities Process CCA Relationships Integration -viewpoints Patterns Platform Independent Models Platform Specific Models FCM CORBA COM EJB MOM ebXML etc
Platform Independent Modeling The Enterprise Collaboration Architecture
CCA Component Collaboration Architecture Collaborative process component specification for ECA
The Marketplace Example Physical Delivery Order Conformation Shipped Process Complete Mechanics Are Us Buyer Acme Industries Seller Status Ship Req Shipped Delivered GetItThere Freight Shipper
The Seller’s Detail Order Processing Shipping Receivables Event Order Conformation Shipped Ship Req Shipped Delivered
The Buyer’s Detail Supplier Evaluation Order Receive Goods Process DataFlow Process DataFlow Order Conformation Shipped Ship Req Shipped Delivered
Specification of CCA Structure + Composition + Choreography
Parts of a CCA Specification • Structure of process components and protocols • Process components, ports, protocols and documents • Class Diagram or CCA Notation • Composition of process components • How components are used to specify components • Collaboration diagram or CCA Notation • Choreography • Ordering of flows and protocols in and between process components • Activity Diagram
Process Component • A CCA Process Component defines a configurable behavioral unit that can be composed in a particular way • They can be logical or physical, concrete or abstract • They can represent anything from a business partner in a B2B exchange to a fine-grain computation • Process Components can be used to compose other process components, recursively • CCA is intended to be specialized, as a core architecture for process, entities and events at multiple levels of granularity • CCA is compatible with the ebXML Business Process Specification Schema which specifies B2B collaborations • Extends real-time capsule model
The Community Process • Identify a “community process”, the roles and interactions • Using CCA Notation
Component structure Component structure Defines the “outside” Contract of a component
Meta Model for Structure Key Point: Process Components have ports That either initiate or respond To a protocol or flow
Protocol Example • Specification of a protocol
Meta Model for Protocol MetaModel Model
Use standard interface notation Are a subtype of “Protocol” in the MetaModel Allow modeling of and integration with classical and/or existing objects Object Interfaces
Composition Use of an interface Composition defines the “inside” of a component
Properties • Properties make process components configurable • They can be reset when a component is used – in a composition or at deployment time
ECA Entity Profile The model of things
Entities are added to manage entity data Entity Roles are managers that provides a view of the same identity in another context The Entities have ports for managing and accessing the entities Non-entities which are owned by (aggregate into) an entity are managed by the entity Adding Entities
ECA Business Events The model of when…
Event Based Business Processes Business Rules Business Services Business Process Business Events Business Actions Business Entity
Event Based Business Processes Business Rules Event Notification Business Process Business Actions Business Events Business Entity Business Rules Business Process Business Events Business Actions Business Entity
Point to Point Notification App App App App Business Rules Business Rules Business Rules Business Rules Event Notifications Business Process Business Process Business Process Business Process Business Actions Business Actions Business Actions Business Actions Business Events Business Events Business Events Business Events Business Entity Business Entity Business Entity Business Entity
Pub/Sub Notification App App App App Business Rules Business Rules Business Rules Business Rules Business Process Business Process Business Process Business Process Business Actions Business Actions Business Actions Business Actions Business Events Business Events Business Events Business Events Business Entity Business Entity Business Entity Business Entity Pub/Sub Loose Coupling
Putting it all together Business Rules Business Process Business Actions Business Events Business Entity
Summary of Advantages • Recursive decomposition & assembly • Trace ability • Automating the development process • Loose coupling • Technology Independence • Enabling a business component marketplace • Simplicity through abstraction
Business Process Profile how things are coordinated
Business Processes • Specialize CCA • Activity-centric view of a Process • Express • Complex temporal and data dependencies between business activities • Iteration of activities • Alternative required Inputs and Outputs of activities • Roles related to performers, artifacts and responsible parties for activities
The Business Process Concepts CT C A PR1 RP B AR PR2
ProcessComponent Specialization • CompoundTask is a special ProcessComponent • Its Ports represent the type of an Activity • Its Composition arranges Activities in a dependency graph • Activity is a special ComponentUsage • Its MultiPort usages contain ProcessPortConnectors (ProcessFlowPort usages) • DataFlows between these Connectors express dependencies between Activities
Metamodel for BP Components CT C A PR1 RP B Activity AR PR2
BusinessProcess and BusinessProcessEntity • A BusinessProcess • Exposes arbitrary Ports (outside) • which define interfaces, operations, events for composition using CCA • Its Composition (inside) is restricted to containing Activities and DataFlows • A BusinessProcessEntity • Is a BusinessProcess whose instances are uniquely identifiable
Port Types and Semantics • ProcessMultiPorts specialize CCA Multiports • They act as correlators for data from many sources • May be synchronous (required before starting an Activity) • or asynchronous (accepted by Activity during execution) • ProcessFlowPorts specialize CCA FlowPorts • Multiplicity indicates how many values are required to enable containing Multiport • 3 concrete kinds of ProcessMultiPort • InputGroup – alternative data sets required to begin an Activity • OutputGroup – alternative Activity result data sets • ExceptionGroup – abnormal Activity results
Metamodel for BP Ports CT C A ProcessPortConnector DataFlow PR1 RP B AR PR2