Programming for WWW (ICE 1338) Lecture #12 Lecture #12 August 4, 2004 In-Young Ko iko.AT. icu.ac.kr Information and Communications University (ICU) iko.AT.

Slides:



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

Web Service Architecture
Siebel Web Services Siebel Web Services March, From
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
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.
WEB SERVICES DAVIDE ZERBINO.
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.
ICE0534 – Web-based Software Development ICE1338 – Programming for WWW Lecture #10 Lecture #10 In-Young Ko iko.AT. icu.ac.kr iko.AT. icu.ac.kr Information.
Presentation 7: Part 1: Web Services Introduced. Outline Definition Overview of Web Services Examples Next Time: SOAP & WSDL.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
XML Technologies and Applications Rajshekhar Sunderraman Department of Computer Science Georgia State University Atlanta, GA 30302
Slide 1 EE557: Server-Side Development Lecturer: David Molloy Room: XG19 Mondays 10am-1pm Notes:
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
Web Services Seppo Heikkinen MITA seminar/TUT
2006 IEEE International Conference on Web Services ICWS 2006 Overview.
Livermore July Web Services Overview Francisco Curbera IBM T.J. Watson Research Center.
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
Processing of structured documents Spring 2003, Part 6 Helena Ahonen-Myka.
1 Web Services Distributed Systems. 2 Service Oriented Architecture Service-Oriented Architecture (SOA) expresses a software architectural concept that.
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.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
1 Core Web Services Standards. 2 (Simplified) Web Service Architecture Registry 1. Service Registers PUBLISH 3. Client calls Service BIND 2. Client Request.
Web Services (SOAP, WSDL, and UDDI)
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
James Holladay, Mario Sweeney, Vu Tran. Web Services Presentation Web Services Theory James Holladay Tools – Visual Studio Vu Tran Tools – Net Beans Mario.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
WSDL Tutorial Ching-Long Yeh 葉慶隆 Department of Computer Science and Engineering Tatung University
Dodick Zulaimi Sudirman Lecture 14 Introduction to Web Service Pengantar Teknologi Internet Introduction to Internet Technology.
Web Services (SOAP, WSDL, UDDI) SNU OOPSLA Lab. October 2005.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
Web Services Standards. Introduction A web service is a type of component that is available on the web and can be incorporated in applications or used.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Web Services. ASP.NET Web Services  Goals of ASP.NET Web services:  To enable cross-platform, cross- business computing  Great for “service” based.
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.
Enterprise Computing: Web Services
XML and Web Services (II/2546)
Kemal Baykal Rasim Ismayilov
WEB SERVICE DESCRIPTION LANGUAGE (WSDL). Introduction  WSDL is an XML language that contains information about the interface semantics and ‘administrivia’
CP3024 Lecture 10 Web Services. What are Web Services?  “encapsulated, loosely coupled, contracted software objects offered via standard protocols” ZapThink.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
1 Service Oriented Architecture SOA. 2 Service Oriented Architecture (SOA) Definition  SOA is an architecture paradigm that is gaining recently a significant.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
INFSO-RI Enabling Grids for E-sciencE Web Services Mike Mineter National e-Science Centre, Edinburgh.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
Web Services CO5027.
Implementing a service-oriented architecture using SOAP
Wsdl.
Introduction to Web Services and SOA
Inventory of Distributed Computing Concepts and Web services
WEB SERVICES DAVIDE ZERBINO.
Introduction to Web Services and SOA
Distributed System using Web Services
Presentation transcript:

