CSCI 599: Beyond Web Browsers - PowerPoint PPT Presentation

1 / 48
About This Presentation
Title:

CSCI 599: Beyond Web Browsers

Description:

Emerging as a standard for interoperability among applications that wish to exchange data. ... Attribute values must be enclosed in quotation marks. ... – PowerPoint PPT presentation

Number of Views:85
Avg rating:3.0/5.0
Slides: 49
Provided by: vishalt
Category:

less

Transcript and Presenter's Notes

Title: CSCI 599: Beyond Web Browsers


1
CSCI 599 Beyond Web Browsers
  • Professor Shahram Ghandeharizadeh
  • Computer Science Department
  • Los Angeles, CA 90089

2
eXtensible Markup Language (XML)
  • XML
  • A World-Wide-Web Consortium (W3C) standard.
  • Enables you to create your own tags.
  • Emerging as a standard for interoperability among
    applications that wish to exchange data.
  • Separates content (document) from presentation
    (style sheet).

3
XML Terminology
  • An XML element is made up of a start tag, an end
    tag, and data in between
  • ltclassgtcsci599lt/classgt
  • Tags without text can contain the end marker at
    the end of the start tag, I.e., ltclassgtlt/classgt
    is equivalent to ltclass /gt
  • An element may contain one or more attributes
  • ltclass typeSeminargtcsci599lt/classgt
  • An attribute is a name-value pair separated by
  • Attribute values must be enclosed in quotation
    marks.
  • Document Type Definition (DTD) defines the tags
    contained in your document, what tags contain
    other tags, number and sequence of tags, the
    attributes your tags may have, and optionally,
    the values those attributes may have.

Describes data within the tags! class is a
tag!
4
XML Name Space (xmlns)
  • Collection of names used as element or attribute
    names in an XML document.
  • Qualifies element names on the Web to avoid
    conflicts between elements with the same name.
  • A name space is identified by a globally unique
    URI (across the Internet).
  • Name spaces are declared in 2 ways
  • Explicit
  • Implicit

5
Explicit xmlns
  • ltBOOKSgt
  • ltbkBOOK xmlnsbkurnBookLovers.orgBookInfo
    xmlnsmoneyurnFinance.Moneygt
  • ltbkTITLEgtWeb Serviceslt/bkTITLEgt
  • ltbkPRICE moneycurrencyUS DOLLARgt22.95lt/bkP
    RICEgt
  • lt/bkBOOKgt
  • lt/BOOKSgt

6
Explicit xmlns
  • ltBOOKSgt
  • ltbkBOOK xmlnsbkurnBookLovers.orgBookInfo
    xmlnsmoneyurnFinance.Moneygt
  • ltbkTITLEgtWeb Serviceslt/bkTITLEgt
  • ltbkPRICE moneycurrencyUS DOLLARgt22.95lt/bkP
    RICEgt
  • lt/bkBOOKgt
  • lt/BOOKSgt

Declares bk and money to be shorthand for the
full names of their respective namespaces. Bk
and money are name spaces.
7
Explicit xmlns
  • ltBOOKSgt
  • ltbkBOOK xmlnsbkurnBookLovers.orgBookInfo
    xmlnsmoneyurnFinance.Moneygt
  • ltbkTITLEgtWeb Serviceslt/bkTITLEgt
  • ltbkPRICE moneycurrencyUS DOLLARgt22.95lt/bkP
    RICEgt
  • lt/bkBOOKgt
  • lt/BOOKSgt

This is the namespace value for bk variable!
8
Explicit xmlns
  • ltBOOKSgt
  • ltbkBOOK xmlnsbkurnBookLovers.orgBookInfo
    xmlnsmoneyurnFinanceMoneygt
  • ltbkTITLEgtWeb Serviceslt/bkTITLEgt
  • ltbkPRICE moneycurrencyUS DOLLARgt22.95lt/bkP
    RICEgt
  • lt/bkBOOKgt
  • lt/BOOKSgt

