SOAP - PowerPoint PPT Presentation

About This Presentation
Title:

SOAP

Description:

SOAP does not define any application semantics but defines the mechanism to ... other transport protocols, such as MSMQ or FTP, will be supported eventually. ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 55
Provided by: szigyar
Category:
Tags: soap | does | for | ftp | stand | what

less

Transcript and Presenter's Notes

Title: SOAP


1
SOAP
  • Overview

2
Agenda
  • ? Introduction
  • Software as a service
  • Starting with the service
  • ? What is SOAP?
  • SOAP how it is
  • SOAP messaging framework
  • Extensibility
  • SOAP processing model
  • Protocol binding
  • ? Why SOAP?
  • ? Web Services Solution
  • What is the Web Service?
  • Stack of layers
  • Demo example

3
Software as a service
  • What is it?

providing unified software, which every customer will able to use
building IT-systems ultimately utility like electricity and gas to provide ability for everyone plug into it
deliver the SOA (Service Oriented Architecture) in the more natural way cause widespread acceptance of the Internet
4
Private IT generating stations
Today organizations build their own home-grown, large and complex IT generating stations using existed technologies like J2EE, CORBA, DCOM and others.
5
Agenda
  • ? Introduction
  • Software as a service
  • Starting with the service
  • ? What is SOAP?
  • SOAP how it is
  • SOAP messaging framework
  • Extensibility
  • SOAP processing model
  • Protocol binding
  • ? Why SOAP?
  • ? Web Services Solution
  • What is the Web Service?
  • Stack of layers
  • Demo example

6
Service oriented architecture (SOA)
  • Previously
  • The way a service was created and delivered to
    the customer was dictated by the available
    technology
  • Our goal
  • To start with the service we want to provide
    and then work backwards into the technology

7
Delivering SOA
Choosing the technology
Providing Service
  • Natural way to provide SOA is to reverse above
    trend

Backwards into the technology
Working under Service we want to provide
8
Delivering SOA (2)
  • The quote from IBM
  • So it (SOA) basically boils down to distributed
    computing with standards that tell us how to
    invoke different applications as services in a
    secure and reliable way and then how we can link
    the different services together using
    choreography to create business processes. And
    then finally so that we can manage these services
    so that ultimately we can manage and monitor our
    business performance.
  • Resume while this is technologically valid, it
    is missing the point of SOA we are focused on
    the technology that enables SOA and not on SOA
    itself.

9
Agenda
  • ? Introduction
  • Software as a service
  • Starting with the service
  • ? What is SOAP?
  • SOAP how it is
  • SOAP messaging framework
  • Extensibility
  • SOAP processing model
  • Protocol binding
  • ? Why SOAP?
  • ? Web Services Solution
  • What is the Web Service?
  • Stack of layers
  • Demo example

10
SOAP philosophy
  • SOAP is stands by Simple Object Access Protocol
  • SOAP is a simple and flexible messaging
    framework for transferring information specified
    in the form of an XML infoset between an initial
    SOAP sender and ultimate SOAP receiver
  • SOAP does not define any application semantics
    but defines the mechanism to express application
    messaging semantics

11
SOAP philosophy (2)
  • More formal SOAP definition
  • SOAP is a lightweight protocol intended for
    exchanging structured information in a
    decentralized, distributed environment. SOAP uses
    XML technologies to define an extensible
    messaging framework, which provides a message
    construct that can be exchanged over a variety of
    underlying protocols. The framework has been
    designed to be independent of any particular
    programming model and other implementation
    specific semantics.

12
SOAP terminology
  • Node Enforcing the rules that govern the
    exchange of SOAP messages. It accesses the
    services provided by the underlying protocols
    through one or more SOAP bindings
  • Role A SOAP nodes expected function in
    message processing
  • Binding Formal set of rules for carrying a
    SOAP message within or on the top of another
    protocol (underlying protocol) for the purpose of
    exchange
  • SOAP Application Software entity that
    produces, consumes or otherwise acts upon SOAP
    message in a manner conforming to the SOAP
    processing model
  • Message path Set of SOAP nodes through which a
    single SOAP message passes

13
Agenda
  • ? Introduction
  • Software as a service
  • Starting with the service
  • ? What is SOAP?
  • SOAP how it is
  • SOAP messaging framework
  • Extensibility
  • SOAP processing model
  • Protocol binding
  • ? Why SOAP?
  • ? Web Services Solution
  • What is the Web Service?
  • Stack of layers
  • Demo example

