Академический Документы
Профессиональный Документы
Культура Документы
Craig Duncan
craig.duncan@c3daero.com
j
Veb services
Software components that can be run over the
Internet using XML
Reasons to use Veb services
Applications can be built that are platform-
independent, distributed, and secure
Technologies
XML, UDDI, VSDL, and SOAP
Veb Services Architecture (VSA)
Set of protocols that solve the problems that every
distributed application faces
C3D Aero
Builds Veb services for the aviation industry
Definition:
Software components that can be
published, located, and run over the
Internet using Extensible Markup
Language (XML)
Used to:
Allow other applications to call
modules of code remotely with XML
Expose data in a database as XML
Send XML messages
j
Definition:
A markup language that describes data in a
structured and human-readable text format
Example:
<pilot>
<name>Craig Duncan</name>
<status>student</status>
<hours type=³dual´>37.3</hours>
</pilot>
Related to HTML, but more powerful
because XML can be modified and extended
Has become the de facto standard for
representation of information content
Has become the language of choice for
information exchange
£
£
³Request and receive messages´
Veb service equivalent of an order
A Remote Procedure Call (RPC)
that consists of XML
sent over HTTP
Other transport protocols can be used
Similar in structure to a letter:
A message is written in XML
The message is wrapped in an
XML envelope
£"
<?xml version="1.0" encoding="UTF-8" ?>
<soap:Envelope xmlns:soap=
"http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetAirportInformation>
<AirportIdentifier>·99</AirportIdentifier>
</GetAirportInformation>
</soap:Body>
</soap:Envelope>
£
<?xml version="1.0" encoding="UTF-8" ?>
<soap:Envelope xmlns:soap=
"http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetAirportInformationResponse>
<GetAirportInformationResult>
<·ame>Brandywine Airport</·ame>
<Location>Vest Chester, PA</Location>
<Length unit="feet">3347</Length>
</GetAirportInformationResult>
</GetAirportInformationResponse>
</soap:Body>
</soap:Envelope>
Latest development environments and tools
understand Veb service technologies:
Microsoft .·ET platform
Java 2 Standard Edition (J2SE) platform
Programmers using .·ET and Java do not
need to create or view UDDI, VSDL, or
SOAP files directly
.·ET developers only have to mark a function
with a [VebMethod] attribute and it can be
called across the Internet
Java developers use the @Remote attribute
Developers writing distributed
applications need a way to provide:
Security
Message integrity
Message confidentiality
Authentication
Authorization
·on-repudiation
Reliability
Transactions
Etc.
#
Set of infrastructure protocols that solve the
problems that every distributed application
written with Veb services faces
Allows developers to concentrate on writing
software
Similar to the U.S. Post Office:
You can place an addressed, stamped, and sealed
envelope in a mailbox and you don¶t have to worry
about anybody looking inside it or how it will get to
its destination
You have the option to use additional services like
certified mail
General purpose
Independent of application domain
Standards-based
Uses widely accepted protocols
Federated
·o central point of control, administration,
or failure
Modular
Protocols can be used individually or
work together
$
The most important VSA security protocol
because the other security protocols use it
Provides message integrity:
XML Signature
Uses an algorithm to create a message digest
The recipient compares the digest to the message
The digest needs to be encrypted
Security tokens (identity authentication)
Username and password (needs SSL or VP·)
X.509 certificate
Kerberos ticket
Provides message confidentiality:
XML Encryption
Security tokens (same as above)
VS-ReliableMessaging
Allows messages to be delivered in the
presence of software and network failures
VS-Addressing
Defines Veb service endpoints which
allow message transmission through
gateways and firewalls
VS-Routing
Allows a SOAP message to specify
a virtualized path through a network
j
VS-Attachments
Allows attached files (documents,
pictures, sound, video, etc.) to be
sent with SOAP messages
VS-Transactions
Allows applications using more than one
Veb service to coordinate changes
Etc.
£
<?xml version="1.0" encoding="UTF-8" ?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<soap:Header>
<m:path xmlns:m="http://schemas.xmlsoap.org/rp">
<m:action>http://ws.c3daero.com/getairportinformation</m:action>
<m:to>soap://c3daero.com/airports</m:to>
<m:from>mailto:craig.duncan@c3daero.com</m:from>
<m:id>uuid:84b9f5d0-33fb-4a81-b02b-5b760641c1d6</m:id>
</m:path>
<wsse:Security
xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext">
<ds:Signature>
<ds:SignatureValue>DJbchm5gK...</ds:SignatureValue>
...
</ds:Signature>
</wsse:Security>
</soap:Header>
<soap:Body id="MsgBody">
...
</soap:Body>
</soap:Envelope>
%
Standards organizations:
Vorld Vide Veb Consortium (V3C)
Veb Services Interoperability Organization (VS-I)
Organization for the Advancement of
Structured Information Standards (OASIS)
Vendors:
Microsoft
IBM
Sun Microsystems
Companies exposing data as Veb services:
Amazon.com
Google
Companies writing Veb services for the
aviation industry
C3D Aero
O &
Vision
Enable pilots to access aviation data
on the Internet from the cockpit
Mission
Create Veb services for the aviation
industry
O
Veb services
Software components that can be run over the
Internet using XML
Reasons to use Veb services
Applications can be built that are platform-
independent, distributed, and secure
Technologies
XML, UDDI, VSDL, and SOAP
Veb Services Architecture (VSA)
Set of protocols that solve the problems that every
distributed application faces
C3D Aero
Builds Veb services for the aviation industry
Veb services
http://www.c3daero.com/technologies/webservices.aspx
http://www.pcmag.com/article2/0,4149,103013,00.asp
http://www.pcmag.com/article2/0,4149,519023,00.asp