SlideShare a Scribd company logo
1 of 58
Download to read offline
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chris Armstrong
ATC Enterprises, Inc.
1751 West County Road B, Suite 310
Roseville, MN 55113
651.633.1818
www.atcenterprises.com
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Modeling Web ServicesModeling Web Services
with UMLwith UML
OMG Web Services Workshop 2002
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
AgendaAgenda
• What are Web Services?
• What is SOAP?
• What is UDDI?
• What is WSDL?
• What does all of this have to do with each other?
• UML modeling for SOAP, WSDL, and UDDI
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
What is a Web Service?What is a Web Service?
• Represents a specific business function
• Exposed by a company
• Usually through an Internet connection
• Provided to another company or software application to
consume
“Web services are becoming the programmatic backbone for
electronic commerce…”
UDDI Technical White Paper
uddi.org
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
What are Web Service Applications?What are Web Service Applications?
• Hyper-applications that are
• Designed
• Assembled
• Executed
dynamically at run-time using web services
• Especially in a B2B environment
• Use emerging industry standards
• Extensible Markup Language (XML)
• Simple Object Access Protocol (SOAP)
• Web Services Description Language (WSDL)
• Universal Description, Discovery, and Integration (UDDI)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Web Services Business ModelWeb Services Business Model
Service
Provider
Publish Web Service
Register Web Service
Find Web Service
Service
Broker
Service
Requester
Consume Web Service
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Fundamental Web Service ConceptsFundamental Web Service Concepts
WSDL, SOAPBind
UDDI, WSDL,
DISCO
Find
UDDIPublish
StandardService
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Realization of Web Services Business ModelRealization of Web Services Business Model
Find Web Service Consume Web ServicePublish Web Service Register Web Service
UDDI WSDL SOAP
This is not complete – only shows
relationships to industry standards
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Web Services Architectural MechanismsWeb Services Architectural Mechanisms
Web Discovery
Services
Web Description
Services
Web Wire
Services
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Web Wire ServicesWeb Wire Services
Inter Process Communication
<<analysis mechanism>>
Security
<<analysis mechanism>>
Reliability
<<analysis mechanism>>
Routing
<<analysis mechanism>>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
IPC Wire ServicesIPC Wire Services
Data Encoding
<<design mechanism>>
Data Transport
<<design mechanism>>
Remote Procedure Call
<<design mechanism>>
Inter Process Communication
<<analysis mechanism>>
SOAP
<<implementation mechanism>>
HTTP
<<implementation mechanism>>
XML
<<implementation mechanism>>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
SOAP Wire ServicesSOAP Wire Services
SOAP
HTTP XML
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Web Description ServicesWeb Description Services
Business Process Orchestration
<<design mechanism>>
Workflow Automation
<<analysis mechanism>>
Message Sequencing
<<design mechanism>>
Service Capability Configuration
<<design mechanism>>
Service Description
<<design mechanism>>
WSFL
<<implementation mechanism>>
BizTalk
<<implementation mechanism>>
WSDL
<<implementation mechanism>>
Application Integration
<<analysis mechanism>>
UDDI
<<implementation mechansim>>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Web Discovery ServicesWeb Discovery Services
Discovery Services
<<analysis mechanism>>
Directory Service
<<design mechanism>>
Inspection Service
<<design mechanism>>
UDDI
<<implementation mechansim>>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
What is SOAP?What is SOAP?
• Simple Object Access Protocol (SOAP)
• Standard for invoking services across the web
• Uses HTTP for transport
• Uses XML for data encoding
• Extensible
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Benefits of SOAPBenefits of SOAP
• Can invoke components residing in many architectures
• DCOM
• CORBA
• EJB
• Perl
!Heterogeneous “glue”
• Cross-platform, cross-architecture integration
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Benefits of SOAPBenefits of SOAP
• Uses industry standards
• HTTP
• Works through firewalls!
• XML
• Platform-independent
• Can be invoked from any platform
• Browser
• Desktop application
• Server component
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Web Application Extensions (WAE) for UMLWeb Application Extensions (WAE) for UML
Applet Applic ation
<<Applic ation>>
Client Page
COM Object
<<COM Object>>
EJB Object
<<EJB Object>>
Form Server Page
Session
<<Session>>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Standard HTTP Form POSTStandard HTTP Form POST
Client PageForm
Client Page
Renderer
<<submit>> <<build>>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
SOAP Request from BrowserSOAP Request from Browser -- StructureStructure
Form
SOAP Request
(from SOAP)SOAP Response
(from SOAP)
ISOA PProxy
- newRequest() : SOAP Request
- postRequest(SOAP Request) : SOAP Response
+ invokeMethod()
<<interface>>
XML Parser
Client Page
Renderer
<<submit>>
Client Page
<<build>>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
SOAP Request from BrowserSOAP Request from Browser -- BehaviorBehavior
: Client Page : ISOAPProxy : SOAP
Request
: XM L Parser
:
ISOAPTranslator
3: new
1: invokeMethod( )
2: newRequest( )
5: postRequest(SOAP Request)
4: encode
6: receive(SO AP Request)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
SOAP Request on ServerSOAP Request on Server -- StructureStructure
SOAP Request
(from SOAP)
SOAP Response
(from SOAP)
XML Parser
+ decode()
+ encode()
ISOAPTranslator
+ receiveRequest(SOAP Request)
- sendResponse() : SOAP Respo...
- locateComponent()
- buildResponse()
<<interface>>
IComponentInterface
+ method()
(from SOAP)
<<int erface>>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
SOAP Request on ServerSOAP Request on Server -- BehaviorBehavior
:
ISOAPProxy
:
ISOAPTranslator
: XM L Parser
:
IComponentInterface
1: receiveRequest(SOAP Request)
2: decode( )
3: locat eComponent( )
4: method( )
5: buildResponse( )
6: sendResponse( )
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
SOAP Process ViewSOAP Process View
Client P rocess
<<process>>
HTTP Server
<<process>>
SO AP S erver
<<process>>
CO M S erver
<<proc ess>>
CORBA Server
<<process >>
EJB S erver
<<process >>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
SOAP Deployment ViewSOAP Deployment View
Client Machine
Browser Process
Firewall
W eb S erver
Web Server Process
T ranslator Process
Application
Server
Com ponent Process
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
What is WSDL?What is WSDL?
• Web Services Description Language (WSDL)
• Way to describe web services
• Where do they reside locally
• What are they called
• How are external operations bound to internal operations
• How data is encoded
• How operation is invoked
• WSDL is similar to an interface in a component architecture, but
also includes information on
• Protocol bindings
• Deployment
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
What is WSDL?What is WSDL?
• History
• Started as Service Description Language (SDL)
• Part of early SOAP efforts
• Turned into Service Contract Language (SCL)
• Currently called Web Services Description Language (WSDL)
• In Apache SOAP, use XML Deployment Descriptors
• Register with ServiceManagerClient in org.apache.soap.server
package
• WSDL extensions defined
• HTTP GET
• HTTP POST
• SOAP
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
WSDL GenerationWSDL Generation
• Development tool vendors provide WSDL generation
tools
• Microsoft VisualStudio 6.0
• Uses Web Services Meta Language (WSML) for COM binding on
server side
• Microsoft VisualStudio.NET
• IBM Web Services Tool Kit (WSTK)
• Also provide tools to generate client-side proxies
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
WSDL SchemaWSDL Schema –– HighHigh--LevelLevel
definitions
targetNamespace
types
documentation
portType
name
WSDL schema
documentation
message
name
documentation
binding
name
0..1
0..n
0..10..1
0..1
0..n
0..n0..n
0..n0..n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
WSDL SchemaWSDL Schema –– TypesTypes
types
documentation
schema
attributeFormDefault
elementFormDefault
targetNamespace
sequence
element
name
minOccurs
maxOccurs
nillable
complexType
0..1
0..n0..n
0..n0..n
0..n0..n
0..1
+type
0..10..1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
WSDL SchemaWSDL Schema –– MessagesMessages
message
name
documentation
part
name
element
name
minOccurs
maxOccurs
nillable
complexType
0..n0..n
0..10..1
0..1
+type
0..1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
WSDL SchemaWSDL Schema –– Port Types and BindingsPort Types and Bindings
portType
name
operation
name
documentation
message
name
documentation
binding
name
complexType
1..n1..n
1
+output
0..10..1
+input
0..10..1 0..1
+fault
0..1
1
0..1+type 0..1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
UML for WSDLUML for WSDL
• Visually model key portions of WSDL definition
• Other details can be modeled using tagged values
• Use one class for overall service description
• Use <<wsdl service>> stereotype
• For each element, use <<element>> stereotype on attributes
• For elements that are complexTypes, model as separate class with
<<element>> stereotype
• For each message, use <<message>> stereotype on
operations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
UML for WSDLUML for WSDL
• Use one class for each portType
• Use <<wsdl portType>> stereotype
• Attach to service with aggregation
• For each operation, use an operation
• Use one class for each binding
• Use <<wsdl binding>> stereotype
• Attach to service with aggregation with <<port>> stereotype
• For each operation, use an operation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Sample UML for WSDLSample UML for WSDL –– HighHigh--LevelLevel
ZIPCodeResolver
<<wsdl service>>
ZIPCodeResolverHTTPGet
<<wsdl binding>>
ZIPCodeResolverHTTPGet
<<wsdl portType>>
ZIPCodeResolverHTTPPost
<<wsdl binding>>
ZIPCodeResolverSOAP
<<wsdl binding>>
ZIPCodeResolverHTTPPost
<<wsdl portType>>
ZIPCodeResolverSOAP
<<wsdl portType>>
<<port>>
<<port>>
<<port>>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Sample UML for WSDLSample UML for WSDL –– DetailedDetailed
ZIPCodeResolverSOAP
FullZipCode()
ShortZipCode()
CorrectedAddressHTML()
CorrectedAddressXML()
VersionInfo()
<<wsdl binding>>
ZIPCodeResolverSOAP
FullZipCode()
ShortZipCode()
CorrectedAddressHTML()
CorrectedAddressXML()
VersionInfo()
<<wsdl portType>>
ZIPCodeResolver
<<element>> FullZipCode
<<element>> FullZipCodeResponse
<<element>> CorrectedAddressHTML
<<element>> CorrectedAddressHTMLResponse
<<message>> FullZipCodeHttpGetIn()
<<message>> FullZipCodeHttpGetOut()
<<message>> FullZipCodeHttpPostIn()
<<message>> FullZipCodeHttpPostOut()
<<message>> FullZipCodeSoapIn()
<<message>> FullZipCodeSoapOut()
<<wsdl service>>
<<port>>
USPSAddress
<<element>> Street
<<element>> City
<<element>> State
<<element>> ShortZIP
<<element>> FullZIP
<<element>>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Sample UML for WSDLSample UML for WSDL –– ContextContext
ZIPCodeResolver
<<wsdl service>>
IZIPCodeResolver
FullZipCode()
ShortZipCode()
CorrectedAddress()
CorrectedAddress()
VersionInfo()
<<Interface>>
ZIPCodeResolver
ZIPCodeResolver
Proxy
<<derive>>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
What is UDDI?What is UDDI?
• Universal Description, Discovery and Integration (UDDI)
• A specification for distributed Web-based information registries
of Web services
• Collaborative initiative
• IBM
• Microsoft
• Ariba
• Create a global, platform-independent, open framework to
rapidly accelerate the global adoption of B2B e-commerce
• Enable businesses to discover each other
• Define how they interact over the Internet
• Share information in a global registry
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
What is UDDI?What is UDDI?
• Similar to DNS for domain names
• Except works for web services instead
• Business service registry
• Logically centralized
• Physically distributed
• API defined in an XML Schema
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
UDDI Logical ArchitectureUDDI Logical Architecture
businessEntity
businessService
bindingTemplate
tModel
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
UDDI LeadersUDDI Leaders
• IBM
• UDDI4J
• Microsoft
• UDDI for .NET
• SDK for Visual Studio 6.0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
UDDI4J OverviewUDDI4J Overview
• Open source implementation of UDDI for Java by IBM
• Provides an API to interact with a UDDI registry
• Generates and parses messages sent to and received
from a UDDI server
• Requirements
• Apache SOAP 2.1 or later
• JDK 1.2.2 or later
• Ant
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
UDDI4J Key ComponentsUDDI4J Key Components
client
datatype
request
response
util
UDDIElement
UDDIException
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
UDDI4J Key ComponentsUDDI4J Key Components
• uddi.client package
• Especially UDDIProxy class
• Methods map to the UDDI Programmer’s API Specification
• uddi.datatype package
• Contains core UDDI datatypes to send and receive data from a UDDI
server
• uddi.request package
• Used internally by UDDIProxy for sending messages to a UDDI server
• uddi.response package
• Used internally by UDDIProxy for receiving messages from a UDDI
server
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Sample UDDI UsageSample UDDI Usage –– InquireInquire –– BehaviorBehavior
: Get Business Name : UDDIProxy : BusinessList :
BusinessInfos
: BusinessInfoBusinessInfo :
Vector
1: UDDIProxy( )
2: setInquiryURL(url : String)
3: find_business(name : String, findQualifiers : FindQualifiers, maxRows : int)
4: getBusinessInfos( )
5: getBusinessInfoVector( )
7: getNameString( )
6: elementAt(arg0 : int)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Sample UDDI UsageSample UDDI Usage –– InquireInquire –– StructureStructure
Get Business
Name
BusinessList
getBusinessInfos()
BusinessInfos
getBusinessInfoVector()
businessInfos
URL
UDDIProxy
UDDIProxy()
find_business()
setInquiryURL()
inquiryURL
Vector
elementAt()
businessInfo
BusinessInfo
getNameString()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Apache SOAP OverviewApache SOAP Overview –– Main PackagesMain Packages
encodingmessaging providers
rpc server
transport
utilsoap
(from apache)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Apache SOAP OverviewApache SOAP Overview –– Main ClassesMain Classes
Constants
Body
Fault
Envelope
AttributeHandler
Header
SOAPException
Utils
-body
-attrHandler
-attrHandler
-attrHandler
-attrHandler
-header
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
SOAP Usage by UDDISOAP Usage by UDDI –– Part 1Part 1
: FindBusiness: Get Business
Name
: UDDIProxy
1: find_business(name : String, findQualifiers : FindQualifiers, maxRows : int)
2: FindBusiness( )
3: setName(s : String)
4: setFindQualifiers(s : FindQualifiers)
5: setMaxRows(s : int)
6: send(el : UDDIElement, inquiry : boolean)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
SOAP Usage by UDDISOAP Usage by UDDI –– Part 2Part 2
: UDDIProxy sendEnv :
Envelope
sendBody :
Body
bodyEntry :
Vector
Add passed
Element
1: send(el : Element, inquiry : boolean)
2: Envelope( )
3: Body()
4: Vector( )
5: add(arg0 : Object)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
SOAP Usage by UDDISOAP Usage by UDDI –– Part 3Part 3
: UDDIProxy sendBody :
Body
soapMessage :
Message
response :
Element
3: get transport
1: setBodyEntries(bodyEntries : Vector)
2: Message( )
4: setSOAPTransport(st : SOAPTransport)
5: Element()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
SOAP Usage by UDDISOAP Usage by UDDI –– Part 4Part 4
2: receiveEnvelope( )
: UDDIProxy soapMessage :
Message
respEnv :
Envelope
respBody :
Body
respBodyEntries :
Vector
1: send(url : URL, actionURI : String, env : Envelope)
3: getBody( )
4: getBodyEntries( )
5: firstElement( )
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
SOAP Usage by UDDISOAP Usage by UDDI –– StructureStructure
Get Business Name
FindBusiness
FindBusiness()
setFindQualifiers()
setMaxRows()
setName()
Body
Body()
getBodyEntries()
setBodyEntries()
Envelope
Envelope()
-body
Vector
Vector()
add()
firstElement()
Message
Message()
receiveEnvelope()
send()
SOAPTransport
<<Interface>>
st
UDDIProxy
find_business()
send()
transport
Element
Element()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
SOAP Message SendingSOAP Message Sending –– Part 1Part 1
SOAP Client : Message st :
SOAPHTTPConnection
1: send(url : URL, actionURI : String, env : Envelope)
2: SOAPHTTPConnection()
3: send(sendTo : URL, action : String, headers :
Hashtable, env : Envelope, smr :
SOAPMappingRegistry, ctx : SOAPContext)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
SOAP Message SendingSOAP Message Sending –– Part 2Part 2
: Message st :
SOAPHTTPConnection
payloadSW :
StringWriter
env : Envelope
1: send(sendTo : URL, action : String,
headers : Hashtable, env : Envelope,
smr : SOAPMappingRegistry, ctx :
SOAPContext)
2: StringWriter( )
3: marshall(sink : Writer, xjmr : XMLJavaMappingRegistry, ctx : SOAPContext)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
SOAP Message SendingSOAP Message Sending –– Part 3Part 3
Constants.HEADER
_AUTHORIZATION
st :
SOAPHTTPConnection
headers :
Hashtable
Constants.HEADER
_SOAP_ACTION
3: get userName
4: get password
1: Hashtable( )
2: put(arg0 : Object, arg1 : Object)
5: put(arg0 : Object, arg1 : Object)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
SOAP Message SendingSOAP Message Sending –– Part 4Part 4
1: TransportMessage(envelope : String, ctx : SOAPContext, headers : Hashtable)
st :
SOAPHTTPConnection
msg :
TransportMessage
: HTTPUtils
2: save( )
3: post(url : URL, request : TransportMessage, timeout : int, httpProxyHost : String, httpProxyPort : int)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
SOAP Message SendingSOAP Message Sending -- StructureStructure
SOAP Client
SOAPHTTPConnection
password : String
userName : String
SOAPHTTPConnection()
send()
SOAPTransport
send()
<<Interface>>
Message
send()
st
StringWriter
StringWriter()
Envelope
marshall()
URL
Hashtable
Hashtable()
put()
SOAPMappingRegistry
SOAPContext
TransportMessage
TransportMessage()
save()
HTTPUtils
post()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Web Services with UML
Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies
Web ResourcesWeb Resources
• UDDI
• www.uddi.org
• uddi.microsoft.com
• www.ibm.com/services/uddi
• SOAP
• www.soap.org
• www.soaprpc.com
• www.soapware.org
• www.soapclient.com
• www.soap-wrc.com
• Web Services
• www.webservices.org
• www-106.ibm.com/developerworks/webservices
• www.xmlmodeling.com

