WEB SERVICES DAVIDE ZERBINO Summary: Introduction Definition Web Service Model Web Service Architecture Web Service in action Advantages Web Service Development Lifecycle Tools References Introduction A Software Service is a something that accepts digital requests and returns digital responses e.g. C function, a Java Object A computer application can be thought of as a well-orchestrated set of services Web Services are a new breed of software component that is a language, platform, and location indipendent Is accessible over the web Web services are an abbrevation for Web of Services Distributed applications will be assembled from a web of software services Web Service Is registred and can be located through a Web service registry. Communicate using XML message over standard Web protocols. Support loosely-coupled connections between systems. Definition of Web Service “A Web service is an interface that describes a collection of operations that are network-accessibile through standardized XML messaging.” Heather Kreger IBM Software Group The Web Services Model The Web service architecture is based upon the interactions between three roles: application that is looking for and invoking an interaction Service with a service Registry owner of the services Service Service publish searchable registry where service provider Requestor Provider their service descriptions and where service find service The Web Services Model Others element are: Service Description Service Registry Service Description Service Requestor Service Provider Service The Web Services Model Others element are: Service Description Contains details of the interface and implementation of the service Service Description It is a software module deployed on the network-accessible platforms provided by the service provider Service The Web Services Model The interactions involve the publish, find and bind operation Service Registry Publish Find Service Requestor Bind Service Provider The Web Service Stack UDDI Service Discovery UDDI Service publication WSDL Service Description SOAP XML-Based Messaging HTTP, FTP, email, MQ, etc Network Quality of services Service Flow Management WSFL Requirements Security Standard Tecnologies The Network Web services must be network-accessible For its ubiquity HTTP is the standard network protocol for internetavailable Web Services Others network protocols are SMTP, FTP and for intranet domain: MQSeries, CORBA XML-based Messaging Represent the use of XML as the basis for the messaging protocol The current industry standard for XML messaging is SOAP IBM, Microsoft, Sun and others submitted SOAP to the W3C SOAP (Simple Object Access Protocol) Is a simple and lightweight XML-based mechanism for exchanging structured data beetween network applications SOAP Lightweight communication protocol For communication between applications one-way, request/response, multicast, etc.. Designed to communicate via HTTP Not tied to any component technology Not tied to any programming language Based on XML Simple and extensible SOAP SOAP consists of three parts: An envelope that defines a framework for describing what is in a message A set of encoding rules for expressing istances of application-defined data types A convention for representing remote procedure calls and responses SOAP Application web service Application 1 4 3 2 SOAP SOAP Network protocol Network protocol Request/Response Service Description: From XML to Web services Service provider comunicates all the specifications through service description The service description combined with SOAP infrastructure hides details as platform, programming language from the service requestror’s application and the service provider’s Web Service Web service uses WSDL for base-level service description WSDL WSDL: Web Service Definition Language is an XML-based language used to define Web Services and describe how to access them Industry standard W3C Service Implementation Definition Service Port Service Interface Definition Binding PortType Message Type Discovery and Publication: UDDI Stands for Universal Description, Discovery and Integration Defines a way to publish and discover information about web services Collaboration between Microsoft, IBM, Ariba that resulted in the creation of web service registry Not standard UDDI Defines a data structure standard for representing service description information in XML The core component of the UDDI project is the UDDI business registration, an XML file used to describe a business entity and its Web services UDDI The UDDI Business Registry can be used at a business level – To check whether a given partner has particular Web service interfaces. – To find companies in a given industry with a given type of services. – To locate information about how a partner or intended partner has exposed a Web service in order to learn the technical details required to interact with that service WSFL Overview Web Service Flow Language (WSFL) is an XML language for the description of Web Services Composition It is possible to produce web services by composing web services Intra-enterprise web services might collaborate to present a single Web Service Interface to the public Web services from different eneterprises might collaborate to perform business to business transactions Service Flow described how service-to-service communications, collaborations and flows are performed. Web Service in Action: B2B Customer Supplier Warehouse Credit Bureau Check validity Service Account Service Advantages Interoperability: Any web services can interact with any other web service Ubiquity: Web services communicate using HTTP and XML. Low Barrier to Entry: The concepts behind web services are easy to understand and toolkits are frely available from many vendors Industry Support: All the major vendor are supporting SOAP and the surrounding web services standards Web Services Development Lifecycle The development lifecycle can have four phase: – BUILD : » development and testing of the web service implementation » definition of the services interface description » definition of the service implementation description – DEPLOY : » publication of the services interface and service implementation – RUN : » The web service is available for invocation » The web service is fully deployed, operational and networkaccessible from the services provider » Now the service requestor can perform the find and bind operations – MANAGE : » Covers ongoing management and administration of the web services application Tools Microsoft SOAP Toolkit 2.0 Microsoft Visual Studio .NET and .NET Framework Apache SOAP Toolkit and AXIS IBM Web Services Toolkit SUN JavaTM 2 Platform, Enterprise Edition (J2EE) Example: Airport Weather Service Airport Weather Interface: getLocation() getWind() getTemperature() getSky() getPressure() getHumidity() getSummary() More informations: Web Interface: http://live.capescience.com/AirportWeather/index.html References About SOAP : http://www.w3c.org/TR/soap About WSDL : http://www.w3c.org/TR/wsdl About UDDI : http://www.uddi.org About WSFL : http://www.ibm.com/software/webservices Other Papers About Web service Architecture: Web Services Conceptual Architecture (WSCA 1.0) -Heather Kreger - IBM SW Group About Web service development lifecycle: Web Services Development Concepts (WSDC 1.0) -Peter Brittenham- IBM SW Group About Web service model: Web Services : Building Blocks for Distributed System -Graham Glass - The End Web Server in Action (2/2) Application WSDL SOAP HTTP Interoperability XML XML: eXtensible Markup Languages A version of HTML that allows any kind of data to be represented in a simple and portable way <giocatore id = 212> <nome> Davide <\nome> <cognome> Zerbino <\cognome> <\giocatore>