All elements/attributes beginning with bk or
money are considered to be from the namespace
urnBookLovers.orgBookInfo or
urnFinanceMoney
9
Explicit xmlns
  • ltBOOKSgt
  • ltbkBOOK xmlnsbkurnBookLovers.orgBookInfo
    xmlnsmoneyurnFinanceMoneygt
  • ltbkTITLEgtWeb Serviceslt/bkTITLEgt
  • ltbkPRICE moneycurrencyUS DOLLARgt22.95lt/bkP
    RICEgt
  • lt/bkBOOKgt
  • lt/BOOKSgt

This is the bk namespace prefix qualifying the
TITLE tag!
10
Explicit xmlns
  • ltBOOKSgt
  • ltbkBOOK xmlnsbkurnBookLovers.orgBookInfo
    xmlnsmoneyurnFinanceMoneygt
  • ltbkTITLEgtWeb Serviceslt/bkTITLEgt
  • ltbkPRICE moneycurrencyUS DOLLARgt22.95lt/bkP
    RICEgt
  • lt/bkBOOKgt
  • lt/BOOKSgt

What is this?
11
Explicit xmlns
  • ltBOOKSgt
  • ltbkBOOK xmlnsbkurnBookLovers.orgBookInfo
    xmlnsmoneyurnFinanceMoneygt
  • ltbkTITLEgtWeb Serviceslt/bkTITLEgt
  • ltbkPRICE moneycurrencyUS DOLLARgt22.95lt/bkP
    RICEgt
  • lt/bkBOOKgt
  • lt/BOOKSgt

Price element value!
12
Explicit xmlns
  • ltBOOKSgt
  • ltbkBOOK xmlnsbkurnBookLovers.orgBookInfo
    xmlnsmoneyurnFinanceMoneygt
  • ltbkTITLEgtWeb Serviceslt/bkTITLEgt
  • ltbkPRICE moneycurrencyUS DOLLARgt22.95lt/bkP
    RICEgt
  • lt/bkBOOKgt
  • lt/BOOKSgt

What is this?
13
Explicit xmlns
  • ltBOOKSgt
  • ltbkBOOK xmlnsbkurnBookLovers.orgBookInfo
    xmlnsmoneyurnFinanceMoneygt
  • ltbkTITLEgtWeb Serviceslt/bkTITLEgt
  • ltbkPRICE moneycurrencyUS DOLLARgt22.95lt/bkP
    RICEgt
  • lt/bkBOOKgt
  • lt/BOOKSgt

Attribute value!
14
Implicit xmlns
  • A namespace without a prefix becomes the default
    namespace
  • ltBOOKSgt
  • ltBOOK xmlnsurnBookLovers.orgBookInfogt
  • ltTITLEgtWeb Serviceslt/TITLEgt
  • ltPRICE currencyUS DOLLARgt22.95lt/PRICEgt
  • lt/BOOKgt
  • lt/BOOKSgt

15
GXA
  • GXA, Global XML Web Services Architecture
  • GXA consists of several specifications
  • DIME Specification Index Page
  • WS-Attachments
  • WS-Coordination
  • WS-Inspection
  • WS-Referral
  • WS-Routing
  • WS-Security
  • WS-Transaction

16
WS-Routing
  • Stateless, SOAP-based protocol for routing SOAP
    messages.
  • With WS-Routing, the entire message path for a
    SOAP message (as well as its return path) can be
    described directly in the SOAP envelope.
  • Designed for
  • One-way two-way messaging
  • Peer-to-peer conversations
  • Long running dialogs.

17
WS-Routing
  • Why?
  • SOAP-based specifications are designed to be
    composed with each other to provide a rich
    messaging environment.
  • WS-Routing encpsulates a message path within a
    SOAP message.

18
WS-Routing
  • What is missing from SOAP?
  • SOAP cannot indicate a message path that
    organizes a collection of Web Services that act
    as intermediaries into a sequence.
  • Example
  • SOAP message M generated by A can indicate which
    part of M is intended for B, C, and D.
  • As SOAP message CANNOT indicate that the
    intermediaries should be organized as follows