More Related Content

Similar to 03 2 armstrong-modeling-webservices_with_uml

Extending ibm business process manager to the mobile enterprise with ibm work...
Extending ibm business process manager to the mobile enterprise with ibm work...Extending ibm business process manager to the mobile enterprise with ibm work...
Extending ibm business process manager to the mobile enterprise with ibm work...bupbechanhgmail
 
Ibm mobile first strategy software approach
Ibm mobile first strategy software approachIbm mobile first strategy software approach
Ibm mobile first strategy software approachbupbechanhgmail
 
Xen app getting-started-guide
Xen app getting-started-guideXen app getting-started-guide
Xen app getting-started-guidehergamia
 
Extending sap solutions to the mobile enterprise with ibm mobile first platfo...
Extending sap solutions to the mobile enterprise with ibm mobile first platfo...Extending sap solutions to the mobile enterprise with ibm mobile first platfo...
Extending sap solutions to the mobile enterprise with ibm mobile first platfo...bupbechanhgmail
 
Osb developer's guide
Osb developer's guideOsb developer's guide
Osb developer's guideHarish B
 
Integrating SDN into the Data Center
Integrating SDN into the Data CenterIntegrating SDN into the Data Center
Integrating SDN into the Data CenterJuniper Networks
 
Tivoli and web sphere application server on z os sg247062
Tivoli and web sphere application server on z os sg247062Tivoli and web sphere application server on z os sg247062
Tivoli and web sphere application server on z os sg247062Banking at Ho Chi Minh city
 