14
SOAP messages
  • Standard SOAP message
  • lt?xml version1.0?gt
  • ltsoapEnvelope xmlnssoap"http//schemas.xmlsoap.
    org/soap/envelope/gt
  • ltsoapHeadergt lt!-- optional --gt
  • lt!-- header blocks go here... --gt
  • lt/soapHeadergt
  • ltsoapBodygt
  • lt!-- payload or Fault element goes here--gt
  • lt/soapBodygt
  • lt/soapEnvelopegt

Envelope
Header Contains requirements specific to message optional
Body Information used by application (object data, error messages, return values) required
15
SOAP request
Example of the SOAP message that represents a request to transfer funds between bank accounts
lt?xml version1.0?gt ltsoapEnvelope xmlnssoap"http//schemas.xmlsoap.org/soap/envelope/"gt ltsoapBodygt ltxTransferFunds xmlnsx"urnexamples-orgbanking"gt ltfromgt22-342439lt/fromgt lttogt98-283843lt/togt ltamountgt100.00lt/amountgt lt/xTransferFundsgt lt/soapBodygt lt/soapEnvelopegt
16
SOAP response
Response
ltsoapEnvelope xmlnssoap"http//schemas.xmlsoap.org/soap/envelope/"gt ltsoapBodygt ltxTransferFundsResponse xmlnsx"urnexamples-orgbanking"gt ltbalancesgt ltaccountgt ltidgt22-342439lt/idgt ltbalancegt33.45lt/balancegt lt/accountgt ltaccountgt ltidgt98-283843lt/idgt ltbalancegt932.73lt/balancegt lt/accountgt lt/balancesgt lt/xTransferFundsResponsegt lt/soapBodygt lt/soapEnvelopegt
17
SOAP fault codes
Name Meaning
VersionMismatch The processing party found an invalid namespace for the SOAP Envelope element
MustUnderstand An immediate child element of the SOAP Header element that was either not understood or not obeyed by the processing party contained a SOAP mustUnderstand attribute with a value of 1
Client The Client class of errors indicates that the message was incorrectly formed or didnt contain the appropriate information in order to succeed. It is generally an indication that the message should not be resent without change
Server The Server class of errors indicates that the message could not be processed for reasons not directly attributable to the contents of the message, but rather to the processing of the message. For example, processing could include communicating with an upstream processor, which didnt respond. The message may succeed if re-sent at a later point in time
18
SOAP fault example
The following sample SOAP message contains Fault element that indicates an Insufficient Funds error occurred while processing the previous request
ltsoapEnvelope xmlnssoap"http//schemas.xmlsoap.org/soap/envelope/"gt ltsoapBodygt ltsoapFaultgt ltfaultcodegtsoapServerlt/faultcodegt ltfaultstringgtInsufficient fundslt/faultstringgt ltdetailgt ltxTransferError xmlnsx"urnexamples-orgbanking"gt ltsourceAccountgt22-342439lt/sourceAccountgt lttransferAmountgt100.00lt/transferAmountgt ltcurrentBalancegt89.23lt/currentBalancegt lt/xTransferErrorgt lt/detailgt lt/soapFaultgt lt/soapBodygt lt/soapEnvelopegt
19
Agenda
  • ? Introduction
  • Software as a service
  • Starting with the service
  • ? What is SOAP?
  • SOAP how it is
  • SOAP messaging framework
  • Extensibility
  • SOAP processing model
  • Protocol binding
  • ? Why SOAP?
  • ? Web Services Solution
  • What is the Web Service?
  • Stack of layers
  • Demo example

20
SOAP Header
  • Header element, like the Body element, is a
    generic container for control information
  • Elements placed in the Header are referred to
    as header blocks
  • Header should contain information that
    influences payload processing
  • Header is the right place to put some
    credential information that helps control access
    to the operation

21
SOAP Header (example)
This example related to our previous example dedicated to bank accounts
ltsoapEnvelope xmlnssoap"http//schemas.xmlsoap.org/soap/envelope/"gt ltsoapHeadergt lt!-- security credentials --gt ltscredentials xmlnss"urnexamples-orgsecurity mustUnderstand1gt ltusernamegtdavelt/usernamegt ltpasswordgtevadlt/passwordgt lt/scredentialsgt lt/soapHeadergt ltsoapBodygt ltxTransferFunds xmlnsx"urnexamples-orgbanking"gt ltfromgt22-342439lt/fromgt lttogt98-283843lt/togt ltamountgt100.00lt/amountgt lt/xTransferFundsgt lt/soapBodygt lt/soapEnvelopegt
22
Simple messaging scenario
  • SOAP defines a processing model that outlines
    rules for processing a SOAP message as it travels
    from SOAP sender to a SOAP receiver