D
B
C
A
19
Example
D
B
C
A
  • ltSOAP-ENVEnvelope
  • xmlnsSOAP-ENV"http//www.w3.org/2001/06/soap-e
    nvelope"gt ltSOAP-ENVHeadergt
  • ltwsrppath xmlnswsrp"http//schemas.xmlsoap.or
    g/rp/"gt ltwsrpactiongthttp//www.im.org/chatlt/ws
    rpactiongt ltwsrptogtsoap//D.com/some/endpointlt
    /wsrptogt ltwsrpfwdgt
  • ltwsrpviagtsoap//B.comlt/wsrpviagt
    ltwsrpviagtsoap//C.comlt/wsrpviagt
  • lt/wsrpfwdgt ltwsrpfromgtsoap//A.com/som
    e/endpointlt/wsrpfromgt ltwsrpidgtuuid84b9f5d0-3
    3fb-4a81-b02b5b760641c1d6lt/wsrpidgt
  • lt/wsrppathgt
  • lt/SOAP-ENVHeadergt
  • ltSOAP-ENVBodygt
  • ...
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

20
Example
D
B
C
A
  • ltSOAP-ENVEnvelope
  • xmlnsSOAP-ENV"http//www.w3.org/2001/06/soap-e
    nvelope"gt ltSOAP-ENVHeadergt
  • ltwsrppath xmlnswsrp"http//schemas.xmlsoap.or
    g/rp/"gt ltwsrpactiongthttp//www.im.org/chatlt/ws
    rpactiongt ltwsrptogtsoap//D.com/some/endpointlt
    /wsrptogt ltwsrpfwdgt
  • ltwsrpviagtsoap//B.comlt/wsrpviagt
    ltwsrpviagtsoap//C.comlt/wsrpviagt
  • lt/wsrpfwdgt ltwsrpfromgtsoap//A.com/som
    e/endpointlt/wsrpfromgt ltwsrpidgtuuid84b9f5d0-3
    3fb-4a81-b02b5b760641c1d6lt/wsrpidgt
  • lt/wsrppathgt
  • lt/SOAP-ENVHeadergt
  • ltSOAP-ENVBodygt
  • ...
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

This is the ultimate end point, node D
21
Example
D
B
C
A
  • ltSOAP-ENVEnvelope
  • xmlnsSOAP-ENV"http//www.w3.org/2001/06/soap-e
    nvelope"gt ltSOAP-ENVHeadergt
  • ltwsrppath xmlnswsrp"http//schemas.xmlsoap.or
    g/rp/"gt ltwsrpactiongthttp//www.im.org/chatlt/ws
    rpactiongt ltwsrptogtsoap//D.com/some/endpointlt
    /wsrptogt ltwsrpfwdgt
  • ltwsrpviagtsoap//B.comlt/wsrpviagt
    ltwsrpviagtsoap//C.comlt/wsrpviagt
  • lt/wsrpfwdgt ltwsrpfromgtsoap//A.com/som
    e/endpointlt/wsrpfromgt ltwsrpidgtuuid84b9f5d0-3
    3fb-4a81-b02b5b760641c1d6lt/wsrpidgt
  • lt/wsrppathgt
  • lt/SOAP-ENVHeadergt
  • ltSOAP-ENVBodygt
  • ...
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

Forward message path as an ordered list of via
elements
22
Example
D
B
C
A
  • ltSOAP-ENVEnvelope
  • xmlnsSOAP-ENV"http//www.w3.org/2001/06/soap-e
    nvelope"gt ltSOAP-ENVHeadergt
  • ltwsrppath xmlnswsrp"http//schemas.xmlsoap.or
    g/rp/"gt ltwsrpactiongthttp//www.im.org/chatlt/ws
    rpactiongt ltwsrptogtsoap//D.com/some/endpointlt
    /wsrptogt ltwsrpfwdgt
  • ltwsrpviagtsoap//B.comlt/wsrpviagt
    ltwsrpviagtsoap//C.comlt/wsrpviagt
  • lt/wsrpfwdgt ltwsrpfromgtsoap//A.com/som
    e/endpointlt/wsrpfromgt ltwsrpidgtuuid84b9f5d0-3
    3fb-4a81-b02b5b760641c1d6lt/wsrpidgt
  • lt/wsrppathgt
  • lt/SOAP-ENVHeadergt
  • ltSOAP-ENVBodygt
  • ...
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