TDavis_SkynaxDataWebServicesGuide
TDavis_SkynaxDataWebServicesGuideTDavis_SkynaxDataWebServicesGuide
TDavis_SkynaxDataWebServicesGuideToni Davis
 
Business and Economic Benefits of VMware NSX
Business and Economic Benefits of VMware NSXBusiness and Economic Benefits of VMware NSX
Business and Economic Benefits of VMware NSXAngel Villar Garea
 
Network Virtualization and Security with VMware NSX - Business Case White Pap...
Network Virtualization and Security with VMware NSX - Business Case White Pap...Network Virtualization and Security with VMware NSX - Business Case White Pap...
Network Virtualization and Security with VMware NSX - Business Case White Pap...Błażej Matusik
 

Similar to 03 2 armstrong-modeling-webservices_with_uml (20)

Xi31 sp3 bip_admin_en
Xi31 sp3 bip_admin_enXi31 sp3 bip_admin_en
Xi31 sp3 bip_admin_en
 
Extending ibm business process manager to the mobile enterprise with ibm work...
Extending ibm business process manager to the mobile enterprise with ibm work...Extending ibm business process manager to the mobile enterprise with ibm work...
Extending ibm business process manager to the mobile enterprise with ibm work...
 
ISE-802.1X-MAB
ISE-802.1X-MABISE-802.1X-MAB
ISE-802.1X-MAB
 
