Download - MDA for Web Services. Applying Model Driven Architecture to ...

Transcript
Page 1: MDA for Web Services. Applying Model Driven Architecture to ...

MDA for Web Services

Applying Model Driven Architecture to Web Services

Document webserv/2002-04-05

Page 2: MDA for Web Services. Applying Model Driven Architecture to ...

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

Problem Space

Integration NightmareInfrastructure, Version & Vendor

lock-inComplex, divergent and manual

development and deployment processes

Page 3: MDA for Web Services. Applying Model Driven Architecture to ...

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

Goals

A scalable and robust enterprise architecture Loosely coupled enterprise components Enable rapid provisioning of business solutions

Simple, reproducible processes supporting reuse Technology & vendor independence Enable the integration and collaboration of

multiple; Business units (internal and external) Customers Suppliers Systems Technologies

Page 4: MDA for Web Services. Applying Model Driven Architecture to ...

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

Model DrivenDevelopment

Solution Triad

Service BasedArchitecture

Standards

Tooling & Infrastructure

Development Process

Components

WebServices

Corba

OMGECA

J2EE.NET

Page 5: MDA for Web Services. Applying Model Driven Architecture to ...

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

The new center

The strategic core of you systems must be the business itself

Only technology independent business focused models will survive the transience of technology and lock-in

These models can become part of your source code, driving enterprise applications

Enabler: Model Driven Architecture (MDA) with EDOC-ECA

Extreme ModelingExtreme Modeling

Page 6: MDA for Web Services. Applying Model Driven Architecture to ...

Collaboration and Web Services

Collaboration is the center of applying web services to core enterprise problems.

Page 7: MDA for Web Services. Applying Model Driven Architecture to ...

EDOC – Enterprise Collaboration Architecture

Provides the standard UML “PIM” profile suitable for enterprise application of web services

Page 8: MDA for Web Services. Applying Model Driven Architecture to ...

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

What is the 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.

You can also think of this as a “modeling framework” for enterprise computing

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 RFP.

Page 9: MDA for Web Services. Applying Model Driven Architecture to ...

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

WSDLWSDL&&

SoapSoap

Using MDA for WSDL

Mapping

“PIM”

“PSM”

Business FocusedBusiness FocusedECA ModelECA Model

Page 10: MDA for Web Services. Applying Model Driven Architecture to ...

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

Collaboration is Key

Collaboration is a key differentiation and key cost center (Healthcare Example) Customer Collaboration Claim processing Disputes Physician Collaboration Payer Collaboration Hospital Collaboration Broker Collaboration Government Collaboration Employee Collaboration Others...

The system integrates multiple

collaborations

Page 11: MDA for Web Services. Applying Model Driven Architecture to ...

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

AutomatedModel Driven Architecture

ProfileProfile(E.G. EDOC)(E.G. EDOC)

Framework &Framework &InfrastructureInfrastructure

(E.G. Web Services)(E.G. Web Services)

InfrastructureInfrastructureMappingMapping

(E.G. Web(E.G. WebServices)Services)

Mapping is tunedMapping is tunedto the infrastructureto the infrastructure

ToolsToolsProduce &Produce &IntegrateIntegrate

EnterpriseEnterpriseComponentsComponents

Business FocusedBusiness FocusedModel (UML)Model (UML)

Minimize and structuremanual implementation

Page 12: MDA for Web Services. Applying Model Driven Architecture to ...

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

Loose Coupling

Loose coupling is the ability for independent parts of systems to be built and evolve independently

Tightly coupled systems Prevent change (the next legacy system) Cause lock-in Become unmanageable Prevent reuse

Quality architecture is essential for loose coupling

Page 13: MDA for Web Services. Applying Model Driven Architecture to ...

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

Enterprise Components

Enterprise Components must be independent

While being able to interoperate with each other

Making the information system a lattice of cooperating components Open

Standards

OpenStandards

Ope

n

Stand

ards

Page 14: MDA for Web Services. Applying Model Driven Architecture to ...

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