The node originating the message, node A
23
Example
D
B
C
A
  • ltSOAP-ENVEnvelope
  • xmlnsSOAP-ENV"http//www.w3.org/2001/06/soap-e
    nvelope"gt ltSOAP-ENVHeadergt
  • ltwsrppath xmlnswsrp"http//schemas.xmlsoap.or
    g/rp/"gt ltwsrpactiongthttp//www.im.org/chatlt/ws
    rpactiongt ltwsrptogtsoap//D.com/some/endpointlt
    /wsrptogt ltwsrpfwdgt
  • ltwsrpviagtsoap//B.comlt/wsrpviagt
    ltwsrpviagtsoap//C.comlt/wsrpviagt
  • lt/wsrpfwdgt ltwsrpfromgtsoap//A.com/som
    e/endpointlt/wsrpfromgt ltwsrpidgtuuid84b9f5d0-3
    3fb-4a81-b02b5b760641c1d6lt/wsrpidgt
  • lt/wsrppathgt
  • lt/SOAP-ENVHeadergt
  • ltSOAP-ENVBodygt
  • ...
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

An intermediary that the message must visit, node
B
24
Example
D
B
C
A
  • ltSOAP-ENVEnvelope
  • xmlnsSOAP-ENV"http//www.w3.org/2001/06/soap-e
    nvelope"gt ltSOAP-ENVHeadergt
  • ltwsrppath xmlnswsrp"http//schemas.xmlsoap.or
    g/rp/"gt ltwsrpactiongthttp//www.im.org/chatlt/ws
    rpactiongt ltwsrptogtsoap//D.com/some/endpointlt
    /wsrptogt ltwsrpfwdgt
  • ltwsrpviagtsoap//B.comlt/wsrpviagt
    ltwsrpviagtsoap//C.comlt/wsrpviagt
  • lt/wsrpfwdgt ltwsrpfromgtsoap//A.com/som
    e/endpointlt/wsrpfromgt ltwsrpidgtuuid84b9f5d0-3
    3fb-4a81-b02b5b760641c1d6lt/wsrpidgt
  • lt/wsrppathgt
  • lt/SOAP-ENVHeadergt
  • ltSOAP-ENVBodygt
  • ...
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

Another intermediary after node B
25
Processing
D
B
C
A
  • ltSOAP-ENVEnvelope
  • xmlnsSOAP-ENV"http//www.w3.org/2001/06/soap-e
    nvelope"gt ltSOAP-ENVHeadergt
  • ltwsrppath xmlnswsrp"http//schemas.xmlsoap.or
    g/rp/"gt ltwsrpactiongthttp//www.im.org/chatlt/ws
    rpactiongt ltwsrptogtsoap//D.com/some/endpointlt
    /wsrptogt ltwsrpfwdgt
  • ltwsrpviagtsoap//B.comlt/wsrpviagt
    ltwsrpviagtsoap//C.comlt/wsrpviagt
  • lt/wsrpfwdgt ltwsrpfromgtsoap//A.com/som
    e/endpointlt/wsrpfromgt ltwsrpidgtuuid84b9f5d0-3
    3fb-4a81-b02b5b760641c1d6lt/wsrpidgt
  • lt/wsrppathgt
  • lt/SOAP-ENVHeadergt
  • ltSOAP-ENVBodygt
  • ...
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

26
Processing
D
B
C
A
  • ltSOAP-ENVEnvelope
  • xmlnsSOAP-ENV"http//www.w3.org/2001/06/soap-e
    nvelope"gt ltSOAP-ENVHeadergt
  • ltwsrppath xmlnswsrp"http//schemas.xmlsoap.or
    g/rp/"gt ltwsrpactiongthttp//www.im.org/chatlt/ws
    rpactiongt ltwsrptogtsoap//D.com/some/endpointlt
    /wsrptogt ltwsrpfwdgt
  • ltwsrpviagtsoap//C.comlt/wsrpviagt
  • lt/wsrpfwdgt ltwsrpfromgtsoap//A.com/som
    e/endpointlt/wsrpfromgt ltwsrpidgtuuid84b9f5d0-3
    3fb-4a81-b02b5b760641c1d6lt/wsrpidgt
  • lt/wsrppathgt
  • lt/SOAP-ENVHeadergt
  • ltSOAP-ENVBodygt
  • ...
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