Ibm mobile first strategy software approach
Ibm mobile first strategy software approachIbm mobile first strategy software approach
Ibm mobile first strategy software approach
 
Xen app getting-started-guide
Xen app getting-started-guideXen app getting-started-guide
Xen app getting-started-guide
 
Cloud view platform-highlights-web3
Cloud view platform-highlights-web3Cloud view platform-highlights-web3
Cloud view platform-highlights-web3
 
Extending sap solutions to the mobile enterprise with ibm mobile first platfo...
Extending sap solutions to the mobile enterprise with ibm mobile first platfo...Extending sap solutions to the mobile enterprise with ibm mobile first platfo...
Extending sap solutions to the mobile enterprise with ibm mobile first platfo...
 
IBM Cloud
IBM CloudIBM Cloud
IBM Cloud
 
Ppm7.5 web services
Ppm7.5 web servicesPpm7.5 web services
Ppm7.5 web services
 
Rst4userguide
Rst4userguideRst4userguide
Rst4userguide
 
Osb developer's guide
Osb developer's guideOsb developer's guide
Osb developer's guide
 
Integrating SDN into the Data Center
Integrating SDN into the Data CenterIntegrating SDN into the Data Center
Integrating SDN into the Data Center
 
Sg248203
Sg248203Sg248203
Sg248203
 