Poor Monolithic ArchitecturePoor Monolithic Architecture

Traditional datasources

SQL DBMS &

Client/Server

BadThing

All business rules, data rules, application logic, technology and user interface code are contained here

The data goes here

MonolithicApplications

MonolithicApplicationsHTTP

WebBrowser

Making a monolithic webapplication doesn’t help!

Page 15: MDA for Web Services. Applying Model Driven Architecture to ...

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

HTTP Web ServerApplications

Enterprise ArchitectureEnterprise Architecture

SQL DBMS,Client/Server

& Legacy Applications

ClientApplications

Business and datarules go here

User interface andapplication logic gohere

The data goes here

EAI Applications &B2B E-Commerce

WebBrowser

Standard Middlewareconnects applications to components & components to components

XMLCorbaEJB

DCOMMQ

Supply Chain

EnterpriseComponents

Page 16: MDA for Web Services. Applying Model Driven Architecture to ...

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

What the infrastructurevendors would

have you do

Technology Independence

BusinessLogic

ComponentebXml

BusinessLogic

Component.NET

BusinessLogic

ComponentRosetaNet

BusinessLogic

ComponentEjb

Adapters

EJB

BusinessLogic

Component

ebXml

BizTalk

Rosetanet

Adapters

CICS

EJB

MQ

Corba

Page 17: MDA for Web Services. Applying Model Driven Architecture to ...

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

Typical Requirement

B2BBuyer

WebService Seller

BuyerWeb Page

HTML Seller

RedundantWork!

Page 18: MDA for Web Services. Applying Model Driven Architecture to ...

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

B2BBuyer

Multi-tier implementation

BuyerWeb Page

HTMLBuyerProxy

WebService Seller

Could havemultiple

implementationsusing differenttechnologies

Could havemultiple

implementationsusing differenttechnologies

Page 19: MDA for Web Services. Applying Model Driven Architecture to ...

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

LegacySeller

Applications

Event Cloud

B2BBuyer

Multi-tier implementation

BuyerWeb Page

HTMLBuyerProxy

WebService Seller

EventEvent

Implementing sellerusing events

Page 20: MDA for Web Services. Applying Model Driven Architecture to ...

Understanding Collaborations

Page 21: MDA for Web Services. Applying Model Driven Architecture to ...

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

The Connected EnterpriseContent and Communication

AerialPhotos

DigitalMap

CensusData

HouseDrawings

PoliceRecords

PoliceDispatcher

Role

Page 22: MDA for Web Services. Applying Model Driven Architecture to ...

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

Multiple roles in a collaboration

Page 23: MDA for Web Services. Applying Model Driven Architecture to ...

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 24: MDA for Web Services. Applying Model Driven Architecture to ...

The Internet Computing Model

The technology model behind WSDL and ebXML and others

Page 25: MDA for Web Services. Applying Model Driven Architecture to ...

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

The Internet Computing Model

Collaboration of independent entities

Document exchange over internet technologies Large grain interactions

No shared infrastructure required *

Long lived business processes Business transactions

BusinessParty

BusinessParty

Portals

Page 26: MDA for Web Services. Applying Model Driven Architecture to ...

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

Requirements for the “ICM”

Contract of Collaboration Shared business semantics Meta-Model (EDOC-ECA) and

representation (I.E. XMI, ebXML-BPSS)

Shared Repository for Contracts (MOF, UDDI, ebXML)

Connectivity (middleware) which meets requirements of the contract

Implementation of each contract role providing connectivity (application server)

BusinessPartner

BusinessPartner

Repository

Contracts(Metadata)

Contract of collaboration can be mapped to the format of various technologies. (ebXML, Soap, .NET)

Instance Data

Page 27: MDA for Web Services. Applying Model Driven Architecture to ...

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

Two levels of interoperability

Instance data and interoperability

Metadata (contract) interoperability

BusinessPartner

BusinessPartner Bridge

Each can be transformed

PurchasingModel

.NETebXMLBPSS

ebXML Biztalk