27
Processing
D
B
C
A
  • ltSOAP-ENVEnvelope
  • xmlnsSOAP-ENV"http//www.w3.org/2001/06/soap-e
    nvelope"gt ltSOAP-ENVHeadergt
  • ltwsrppath xmlnswsrp"http//schemas.xmlsoap.or
    g/rp/"gt ltwsrpactiongthttp//www.im.org/chatlt/ws
    rpactiongt ltwsrptogtsoap//D.com/some/endpointlt
    /wsrptogt ltwsrpfwdgt
  • lt/wsrpfwdgt ltwsrpfromgtsoap//A.com/some
    /endpointlt/wsrpfromgt ltwsrpidgtuuid84b9f5d0-33
    fb-4a81-b02b5b760641c1d6lt/wsrpidgt
  • lt/wsrppathgt
  • lt/SOAP-ENVHeadergt
  • ltSOAP-ENVBodygt
  • ...
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

28
Processing
D
B
C
A
  • ltSOAP-ENVEnvelope
  • xmlnsSOAP-ENV"http//www.w3.org/2001/06/soap-e
    nvelope"gt ltSOAP-ENVHeadergt
  • ltwsrppath xmlnswsrp"http//schemas.xmlsoap.or
    g/rp/"gt ltwsrpactiongthttp//www.im.org/chatlt/ws
    rpactiongt ltwsrptogtsoap//D.com/some/endpointlt
    /wsrptogt ltwsrpfwdgt
  • lt/wsrpfwdgt ltwsrpfromgtsoap//A.com/some
    /endpointlt/wsrpfromgt ltwsrpidgtuuid84b9f5d0-33
    fb-4a81-b02b5b760641c1d6lt/wsrpidgt
  • lt/wsrppathgt
  • lt/SOAP-ENVHeadergt
  • ltSOAP-ENVBodygt
  • ...
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

29
Processing
D
B
C
A
  • If the value of to element does not identify
    D then WS-Routing generates a fault
  • ltSOAP-ENVEnvelope
  • xmlnsSOAP-ENV"http//www.w3.org/2001/06/soap-e
    nvelope"gt ltSOAP-ENVHeadergt
  • ltwsrppath xmlnswsrp"http//schemas.xmlsoap.or
    g/rp/"gt ltwsrpactiongthttp//www.im.org/chatlt/ws
    rpactiongt ltwsrptogtsoap//D.com/some/endpointlt
    /wsrptogt ltwsrpfwdgt
  • lt/wsrpfwdgt ltwsrpfromgtsoap//A.com/some
    /endpointlt/wsrpfromgt ltwsrpidgtuuid84b9f5d0-33
    fb-4a81-b02b5b760641c1d6lt/wsrpidgt
  • lt/wsrppathgt
  • lt/SOAP-ENVHeadergt
  • ltSOAP-ENVBodygt
  • ...
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

30
Example
D
B
C
A
  • With rev, WS-Routing builds a reverse path
  • ltSOAP-ENVEnvelope
  • xmlnsSOAP-ENV"http//www.w3.org/2001/06/soap-e
    nvelope"gt ltSOAP-ENVHeadergt
  • ltwsrppath xmlnswsrp"http//schemas.xmlsoap.or
    g/rp/"gt ltwsrpactiongthttp//www.im.org/chatlt/ws
    rpactiongt ltwsrptogtsoap//D.com/some/endpointlt
    /wsrptogt ltwsrpfwdgt
  • ltwsrpviagtsoap//B.comlt/wsrpviagt
    ltwsrpviagtsoap//C.comlt/wsrpviagt
  • lt/wsrpfwdgt
  • ltwsrprevgt
  • lt/wsrprevgt ltwsrpfromgtsoap//A.com/some
    /endpointlt/wsrpfromgt ltwsrpidgtuuid84b9f5d0-33
    fb-4a81-b02b5b760641c1d6lt/wsrpidgt
  • lt/wsrppathgt
  • lt/SOAP-ENVHeadergt
  • ltSOAP-ENVBodygt
  • ...
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