Tivoli and web sphere application server on z os sg247062
Tivoli and web sphere application server on z os sg247062Tivoli and web sphere application server on z os sg247062
Tivoli and web sphere application server on z os sg247062
 
Lenovo midokura
Lenovo midokuraLenovo midokura
Lenovo midokura
 
TDavis_SkynaxDataWebServicesGuide
TDavis_SkynaxDataWebServicesGuideTDavis_SkynaxDataWebServicesGuide
TDavis_SkynaxDataWebServicesGuide
 
Business and Economic Benefits of VMware NSX
Business and Economic Benefits of VMware NSXBusiness and Economic Benefits of VMware NSX
Business and Economic Benefits of VMware NSX
 
Network Virtualization and Security with VMware NSX - Business Case White Pap...
Network Virtualization and Security with VMware NSX - Business Case White Pap...Network Virtualization and Security with VMware NSX - Business Case White Pap...
Network Virtualization and Security with VMware NSX - Business Case White Pap...
 
12023 cloud-computing-wp
12023 cloud-computing-wp12023 cloud-computing-wp
12023 cloud-computing-wp
 
Web_Development_with_Node_Express.pdf
Web_Development_with_Node_Express.pdfWeb_Development_with_Node_Express.pdf
Web_Development_with_Node_Express.pdf
 

Recently uploaded

Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystSamantha Rae Coolbeth
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Delhi Call girls
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...Suhani Kapoor
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998YohFuh
 
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiSuhani Kapoor
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationshipsccctableauusergroup
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023ymrp368
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxolyaivanovalion
 
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiLow Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiSuhani Kapoor
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSAishani27
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
 

Recently uploaded (20)

꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data Analyst
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998
 
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptx
 
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiLow Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICS
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 