23
Agenda
  • ? Introduction
  • Software as a service
  • Starting with the service
  • ? What is SOAP?
  • SOAP how it is
  • SOAP messaging framework
  • Extensibility
  • SOAP processing model
  • Protocol binding
  • ? Why SOAP?
  • ? Web Services Solution
  • What is the Web Service?
  • Stack of layers
  • Demo example

24
Sophisticated SOAP messaging
  • However, SOAP processing model allows for more
    interesting architectures, which contains
    multiple intermediary nodes

25
Intermediaries nodes
while processing a message, a SOAP node assumes one or more roles that influence how SOAP header is processed roles are given unique names (in the form of URIs), so they can be identified during processing
ltsoapEnvelope xmlnssoap"http//schemas.xmlsoap.org/soap/envelope/"gt ltsoapHeadergt ltwsrppath xmlnswsrp"http//schemas.xmlsoap.org/rp" soapactor"http//schemas.xmlsoap.org/soap/actor/next" soapmustUnderstand"1" gt ...
26
SOAP 1.2 Roles
SOAP role name Description
http//www.w3.org/2002/06/soap-envelope/role/next Each SOAP intermediary and the ultimate SOAP receiver MUST act in this role and MAY additionally assume zero or more other SOAP roles
http//www.w3.org/2002/06/soap-envelope/role/none SOAP nodes MUST NOT act in this role
http//www.w3.org/2002/06/soap-envelope/role/ultimateReceiver To establish itself as an ultimate SOAP receiver, a SOAP node MUST act in this role. SOAP intermediaries MUST NOT act in this role
  • Remark SOAP 1.1 defines only one role next.
    Every node must acts as next role

27
Agenda
  • ? Introduction
  • Software as a service
  • Starting with the service
  • ? What is SOAP?
  • SOAP how it is
  • SOAP messaging framework
  • Extensibility
  • SOAP processing model
  • Protocol binding
  • ? Why SOAP?
  • ? Web Services Solution
  • What is the Web Service?
  • Stack of layers
  • Demo example

28
Protocol Bindings
  • each intermediary could choose to use different
    communication protocol without affecting the SOAP
    message
  • standard protocol binding is required to ensure
    high level of interoperability across SOAP
    applications and infrastructure
  • a concrete protocol binding defines exactly how
    SOAP message should be transmitted with given
    protocol
  • it defines the details of how SOAP fits within
    the scope of another protocol, which probably has
    its own messaging framework with a variety of
    headers

29
SOAP HTTP Bindings
  • SOAP 1.1 specification only codifies a protocol
    binding for HTTP, due to its wide use
  • Remark the context type header for both HTTP
    request and response messages must be set to
    txt/xml (application/soapxml in SOAP 1.2)

30
Agenda
  • ? Introduction
  • Software as a service
  • Starting with the service
  • ? What is SOAP?
  • SOAP how it is
  • SOAP messaging framework
  • Extensibility
  • SOAP processing model
  • Protocol binding
  • ? Why SOAP?
  • ? Web Services Solution
  • What is the Web Service?
  • Stack of layers
  • Demo example

31
Industry acceptance for SOAP
  • developers have been able to download and use
    the technology, rather than just read
    specifications and industry analysis
  • SOAP changes both the way software will be
    developed and the way industry rivals and
    cooperating
  • many of the key industry software leaders have
    announced their support for SOAP, including, HP,
    SAP, Software AG, Sun Microsystems, and Oracle
  • Microsoft and IBM have lead to the release of
    Web Services platform, with SOAP services being
    the core technology in the initial releases
  • emergence of Web Services Definition Language
    (WSDL) and Universal Description, Discovery and
    Integration (UDDI)

32
SOAP transport
  • Most of SOAP servers currently use HTTP as the
    transport protocol for the XML payload in SOAP
    message cause HTTP satisfies a number of
    requirements
  • Ubiquity
  • Firewall friendliness
  • Simplicity
  • Scalability
  • Readily capable of being secure
  • There are a number of SOAP implementations that
    support other transport layers, such as
  • HTTPS using SSL provides security
  • SMTP enables asynchronous SOAP requests /
    SOAP report
  • It can be expected that other transport
    protocols, such as MSMQ or FTP, will be supported
    eventually. IBM has an interesting for HTTPR to
    provide a reliable transport layer for SOAP
    messages