31
Example
D
B
C
A
  • ltSOAP-ENVEnvelope
  • xmlnsSOAP-ENV"http//www.w3.org/2001/06/soap-e
    nvelope"gt ltSOAP-ENVHeadergt
  • ltwsrppath xmlnswsrp"http//schemas.xmlsoap.or
    g/rp/"gt ltwsrpactiongthttp//www.im.org/chatlt/ws
    rpactiongt ltwsrptogtsoap//D.com/some/endpointlt
    /wsrptogt ltwsrpfwdgt
  • ltwsrpviagtsoap//C.comlt/wsrpviagt
  • lt/wsrpfwdgt
  • ltwsrprevgt
  • ltwsrpviagtsoap//B.comlt/wsrpviagt
  • lt/wsrprevgt ltwsrpfromgtsoap//A.com/some
    /endpointlt/wsrpfromgt ltwsrpidgtuuid84b9f5d0-33
    fb-4a81-b02b5b760641c1d6lt/wsrpidgt
  • lt/wsrppathgt
  • lt/SOAP-ENVHeadergt
  • ltSOAP-ENVBodygt
  • ...
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

32
Example
D
B
C
A
  • ltSOAP-ENVEnvelope
  • xmlnsSOAP-ENV"http//www.w3.org/2001/06/soap-e
    nvelope"gt ltSOAP-ENVHeadergt
  • ltwsrppath xmlnswsrp"http//schemas.xmlsoap.or
    g/rp/"gt ltwsrpactiongthttp//www.im.org/chatlt/ws
    rpactiongt ltwsrptogtsoap//D.com/some/endpointlt
    /wsrptogt ltwsrpfwdgt
  • lt/wsrpfwdgt
  • ltwsrprevgt
  • ltwsrpviagtsoap//C.comlt/wsrpviagt
  • ltwsrpviagtsoap//B.comlt/wsrpviagt
  • lt/wsrprevgt ltwsrpfromgtsoap//A.com/some
    /endpointlt/wsrpfromgt ltwsrpidgtuuid84b9f5d0-33
    fb-4a81-b02b5b760641c1d6lt/wsrpidgt
  • lt/wsrppathgt
  • lt/SOAP-ENVHeadergt
  • ltSOAP-ENVBodygt
  • ...
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

33
Example
D
B
C
A
  • Node D may contact A by
  • Setting its ltfwdgt to the ltrevgt in order to
    contact node A
  • Swap the value of its lttogt and ltfromgt
  • ltwsrppath xmlnswsrp"http//schemas.xmlsoap.or
    g/rp/"gt ltwsrpactiongthttp//www.im.org/chatlt/ws
    rpactiongt ltwsrptogtsoap//D.com/some/endpointlt
    /wsrptogt ltwsrpfwdgt
  • lt/wsrpfwdgt
  • ltwsrprevgt
  • ltwsrpviagtsoap//C.comlt/wsrpviagt
  • ltwsrpviagtsoap//B.comlt/wsrpviagt
  • lt/wsrprevgt ltwsrpfromgtsoap//A.com/some
    /endpointlt/wsrpfromgt ltwsrpidgtuuid84b9f5d0-33
    fb-4a81-b02b5b760641c1d6lt/wsrpidgt
  • lt/wsrppathgt

34
WS-Routing
  • WS-Routing does not define fan-in or fan-out
    message path models.

35
Questions Answers
36
WS-Referral
  • Provides a way to configure how SOAP routers will
    build a message path
  • It is a protocol for inserting, deleting, and
    querying routing entries in a SOAP router.
  • SOAP router is a web service that
  • implements WS-Routing,
  • Implements WS-Referral specification.
  • A SOAP router may use WS-Referral to
  • Learn about firewalls and other intermediaries
  • Implement load balancing, etc.

37
WS-Referral
  • Key specifications for, if, go
  • These can loosely be described as a for if
    then go via
  • For any SOAP actor name matching the set of SOAP
    actors listed in the for element
  • If the set of conditions listed in the if element
    is met and hence the statement is satisfied
  • Then go via one of the SOAP routers listed in the
    go element

