Professional Documents
Culture Documents
Architecture
Week 2: Technical
Foundations
born = 1914
person died = 1952 person
id=p342
From W3C
95-843: Service Oriented Architecture http://www.w3.org/TR/wsdl20-primer/
Master of Information System 23!
Management
Key Abstract WSDL
Elements (1)
<types>
XML Schema constructs or the
import of existing XML Schema
documents
<interface>
represents service interfaces
and can reference multiple
operations
Notes from Erl
Notes from
Erl
<service>
<endpoint>
These elements associate themselves
with operation constructs and specify
a location
Notes from
Erl modified
95-843: Service Oriented Architecture For wsdl 2.0
Master of Information System 26!
Management
Problem Description(1)
Hotel GreatH (a fictional hotel) is located in a remote island.
It has been relying on fax and phone to provide room reservations.
Even though the facilities and prices at GreatH are better than what
its competitor offers, GreatH notices that its competitor is getting
more customers than GreatH. After research, GreatH realizes that
this is because the competitor offers a Web service that permits
travel agent reservation systems to reserve rooms directly over
the Internet. GreatH then hires us to build a reservation Web
service with the following functionality:
<xs:element name="checkAvailability"
type="tCheckAvailability"/>
<xs:complexType name="tCheckAvailability">
<xs:sequence>
<xs:element name="checkInDate" type="xs:date"/>
<xs:element name="checkOutDate" type="xs:date"/>
<xs:element name="roomType" type="xs:string"/>
</xs:sequence>
</xs:complexType>
95-843: Service Oriented Architecture
Master of Information System 33!
Management
<xs:element name=
"checkAvailabilityResponse" type="xs:double"/>
</xs:schema>
</types>
<operation name="opCheckAvailability"
pattern="http://www.w3.org/2006/01/wsdl/in-out"
style="http://www.w3.org/2006/01/wsdl/style/iri"
wsdlx:safe = "true">
Note the Message
<input messageLabel="In" exchange pattern
element="ghns:checkAvailability" /> in-out is specified.
<output messageLabel="Out"
element="ghns:checkAvailabilityResponse" />
<outfault ref="tns:invalidDataFault" messageLabel="Out"/>
</operation>
</interface>
95-843: Service Oriented Architecture
Master of Information System 35!
Management
Above we specified what The binding specifies
gets exchanged now we the format and
specify how. transmission
protocol for each
<binding name="reservationSOAPBinding" operation in an
interface.
interface="tns:reservationInterface"
type="http://www.w3.org/2006/01/wsdl/soap"
wsoap:protocol=
"http://www.w3.org/2003/05/soap/bindings/HTTP">
<fault ref="tns:invalidDataFault"
wsoap:code="soap:Sender"/>
<operation ref="tns:opCheckAvailability"
wsoap:mep=
"http://www.w3.org/2003/05/soap/mep/soap-response"/>
</binding>
95-843: Service Oriented Architecture
Master of Information System 36!
Management
The above tells us what and how.
The service element tells us where.
<service name="reservationService"
interface="tns:reservationInterface">
<endpoint name="reservationEndpoint"
binding="tns:reservationSOAPBinding"
address =
"http://greath.example.com/2004/reservation"/>
</service> A WSDL 2.0 service specifies a single "
</description> interface that the service will support, and a "
list of endpoint locations where that service "
can be accessed. Each endpoint must also "
reference a previously defined binding to "
indicate what protocols and transmission "
formats are to be used at that endpoint. From the"
W3C Primer"
95-843: Service Oriented Architecture
Master of Information System 37!
Management
WSDL2.0 Message
Exchange Patterns
In-only One message received no fault generated
Robust In-only One message received with a possible error
sent
In-out One message received in and one sent
out (fault replaces out)
In-Optional-Out One message received in with one possibly
sent out (fault replaces out)
Out-Only One message sent no fault return expected
Robust Out-Only One message sent fault return expected
Out-In One message sent and return expected
(fault replaces return)
Out-Optional-In One message sent and may receive a return
(fault replaces return)
NET JEE
Service Service
Descriptions Requests
The JEE agent may
provide a coarse
grained service while CORBA IMS
the legacy services
may be fined grained.
Service Service
Implementation/ Implementation/
Executable Agent Executable Agent
Figure 1-2. Breakdown of service components
Understanding SOA with Web Services, Eric Newcomer and Greg Lomow, p. 9
NET JEE
Service Service
Descriptions Requests
NET JEE
Service Service
The mapping layers Descriptions Requests
are stubs and skeletons that
transform the SOAP requests
CORBA
to requests specific to the IMS
executable agents.
Service Service
Implementation/ Implementation/
Executable Agent Executable Agent
Figure 1-2. Breakdown of service components
Understanding SOA with Web Services, Eric Newcomer and Greg Lomow, p. 9
From RESTFul Web Services vs. Big Web Services: Making the
Right architectural decision by Paufasso, Zimmerman and Leymann.
95-843: Service Oriented Architecture
Master of Information System 45!
Management
An Open Source ESB from JBoss
- See http://www.jboss.org/jbossesb.
- You can purchase support from RedHat.
- Its the next generation of EAI.
- Business logic is left to higher levels.
- It's about infrastructure logic.
- An ESB is needed when we map
abstract SOA to a concrete
implementation.
From JBOSS ESB Documentation
SOAP
Alice Bob
Alice Bob
JEE
Weblogic
Alice Bob
JEE
Weblogic
Alice may be passing an XML message to the ESB. The ESB may be
communicating with Bob via sftp.