Download presentation
Presentation is loading. Please wait.
Published byMadlyn Grant Modified over 9 years ago
1
WS-* Extensions CS409 Application Services Even Semester 2007
2
2 Basic Web Service framework: –XML –WSDL –SOAP –Service Addressing (UDDI) 1 st Generation WS Standards
3
3 What is WS-* ? Stands for Web Service Extension. Also called as “2 nd generation Web Services technology”. Are the technology specifications to empower SOA so it can covering the range of business functions required for enterprises.
4
4 Fig 1. 1 st and 2 nd Generation Web Service Technologies Source: www.soaspecs.com
5
5 Why WS-* ? Because the 1st generation of web service framework can’t provide some primary requirements for good SOA system. 1.Security. 2.Transaction Management. 3.Business Process. 4.Reliable Messaging. 5.Policy. 6.Attachment. 7.what else ???
6
6 WS-* Concept Composability –exist as separate modules, allow the design to be efficient and targeted to roles. Independent –application only needs to use the particular set(s) that it actually required. Simple –only SOAP header blocks relating to necessary standards (functions) need to be incorporated. Extendable –infinite possibility to grow as new requirements continue to emerge.
7
7 1. Security Problem: –1 st generation WS doesn’t have any real security standard to protect the SOAP message along message path. –Thus, wariness to expose business process over the net. Solution: WS Security framework provide a thorough security model and stack of complementary standards next class topic...!
8
8 2. Transaction Management Problem: –To support distributed transactions throughout service activity (atomic and long-running transactions). –Need a context management system. Solution: WS-Transaction. WS-Coordination.
9
9 WS-Transactions Provides coordination types for services’ transactions: –Atomic transaction (short-term) commit and rollback mechanism, success as a whole or returned to original state, resources involved are locked. –Business activities (long-running) context information is maintained but resources are not locked, compensation process for unsuccessful process activities.
10
10 WS-Transactions (2) Protocols for atomic transaction: –Completion provides standard commit or rollback function. –CompletionWithAck the coordination service remain until acknowledgement is received. –2PC two phase commit type. –PhaseZero give notification for service prior to the start of a two- phase transaction –OutcomeNotification give notification for service of transaction completion.
11
11 WS-Transactions (3) Protocols for business activities: –BusinessAgreement allow self determination to a service when it has completed its tasks. –BusinessAgreementWithComplete give notification to a service when it has completed its tasks.
12
12 WS-Coordination Provides mechanism for group of services to distribute & register for context definition. Context = identity for coordination among services’ activities. What does context do? –Defines the runtime existence for activity. –Establishes level of control of how the task can be processed.
13
13 WS-Coordination (2) Important for services collection to interact and execute some logics. Functions available: –Context creation. –Registration for coordination contexts. –Protocol selection.
14
14 WS-Coordination (3) Example xmlns=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:wsc=“http://schemas.xmlsoap.org/ws/2002/08/wscoor” xmlns:wsu=“http://schemas.xmlsoap.org/ws/2002/07/utility”>... http://schemas.xmlsoap.org/ws/2004/01/wsba......
15
15 WS-Coordination (4) Identifier associate unique ID value with the current activity. Expires sets an expiry date of the activity’s possible lifespan. CoordinationType establishes rules and constraints of the activity (short-term or long-running). RegistrationService contains URL pointing to the location of the registration service.
16
16 3. Business Process Problem: –Describing business workflow logic in a SOA with a service-oriented process. Solution: WS-BPEL or BPEL4WS = Business Process Execution Language for Web Service.
17
17 WS-BPEL Is the combination of WSFL by IBM and XLANG by Microsoft. Used to describe a business workflow logic. Allows creation of abstract processes to describe business protocols and executable processes. Can be compiled into runtime scripts.
18
18 WS-BPEL (2) - Structure of a process definition: <process name=“TimesheetSubmissionProcess” xmlns=“http://schemas.xmlsoap.org/ws/2003/03/business-process/” xmlns:bpl=“http://www.xmltc.com/tls/process”...>............
19
19 WS-BPEL (3) partnerLinks to establish the port type of service partner that will participate during execution of business process. variables to store state information for lengthy process lifespan. faultHandlers to define compensation process in case a long running business activity fails. sequence to organize series of activities so they are executed in a predefined, sequential order.
20
20 4. Reliable Messaging Problem: –How to guarantee the delivery of a message? –How to notify if a message is success or failed to be delivered? Solution: WS-Reliable Messaging (WS-RM).
21
21 WS-RM Focusing on how to guarantee the delivery of SOAP message(s): –Actual arrival of message at its destination. –Messages are delivered in order they are sent. Establishes a standard method of notifying the message sender of the success or failure of the delivery. Notification can be sent as separate message or as an embedded construct within the response message.
22
22 WS-RM (2) Sample message from sender: xmlns=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:wsu=“http://schemas.xmlsoap.org/ws/2002/07/utility” xmlns:wsrm=“http://schemas.xmlsoap.org/ws/2004/03/rm”>...
23
23 WS-RM (3) Sample message from recipient: xmlns=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:wsu=“http://schemas.xmlsoap.org/ws/2002/07/utility” xmlns:wsrm=“http://schemas.xmlsoap.org/ws/2004/03/rm”>...
24
24 WS-RM (4) Sample message from sender: xmlns=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:wsu=“http://schemas.xmlsoap.org/ws/2002/07/utility” xmlns:wsrm=“http://schemas.xmlsoap.org/ws/2004/03/rm”> <!-- used to request an on-demand acknowledgement even prior to the arrival of the last message -->...
25
25 WS-RM (5) Sample message from recipient: xmlns=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:wsu=“http://schemas.xmlsoap.org/ws/2002/07/utility” xmlns:wsrm=“http://schemas.xmlsoap.org/ws/2004/03/rm”> 6 <!-- Nack=negative acknowledgement means that messageNumber 6 was not received successfully -->...
26
26 5. Policy Problem: –How to communicate rules and preferences within diverse application environments? Solution: WS-Policy
27
27 WS-Policy Help organize rules and preferences in relation of security, processing, or message content of services within diverse application environments. Comprised of the following specs: –WS-Policy –WS-Policy Assertions –WS-Policy Attachments
28
28 WS-Policy (2) Elements and common assertions: –Policy : the root construct –TextEncoding : dictates the use of a specific text encoding format. –Language : preference for a particular language. –SpecVersion : need for a specific version of a specification. –MessagePredicate : indicates processing rules using XPath statements.
29
29 WS-Policy (3) Elements and common assertions (cont’d): –ExactlyOne : in case of multiple policy assertions, to indicate that at least one must be chosen. –All : states that all the policies must be met. –Usage : indicate whether a given policy assertion is required, optional, rejected, ignored, or observed. –Preference : to rank assertions in order of preference. –PolicyReference and PolicyURIs and PolicyAttachment : to link an element with one or more policies.
30
30 WS-Policy (4) xmlns:wsp=“http://schemas.xmlsoap.org/ws/2002/12/policy”> <wsp:SpecVersion wsp:Usage=“wsp:Required” wsp:Preference=“10” wsp:URI=“http://schemas.xmlsoap.org/ws/2004/03/rm” /> <wsp:SpecVersion wsp:Usage=“wsp:Required” wsp:Preference=“1” wsp:URI=“http://schemas.xmlsoap.org/ws/2003/02/rm” /> <Employee wsp:PolicyURI= “http://www.mycompany.com/tls/policy1.xml#Employee1” “http://www.mycompany.com/tls/policy2.xml#Employee2”>
31
31 6. Attachment Problem: –How to transport a binary file? –How to transport an XML document that use different encoding standard than the message? Solution: WS-Attachment.
32
32 WS-Attachment A standard to encode payload data outside of the SOAP body. Introduces a compound SOAP structure consists of: –Primary message part: the base SOAP message. –Secondary message parts: the attachment.
33
33 WS-Attachment (2) Primary message part referencing the secondary part using href attribute. Secondary message parts can reference to each other. Specifies DIME (Direct Internet Message Encapsulation) as the attachment description lighter than MIME for encapsulation format (used in SwA = SOAP with attachment).
34
34 WS-Attachment (3) Sample WS-Attachment message: <s:Envelope xmlns:s=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:b=“http://example.org/insurance/claim”> <b:claim s:encodingStyle=“http://schemas.xmlsoap.org/soap/envelope/”>......
35
35 Summary WS-* technologies we discussed so far: WS-Security WS-Coordination WS-Transaction WS-BPEL WS-Policy WS-Attachment WS-Reliable Messaging
36
36 Other WS-* Specifications WS-Routing. WS-Referral. WS-Addressing. WS-Eventing. WS-Trust. WS-Metadata Exchange. WS-License. WS-Inspection. WS-Notification. WS-Secure Conversation....
37
37 Other WS-* Specifications (2) WSFL = WS Flow Language. WSCI = WS Choreography Interface. XLANG. BTP = Business Transaction Protocol. BEEP = Blocks Extensible Exchange Protocol. HTTPR = Reliable HTTP. etc … Please do some research about those standards yourself. At least get to know what they are for.
38
Thank You Doddy Lukito dlukito@infinitechnology.com dlukito@alumni.carnegiemellon.edu For more information about WS-* Specification: http://www.specifications.ws
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.