38
WS-Referral - Example
  • Example 1 from msdn.micorosoft.com
  • ltrref xmlnsrhttp//schemas.xmlsoap.org/ws/2001
    /10/referralgt
  • ltrforgt
  • ltrexactgtsoap//example.org/some.doclt/rexactgt
  • ltrprefixgtsoap//example.org/topics/icebergslt/rpr
    efixgt
  • lt/rforgt
  • ltrifgt
  • ltrttlgt43200000lt/rttlgt
  • lt/rifgt
  • ltrgogt
  • ltrviagtsoap//example.com/mirrorlt/rviagt
  • lt/rgogt
  • ltrrefidgtuuid09233523-345b-4351-b623-5dsf35sgs5lt/
    rrefIdgt
  • ltrdescgt
  • ltrrefAddrgthttp//example.com/references/2001/10/
    1234.xmllt/rrefAddrgt
  • lt/rdescgt
  • lt/rrefgt

39
WS-Referral - Example
  • Example 1 from msdn.micorosoft.com
  • ltrref xmlnsrhttp//schemas.xmlsoap.org/ws/2001
    /10/referralgt
  • ltrforgt
  • ltrexactgtsoap//example.org/some.doclt/rexactgt
  • ltrprefixgtsoap//example.org/topics/icebergslt/rpr
    efixgt
  • lt/rforgt
  • ltrifgt
  • ltrttlgt43200000lt/rttlgt
  • lt/rifgt
  • ltrgogt
  • ltrviagtsoap//example.com/mirrorlt/rviagt
  • lt/rgogt
  • ltrrefidgtuuid09233523-345b-4351-b623-5dsf35sgs5lt/
    rrefIdgt
  • ltrdescgt
  • ltrrefAddrgthttp//example.com/references/2001/10/
    1234.xmllt/rrefAddrgt
  • lt/rdescgt
  • lt/rrefgt

For any SOAP actor name matching
soap//example.org/some.doc
40
WS-Referral - Example
  • Example 1 from msdn.micorosoft.com
  • ltrref xmlnsrhttp//schemas.xmlsoap.org/ws/2001
    /10/referralgt
  • ltrforgt
  • ltrexactgtsoap//example.org/some.doclt/rexactgt
  • ltrprefixgtsoap//example.org/topics/icebergslt/rpr
    efixgt
  • lt/rforgt
  • ltrifgt
  • ltrttlgt43200000lt/rttlgt
  • lt/rifgt
  • ltrgogt
  • ltrviagtsoap//example.com/mirrorlt/rviagt
  • lt/rgogt
  • ltrrefidgtuuid09233523-345b-4351-b623-5dsf35sgs5lt/
    rrefIdgt
  • ltrdescgt
  • ltrrefAddrgthttp//example.com/references/2001/10/
    1234.xmllt/rrefAddrgt
  • lt/rdescgt
  • lt/rrefgt

For any SOAP actor name matching
soap//example.org/some.doc or starting with
prefix soapicebergs
41
WS-Referral - Example
  • Example 1 from msdn.micorosoft.com
  • ltrref xmlnsrhttp//schemas.xmlsoap.org/ws/2001
    /10/referralgt
  • ltrforgt
  • ltrexactgtsoap//example.org/some.doclt/rexactgt
  • ltrprefixgtsoap//example.org/topics/icebergslt/rpr
    efixgt
  • lt/rforgt
  • ltrifgt
  • ltrttlgt43200000lt/rttlgt
  • lt/rifgt
  • ltrgogt
  • ltrviagtsoap//example.com/mirrorlt/rviagt
  • lt/rgogt
  • ltrrefidgtuuid09233523-345b-4351-b623-5dsf35sgs5lt/
    rrefIdgt
  • ltrdescgt
  • ltrrefAddrgthttp//example.com/references/2001/10/
    1234.xmllt/rrefAddrgt
  • lt/rdescgt
  • lt/rrefgt

