47
A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture and XML Web Services Enterprise Collaboration Architecture

Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

  • Upload
    others

  • View
    20

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

A Model Based Enterprise Architecture for Web Services and XML

Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture and

XML Web Services

EnterpriseCollaborationArchitecture

Page 2: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Introductions

Cory [email protected]

Primary author of “CCA” in EDOC

Page 3: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

The OMG-Enterprise Collaboration Architecture

❚ ECA is a “profile of UML”, a way to use UML for a specific purpose - it is an OMG standard❙ That purpose is modeling enterprise systems.

❚ ECA is part of the “Model Driven Architecture” (MDA) initiative of the OMG❙ Using precise modeling techniques as part of the development

lifecycle to speed development and provide technology independence

❚ ECA has been adopted by the OMG as part of the EDOC Profile for UML specification.

❚ RFP in process for Web Services Mapping

Page 4: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Typical Problems

❚ Integration Nightmare❚ Infrastructure, Version & Vendor lock-in❚ Complex, divergent and manual

development and deployment processes

❚ Solutions typically require buy-in (Lock-in) to proprietary tools & infrastructure - your solution must be open

Page 5: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

MetaMeta--ModelModelUML ProfileUML Profile(E.G. ECA)(E.G. ECA)

DomainArchitecture

AutomatedModel Driven Architecture

Framework &Framework &InfrastructureInfrastructure

(E.G. (E.G. --J2EEJ2EE--WS)WS)PSMPSM

InfrastructureInfrastructureMappingMapping

(E.G. J2EE(E.G. J2EE--WS)WS)

Mapping is tunedMapping is tunedto the infrastructureto the infrastructure

ToolsToolsProduce &Produce &IntegrateIntegrate

EnterpriseEnterpriseComponentsComponents

Domain Domain Model (PIM)Model (PIM)

Minimize and structuremanual implementation

C

TechnicalArchitecture

Page 6: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

MetaMeta--ModelModelUML ProfileUML Profile(E.G. ECA)(E.G. ECA)

DomainArchitecture

AutomatedModel Driven Architecture

Framework &Framework &InfrastructureInfrastructure

(E.G. (E.G. --J2EEJ2EE--WS)WS)PSMPSM

InfrastructureInfrastructureMappingMapping

(E.G. J2EE(E.G. J2EE--WS)WS)

Mapping is tunedMapping is tunedto the infrastructureto the infrastructure

ToolsToolsProduce &Produce &IntegrateIntegrate

J2EEJ2EE--WSWSEnterpriseEnterprise

ComponentsComponents

Domain Domain Model (PIM)Model (PIM)

C

TechnArchite

Framework &Framework &InfrastructureInfrastructure

(E.G. (E.G. --.NET.NET--WS)WS)PSMPSM Te

Arc

InfrastructureInfrastructureMappingMapping

(E.G. .NET(E.G. .NET--WS)WS)

.NET.NET--WSWSEnterpriseEnterprise

ComponentsComponentsC

Multiple and Changing Technology Support

C

Page 7: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Platform (J2EE, .NET…)

MDA Solution for Web Services

Web Services Stack

Web ServicesFor Enterprise Collaboration

Enterprise Collaboration ArchitecturePlatform IndependentModel

Mapping

Platform DependentModel

MappingNot yet standard

StandardsFuture

Standards

Page 8: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

XML Components

ECA and Web services together provideAn XML component architecture

Independent of protocol and platform

XMLComponent

Port Port

Port

XML XML

XML

Page 9: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

ECA as the normal form

EDOC-ECA

Web Services(WSDL)

ebXML(BPSS)

J2EE(Java RMI)

.NET

MOM(MQ-Series)

The standard way to model and tool for multiple

technologies

MDAMappings

Page 10: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

EDOC Component Collaboration Architecture

The model of collaborative work

Page 11: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

The Marketplace Example

Mechanics Are UsBuyer

Acme IndustriesSeller

GetItThere FreightShipper

Order

Conformation

Ship Req

Shipped

Shipped

PhysicalDelivery

Delivered

Status

ProcessComplete

Page 12: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

The Seller’s Detail

Order

Conformation

Shipped

Ship Req

Shipped

Delivered

Order Processing

Shipping

Receivables

Event

Page 13: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Multiple roles in a collaboration

Page 14: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Role

Drilling down – inside a role

❚ The open domain should make no assumptions about the “inside” of a role.

❚ Inside one role you frequentlyfind more collaborating “parts” of the enterprise - the same model may be used

