MDA for Web Services
Applying Model Driven Architecture to Web Services
Document webserv/2002-04-05
Copyright © 2000-2002, Data Access Technologies, Inc.
Problem Space
Integration NightmareInfrastructure, Version & Vendor
lock-inComplex, divergent and manual
development and deployment processes
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
Copyright © 2000-2002, Data Access Technologies, Inc.
Model DrivenDevelopment
Solution Triad
Service BasedArchitecture
Standards
Tooling & Infrastructure
Development Process
Components
WebServices
Corba
OMGECA
J2EE.NET
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
Collaboration and Web Services
Collaboration is the center of applying web services to core enterprise problems.
EDOC – Enterprise Collaboration Architecture
Provides the standard UML “PIM” profile suitable for enterprise application of web services
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.
Copyright © 2000-2002, Data Access Technologies, Inc.
WSDLWSDL&&
SoapSoap
Using MDA for WSDL
Mapping
“PIM”
“PSM”
Business FocusedBusiness FocusedECA ModelECA Model
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
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
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
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
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!
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
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
Copyright © 2000-2002, Data Access Technologies, Inc.
Typical Requirement
B2BBuyer
WebService Seller
BuyerWeb Page
HTML Seller
RedundantWork!
Copyright © 2000-2002, Data Access Technologies, Inc.
B2BBuyer
Multi-tier implementation
BuyerWeb Page
HTMLBuyerProxy
WebService Seller
Could havemultiple
implementationsusing differenttechnologies
Could havemultiple
implementationsusing differenttechnologies
Copyright © 2000-2002, Data Access Technologies, Inc.
LegacySeller
Applications
Event Cloud
B2BBuyer
Multi-tier implementation
BuyerWeb Page
HTMLBuyerProxy
WebService Seller
EventEvent
Implementing sellerusing events
Understanding Collaborations
Copyright © 2000-2002, Data Access Technologies, Inc.
The Connected EnterpriseContent and Communication
AerialPhotos
DigitalMap
CensusData
HouseDrawings
PoliceRecords
PoliceDispatcher
Role
Copyright © 2000-2002, Data Access Technologies, Inc.
Multiple roles in a collaboration
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
The Internet Computing Model
The technology model behind WSDL and ebXML and others
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
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
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
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
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)
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…
Standards for Global Internet Computing
EDOCEDOCEDOCEDOC
SOAP
WSDL
XML
XML-Schema.NET BPML
XLANG
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
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
EDOC Component Collaboration Architecture
The model of collaborative work
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
Copyright © 2000-2002, Data Access Technologies, Inc.
The Seller’s Detail
Order
Conformation
Shipped
Ship Req
Shipped
Delivered
Order Processing
Shipping
Receivables
Event
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
Copyright © 2000-2002, Data Access Technologies, Inc.
Protocol OrderBT
OrderDenied
OrderConfirmationOrder
responderRoleSeller
initiatorRoleBuyer
Protocols
<<initiates>> Order
<<responds>> OrderDenied <<responds>> OrderConfirmation
Failure Success
Copyright © 2000-2002, Data Access Technologies, Inc.
Composition
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
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.
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
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