Programming for WWW (ICE 1338) Lecture #12 Lecture #12 August 4, 2004 In-Young Ko iko.AT. icu.ac.kr Information and Communications University (ICU) iko.AT. icu.ac.kr

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Announcements Homework #3 is due by today Homework #3 is due by today Scores of homework#2 have been posed on the Web Scores of homework#2 have been posed on the Web If you haven’t, please submit homework #2 as soon as possible If you haven’t, please submit homework #2 as soon as possible

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Review of the Previous Lecture XML Addressing and Linking XML Addressing and Linking Database Access on the Web Database Access on the Web

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Contents of Today’s Lecture Web-based Program Units Web-based Program Units Web Services Web Services Service-oriented Architecture Service-oriented Architecture RPC (Remote Procedure Call) RPC (Remote Procedure Call) Web Services Architecture Web Services Architecture SOAP (Simple Object Access Protocol) SOAP (Simple Object Access Protocol) WSDL (Web Services Description Language) WSDL (Web Services Description Language) UDDI (Universal Description, Discovery and Integration) UDDI (Universal Description, Discovery and Integration) Web Services Platforms Web Services Platforms

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Web-based Program Units Web Client Web Server HTML Forms CGI Programs (Perl, PHP) JavaScript Applets Servlets (JSP) JDBC, Perl/MySQL, PHP/MySQL DB Server JDBC, Perl/MySQL, PHP/MySQL

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Software Crisis – 1960s Machines have become several orders of magnitude more powerful than software [Edsger Dijkstra] Machines have become several orders of magnitude more powerful than software [Edsger Dijkstra] A large software project: a monster of missed schedules, blown budgets, and flowed products [Frederick Brooks] A large software project: a monster of missed schedules, blown budgets, and flowed products [Frederick Brooks] Werewolf IBM 7090 – computer A second generation computer

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University A Silver Bullet Searching for a silver bullet to kill the monster of a large software project Searching for a silver bullet to kill the monster of a large software project What would be the silver bullet?? What would be the silver bullet?? Structured Programming? Structured Programming? Object-Oriented Programming? Object-Oriented Programming? Component-Based Software Development? Component-Based Software Development? Service-Oriented Software Development? Service-Oriented Software Development? Werewolf

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University The Web: A New Infrastructure for Software Engineering Provides repositories for searching software component services Provides repositories for searching software component services Provides a medium for deploying software components as services Provides a medium for deploying software components as services Provides protocols to access software services Provides protocols to access software services Provides an environment to dynamically compose (assemble or synthesize) software systems Provides an environment to dynamically compose (assemble or synthesize) software systems

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Service-Oriented Approach Service-oriented approach is getting popular Service-oriented approach is getting popular “By 2005, the aggressive use of Web Services will drive a 30 percent increase in the efficiency of IT development projects” [Gartner] “By 2005, the aggressive use of Web Services will drive a 30 percent increase in the efficiency of IT development projects” [Gartner] Conventional software market will be disappeared and changed to “software as a service” [Oracle] Conventional software market will be disappeared and changed to “software as a service” [Oracle] What are Services? What are Services? Self-contained functions Self-contained functions Can be composed with other services to form different services Can be composed with other services to form different services

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Benefits of Using Services Inheriting of the benefits of component-based software engineering Inheriting of the benefits of component-based software engineering Rapid software development (outsourcing) Rapid software development (outsourcing) Enhanced adaptability Enhanced adaptability Scalability Scalability Maintainability Maintainability User-oriented views (abstraction) User-oriented views (abstraction) Loose coupling Loose coupling Asynchrony Asynchrony Agility (dynamic service composition) Agility (dynamic service composition)

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Service-oriented Architectures (SOA) SOA is a form of distributed systems architecture that is composed of loosely coupled services, which interact with each other by exchanging messages Service Consumer Service Provider Service Request Message Service Response Message

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University SOA Properties Logical view: The service is an abstracted, logical view of actual programs, databases, business processes, etc., defined in terms of what it does Logical view: The service is an abstracted, logical view of actual programs, databases, business processes, etc., defined in terms of what it does Message orientation: The service is formally defined in terms of the messages exchanged between provider agents and requester agents, and not the properties of the agents Message orientation: The service is formally defined in terms of the messages exchanged between provider agents and requester agents, and not the properties of the agents Description orientation: A service is described by machine- processable meta data Description orientation: A service is described by machine- processable meta data Granularity: Services tend to use a small number of operations with relatively large and complex messages Granularity: Services tend to use a small number of operations with relatively large and complex messages Network orientation: Services tend to be oriented toward use over a network Network orientation: Services tend to be oriented toward use over a network Platform neutral: Messages are sent in a platform-neutral, standardized format delivered through the interfaces (in XML) Platform neutral: Messages are sent in a platform-neutral, standardized format delivered through the interfaces (in XML)

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Service Abstraction in SOA The internal structure of an agent, including features such as its implementation language, process structure and even database structure, are deliberately abstracted away in the SOA The internal structure of an agent, including features such as its implementation language, process structure and even database structure, are deliberately abstracted away in the SOA A key benefit of this concerns so-called legacy systems. By avoiding any knowledge of the internal structure of an agent, one can incorporate any software component or application that can be "wrapped" in message handling code that allows it to adhere to the formal service definition. A key benefit of this concerns so-called legacy systems. By avoiding any knowledge of the internal structure of an agent, one can incorporate any software component or application that can be "wrapped" in message handling code that allows it to adhere to the formal service definition.

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Difficulties in Using Web Wrappers bkr&query=www&xc=&qt=df&f=all&r=&st=s&fd=1&st art=101&display=10&domain=&dftf=&qf=1&qvt=0 Need to analyze how to generate a URL Need to analyze how to generate a URL Need to parse Web pages to obtain result data Need to parse Web pages to obtain result data Need to modify the wrapper when the result page format is changed Need to modify the wrapper when the result page format is changed

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University What would be better? Access the Web site as if we call functions: Access the Web site as if we call functions: e.g., result = Naver.webSearch(“ICU”); String[] titles = result.getTitles(); String[] titles = result.getTitles(); String[] urls = result.getURLs(); String[] urls = result.getURLs(); APIs are independent from the changes on the layout of the result pages APIs are independent from the changes on the layout of the result pages Use standard protocols such as HTTP to directly access the Web site from a program Use standard protocols such as HTTP to directly access the Web site from a program

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Solution: Web Services xmethods.com Provides a list of publicly available Web Services Allow users to test Web Services via a Web-based interface

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Web Services Web services provide a standard means of interoperating between different software applications, running on a variety of platforms and/or frameworks [W3C] Software Components External Software System Services External Users Web Services Platform WSDL, SOAP, UDDI

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Benefits of Using Web Services Inheriting the benefits of service-oriented software development Inheriting the benefits of service-oriented software development Enable outsourcing services Enable outsourcing services Adaptability, Scalability, Maintainability Adaptability, Scalability, Maintainability Abstraction, Loose coupling, Asynchrony, Agility Abstraction, Loose coupling, Asynchrony, Agility Standard-based solution Standard-based solution Ubiquitous services via the Web Ubiquitous services via the Web Clean division between production and delivery of service Clean division between production and delivery of service

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Main Elements in Web Services An agent is a program acting on behalf of person or organization; implements a Web service An agent is a program acting on behalf of person or organization; implements a Web service A provider entity is the person or organization that provides an appropriate agent to implement a service A provider entity is the person or organization that provides an appropriate agent to implement a service A requester entity is a person or organization that wishes to make use of a provider entity's Web service A requester entity is a person or organization that wishes to make use of a provider entity's Web service A Web Services description is a machine- processable specification of the Web service's interface, written in WSDL A Web Services description is a machine- processable specification of the Web service's interface, written in WSDL The semantics of a Web service is the shared expectation about the behavior of the service (the "contract" between the requester and the provider) The semantics of a Web service is the shared expectation about the behavior of the service (the "contract" between the requester and the provider)

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Engaging a Web Service

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University RPC (Remote Procedure Call) A method by which a client can invoke a procedure on a remote server as if it were running on the client A method by which a client can invoke a procedure on a remote server as if it were running on the client Sun popularized RPCs in the 1980s for its Unix systems Sun popularized RPCs in the 1980s for its Unix systems 1.A client process, known as a client stub, converts a request from a local application into a common data format 2.The request is then transported across a network to a server stub 3.The server stub translates the request into a form the server process can understand 4.Once the server process processes the request, the procedure is reversed

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University RPC Model Client Process Client Routines Client Stub Network Routines (1) (2) (10) (9) Server Process Server Routines Server Stub Network Routines (6) (7) (5) (4) (3) (8) Marshalling Un- marshalling

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University RPC Examples SunPRC SunPRC Use of the XDR (External Data Representation) standard for describing message formats Use of the XDR (External Data Representation) standard for describing message formats Java RMI (Remote Method Invocation) Java RMI (Remote Method Invocation) Use of Java interfaces for describing message formats Use of Java interfaces for describing message formats Use of the Java object serialization for data transmission Use of the Java object serialization for data transmission Web Services Web Services Use an XML-based mechanism (SOAP) for describing message formats Use an XML-based mechanism (SOAP) for describing message formats

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Web Services and RPC Web Services use an XML-based RPC mechanism (called SOAP) Web Services use an XML-based RPC mechanism (called SOAP)

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Web Services Standards WSDL (Web Services Description Language) WSDL (Web Services Description Language) Language for Describing Functionality and I/O Data of Web Services Language for Describing Functionality and I/O Data of Web Services DAML-S (DARPA Agent Markup Language for Services) DAML-S (DARPA Agent Markup Language for Services) Language for Describing Semantic Web Services Language for Describing Semantic Web Services SOAP (Simple Object Access Protocol) SOAP (Simple Object Access Protocol) Envelop for sending messages Envelop for sending messages UDDI (Universal Description Discovery and Integration) UDDI (Universal Description Discovery and Integration) Directory service for Web Services Directory service for Web Services

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Web Services Architecture Service Consumer Service Provider Directory Service (UDDI) SOAP Message (Service Description in WSDL) 1 SOAP Message (Queries) 2 (Query Response in WSDL) 3 SOAP Message (Service Request in WSDL) 4 SOAP Message (Service Response) 5

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University SOAP Provides a standard, extensible, composable framework for packaging and exchanging XML messages Provides a standard, extensible, composable framework for packaging and exchanging XML messages Service Oriented Architecture Protocol: Service Oriented Architecture Protocol: Represents the information needed to invoke a service or reflect the results of a service invocation Represents the information needed to invoke a service or reflect the results of a service invocation Contains the information specified in the service interface definition Contains the information specified in the service interface definition Simple Object Access Protocol: Simple Object Access Protocol: Represents a method invocation on a remote object Represents a method invocation on a remote object Represents the serialization of in the argument list of that method that must be moved from the local environment to the remote environment Represents the serialization of in the argument list of that method that must be moved from the local environment to the remote environment

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University SOAP Elements A required Envelope element that identifies the XML document as a SOAP message A required Envelope element that identifies the XML document as a SOAP message An optional Header element that contains header information An optional Header element that contains header information A required Body element that contains call and response information A required Body element that contains call and response information An optional Fault element that provides information about errors that occurred while processing the message An optional Fault element that provides information about errors that occurred while processing the message

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Skeleton SOAP Message <soap:Envelope xmlns:soap=" " soap:encodingStyle=" ">...</soap:Header> </soap:Body></soap:Envelope>

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University SOAP Example – Service Request X1lNZ…………………+Y9j X1lNZ…………………+Y9j www www true true false false lang_ko lang_ko latin1 latin1 </soap:Envelope> A SOAP message for accessing the Google Web Service

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Web Service Request via HTTP C:\>telnet api.google.com 80 POST /search/beta2 HTTP/1.0 Host: api.google.com Accept: text/* Content-type: text/xml SOAPAction: urn:GoogleSearchAction Content-length: 408 X1lN… Y9j www 0 10 true false latin1 latin1 X1lN… Y9j www 0 10 true false latin1 latin1

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University SOAP Example – Service Response <SOAP-ENV:Envelope xmlns:SOAP-ENV=" xmlns:xsi=" xmlns:xsd=" <ns1:doGoogleSearchResponse xmlns:ns1="urn:GoogleSearch" SOAP-ENV:encodingStyle=" false false false false … Result header

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University SOAP Example – Service Response <resultElements xmlns:ns3=" xsi:type="ns3:Array" ns3:arrayType="ns1:ResultElement[10]"> k 32k Top/Computers/Internet/Searching/Directories/Yahoo Top/Computers/Internet/Searching/Directories/Yahoo Yahoo! Yahoo! true true... Business … Media Newspapers, TV, Radio Business … Media Newspapers, TV, Radio... The first large scale directory of the Internet... The first large scale directory of the Internet... Yahoo! Yahoo! … … Web page listing

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University WSDL Web Services Description Language Web Services Description Language An XML-based language for describing Web services An XML-based language for describing Web services Submitted as a W3C Note by Ariba, IBM and Microsoft for the W3C XML Activity in March 2001 Submitted as a W3C Note by Ariba, IBM and Microsoft for the W3C XML Activity in March 2001 Defines the message formats, datatypes, transport protocols, and transport serialization formats that should be used between the requester agent and the provider agent Defines the message formats, datatypes, transport protocols, and transport serialization formats that should be used between the requester agent and the provider agent Represents an agreement governing the mechanics of interacting with that service Represents an agreement governing the mechanics of interacting with that service

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University WSDL Description Levels Abstract-level Descriptions: describe a Web service in terms of the messages it sends and receives Abstract-level Descriptions: describe a Web service in terms of the messages it sends and receives An operation associates a message exchange pattern with one or more messages An operation associates a message exchange pattern with one or more messages A message exchange pattern identifies the sequence and cardinality of messages sent and/or received as well as who they are logically sent to and/or received from A message exchange pattern identifies the sequence and cardinality of messages sent and/or received as well as who they are logically sent to and/or received from An interface groups together operations without any commitment to transport or wire format An interface groups together operations without any commitment to transport or wire format Concrete-level Descriptions: Concrete-level Descriptions: A binding specifies transport and wire format details for one or more interfaces A binding specifies transport and wire format details for one or more interfaces An endpoint associates a network address with a binding An endpoint associates a network address with a binding A service groups together endpoints that implement a common interface A service groups together endpoints that implement a common interface

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University WSDL Document Structure Main Elements: Main Elements: The operations performed by the web service The operations performed by the web service The messages used by the web service The messages used by the web service The data types used by the web service The data types used by the web service The communication protocols used by the web service The communication protocols used by the web service Skeleton WSDL Document: Skeleton WSDL Document:<definitions> definition of types definition of types definition of a message.... definition of a message.... definition of a port definition of a port definition of a binding.... definition of a binding.... </definitions>

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University WSDL Example <definitions> </definitions>

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University WSDL Example (cont.) <soap:binding style="document" <soap:binding style="document" transport=" transport=" <soap:operation <soap:operation soapAction=" soapAction=" </binding>

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Google WSDL

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Web Services Examples WS Index: WS Index: XMethods (List of publicly available Web Services): XMethods (List of publicly available Web Services): Google search Google search Amazon.com Amazon.com InstantMessageAlert InstantMessageAlert Send Send Global Weather Global Weather StockQuote StockQuote Air Fare Quote Search Air Fare Quote Search BabelFish BabelFish …

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University The Problem with Web Services  How can I discover business partners with compatible web service solutions?  How do let other business know about my exposed web services?  Web services are great, after you find out about them, but the discovery process is difficult

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University UDDI Universal Description, Discovery and Integration Universal Description, Discovery and Integration UDDI creates a standard interoperable platform that enables humans and applications to quickly, easily, and dynamically find and use Web services over the Internet UDDI creates a standard interoperable platform that enables humans and applications to quickly, easily, and dynamically find and use Web services over the Internet UDDI allows operational registries to be maintained for different purposes in different contexts UDDI allows operational registries to be maintained for different purposes in different contexts UDDI is a cross-industry effort (UDDI.org) driven by major platform and software providers, as well as marketplace operators and e-business leaders UDDI is a cross-industry effort (UDDI.org) driven by major platform and software providers, as well as marketplace operators and e-business leaders

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University UDDI Data Entities: data structures that expressed in XML, and are persistently stored by UDDI nodes Entities: data structures that expressed in XML, and are persistently stored by UDDI nodes Entity Types: Entity Types: businessEntity: Describes a business or other organization that typically provides Web services businessEntity: Describes a business or other organization that typically provides Web services businessService: Describes a collection of related Web services offered by an organization businessService: Describes a collection of related Web services offered by an organization bindingTemplate: Describes the technical information necessary to use a particular Web service bindingTemplate: Describes the technical information necessary to use a particular Web service tModel: Describes a “technical model” such as a Web service type, a protocol, or a category system tModel: Describes a “technical model” such as a Web service type, a protocol, or a category system publisherAssertion: Describes, the relationship that the businessEntity has with another businessEntity publisherAssertion: Describes, the relationship that the businessEntity has with another businessEntity subscription: Describes a standing request to keep track of changes to the entities described by the subscription subscription: Describes a standing request to keep track of changes to the entities described by the subscription

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University UDDI Example – Data Type Structure <businessEntity businessKey="35AF7…..ACDD" authorizedName=" CAL" operator="www-3.ibm.com/services/uddi"> operator="www-3.ibm.com/services/uddi"> BooksToGo BooksToGo The source for all professional books The source for all professional books</description> <contact> Ramesh Mandava Ramesh Mandava <phone>(877) </phone></contact></contacts></businessEntity> Taken from

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Access UDDI via API’s SOAP and XML Schema are the basis SOAP and XML Schema are the basis User UDDI SOAP Request UDDI SOAP Response UDDI Registry Node HTTP Server SOAP Processor UDDI Registry Service B2B Directory Create, View, Update, and Delete registrations Implementation- neutral © Copyright 2000 By Ariba, Inc., International Business Machines Corporation and Microsoft Corporation. All Rights Reserved.

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Web Services Stack

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Web Services Platforms Provides facilities to support Web Services- related activities Provides facilities to support Web Services- related activities Service Description Service Description Service Implementation Service Implementation Service Publishing, Discovery and Binding Service Publishing, Discovery and Binding Service Invocation and Execution Service Invocation and Execution Examples Examples Microsoft.NET Microsoft.NET IBM’s WebSphere IBM’s WebSphere Sun’s J2EE (Java 2 Platform, Enterprise Edition) Sun’s J2EE (Java 2 Platform, Enterprise Edition)

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Web Services References W3C Web Services page: W3C Web Services page: Web Services Architecture: Web Services Architecture: Web Services Conceptual Architecture: ibm.com/software/solutions/webservices/pdf/WSCA.pdf Web Services Conceptual Architecture: ibm.com/software/solutions/webservices/pdf/WSCA.pdf ibm.com/software/solutions/webservices/pdf/WSCA.pdf ibm.com/software/solutions/webservices/pdf/WSCA.pdf Web Services Description Language (WSDL): Web Services Description Language (WSDL): WSDL Tutorial: WSDL Tutorial: SOAP Tutorial: SOAP Tutorial: SOAP Primer: SOAP Primer:

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Web Services References (cont.) UDDI Technical White Paper: UDDI Technical White Paper: UDDI Spec Technical Committee Specification: UDDI Spec Technical Committee Specification: The Java Web Services Tutorial: The Java Web Services Tutorial: Microsoft.NET - Microsoft.NET IBM’s WebSphere - IBM’s WebSphere Sun’s J2EE (Java 2 Platform, Enterprise Edition) - Sun’s J2EE (Java 2 Platform, Enterprise Edition) -

August 4, Programming for WWW (Lecture#12) In-Young Ko, Information Communications University Reading Assignment #3 Web Services Conceptual Architecture, Heather Creger, IBM Web Services Conceptual Architecture, Heather Creger, IBM