consume. “Web services are becoming the programmatic backbone for .....
Firewall. W eb S erver. Web Server Process. Translator Process. Application.
Server.
..........................................................
Modeling Web Services with UML OMG Web Services Workshop 2002 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
Agenda
.Agenda .........................................................
• 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 Model
.Web . . . . . .Services . . . . . . . . . .Business . . . . . . . . . . Model ...............................
Publish Web Service Service Provider Register Web Service Service Broker Find Web Service Service Requester Cons ume Web Service
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
Fundamental Web Service Concepts
.Fundamental . . . . . . . . . . . . . . .Web . . . . . .Service . . . . . . . . Concepts ............................
Service Publish Find Bind
Standard UDDI UDDI, WSDL, DISCO WSDL, SOAP
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
Realization of Web Services Business Model
.Realization . . . . . . . . . . . . .of . . Web . . . . . . Services . . . . . . . . . . Business . . . . . . . . . . .Model ...............
Publish Web Service Register Web Service
UDDI
Find Web Service
Consume Web Service
W SDL
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 Mechanisms
.Web . . . . . .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 Services
.Web . . . . . .Wire . . . . . Services .............................................. Inter Process Communication
Reliability
Security
Routing
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
IPC Wire Services
.IPC . . . . .Wire . . . . . Services ...............................................
Int er Proc ess Communic ation
Remote Procedure Call
SOA P
Data Transport
HTTP
Data Encoding
XML
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
SOAP Wire Services
.SOAP . . . . . . . Wire . . . . . . Services ............................................
SOAP
HTTP
XML
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
Web Description Services
.Web . . . . . .Description . . . . . . . . . . . . .Services ...................................... Business Process Orchestration
Message Sequencing Workflow Automation Service Capability Configuration
BizTalk
WSFL
UDDI
Applicat ion Integration Service Descript ion
WSDL
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
Web Discovery Services
.Web . . . . . .Discovery . . . . . . . . . . .Services ........................................
Directory Service UDDI
Disc overy Services
Inspection Service
.................................................... 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 SOAP
.Benefits . . . . . . . . . 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 SOAP
.Benefits . . . . . . . . . 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 UML
.Web . . . . . .Application . . . . . . . . . . . . Extensions . . . . . . . . . . . . .(WAE) . . . . . . . .for . . . UML ...............
A pplet
< < A pplic ation> > A pplic ation
Form < < E JB Objec t> > E JB Objec t
Client P age
S erver P age
< < COM Objec t> > COM Objec t
< < S es sion> > S es s ion
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
Standard HTTP Form POST
.Standard . . . . . . . . . . HTTP . . . . . . . .Form . . . . . .POST .................................
Form
Client P age
< < s ub mit> >
< < build> >
Client P age Re nderer
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
SOAP Request from Browser - Structure
.SOAP . . . . . . . Request . . . . . . . . . . from . . . . . .Browser . . . . . . . . . .- .Structure ....................... Form
Client P age
< < interfac e>> IS OA P P ro xy - newReques t() : S OA P Request - postRequest(S OA P Request) : S OA P Response + invokeM ethod()
< < subm it>> < < build>> XM L P ars er
Cl ient P age Renderer
S OA P Reques t S OA P Response (from S OA P )
(from S OA P )
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
SOAP Request from Browser - Behavior
.SOAP . . . . . . . Request . . . . . . . . . . from . . . . . .Browser . . . . . . . . . .- .Behavior ....................... : Client P age
: IS OA P P rox y
: S OA P Reques t
: XM L P ars er
: IS OA P Trans lator
1: invok eM eth od( ) 2: newRequest( ) 3: new 4: encode 5: postRequest(S OA P Request) 6: re c eive(S O A P R eque s t)
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
SOAP Request on Server - Structure
.SOAP . . . . . . . Request . . . . . . . . . . on . . . .Server . . . . . . . .- . Structure ........................... < < interfac e> > IS OA P Trans lator S OA P Res pons e (from S OAP )
+ rec eiveReques t(S OA P Reques t) - s endRes pons e() : S OA P Res po... - loc ateCom ponent() - buildRes pons e()
< < int erfac e> > ICom ponentInterfac e (fr om S O A P )
+ m ethod()
XM L P ars er S OA P Re quest (from S OA P )
+ dec ode() + enc ode()
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
SOAP Request on Server - Behavior
.SOAP . . . . . . . Request . . . . . . . . . . on . . . .Server . . . . . . . .- . Behavior ........................... : IS OA P P roxy
: IS OA P Trans lator
: XM L P ars er : ICom ponentInterfac e
1: rec eiveRequest(S OA P Request) 2: dec ode( ) 3: l ocat eCompon ent( ) 4: m ethod( ) 5: bu ildRes ponse( )
6: sendRes ponse( )
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
SOAP Process View
.SOAP . . . . . . . Process . . . . . . . . . .View ........................................ < < proc es s > > Cli ent P ro cess
< < p roc es s >> EJB S erver < < proc es s > > HTTP Server
< < p roc es s >> CORB A Server < < proc es s > > S O A P S erver < < proc es s > > CO M S erver
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
SOAP Deployment View
.SOAP . . . . . . . Deployment . . . . . . . . . . . . . . View .................................... Client M ac hine
Firewall
B ro wse r P ro ce ss
W eb S er ver
A pplic ation S erver
We b S e rve r P ro ce ss T ra n sl a to r P ro ce ss
Co m p o n e n t P ro ce ss
.................................................... 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 Generation
.WSDL . . . . . . . .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 Schema – High-Level
.WSDL . . . . . . . .Schema . . . . . . . . .– . . High . . . . . -. Level ................................ WSDL schema documentation
0..1
0..n message name documentation
definitions targetNamespace 0..1 types documentat ion
0..n binding name
0..n portType name
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
WSDL Schema – Types
.WSDL . . . . . . . .Schema . . . . . . . . .– . . Types ...................................... schema att ributeFormDefault element FormDefault targetNamespace
types documentation
element 0..n name minOc curs 0.. n maxOccurs nillable
sequence 0..1
+type 0..1
0..n
complexType
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
WSDL Schema – Messages
.WSDL . . . . . . . .Schema . . . . . . . . .– . . Messages ...................................... 0..n
message name documentation
element name minOccurs maxOccurs nillable
0..1
part name
+type
0..1
complexType
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
WSDL Schema – Port Types and Bindings
.WSDL . . . . . . . .Schema . . . . . . . . .– . . Port . . . . . .Types . . . . . . .and . . . . .Bindings .................... portType name
1.. n
binding name operation name documentation
1
+t ype +output
+fault 0.. 1 0..1 0..1 +input message name documentation
0..1
complexType
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
UML for WSDL
.UML . . . . . .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 stereotype For each element, use stereotype on attributes •
•
For elements that are complexTypes, model as separate class with stereotype
For each message, use stereotype on operations
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
UML for WSDL
.UML . . . . . .for . . . WSDL ................................................
• Use one class for each portType • • •
Use stereotype Attach to service with aggregation For each operation, use an operation
• Use one class for each binding • • •
Use stereotype Attach to service with aggregation with 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 WSDL – High-Level
.Sample . . . . . . . . .UML . . . . . .for . . . WSDL . . . . . . . . –. . High . . . . . -.Level ....................... ZIPCodeResolver
ZIPCodeResolverHTTPGet
ZIPCodeResolverSOAP
ZIPCodeResolverHTTPPost
ZIPCodeResolverSOAP
ZIPCodeResolverHTTPPost
ZIPCodeResolverHTTPGet
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
Sample UML for WSDL – Detailed
.Sample . . . . . . . . .UML . . . . . .for . . . WSDL . . . . . . . . –. . Detailed ............................. ZIPCodeRes olver
FullZipCode FullZipCodeResponse CorrectedAddressHTML CorrectedAddressHTMLResponse
FullZipCodeHt tpGetIn() FullZipCodeHt tpGetOut () FullZipCodeHt tpPost In() FullZipCodeHt tpPost Out () FullZipCodeSoapIn() FullZipCodeSoapOut ()
USPSAddress
Street City State ShortZIP FullZIP
ZIPCodeResolverSOAP
ZIPCodeResolverSOAP
FullZipCode() ShortZipCode() CorrectedAddressHTML() CorrectedAddressXML() VersionInfo()
FullZipCode() ShortZipCode() CorrectedAddressHTML() CorrectedAddressXML() VersionInfo()
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
Sample UML for WSDL – Context
.Sample . . . . . . . . .UML . . . . . .for . . . WSDL . . . . . . . . –. . Context ............................. ZIPCodeResolver
IZIPCodeResolver FullZipCode() ShortZipCode() CorrectedAddress() CorrectedAddress() VersionInfo()
ZIPCodeResolver Prox y
ZIPCodeResolver
.................................................... 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 Architecture
.UDDI . . . . . . .Logical . . . . . . . .Architecture .......................................... businessEntity
businessService
bindingTemplate
t Model
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
UDDI Leaders
.UDDI . . . . . . .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 Overview
.UDDI4J . . . . . . . . . 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 Components
.UDDI4J . . . . . . . . . Key . . . . .Components ...........................................
client
request
util
UDDIException datatype
response UDDIElement
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
UDDI4J Key Components
.UDDI4J . . . . . . . . . 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 Usage – Inquire – Behavior
.Sample . . . . . . . . .UDDI . . . . . . .Usage . . . . . . .– . . Inquire . . . . . . . . .–. .Behavior ..................... : Get Business Name
: UDDIProxy
: BusinessList
: BusinessInfos
BusinessInfo : Vector
: BusinessInfo
1: UDDIProxy( ) 2: setInquiryURL(url : String) 3: find_business(name : String, findQualifiers : FindQualifiers, maxRows : int) 4: getBusinessInfos( ) 5: getBusinessInfoVector( ) 6: elementAt(arg0 : int) 7: getNameString( )
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
Sample UDDI Usage – Inquire – Structure
.Sample . . . . . . . . .UDDI . . . . . . .Usage . . . . . . .– . . Inquire . . . . . . . . .–. .Structure ..................... Get Business Name UDDIProxy inquiryURL UDDIProxy() find_business () setInquiryURL()
BusinessList
URL
businessInfos
Business Infos
getBusinessInfoVector()
getBusinessInfos() businessInfo Vector
BusinessInfo
element At()
getNameString()
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
Apache SOAP Overview – Main Packages
.Apache . . . . . . . . .SOAP . . . . . . . Overview . . . . . . . . . . .– . . Main . . . . . . Packages ......................
soap (from apache)
messaging
rpc
providers
server
transport
util
encoding
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
Apache SOAP Overview – Main Classes
.Apache . . . . . . . . .SOAP . . . . . . . Overview . . . . . . . . . . .– . . Main . . . . . . Classes ...................... Envelope Constants -header -body
Header
Body
-at trHandler -at trHandler Fault
Utils
-attrHandler
AttributeHandler
SOA PExc eption
-attrHandler
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
SOAP Usage by UDDI – Part 1
.SOAP . . . . . . . Usage . . . . . . . . by . . . UDDI . . . . . . . –. . Part . . . . .1 ......................... : Get Business Name
: UDDIProxy
: FindBusiness
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 UDDI – Part 2
.SOAP . . . . . . . Usage . . . . . . . . by . . . UDDI . . . . . . . –. . Part . . . . .2 ......................... : UDDIProxy
sendEnv : Envelope
sendBody : Body
bodyEntry : Vector
1: send(el : Element, inquiry : boolean) 2: Envelope( ) 3: Body () 4: Vector( ) 5: add(arg0 : Object)
Add passed Element
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
SOAP Usage by UDDI – Part 3
.SOAP . . . . . . . Usage . . . . . . . . by . . . UDDI . . . . . . . –. . Part . . . . .3 ......................... : UDDIProxy
sendBody : Body
soapMessage : Message
response : Element
1: setBodyEntries(bodyEntries : Vector) 2: Message( ) 3: get transport 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 UDDI – Part 4
.SOAP . . . . . . . Usage . . . . . . . . by . . . UDDI . . . . . . . –. . Part . . . . .4 ......................... : UDDIP roxy
s oapMes sage : Message
respEnv : Envelope
respBody : Body
respBodyEntries : Vector
1: send(url : URL, actionURI : String, env : Envelope) 2: receiveEnvelope( ) 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 UDDI – Structure
.SOAP . . . . . . . Usage . . . . . . . . by . . . UDDI . . . . . . . –. . Structure .............................. Get Business Name
Vector FindBusiness
Message
UDDIProxy
Message() receiveEnvelope() send()
FindBusiness() setFindQualifiers() setMaxRows() setName()
find_business() send() Envelope
st
Vector() add() first Element ()
transport
SOAPTransport
Element
Envelope()
Body -body Body() getBodyEnt ries() setBodyEnt ries()
Element()
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
SOAP Message Sending – Part 1
.SOAP . . . . . . . Message . . . . . . . . . . .Sending . . . . . . . . . .–. .Part . . . . .1. . . . . . . . . . . . . . . . . . . . . . SOAP Client
: Message
st : SOAPHTTPConnection
1: send(url : URL, actionURI : String, env : Envelope) 2: SOAPHTTPConnection() 3: s end(sendTo : URL, act ion : 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 Sending – Part 2
.SOAP . . . . . . . Message . . . . . . . . . . .Sending . . . . . . . . . .–. .Part . . . . .2. . . . . . . . . . . . . . . . . . . . . . : Mes sage
st : SOA PHTTPConnec tion
payloadSW : StringWriter
env : Envelope
1: send(sendTo : URL, action : String, headers : Hashtable, env : Envelope, smr : S OAPMappingRegistry, c tx : SOA PContext ) 2: St ringW riter( ) 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 Sending – Part 3
.SOAP . . . . . . . Message . . . . . . . . . . .Sending . . . . . . . . . .–. .Part . . . . .3. . . . . . . . . . . . . . . . . . . . . . st : SOAPHTTPConnection
headers : Hashtable
1: Hashtable( )
Constants.HEADER _SOAP_ACTION
2: put(arg0 : Object, arg1 : Object) 3: get userName 4: get password
Constants.HEADER _AUTHORIZATION
5: put(arg0 : Object, arg1 : Object)
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
SOAP Message Sending – Part 4
.SOAP . . . . . . . Message . . . . . . . . . . .Sending . . . . . . . . . .–. .Part . . . . .4. . . . . . . . . . . . . . . . . . . . . . st : SOA PHTTPConnect ion
msg : TransportMessage
: HTTPUtils
1: TransportMessage(envelope : String, ctx : SOAPContext, headers : Hashtable) 2: save( ) 3: post(url : URL, request : Transport Message, timeout : int, httpProxyHost : S tring, httpProxyPort : int)
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
SOAP Message Sending - Structure
.SOAP . . . . . . . Message . . . . . . . . . . .Sending . . . . . . . . . .-. Structure ............................ SOAP Client StringWriter
Message SOAPTransport
StringWriter()
SOA PContext
send() st
send() SOAPHTTPConnection password : String userName : String
URL
TransportMessage TransportMessage() save()
Envelope
SOAPHTTPConnection() send()
SOA PMappingRegistry
Hashtable HTTPUtils
marshall()
Hashtable() put()
post()
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies
Web Resources
.Web . . . . . .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
.................................................... Modeling Web Services with UML
Copyright 2002 ATC Enterprises, Inc., All rights reserved
smart process strategies