❚ Until you get to system inside a managed domain❙ Shared resources (DBMS)❙ Common Management❙ Frequently a legacy system

InnerRole

Inner RoleLegacy

Inner RoleDBMS

Page 15: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Implementation

Net

Hardware

OperatingSystem

Framework,Middleware& Container

Roles to Systems

Interaction Path

Component in Role

Interaction(With Information)

Role

Collaboration

Page 16: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

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

Page 17: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

The Community Process

❚ Identify a “community process”, the roles and interactions in a collaboration

Buyer Seller

BuySell CommunityProcess

Buy Sell

Shipper

ShipDelivery

ShipDelivery

Protocol

Page 18: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Community Process (CCA)

CCA Notation

Page 19: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Community Process

: Buyer : Seller

: Buys : Sells

Buy/Sell Comminity Process

UML Collaboration Diagram

Generic UMLGeneric UML

Page 20: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Protocol (CCA)

Page 21: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Protocol

Order<<CompositeData>>

OrderConfirmation<<Compos iteData>>

SendOrder(from Buy SellProtocol)

<<FlowPort>>GetConfirmat ion

(from BuySellProtocol)

<<FlowP ort>>

BuySellProtocol<<Protocol>><<responds>>

<<ini tiates>>

OrderDenied<<Compos iteData>>GetDenied

(from BuySellProtocol)

<<FlowP ort>>

<<initiates>>

Class diagram for buy/sell protocol

UML Class Diagram

Generic UMLGeneric UML

Page 22: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Protocol Choreography

SendOrder

GetConfirmation GetDenied

<<Success>> <<BusinessFailu

When

Internal Logic

Page 23: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Validation Component (CCA)

Page 24: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Validation Component

CustService

checkCustomer()checkCredit()

<<Interface>>

CheckCustomer(from OrderValidation)

<<ProtocolPort>>

checkOrder(from OrderValidation)

<<FlowPort>>

acceptOrder(from CheckCustomer)

<<FlowP ort>>

Order(from BuySell)

<<Composi teData>>

OrderValidation<<ProcessComponent>>

OrderDenied<<Composi teData>>

reject(from OrderValidation)

<<FlowP ort>>

<<ini tiates>>

<<responds>>

<<initiates>>

<<initiates>>

Order Validation Component

UML Class Diagram

Generic UMLGeneric UML

Page 25: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Choreography

checkOrder

rejectacc eptOrder

CheckCustomer

success failure

Order Validation Choreography

When

Internal Logic

Page 26: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Composition (CCA)

Page 27: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Composition (UML Collaboration)

Seller : Sells

Validate : OrderValidation

: checkOrder

: reject

: acceptOrder

: CheckCustomer

Process : OrderProcessing

: doOrder

: ProcessedOrder

CustB ean : CustomerComponent

: SendOrder

: GetDenied

: GetConfirmation

: EnqStatus

Seller Composit ion

1: checkCustomer(order : Order)

Generic UMLGeneric UML

Page 28: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Composition

Page 29: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Aspects

Generic UMLGeneric UML

Tagged Values

Page 30: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

WSEC

Web Services for Enterprise Collaboration

Initial Proposal

Page 31: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Distributed Components

❚ Define “role” as the abstract contract❚ Define “Engine” as exposing a set of DCs❚ Define “Endpoint” as consuming a set of DCs❚ Define “Proxy” as the use of an external role

Page 32: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Engine exposing a DC

Page 33: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Defining an external component resource

Page 34: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Using a proxy

Endpoint

Page 35: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Mapping of a WSDL Engine

- <definitions xmlns="http://schemas.xmlsoap.org/wsdxmlns:soap="http://schemas.xmlsoap.org/wsdl/soapxmlns:mime="http://schemas.xmlsoap.org/wsdl/mimxmlns:http="http://schemas.xmlsoap.org/wsdl/http/ENC="http://schemas.xmlsoap.org/soap/encoding/xmlns:xs2000="http://www.w3.org/1999/XMLSchemxmlns:xs2001="http://www.w3.org/2001/XMLSchemtargetNamespace="urn:SellerServer" xmlns:tns="urn:Sexmlns:CoreTypes="urn:CoreTypes" xmlns:Ordering="urn

- <!--definitions obtained from component /BuySell/Deployment/Seller

AspectsWSDL

WSDL-SOAP

Page 36: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Mapping of a DC

- <service name="MySeller">

- <!--

implemented service role /BuySell/Deployment/SellerServer/MySeller -->

<documentation><p> </p></documentation>

- <port name="BuySellProtocol"binding="tns:BuySellProtocol">

- <!--