Normal Form

Over Soap Over Soap

Page 28: MDA for Web Services. Applying Model Driven Architecture to ...

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

Drilling down – inside a role

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

Inside one role you frequently find 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

Inner RoleLegacy

InnerRole

Inner RoleDomain

Cust

Page 29: MDA for Web Services. Applying Model Driven Architecture to ...

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

Collaborative Business Semantics

Defined: The processes, information and contracts of interaction between collaborators within a community

Collaborative business semantics are a valuable long-term asset

Captures information and process Requires ownership and support Do not put this valuable asset in a (transient - one

size fits all) technology specific form Use technology independent models (MDA) Map to the technology of the day (E.G. DTD)

Page 30: MDA for Web Services. Applying Model Driven Architecture to ...

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

Generic web services

Generic web services is any set of technologies that can implement the internet computing model.

WSDL, ebXML, .NET…

Page 31: MDA for Web Services. Applying Model Driven Architecture to ...

Standards for Global Internet Computing

EDOCEDOCEDOCEDOC

SOAP

WSDL

XML

XML-Schema.NET BPML

XLANG

Page 32: MDA for Web Services. Applying Model Driven Architecture to ...

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

XML Standards

XML Schema & DTD Description and packaging of data

WSDL Specification a services, operations and flows

available via that service

Soap Basic messaging and packaging Extensions for Soap-RPC with WSDL May be extended to support collaborative

messaging

Page 33: MDA for Web Services. Applying Model Driven Architecture to ...

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

English

Page 34: MDA for Web Services. Applying Model Driven Architecture to ...

EDOC Component Collaboration Architecture

The model of collaborative work

Page 35: MDA for Web Services. Applying Model Driven Architecture to ...

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 36: MDA for Web Services. Applying Model Driven Architecture to ...

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

The Seller’s Detail

Order

Conformation

Shipped

Ship Req

Shipped

Delivered

Order Processing

Shipping

Receivables

Event

Page 37: MDA for Web Services. Applying Model Driven Architecture to ...

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 38: MDA for Web Services. Applying Model Driven Architecture to ...

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

Protocol OrderBT

OrderDenied

OrderConfirmationOrder

responderRoleSeller

initiatorRoleBuyer

Protocols

<<initiates>> Order

<<responds>> OrderDenied <<responds>> OrderConfirmation

Failure Success

Page 39: MDA for Web Services. Applying Model Driven Architecture to ...

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

Composition

Page 40: MDA for Web Services. Applying Model Driven Architecture to ...

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

ECA/WSDL mapping

ECA works well as a modeling framework for WSDL

How major concepts could map WSDL Port <-> ECA Port WSDL Operation <-> ECA Flow port (one way)

or Operation (Two way) WSDL Service <-> ECA Component WSDL Port type <-> ECA Protocol WSDL Message <-> ECA Document type

Page 41: MDA for Web Services. Applying Model Driven Architecture to ...

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

WSDL/ECA Differences

WSDL Adds Technology binding and endpoints

ECA adds Choreography, nested conversations,

two-way protocols, nested components.

Page 42: MDA for Web Services. Applying Model Driven Architecture to ...

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

Next steps

RFP Draft – “Web services for enterprise collaboration” Two way mapping between EDOC-ECA and

WSDL/Soap Draft available – discussion in “MARS”

Roadmap items to make web services more viable as enterprise infrastructure Security and reliability

Page 43: MDA for Web Services. Applying Model Driven Architecture to ...

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

Business Case· High level support for understanding and documenting collaborative business processes.

· Loose coupling between independent parties in a collaboration

· Tighter coupling in the software development life-cycle between design and implementation processes and artifacts.

· Consistency in the way WSDL is used to implement collaboration.

· A standard way to use UML for web services.

· Enhanced support for asynchronous interactions.

· Automation of the development process from design to implementation.

· A faster, more deterministic development processes.

· Ability to adapt to changing business requirements.

· Ability to adapt to multiple and changing infrastructure technologies.

· Full life-cycle tool support