Outline Definition Overview of Web Services Examples Next Time: SOAP & WSDL
Web Service Defined W3C definition: [Definition: A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.]
Overview SOAP & Web services Simple Object Access Protocol - & Web services: A light-weight & ultra heterogenic alternative to CORBA, DCOM & RMI Openness in focus - SOA Not meant in the role oflarge scale, transaction heavy communication (as CORBA & J2EE) Does not have services for transactions, concurrency, persistence, scalability Does have discovery services (UDDI) giving some degree of location transparency Does have Interface Definition Language for heterogeneity (WSDL) Fails on several of the dist. system requirements! But easy to implement yourself!
Why SOAP When We Have CORBA? Aim at solving different tasks: SOAP covers light-weight application integration, Exposing legacy business objects across enterprises, and sharing resources (like Google Search Engine, or Sonofon SMS/MMS API) CORBA has a wide range of services for (as we shall see later): Considered too complex by many Locating, creating & moving objects Object relationship management between hosts Persistency services – activation frameworks etc. Distributed concurrency and transaction management Only some are supported in SOAP tech family – its lightweight Lesson: define your needs – and find the right technology
Regarding SOAP SOAP is not by it self revolutionary – its merely: a framework for exchanging XML-based information in a network (via protocols of the TCP/IP family) – with RPC capabilities the currently most hyped XML / Web service technology But when combined with other technologies like WSDL & UDDI It solves several of the requirements of a Distributed System And the fact that it is an open standard – supported by all major software vendors and programming languages: C++, Java, C#, Delphi, Visual Basic and many more Makes it somewhat revolutionary! A practical solution – like WWW
Examples of Web Services Microsoft Mappoint – get adress information and GPS coordinates and maps from the web Google's Web Service - access the Google search engineGoogle's Web Service http://www.google.com/apis/ Amazon's Web Service - access Amazon's product informationAmazon's Web Service http://associates.amazon.com/e xec/panama/associates/join/dev eloper/resources.html XMethods - collection of information about existing Web servicesXMethods http://www.xmethods.com SalCentral - WSDL / SOAP Web services search-engineSalCentral
Service-Oriented Architecture Client Server Registry Abstract Architecture - Web service stack Abstract Architecture - Web service stack Legacy code on server Legacy code on server 1 1 2 2 3 3 Opening up for doing business (the sharing of services)
Technologies for SOA SOAP for communication WSDL for contract & binding UDDI & WSDL for registration & discovery