For any SOAP actor name matching
soap//example.org/some.doc or starting with
prefix soapicebergs, if this referral is less
than 12 hours old
42
WS-Referral - Example
  • Example 1 from msdn.micorosoft.com
  • ltrref xmlnsrhttp//schemas.xmlsoap.org/ws/2001
    /10/referralgt
  • ltrforgt
  • ltrexactgtsoap//example.org/some.doclt/rexactgt
  • ltrprefixgtsoap//example.org/topics/icebergslt/rpr
    efixgt
  • lt/rforgt
  • ltrifgt
  • ltrttlgt43200000lt/rttlgt
  • lt/rifgt
  • ltrgogt
  • ltrviagtsoap//example.com/mirrorlt/rviagt
  • lt/rgogt
  • ltrrefidgtuuid09233523-345b-4351-b623-5dsf35sgs5lt/
    rrefIdgt
  • ltrdescgt
  • ltrrefAddrgthttp//example.com/references/2001/10/
    1234.xmllt/rrefAddrgt
  • lt/rdescgt
  • lt/rrefgt

For any SOAP actor name matching
soap//example.org/some.doc or starting with
prefix soapicebergs, if this referral is less
than 12 hours old then go via soapmirror
43
WS-Referral - Example
  • Change prefix to a node destination
  • ltrref xmlnsrhttp//schemas.xmlsoap.org/ws/2001
    /10/referralgt
  • ltrforgt
  • ltrexactgtsoap//example.org/some.doclt/rexactgt
  • ltrprefixgtsoap//b.orglt/rprefixgt
  • lt/rforgt
  • ltrifgt
  • ltrttlgt43200000lt/rttlgt
  • lt/rifgt
  • ltrgogt
  • ltrviagtsoap//example.com/mirrorlt/rviagt
  • lt/rgogt
  • ltrrefidgtuuid09233523-345b-4351-b623-5dsf35sgs5lt/
    rrefIdgt
  • ltrdescgt
  • ltrrefAddrgthttp//example.com/references/2001/10/
    1234.xmllt/rrefAddrgt
  • lt/rdescgt
  • lt/rrefgt

For any SOAP actor name matching
soap//example.org/some.doc or starting with
prefix soap//b.org, if this referral is less
than 12 hours old then go via soapmirror
44
WS-Referral - Example
  • Assume node A either produces or receives the
    following for routing
  • ltSEnvelope xmlnsShttp//www.w3.org/2001/09/soa
    p-envelopegt
  • ltSHeadergt
  • ltmpath xmlnsmhttp//schemas.xmlsoap.org/rp/
    gt
  • ltmactiongthttp//www.notification.org/updateltm
    actiongt
  • ltmtogtsoap//b.orglt/mtogt
  • ltmfromgtsoap//a.orglt/mfromgt
  • ltmidgtmid1000_at_a.orglt/midgt
  • lt/mpathgt
  • lt/SHeadergt
  • ltSBodygt
  • lt/SBodygt
  • lt/SEnvelopegt
  • With the WS-Referral statement from the previous
    slide

45
WS-Referral - Example
  • We have a match on the prefix, changing message
    to
  • ltSEnvelope xmlnsShttp//www.w3.org/2001/09/soa
    p-envelopegt
  • ltSHeadergt
  • ltmpath xmlnsmhttp//schemas.xmlsoap.org/rp/
    gt
  • ltmactiongthttp//www.notification.org/updateltm
    actiongt
  • ltmtogtsoap//b.orglt/mtogt
  • ltmfwdgt
  • ltmviagtsoap//example.com/mirrorlt/mviagt
  • lt/mfwdgt
  • ltmfromgtsoap//a.orglt/mfromgt
  • ltmidgtmid1000_at_a.orglt/midgt
  • lt/mpathgt
  • lt/SHeadergt
  • ltSBodygt
  • lt/SBodygt
  • lt/SEnvelopegt

46
WS-Referral
  • Each WS-Referral statement must have a unique
    identifier, refId
  • Two logically equivalent WS-Referral statements
    should have the same refId.
  • Two logically different WS-Referral statements
    must have different refId.
  • One may
  • Register a WS-Referral statement with another
    SOAP router
  • Query to request one or more WS-Referral
    statement from another SOAP router

47
Questions Answers
48
Questions Answers
Write a Comment
User Comments (0)
About PowerShow.com