Web services B. Pernici (alcuni lucidi sono tratti dalla presentazione di Leymann al VLDB 2001)

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

Chapter 2: Basic Standards for Web Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Web Service Architecture
Web Services Using SOAP, WSDL, and UDDI
INTRODUCTION A WEB SERVICE is an application that accepts requests from other systems across the Internet or an Intranet, mediated by lightweight, vendor-neutral.
Overview of Web Services
CSE 6331 © Leonidas Fegaras Web Services1 Web Services (adapted from Erdogan Dogdu's presentation) Leonidas Fegaras.
Web Services Core Technologies
Presentation 7 part 2: SOAP & WSDL.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
UDDI v3.0 (Universal Description, Discovery and Integration)
General introduction to Web services and an implementation example
Simple Object Access Protocol (SOAP) v1.1 CS-328 Dick Steflik.
1 Understanding Web Services Presented By: Woodas Lai.
Lecture 10: Web Services. Outline Overview of Web Services SOAP (messaging) WSDL (service description) UDDI (registry)
Topics Acronyms in Action SOAP 6 November 2008 CIS 340.
Information Management NTU Web Services. Information Management NTU What Are Web Services? Semantically encapsulate discrete functionality Loosely coupled,
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
SOAP Lee Jong-uk. Introduction What is SOAP? The features of SOAP The structure of SOAP SOAP exchange message model & message Examples of SOAP.
SOAP, WSDL & introduction to UDDI
1 UDDI Jong-Ha Jung 07/28. 2 INDEX INDEX What is UDDI? What is UDDI? Appearance of UDDI Appearance of UDDI Why UDDI? Why UDDI? Analogy with Telephone.
Web Services Technology Stack (WSDL and UDDI)
UDDI Overview Copyright © by Accenture, Ariba, Inc., Commerce One, Inc., Fujitsu Limited, Hewlett-Packard Company, i2 Technologies, Inc., Intel.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
XML Technologies and Applications Rajshekhar Sunderraman Department of Computer Science Georgia State University Atlanta, GA 30302
UDDI Ashish Jain University of Colorado 3 October, 2001.
Presentation 9: UDDI - Universel Description, Discovery & Integration.
Web Services Seppo Heikkinen MITA seminar/TUT
Livermore July Web Services Overview Francisco Curbera IBM T.J. Watson Research Center.
Web Services CS Web Services Internet-available services using XML messaging, for computer-computer interaction Not tied to any OS or language Self-describing:
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
Processing of structured documents Spring 2003, Part 6 Helena Ahonen-Myka.
In Introduction to Web Services
Introduction to UDDI From: OASIS, Introduction to UDDI: Important Features and Functional Concepts.
WEB SERVICES Web Development Technology. 2 Contents How it’s work? –Definition –Simple Web Service Invocation –Web Service Description –SOAP –UDDI.
Discovering E-Services Using UDDI in SELF-SERV Quan Z. Sheng, Boualem Benatallah, Rayan Stephan, Eileen Oi-Yan Mak, Yan Q. Zhu School of Computer Science.
UDDI Overview 9/6/2000 © Copyright 2000 By Ariba, Inc., International Business Machines Corporation and Microsoft Corporation. All Rights Reserved.
Web Service Addressing CS409 Application Services Even Semester 2007.
UDDI ebXML(?) and such Essential Web Services Directory and Discovery.
Web Services (SOAP, WSDL, and UDDI)
CSC8530 Distributed Systems XML Web Services David Vaglia.
1 Universal Description, Discovery, and Integration (UDDI) 大葉大學資工系.
UDDI Jianguo Lu University of Windsor What is UDDI?  Universal Description, Discovery, and Integration  A project to encourage interoperability.
UDDI Update Bob Sutor Director IBM e-business Standards Strategy.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
WebService. Outline Overview of Web Services SOAP (messaging) WSDL (service description) UDDI (registry)
A brief introduction of UDDI By Xin Huang. What is UDDI.
1 Web Services Web and Database Management System.
Kemal Baykal Rasim Ismayilov
WEB SERVICE DESCRIPTION LANGUAGE (WSDL). Introduction  WSDL is an XML language that contains information about the interface semantics and ‘administrivia’
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
Web Services Part 1 -- Qinwei Zhu Part 2 – Yongqun He.
Introduction to Web Services. Agenda Motivation History Web service model Web service components A walkthrough examples.
Web Services Architecture Presentation for ECE8813 Spring 2003 By: Mohamed Mansour.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
1 G52IWS: Universal Description, Discovery and Integration (UDDI)‏ Chris Greenhalgh
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
INFS3204/ M51 INFS 3204/7204 Service-Oriented Architecture Dr Heng Tao SHEN ITEE, UQ Semester 2, M5: Web Service basics.
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
Some Basics of Globus Web Services
Wsdl.
Introduction to Web Services and SOA
Web services, WSDL, SOAP and UDDI
Introduction to Web Services and SOA
Presentation transcript:

Web services B. Pernici (alcuni lucidi sono tratti dalla presentazione di Leymann al VLDB 2001)

Sommario Web service Service oriented architecture SOAP UDDI WSDL Bibliografia: Conallen, cap. 4

Virtual Enterprise: Scenario

Consequences You can... –...outsource services (e.g. where you are not competitive) –...offer services (e.g. make money with functions & processes you perform for others) These services reach from –...simple, fine grained functions... –...to complete business processes, i.e. coarse grained functions

O.K., But: How To Access Services? Firewalls are obstructions to ubiquitious access to services Wide range of different programming languages, programming paradigms and hosting environments,... makes orchestration a nightmare... We need a globally available invokation mechanism!

Web services Services that can be invoked by other programs on the network Decentralization of processing mechanism (Sun, 1990) Def: Web Service: collection of functions packaged and published on a network for use by other client programs

Service Oriented Architecture (SOA)

Ingredienti Descrizione servizi (WSDL) Archivio servizi (registry) Meccanismi di invocazione

WSDL

How To Define New Web Services? Well, its nice to refer to web services that others have defined and agreed on (= tModels)...but what if I want to publish my own web services –e.g. simple functions usefull for others –or complete business processes that I offer...without creating a standard! WSDL (Web Services Description Language) We need a language to specify services and describe how others can bind to them!

WSDL Ingredients Message OperationPort Type Port Binding Service Input & Output Supports Formats & Protocols How to invoke How to encode Implements Provides

o3 o4 pt Port Types: Graphical Representation Request -Response One-Way Notification o1 o2 -Response Solicit

Making Services Available Message Operation Port Type Input & Output Supports Binding Formats & Protocols How to invoke How to encode PortService Implements Provides How To Do Business With Me (Widely Accepted) Abstract Service What Business You Can Do With Me

WSDL

WSDL binding

UDDI

Repositories e registries systems storing and managing –e-Service specifications –e-service providers Some initiatives –UDDI

UDDI - accesso alla descrizione di servizi, di tipologie di servizi e di fornitori di servizi secondo una struttura dati ben definita; - astrazione dalla tecnologia utilizzata nella realizzazione del servizio; - la ricerca di un servizio secondo differenti chiavi di ricerca.

How To Find Services?...to catalogue services based on publish requests of service providers...to maintain taxonomy(ies) to support searching for appropriate services...to search services by human beings or by programs UDDI (Universal Description, Discovery & Integration) We need a globally available directory!

How UDDI Works UDDI Marketplaces, search engines, and business apps query the registry to discover services at other companies 3.3. Service Type Registrations SW companies, standards bodies, and programmers populate the registry with descriptions of different types of services 1.1. Business Registrations Business uses this data to facilitate easier integration with each other over the Web 4.4. Businesses populate the registry with descriptions of the services they support 2.2.

Registry Data Businesses register public information about themselves White Pages Yellow Pages Green Pages Service Type Registrations Who am I? What do I offer? How to do business with me Standards bodies, Programmers, Businesses register information about their Service Types (tModels)

Example of a Registration businessEntity TB993… Franks Flowershop Flowers for the world! contacts businessServices identifierBag categoryBag Boeblingen, Germany Frank Leymann businessService Key Name Description BindingTemplates businessService 23T701e54683nf… Online catalog Website where you can … BindingTemplates BindingTemplate 5E2D412E5-44EE-… tModelInstanceDetails tModelInstanceInfo 4453D6FC-223C-3ED0… keyedReference DFE-2B… DUNS keyedReference EE123… NAICS tModelKeys

IBM Ariba Microsoft other Registry Operation Peer nodes (websites) Companies register with any node Registrations replicated on a daily basis Complete set of registered records available at all nodes Common set of SOAP APIs supported by all nodes Compliance enforced by business contract UDDI.org queries

SOAP

SOAP: Simple Object Access Protocol Provide an (Object) RPC over the Internet Interoperability amongst a wide range of programs on a wide range of plattforms –Different programming languages, programming paradigms and hosting environments Make existing programs more accessible to a broader range of users Use of existing technology wherever possible –Usage of HTTP and XML (XML as HTTP payload) HTTP as RPC transport XML as RPC encoding scheme –No special SOAP API, no special SOAP ORB

HTTP POST: Invoking Code ClientServer POST /myFunctions/reverse HTTP/1.1 Host: Content-Type: text/plain Content-Length: 12 Hello, World 200 OK Content-Type: text/plain Content-Length: 12 dlroW,olleH Run Program A simple RPC

Tunneling The Firewall Client RMI IIOP HTTP

SOA

SOA Reminder Transport Medium Find Bind Publish Service Requestor Service Directory Service Provider

...And Relation To Web Services Service Requestor Service Requestor WSDL UDDI SOAP

Web Services SOA In Action UDDI, WSDL, SOAP,... Perform Delivery Check Credit Rating Produce Invoice

Approfondimenti

Example...

Example <soap:binding style="rpc" transport=" <soap:operation soapAction=" <soap:body use="encoded" namespace=" encodingStyle=" <soap:body use="encoded" namespace=" encodingStyle="

Example My first service <port name="StockQuotePort" binding="tns:StockQuoteSoapBinding"> <soap:address location="

SOAP Request/Response Structure Object ID (Which object?) Interface ID (Which interface?) Method ID (Which method?) Extension Headers (What has been forgotten to be build into the protocol?) Parameter (In and inout parms) Request Status Code (Did it work?) Response Extension Headers (What has been forgotten to be build into the protocol?) Parameter (Out and inout parms) Endpoint Reference

SOAP Endpoint Reference POST /StockServer HTTP/1.1 Host: Content-Type: text/xml; charset=utf-8 Content-Length: nnnn... /StockServer/getLastTradePrice Object Endpoint ID 80 TCP Port No IP Host Address

A Simple SOAP RPC POST /StockQuote HTTP/1.1 Host: Content-Type: text/xml; charset="utf-8 Content-Length: nnnn <SOAP-ENV:Envelope xmlns:SOAP-ENV= SOAP- ENV:encodingStyle=" DIS Method Name Input Parameter

A Simple SOAP Response HTTP/ OK Content-Type: text/xml; charset="utf-8 Content-Length: nnnn <SOAP-ENV:Envelope xmlns:SOAP-ENV= SOAP- ENV:encodingStyle=" Standard Suffix

SOAP Header POST /StockQuote HTTP/1.1 Host: Content-Type: text/xml; charset="utf-8 Content-Length: nnnn SOAPAction: Some-URI <SOAP-ENV:Envelope xmlns:SOAP- ENV=" SOAP-ENV:encodingStyle=" 5 DEF Protocol Extensions