Understanding Web Services: SOAP, WSDL, UDDI, and REST in Distributed Software Development, Study notes of Software Engineering

An overview of web services, including soap, wsdl, uddi, and rest, in the context of distributed software development. It covers the basics of service-oriented computing, the role of web services in building on the web, and the limitations and advantages of different web service architectures. The document also includes examples of soap and wsdl messages and bindings.

Typology: Study notes

Pre 2010

Uploaded on 07/30/2009

koofers-user-tdp
koofers-user-tdp 🇺🇸

8 documents

1 / 7

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Distributed Software Development
Web Services
Chris Brooks
Department of Computer Science
University of San Francisco
Departmentof Computer Science University of San Francisco p. 1/??
10-2: Service-Oriented Computing
Services are the hot new model for providing access to data or
functionality in a distributed system.
Like objects, the definition of what a service is depends on who
you ask.
Microsoft: A piece of business logic available via the Internet
using open standards.
DestiCorp: Encapsulated, loosely coupled contracted software
functions offered via standard protocols over the Web.
Gartner: Loosely coupled software coponents that interact with
one another dynamically via standard Internet technologies.
W3C: A software application identified by a URI, whose
interfaces and binding are capable of being defined, described,
and discovered by XML artifacts and supports direct
interactions with other software applications using XML-based
messages via Internet-based technologies.
Departmentof Computer Science University of San Francisco p. 2/??
10-3: Service-Oriented Computing
Common threads:
Network-available
Open standards/protocols
Loose coupling
Dynamic composition
Publically available interface
Departmentof Computer Science University of San Francisco
10-4: Services
We can think of a service as (yet another) computing metaphor.
modular functionality
Can be composed, extended and combined to provide more
complex or extensive services.
This ability to compose and repurpose web services is
extremely important.
Example: Google Maps.
Defined in terms of an interface
Departmentof Computer Science University of San Francisco p. 4/??
10-5: A step back: building on the Web
Currently, the Webconsists pr imarily of client-server
interactions.
Web pages are the predominant objects exchanged.
No central authority.
Heterogenous, autonomous components.
Departmentof Computer Science University of San Francisco p. 5/??
10-6: Next steps: the Semantic Web
Today’s Web is structured for use by humans.
HTML focuses on presentation; semantics are inferred
through bavkground knowledge.
Example: Find the price on an Amazon page.
Program-program communication on the Web requires more
explicit markup.
A program needs to know the meaning (or semantics) of an
element.
Separation of structure and layout from information.
Departmentof Computer Science University of San Francisco
pf3
pf4
pf5

Partial preview of the text

Download Understanding Web Services: SOAP, WSDL, UDDI, and REST in Distributed Software Development and more Study notes Software Engineering in PDF only on Docsity!

Distributed Software Development

Web Services^ Chris BrooksDepartment of Computer ScienceUniversity of San Francisco

Department of Computer Science — University of San Francisco – p. 1/

??

Service-Oriented Computing • Services are the hot new model for providing access to data orfunctionality in a distributed system. • Like objects, the definition of what a service is depends on whoyou ask. • Microsoft: A piece of business logic available via the Internetusing open standards. • DestiCorp: Encapsulated, loosely coupled contracted softwarefunctions offered via standard protocols over the Web. • Gartner: Loosely coupled software coponents that interact withone another dynamically via standard Internet technologies. • W3C: A software application identified by a URI, whoseinterfaces and binding are capable of being defined, described,and discovered by XML artifacts and supports directinteractions with other software applications using XML-basedmessages via Internet-based technologies.

Department of Computer Science — University of San Francisco – p. 2/

??

Service-Oriented Computing • Common threads:^ ◦^ Network-available^ ◦^ Open standards/protocols^ ◦^ Loose coupling^ ◦^ Dynamic composition^ ◦^ Publically available interface

Department of Computer Science — University of San Fra

Services • We can think of a service as (yet another) computing metaphor. • modular functionality • Can be composed, extended and combined to provide morecomplex or extensive services.^ ◦^ This ability to compose and repurpose web services isextremely important.^ ◦^ Example: Google Maps. • Defined in terms of an interface

Department of Computer Science — University of San Francisco – p. 4/

??

A step back: building on the Web • Currently, the Web consists primarily of client-serverinteractions. • Web pages are the predominant objects exchanged. • No central authority. • Heterogenous, autonomous components.

Department of Computer Science — University of San Francisco – p. 5/

??

Next steps: the Semantic Web • Today’s Web is structured for use by humans.^ ◦^ HTML focuses on presentation; semantics are inferredthrough bavkground knowledge.^ ◦^ Example: Find the price on an Amazon page. • Program-program communication on the Web requires moreexplicit markup. • A program needs to know the meaning (or semantics) of anelement. • Separation of structure and layout from information.

Department of Computer Science — University of San Fra

Next steps: Integrating Processes • Currently, most web-based interactions are stateless. • Client makes a request and returns a response. • Processes

may require long-lived multi-part interactions. ◦^ Construction of supply chains, complex orders • Services can be composed into processes. • Currently, this is done manually.

Department of Computer Science — University of San Francisco – p. 7/

??

Next steps: The Pragmatic Web • These combine to yield what Singh and Huhns call

the

pragmatic web

-^ Information is annotated according to its meaning and its placein a larger process. •^ In other words, information can have annotations that describe^ meaning

and context

-^ This provides the basis for automated negotiation. •^ This is only one possible way in which the Web may evolve, butut is one that will allow for rich, complex, dynamic interactionsbetween software components.

Department of Computer Science — University of San Francisco – p. 8/

??

Returning to Services • Processes are being developed, often in an ad hoc way. • Pragmatics are still primarily a research area. • Basic standards for automated Web services are being quicklydeveloped. • First step in incorporating programs as consumers ofinformation, rather than just producers.

Department of Computer Science — University of San Fra

Web Services Architectural Model S i^ ervce^ P id^ rover

S i^ ervce^ B^ k^ roer^

S i^ ervce^ R t^ equeser

1 P^ bli^ h^ .us(WSDL)

2 Di^ scover^ .(UDDI)^

3 Bi^ d^ .n(SOAP^ HTTP)^ ,

-^ A Web service architectureconsists of three types ofparticipants:^ ◦^

Service providers ◦ Service brokers ◦ Service requesters

-^ XML is used as the basic’glue’ language.

Department of Computer Science — University of San Francisco – p. 10/

??

Basic components of Web Services • HTTP • SOAP • XML • XML Schema • UDDI

Department of Computer Science — University of San Francisco – p. 11/

??

Design concepts • Language and platform independence • Use existing, scalable technology • HTTP as transport mechanism ◦^ Simple request-response semantics ◦^ Avoids firewall issues.

Department of Computer Science — University of San Fran

WSDL Example pt 1

version="1.0"?>