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"?>