03 2 armstrong-modeling-webservices_with_uml

  • 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chris Armstrong ATC Enterprises, Inc. 1751 West County Road B, Suite 310 Roseville, MN 55113 651.633.1818 www.atcenterprises.com Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Modeling Web ServicesModeling Web Services with UMLwith UML OMG Web Services Workshop 2002
  • 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies AgendaAgenda • What are Web Services? • What is SOAP? • What is UDDI? • What is WSDL? • What does all of this have to do with each other? • UML modeling for SOAP, WSDL, and UDDI
  • 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies What is a Web Service?What is a Web Service? • Represents a specific business function • Exposed by a company • Usually through an Internet connection • Provided to another company or software application to consume “Web services are becoming the programmatic backbone for electronic commerce…” UDDI Technical White Paper uddi.org
  • 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies What are Web Service Applications?What are Web Service Applications? • Hyper-applications that are • Designed • Assembled • Executed dynamically at run-time using web services • Especially in a B2B environment • Use emerging industry standards • Extensible Markup Language (XML) • Simple Object Access Protocol (SOAP) • Web Services Description Language (WSDL) • Universal Description, Discovery, and Integration (UDDI)
  • 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Web Services Business ModelWeb Services Business Model Service Provider Publish Web Service Register Web Service Find Web Service Service Broker Service Requester Consume Web Service
  • 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Fundamental Web Service ConceptsFundamental Web Service Concepts WSDL, SOAPBind UDDI, WSDL, DISCO Find UDDIPublish StandardService
  • 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Realization of Web Services Business ModelRealization of Web Services Business Model Find Web Service Consume Web ServicePublish Web Service Register Web Service UDDI WSDL SOAP This is not complete – only shows relationships to industry standards
  • 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Web Services Architectural MechanismsWeb Services Architectural Mechanisms Web Discovery Services Web Description Services Web Wire Services
  • 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Web Wire ServicesWeb Wire Services Inter Process Communication <<analysis mechanism>> Security <<analysis mechanism>> Reliability <<analysis mechanism>> Routing <<analysis mechanism>>
  • 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies IPC Wire ServicesIPC Wire Services Data Encoding <<design mechanism>> Data Transport <<design mechanism>> Remote Procedure Call <<design mechanism>> Inter Process Communication <<analysis mechanism>> SOAP <<implementation mechanism>> HTTP <<implementation mechanism>> XML <<implementation mechanism>>
  • 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies SOAP Wire ServicesSOAP Wire Services SOAP HTTP XML
  • 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Web Description ServicesWeb Description Services Business Process Orchestration <<design mechanism>> Workflow Automation <<analysis mechanism>> Message Sequencing <<design mechanism>> Service Capability Configuration <<design mechanism>> Service Description <<design mechanism>> WSFL <<implementation mechanism>> BizTalk <<implementation mechanism>> WSDL <<implementation mechanism>> Application Integration <<analysis mechanism>> UDDI <<implementation mechansim>>
  • 13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Web Discovery ServicesWeb Discovery Services Discovery Services <<analysis mechanism>> Directory Service <<design mechanism>> Inspection Service <<design mechanism>> UDDI <<implementation mechansim>>
  • 14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies What is SOAP?What is SOAP? • Simple Object Access Protocol (SOAP) • Standard for invoking services across the web • Uses HTTP for transport • Uses XML for data encoding • Extensible
  • 15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Benefits of SOAPBenefits of SOAP • Can invoke components residing in many architectures • DCOM • CORBA • EJB • Perl !Heterogeneous “glue” • Cross-platform, cross-architecture integration
  • 16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Benefits of SOAPBenefits of SOAP • Uses industry standards • HTTP • Works through firewalls! • XML • Platform-independent • Can be invoked from any platform • Browser • Desktop application • Server component
  • 17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Web Application Extensions (WAE) for UMLWeb Application Extensions (WAE) for UML Applet Applic ation <<Applic ation>> Client Page COM Object <<COM Object>> EJB Object <<EJB Object>> Form Server Page Session <<Session>>
  • 18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Standard HTTP Form POSTStandard HTTP Form POST Client PageForm Client Page Renderer <<submit>> <<build>>
  • 19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies SOAP Request from BrowserSOAP Request from Browser -- StructureStructure Form SOAP Request (from SOAP)SOAP Response (from SOAP) ISOA PProxy - newRequest() : SOAP Request - postRequest(SOAP Request) : SOAP Response + invokeMethod() <<interface>> XML Parser Client Page Renderer <<submit>> Client Page <<build>>
  • 20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies SOAP Request from BrowserSOAP Request from Browser -- BehaviorBehavior : Client Page : ISOAPProxy : SOAP Request : XM L Parser : ISOAPTranslator 3: new 1: invokeMethod( ) 2: newRequest( ) 5: postRequest(SOAP Request) 4: encode 6: receive(SO AP Request)
  • 21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies SOAP Request on ServerSOAP Request on Server -- StructureStructure SOAP Request (from SOAP) SOAP Response (from SOAP) XML Parser + decode() + encode() ISOAPTranslator + receiveRequest(SOAP Request) - sendResponse() : SOAP Respo... - locateComponent() - buildResponse() <<interface>> IComponentInterface + method() (from SOAP) <<int erface>>
  • 22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies SOAP Request on ServerSOAP Request on Server -- BehaviorBehavior : ISOAPProxy : ISOAPTranslator : XM L Parser : IComponentInterface 1: receiveRequest(SOAP Request) 2: decode( ) 3: locat eComponent( ) 4: method( ) 5: buildResponse( ) 6: sendResponse( )
  • 23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies SOAP Process ViewSOAP Process View Client P rocess <<process>> HTTP Server <<process>> SO AP S erver <<process>> CO M S erver <<proc ess>> CORBA Server <<process >> EJB S erver <<process >>
  • 24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies SOAP Deployment ViewSOAP Deployment View Client Machine Browser Process Firewall W eb S erver Web Server Process T ranslator Process Application Server Com ponent Process
  • 25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies What is WSDL?What is WSDL? • Web Services Description Language (WSDL) • Way to describe web services • Where do they reside locally • What are they called • How are external operations bound to internal operations • How data is encoded • How operation is invoked • WSDL is similar to an interface in a component architecture, but also includes information on • Protocol bindings • Deployment
  • 26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies What is WSDL?What is WSDL? • History • Started as Service Description Language (SDL) • Part of early SOAP efforts • Turned into Service Contract Language (SCL) • Currently called Web Services Description Language (WSDL) • In Apache SOAP, use XML Deployment Descriptors • Register with ServiceManagerClient in org.apache.soap.server package • WSDL extensions defined • HTTP GET • HTTP POST • SOAP
  • 27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies WSDL GenerationWSDL Generation • Development tool vendors provide WSDL generation tools • Microsoft VisualStudio 6.0 • Uses Web Services Meta Language (WSML) for COM binding on server side • Microsoft VisualStudio.NET • IBM Web Services Tool Kit (WSTK) • Also provide tools to generate client-side proxies
  • 28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies WSDL SchemaWSDL Schema –– HighHigh--LevelLevel definitions targetNamespace types documentation portType name WSDL schema documentation message name documentation binding name 0..1 0..n 0..10..1 0..1 0..n 0..n0..n 0..n0..n
  • 29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies WSDL SchemaWSDL Schema –– TypesTypes types documentation schema attributeFormDefault elementFormDefault targetNamespace sequence element name minOccurs maxOccurs nillable complexType 0..1 0..n0..n 0..n0..n 0..n0..n 0..1 +type 0..10..1
  • 30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies WSDL SchemaWSDL Schema –– MessagesMessages message name documentation part name element name minOccurs maxOccurs nillable complexType 0..n0..n 0..10..1 0..1 +type 0..1
  • 31. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies WSDL SchemaWSDL Schema –– Port Types and BindingsPort Types and Bindings portType name operation name documentation message name documentation binding name complexType 1..n1..n 1 +output 0..10..1 +input 0..10..1 0..1 +fault 0..1 1 0..1+type 0..1
  • 32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies UML for WSDLUML for WSDL • Visually model key portions of WSDL definition • Other details can be modeled using tagged values • Use one class for overall service description • Use <<wsdl service>> stereotype • For each element, use <<element>> stereotype on attributes • For elements that are complexTypes, model as separate class with <<element>> stereotype • For each message, use <<message>> stereotype on operations
  • 33. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies UML for WSDLUML for WSDL • Use one class for each portType • Use <<wsdl portType>> stereotype • Attach to service with aggregation • For each operation, use an operation • Use one class for each binding • Use <<wsdl binding>> stereotype • Attach to service with aggregation with <<port>> stereotype • For each operation, use an operation
  • 34. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Sample UML for WSDLSample UML for WSDL –– HighHigh--LevelLevel ZIPCodeResolver <<wsdl service>> ZIPCodeResolverHTTPGet <<wsdl binding>> ZIPCodeResolverHTTPGet <<wsdl portType>> ZIPCodeResolverHTTPPost <<wsdl binding>> ZIPCodeResolverSOAP <<wsdl binding>> ZIPCodeResolverHTTPPost <<wsdl portType>> ZIPCodeResolverSOAP <<wsdl portType>> <<port>> <<port>> <<port>>
  • 35. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Sample UML for WSDLSample UML for WSDL –– DetailedDetailed ZIPCodeResolverSOAP FullZipCode() ShortZipCode() CorrectedAddressHTML() CorrectedAddressXML() VersionInfo() <<wsdl binding>> ZIPCodeResolverSOAP FullZipCode() ShortZipCode() CorrectedAddressHTML() CorrectedAddressXML() VersionInfo() <<wsdl portType>> ZIPCodeResolver <<element>> FullZipCode <<element>> FullZipCodeResponse <<element>> CorrectedAddressHTML <<element>> CorrectedAddressHTMLResponse <<message>> FullZipCodeHttpGetIn() <<message>> FullZipCodeHttpGetOut() <<message>> FullZipCodeHttpPostIn() <<message>> FullZipCodeHttpPostOut() <<message>> FullZipCodeSoapIn() <<message>> FullZipCodeSoapOut() <<wsdl service>> <<port>> USPSAddress <<element>> Street <<element>> City <<element>> State <<element>> ShortZIP <<element>> FullZIP <<element>>
  • 36. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Sample UML for WSDLSample UML for WSDL –– ContextContext ZIPCodeResolver <<wsdl service>> IZIPCodeResolver FullZipCode() ShortZipCode() CorrectedAddress() CorrectedAddress() VersionInfo() <<Interface>> ZIPCodeResolver ZIPCodeResolver Proxy <<derive>>
  • 37. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies What is UDDI?What is UDDI? • Universal Description, Discovery and Integration (UDDI) • A specification for distributed Web-based information registries of Web services • Collaborative initiative • IBM • Microsoft • Ariba • Create a global, platform-independent, open framework to rapidly accelerate the global adoption of B2B e-commerce • Enable businesses to discover each other • Define how they interact over the Internet • Share information in a global registry
  • 38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies What is UDDI?What is UDDI? • Similar to DNS for domain names • Except works for web services instead • Business service registry • Logically centralized • Physically distributed • API defined in an XML Schema
  • 39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies UDDI Logical ArchitectureUDDI Logical Architecture businessEntity businessService bindingTemplate tModel
  • 40. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies UDDI LeadersUDDI Leaders • IBM • UDDI4J • Microsoft • UDDI for .NET • SDK for Visual Studio 6.0
  • 41. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies UDDI4J OverviewUDDI4J Overview • Open source implementation of UDDI for Java by IBM • Provides an API to interact with a UDDI registry • Generates and parses messages sent to and received from a UDDI server • Requirements • Apache SOAP 2.1 or later • JDK 1.2.2 or later • Ant
  • 42. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies UDDI4J Key ComponentsUDDI4J Key Components client datatype request response util UDDIElement UDDIException
  • 43. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies UDDI4J Key ComponentsUDDI4J Key Components • uddi.client package • Especially UDDIProxy class • Methods map to the UDDI Programmer’s API Specification • uddi.datatype package • Contains core UDDI datatypes to send and receive data from a UDDI server • uddi.request package • Used internally by UDDIProxy for sending messages to a UDDI server • uddi.response package • Used internally by UDDIProxy for receiving messages from a UDDI server
  • 44. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Sample UDDI UsageSample UDDI Usage –– InquireInquire –– BehaviorBehavior : Get Business Name : UDDIProxy : BusinessList : BusinessInfos : BusinessInfoBusinessInfo : Vector 1: UDDIProxy( ) 2: setInquiryURL(url : String) 3: find_business(name : String, findQualifiers : FindQualifiers, maxRows : int) 4: getBusinessInfos( ) 5: getBusinessInfoVector( ) 7: getNameString( ) 6: elementAt(arg0 : int)
  • 45. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Sample UDDI UsageSample UDDI Usage –– InquireInquire –– StructureStructure Get Business Name BusinessList getBusinessInfos() BusinessInfos getBusinessInfoVector() businessInfos URL UDDIProxy UDDIProxy() find_business() setInquiryURL() inquiryURL Vector elementAt() businessInfo BusinessInfo getNameString()
  • 46. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Apache SOAP OverviewApache SOAP Overview –– Main PackagesMain Packages encodingmessaging providers rpc server transport utilsoap (from apache)
  • 47. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Apache SOAP OverviewApache SOAP Overview –– Main ClassesMain Classes Constants Body Fault Envelope AttributeHandler Header SOAPException Utils -body -attrHandler -attrHandler -attrHandler -attrHandler -header
  • 48. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies SOAP Usage by UDDISOAP Usage by UDDI –– Part 1Part 1 : FindBusiness: Get Business Name : UDDIProxy 1: find_business(name : String, findQualifiers : FindQualifiers, maxRows : int) 2: FindBusiness( ) 3: setName(s : String) 4: setFindQualifiers(s : FindQualifiers) 5: setMaxRows(s : int) 6: send(el : UDDIElement, inquiry : boolean)
  • 49. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies SOAP Usage by UDDISOAP Usage by UDDI –– Part 2Part 2 : UDDIProxy sendEnv : Envelope sendBody : Body bodyEntry : Vector Add passed Element 1: send(el : Element, inquiry : boolean) 2: Envelope( ) 3: Body() 4: Vector( ) 5: add(arg0 : Object)
  • 50. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies SOAP Usage by UDDISOAP Usage by UDDI –– Part 3Part 3 : UDDIProxy sendBody : Body soapMessage : Message response : Element 3: get transport 1: setBodyEntries(bodyEntries : Vector) 2: Message( ) 4: setSOAPTransport(st : SOAPTransport) 5: Element()
  • 51. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies SOAP Usage by UDDISOAP Usage by UDDI –– Part 4Part 4 2: receiveEnvelope( ) : UDDIProxy soapMessage : Message respEnv : Envelope respBody : Body respBodyEntries : Vector 1: send(url : URL, actionURI : String, env : Envelope) 3: getBody( ) 4: getBodyEntries( ) 5: firstElement( )
  • 52. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies SOAP Usage by UDDISOAP Usage by UDDI –– StructureStructure Get Business Name FindBusiness FindBusiness() setFindQualifiers() setMaxRows() setName() Body Body() getBodyEntries() setBodyEntries() Envelope Envelope() -body Vector Vector() add() firstElement() Message Message() receiveEnvelope() send() SOAPTransport <<Interface>> st UDDIProxy find_business() send() transport Element Element()
  • 53. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies SOAP Message SendingSOAP Message Sending –– Part 1Part 1 SOAP Client : Message st : SOAPHTTPConnection 1: send(url : URL, actionURI : String, env : Envelope) 2: SOAPHTTPConnection() 3: send(sendTo : URL, action : String, headers : Hashtable, env : Envelope, smr : SOAPMappingRegistry, ctx : SOAPContext)
  • 54. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies SOAP Message SendingSOAP Message Sending –– Part 2Part 2 : Message st : SOAPHTTPConnection payloadSW : StringWriter env : Envelope 1: send(sendTo : URL, action : String, headers : Hashtable, env : Envelope, smr : SOAPMappingRegistry, ctx : SOAPContext) 2: StringWriter( ) 3: marshall(sink : Writer, xjmr : XMLJavaMappingRegistry, ctx : SOAPContext)
  • 55. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies SOAP Message SendingSOAP Message Sending –– Part 3Part 3 Constants.HEADER _AUTHORIZATION st : SOAPHTTPConnection headers : Hashtable Constants.HEADER _SOAP_ACTION 3: get userName 4: get password 1: Hashtable( ) 2: put(arg0 : Object, arg1 : Object) 5: put(arg0 : Object, arg1 : Object)
  • 56. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies SOAP Message SendingSOAP Message Sending –– Part 4Part 4 1: TransportMessage(envelope : String, ctx : SOAPContext, headers : Hashtable) st : SOAPHTTPConnection msg : TransportMessage : HTTPUtils 2: save( ) 3: post(url : URL, request : TransportMessage, timeout : int, httpProxyHost : String, httpProxyPort : int)
  • 57. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies SOAP Message SendingSOAP Message Sending -- StructureStructure SOAP Client SOAPHTTPConnection password : String userName : String SOAPHTTPConnection() send() SOAPTransport send() <<Interface>> Message send() st StringWriter StringWriter() Envelope marshall() URL Hashtable Hashtable() put() SOAPMappingRegistry SOAPContext TransportMessage TransportMessage() save() HTTPUtils post()
  • 58. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modeling Web Services with UML Copyright  2002 ATC Enterprises, Inc., All rights reserved smart process strategies Web ResourcesWeb Resources • UDDI • www.uddi.org • uddi.microsoft.com • www.ibm.com/services/uddi • SOAP • www.soap.org • www.soaprpc.com • www.soapware.org • www.soapclient.com • www.soap-wrc.com • Web Services • www.webservices.org • www-106.ibm.com/developerworks/webservices • www.xmlmodeling.com