310 likes | 586 Views
This article provides an introduction to web services, including definitions, architecture, and the development lifecycle. It covers topics such as the web service model, web service architecture, advantages, and tools used in web service development.
E N D
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 • Is accessible over the web • Web services are an abbrevation for Web of Services • 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 • 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
application that is looking for and invoking an interaction with a service owner of the services searchable registry where service provider publish their service descriptions and where service find service Service Requestor Service Registry Service Provider The Web Services Model • The Web service architecture is based upon the interactions between three roles:
Service Description Service Description Service Registry Service Requestor Service Provider The Web Services Model • Others element are: Service
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 • Others element are:
Publish Find Bind Service Registry Service Requestor Service Provider The Web Services Model • The interactions involve thepublish, find and bind operation
Standard Tecnologies Requirements WSFL Service Flow Service Discovery UDDI Service publication UDDI Security Management Quality of services Service Description WSDL XML-Based Messaging SOAP HTTP, FTP, email, MQ, etc Network The Web Service Stack
For its ubiquity The Network Web services must be network-accessible • HTTP is the standard network protocol for internet-available 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 applicationsone-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
Application web service Application SOAP SOAP Network protocol Network protocol Request/Response SOAP 1 4 3 2
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
Service Service Implementation Definition Port Service Interface Definition Binding PortType Message Type 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
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.
Check validity Service Account Service Web Service in Action: B2B Customer Supplier Credit Bureau Warehouse
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 network-accessible 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 • Interface: • getLocation() • getWind() • getTemperature() • getSky() • getPressure() • getHumidity() • getSummary() Airport Weather • 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 -
Application WSDL SOAP HTTP Web Server in Action (2/2) 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>