original service port was /BuySell/Deployment/SellerServer/MySeller/BuySellProtocol (extending Component &lt;/BuySell/SellerImplementation/MySeller/BuySellProtocol&gt; ) -->

<soap:addresslocation="http://localhost:8080/cx/app/BuySell/Deployment/SellerServer/MySeller/BuySellProtocol" />

</port>

</service>

AspectsWSDL

WSDL-SOAP

Page 37: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Mapping of a protocol binding

- <binding name="BuySellProtocol"type="tns:BuySellProtocol">

<soap:bindingtransport="http://schemas.xmlsoap.org/soap/hstyle="rpc" />

- <operation name="Order"><soap:operation

soapAction="urn:/BuySell/Community/BuySellPrcol/Order" style="rpc" />

- <input name="Order"><soap:body use="encoded" namespace="urn:SellerServ

encodingStyle="http://schemas.xmlsoap.org/soaencoding/" />

AspectsWSDL

WSDL-SOAP

Page 38: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Mapping of a protocol

AspectsWSDL

WSDL-SOAP

- <portType name="BuySellProtocol">

- <!--

original cx operation = /BuySell/Community/BuySellProtocol/Order -->

- <operation name="Order">

- <!--

original cx flow port = /BuySell/Community/BuySellProtocol/Order/Order -->

<input name="Order" message="tns:Order" />

<output name="OrderConfirmation"message="tns:OrderConfirmation" />

<fault name="OrderDenied"message="tns:OrderDenied" />

</operation>

</portType>

Page 39: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Mapping of message types

AspectsWSDL

WSDL-SOAP

-

- <message name="Order">

<part name="Order" type="Ordering:Order"

<message name="OrderConfirmation">

<part name="OrderConfirmation"type="Ordering:OrderConfirmation" />

</message> </message>

- <message name="OrderDenied">

<part name="OrderDenied"type="Ordering:OrderDenied" />

</message>

Page 40: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Mapping of data types

- <xs2001:complexType name="Order">

-

- <xs2001:sequence>

<xs2001:element minOccurs="1"maxOccurs="1" name="CompanyID"type="CoreTypes:CompanyID" />

<xs2001:element minOccurs="1"maxOccurs="1" name="OrderID"type="Ordering:OrderID" />

<xs2001:element minOccurs="0"maxOccurs="unbounded" name="Item"type="Ordering:Item" />

</xs2001:sequence>

</xs2001:complexType>

Page 41: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Adding Entities

❚ 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

+Street : String+City : String+State : String+Zip : String

«EntityData»Addtress

+Cust

1

+Adr

1..*

+Name : String+Balance : Decimal = 0+AccountNo : long

«EntityData»Account

+AccountNo : String

«Key»AccountKey

-.

1

-.

1

+Name : String-CompanyId : String

«EntityData»Company

+CompanyId : String

«Key»CompanyKey

-.

1

-.

1

.Manages

<<Entity>>CompanyManager

Manage

<<EntityRole>>AccountManager

Manage

-Manages1-.1

Page 42: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Event Tied to Information

Page 43: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Iterative Development

Build Build Build Build Build ReleaseBuild Deploy

BusinessModelDesign

InfrastructureDevelopment

Automation

Page 44: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

MDA Solution Factory

❚ Put together the❙ Best practices❙ Expertise❙ Enterprise Architecture❙ Infrastructure❙ Automated tooling

❚ To produce and integrate robust business collaborations quickly & reliably

Page 45: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Net effect

❚ Using these open standards and automated techniques we can;❙ Achieve the strategic advantage of an open and

flexible enterprise❙ Produce and/or integrate these systems FASTER and

CHEAPER than could be done with legacy techniques❙ Provide a lasting software asset that will outlive the

technology of the day

Page 46: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Data Access Technologies

❚ Products & Technologies❙ Component-X (Product)

❘ Implements the EDOC-CCA and ebXML “BPSS” using XML and Java

❘ Provides drag and drop specification & assembly of enterprise components for collaborative web services

❙ Model Driven Architecture (Technology)❘ Based on OMG-MOF & UML❘ Provides forward and reverse engineering between models

and technology artifacts❘ Use to automate and integrate multiple technologies

Page 47: Enterprise Collaboration Architecture · A Model Based Enterprise Architecture for Web Services and XML Applying Model Driven Architecture using the OMG Enterprise Collaboration Architecture

Copyright © 2000-2002, Data Access Technologies, Inc.

Information & Contact

OMG MDA & ECA

www.omg.org/mda

Cory Casanave

[email protected]

(305) 234-7077