WebService
Outline Overview of Web Services SOAP (messaging) WSDL (service description) UDDI (registry)
RATS Oct 2002 What are Web Services ? Web services are modular web applications that provide data and services to other applications over the web Web services apply web technologies such as HTTP and XML to the concepts of distributed computing technologies such as CORBA and DCOM
A Web Service is a URL-addressable software resource that performs functions (or a function). "Web services are a new breed of Web application. They are self-contained, self-describing, modular applications that can be published, located, and invoked across the Web. Web services perform functions, which can be anything from simple requests to complicated business processes. … Once a Web service is deployed, other applications (and other Web services) can discover and invoke the deployed service.” IBM web service tutorial Web Services: Some Definitions
Web Service Architecture Service provider Service broker Service requestor publish (WSDL) find (UDDI) bind (SOAP) "server" "client""naming service"
RATS Oct 2002 How Web Services work? Web services are standards-based software components that can be accessed over the Internet. Step 1: Service providers (producer) maintain/publish information about their services in a registry Step 2: Service requesters (consumer) search registries for services Step 3: Once found, a service can be invoked based on open Internet standards irrespective of differences in platforms, programming model, programming languages between consumer and producer
RATS Oct 2002 Web Services Standards With the following technologies, it is possible to build standards-based systems that are truly interoperable. UDDI: Universal Description, Discovery and Integration. – UDDI registry stores descriptions about companies and the services they offer in a common XML format. (for web services publishing and discovery) WSDL: Web Services Description Language (new: DAML-S) – WSDL is an XML-based format for specifying the interface to a web service. (for web services description) SOAP: Simple Object Access Protocol – SOAP is the XML-based protocol for sending requests and responses to and from web services. (for web services invocation)
RATS Oct 2002 courtesy: Simple Web Service Invocation Remote Web Service Repository (Web Sites) Write Client Code Service Requestor Invoke Web Service Manual Web Service Lookup SOAP Request SOAP Response WSDL File Remote Web service Publish Web Service HTTP GET
Web Services Implementation Application Server (web service-enabled) – provides implementation of services and exposes it through WSDL/SOAP – implementation in Java, as EJB, as.NET (C#) etc. SOAP server – implements the SOAP protocol HTTP server – standard Web server SOAP client – implements the SOAP protocol on the client site Requestor (SOAP client) Web Service Provider (endpoint) HTTP server SOAP server application server SOAP messages (http transport)
RATS Oct 2002 WSDL * Structure Service – collection of endpoints – endpoints= port + binding Port type set of operations supported by endpoints Operations abstract description of action supported by service Binding maps abstract specification to specific protocol Ports network address/URI that implements service Message typed definition of data communicated * Used in conjunction with UDDI registry and can be compared with IDL courtesy: Service Port (e.g. Binding (e.g. SOAP) Abstract interface portType operation(s) inMesageoutMessage Port Binding
RATS Oct 2002 WSDL File Concrete Description Provides explicit representation of available protocols while in OMG model, protocol is fixed at the time ORB infrastructure is deployed. Protocol specification is not visible to application or developer Abstract Description
RATS Oct 2002 SOAP: Simple Object Access Protocol XML based lightweight protocol for the exchange of information in a decentralized, distributed environment What's so special about SOAP ? – platform independent – gets over firewall issues Why do we need it ? – today's applications communicate using RPC using HTTP. But HTTP is not designed for this. introduces security and compatibility issues firewalls typically block How ? – XML based messages (simple text and nothing else)
RATS Oct 2002 SOAP: SOAP defines a framework for message structure and a message-processing model Does not define application semantics Enables trans-operating system RPCs Used over HTTP, SMTP, FTP, MQSeries, Jabber, JMS etc T14:00:00-05:00 Pick up Mary at school at 2pm courtesy:
RATS Oct 2002 UDDI A shared public registry implementation based on a set of public specifications Specification for registry also defines a SOAP-based web service for locating WSDL-formatted protocol descriptions of web services Two types of information are registered within UDDI. The first is the set of abstract service protocols, called tModels (technical models), which are used to describe the behavior of a web service. The second type of information in UDDI is the service implementation, currently referred to as a businessEntity. These entries refer to multiple tModels and provide descriptions about their behavior and specifications.
Contoh
WSDL Ditunjukkan di gambar di bawah ini Coba amati dengan klas Java sebelumnya
WSDL
SOAP Ditunjukakn dalam gambar di bawah ini Coba amati dengan meninjau file WSDL di slide sebelumnya