33
SOAP extensibility
  • SOAP defines a communication framework that
    allows for such features to be added down the
    road as layered extensions. Microsoft, IBM and
    other software vendors working out a common suite
    of SOAP extensions that will add many of these
    features that most developers expect. SOAP
    extensibility is key.

34
Enterprise Application Integration (EAI)
  • There has been considerable speculation that
    current Enterprise Application Integration (EAI)
    products will be made redundant by SOAP.
  • But, there is still a role for heavy-duty,
    enterprise-grade EAI products that integrate with
    more obscure legacy systems or provide unusually
    high qualities of service.
  • Significant SOAP will encourage and enable a
    whole new generation of EAI projects that were
    not previously possible due to technical and cost
    constraints.

35
SOAP advantages and disadvantages
  • Advantages
  • Human readable XML
  • Easy to debug
  • SOAP runs over HTTP
  • Firewalls not affected
  • Services can be written in any language,
  • platform or operating system
  • Disadvantages
  • S-L-O..-W
  • XML produces a lot of overhead for small
    messages
  • Web Services speed relies on Internet traffic
    conditions
  • Not strictly-typed XML

36
Agenda
  • ? Introduction
  • Software as a service
  • Starting with the service
  • ? What is SOAP?
  • SOAP how it is
  • SOAP messaging framework
  • Extensibility
  • SOAP processing model
  • Protocol binding
  • ? Why SOAP?
  • ? Web Services Solution
  • What is the Web Service?
  • Stack of layers
  • Demo example

37
What about definition?
  • Each software vendor defines Web Service in a
    slightly different way
  • Gartner WS is loosely coupled software
    components that interact with one another
    dynamically via standard Internet technology.
  • Forrest Research WS is a formatted connection
    between people, systems and applications, that
    expose elements of business functionality as a
    software service and create new business value.
  • Common feature WS is components that you can
    use, re-use, mix, and match to enhance Internet
    and Intranet applications.

38
At the basic level
  • Web Service is
  • universal client/server architecture that
    allows disparate systems to communicate with each
    other without using proprietary client libraries
  • architecture that simplifies the development
    process typically associated with client/server
    applications by effectively eliminating code
    dependencies between client and server
  • architecture where server interface
    information is disclosed to the client via a
    configuration file encoded in a standard format
    (WSDL). Doing so allows the server to publish a
    single file for all target client platforms

39
Agenda
  • ? Introduction
  • Software as a service
  • Starting with the service
  • ? What is SOAP?
  • SOAP how it is
  • SOAP messaging framework
  • Extensibility
  • SOAP processing model
  • Protocol binding
  • ? Why SOAP?
  • ? Web Services Solution
  • What is the Web Service?
  • Stack of layers
  • Demo example

40
Whats from WebServices.org?
Layer Example
Service Negotiation Treading partner agreement
Workflow, discovery and Register UDDI (Universal Description, Discovery Integration)
Service description language WSDL (Web Services Definition Language)
Messaging SOAP
Transport protocol HTTP, HTTPS, SMTP
Business Issues Management, Quality of service, Security, Open standards
41
Interaction with Web Service
42
Accessing publication
43
Agenda
  • ? Introduction
  • Software as a service
  • Starting with the service
  • ? What is SOAP?
  • SOAP how it is
  • SOAP messaging framework
  • Extensibility
  • SOAP processing model
  • Protocol binding
  • ? Why SOAP?
  • ? Web Services Solution
  • What is the Web Service?
  • Stack of layers
  • Demo example

44
Demo service main page
45
Demo service method call page
46
SOAP request
47
SOAP response
48
HTTP POST request and response
49
2 3 whats the answer?
50
Simple VB script client
Something go wrong
Everything alright With your message
51
Everything alright? But, wheres my answer?
Dont worry! Here is!!!
52
Whats go wrong?
Heres the answer
53
Thank you for your attention!!!
54
Case studies
Mothers cakes
Little Red Riding Hood
How we can help Little Red Riding Hood reach the
grandma with mothers cakes?
Grandma
Write a Comment
User Comments (0)
About PowerShow.com