Web Services An Introduction Copyright © 2013-2015 Curt Hill.

Slides:



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

1 Communication in Distributed Systems REKs adaptation of Tanenbaums Distributed Systems Chapter 2.
Web Service Architecture
Web Services.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
1 Understanding Web Services Presented By: Woodas Lai.
RPC Robert Grimm New York University Remote Procedure Calls.
Introduction to Web Services and Web API’s Richard Holowczak Baruch College December, 2014.
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.
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)
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.
Comparison of the RMI and the socket APIs
Slide 1 EE557: Server-Side Development Lecturer: David Molloy Room: XG19 Mondays 10am-1pm Notes:
Web Services Andrea Miller Ryan Armstrong Alex. Web services are an emerging technology that offer a solution for providing a common collaborative architecture.
Web Services CS Web Services Internet-available services using XML messaging, for computer-computer interaction Not tied to any OS or language Self-describing:
.NET Mobile Application Development Remote Procedure Call.
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
CS 415 N-Tier Application Development By Umair Ashraf July 6,2013 National University of Computer and Emerging Sciences Lecture # 9 Introduction to Web.
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.
Web services A Web service is an interface that describes a collection of operations that are network-accessible through standardized XML messaging. A.
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
What are Webservices?. Web Services  What are Web Services?  Examine important Web Services acronyms (UDDI, SOAP, XML and WSDL)  What are the benefits.
Outline  Enterprise System Integration: Key for Business Success  Key Challenges to Enterprise System Integration  Service-Oriented Architecture (SOA)
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
CSCI 6962: Server-side Design and Programming Web Services.
CSC8530 Distributed Systems XML Web Services David Vaglia.
Web Server Administration Web Services XML SOAP. Overview What are web services and what do they do? What is XML? What is SOAP? How are they all connected?
Lecture 15 Introduction to Web Services Web Service Applications.
Web Services Week 7 Aims: A detailed look at the underlying mechanisms for communication between web services Objectives: SOAP, WSDL, UDDI.
Dodick Zulaimi Sudirman Lecture 14 Introduction to Web Service Pengantar Teknologi Internet Introduction to Internet Technology.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
WebService. Outline Overview of Web Services SOAP (messaging) WSDL (service description) UDDI (registry)
Copyright © 2013 Curt Hill SOAP Protocol for exchanging data and Enabling Web Services.
1 Web Services Web and Database Management System.
XML and Web Services (II/2546)
Kemal Baykal Rasim Ismayilov
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
Advanced Web Technologies Lecture #4 By: Faraz Ahmed.
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
Introduction to Web Services. Agenda Motivation History Web service model Web service components A walkthrough examples.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
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.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Web Services Blake Schernekau March 27 th, Learning Objectives Understand Web Services Understand Web Services Figure out SOAP and what it is used.
Beginning 자바 웹 서비스 SOAP 강미란 Cyber-Infrastructure Research Lab Konkuk University.
SOAP, Web Service, WSDL Week 14 Web site:
Java Web Services Orca Knowledge Center – Web Service key concepts.
Introduction to Web Services
Sabri Kızanlık Ural Emekçi
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
WEB SERVICES.
Unit – 5 JAVA Web Services
Web Services Primer Overview of Web Services
Introduction to Web Services and SOA
WEB API.
Web Server Administration
Web services, WSDL, SOAP and UDDI
Creating a Distributed System with Remote Procedure Calls and Web Services Ch.5 B.Ramamurthy 2/17/2019 B.Ramamurthy.
WEB SERVICES From Chapter 19, Distributed Systems
Introduction to Web Services and SOA
Chengyu Sun California State University, Los Angeles
Presentation transcript:

Web Services An Introduction Copyright © Curt Hill

Introduction Two computers may communicate over the Internet using Web Services Typically uses HTTP Several approaches: –RPC –XML based –RESTful Copyright © Curt Hill

History Microsoft seems to have introduced the idea in conjunction with the.NET in 1999 –.NET was originally named BizTalk The idea was to allow interconnection of different computers over the web –Without substantial manual intervention The issues around Remote Procedure Calls could then be disarmed Copyright © Curt Hill

Remote Procedure Call AKA remote invocation or remote method invocation Concept where a program can call a subroutine in another address space and receive results Often this other address space is actually on another machine –Both are usually connected through the internet There needs to be a mechanism that makes this relatively painless Copyright © Curt Hill

RPC Process Program calls the client stub, a local procedure Client stub packs the parameters into a message and uses the OS to send the message –Packing is called marshalling The remote system passes the incoming packets to another stub This stub unpacks the parameters Stub calls the procedure that does the work Reply reverse these steps Copyright © Curt Hill

RPC Problems Remote Procedure Calls raise security issues DCOM and CORBA are two common means to use RPC These usually have problems with a firewall or proxy server They are typically difficult to set up and not as platform independent as desired Copyright © Curt Hill

Roles There are three roles needed to make web services function –Service providers –Service requestors –Service directory or registry Copyright © Curt Hill

Service providers Correspond to the remote procedure in RPC They provide some kind of service to any requester –Example: convert one currency to another The service must have a standard description –The description is usually in Web Services Definition Language (WSDL) –Pronounced wiz dul Copyright © Curt Hill

Service requestors Clients that need a particular service They discover the availability of the service through a service directory They find how to access the service through WSDL They access the service –Often using SOAP Copyright © Curt Hill

Service directory or registry Implements UDDI –Universal Description, Discovery and Integration service Service providers register with a directory Service requestors query a directory XML is the language between all these exchanges Copyright © Curt Hill

XML XML is the generalized way to exchange information in a platform independent way Every platform will be able to read, parse and understand XML Each of these messages will be in XML –The web services request and response –The WSDL query and reply –The registration of a new service Copyright © Curt Hill

XML Web Services Instead of sending an HTTP command an XML file is sent –This details the type of request An XML file is returned describing the results This may have a state –A conversation may ensue where each request/reply depends on previous –State is inside the XML Copyright © Curt Hill

Web Services Copyright © Curt Hill

Commentary In the above picture it appears that the originator is a person operating a browser This does not have to be the case It could just as well be an application that has as part of it a browser component that sends and receives messages Copyright © Curt Hill

SOAP Simple Object Access Protocol A typical, but not only XML Web Service protocol SOAP applications typically: –Find a Web Service provider with UDDI –Parse the WSDL to find the correct way to request and receive services –Send and receive SOAP XML to obtain the services There is another presentation on SOAP and related protocols Copyright © Curt Hill

WSDL/SOAP Copyright © Curt Hill

Alternatives Copyright © Curt Hill The web services approach shown above is not the only approach It is nice in that all of these functions may be handled by program: –Discover the service –Request the service –Understand the response of the service There are some problems with this approach

XML/SOAP Problems Copyright © Curt Hill The usual criticism is that this is a cumbersome protocol –Very general but inefficient However, similar capabilities can also be handled in a RESTful fashion

REST REpresentational State Transfer Often attached to a web server –Web servers are stateless and lightweight We still transfer data from server to client, but in an easier way The servers are already present, so implementing these is somewhat easier Copyright © Curt Hill

RESTful Transfers Client issues a GET, PUT, POST or DELETE –The normal commands in HTTP REST is stateless, like HTTP –Once request and response are complete there is nothing more to do The transfer messages may be in XML/HTML or anything REST is an architecture, not a protocol Copyright © Curt Hill

RESTful Architecture A resource is the item being provided It may be: –A simple value such as a price converted to a different currency –A record such as a line of an invoice –A catalog or book It may also be in whatever format is convenient, such as XML, but also a document in any format Copyright © Curt Hill

Operations Ah CRUD! Resource operations and their HTTP commands: –Create – POST –Read – GET –Update – PUT –Delete – DELETE Now access via URL Copyright © Curt Hill

RESTful Problems Simple requests are easy to construct but complex interfaces are not SOAP is standardized but RESTful requests are not It is possible that each resource has both a RESTful and SOAP interface Copyright © Curt Hill

Application This is the key to B2B collaboration, among other things Consider the following scenario: –Warehouse processes an order –Stock item falls below reorder point –Warehouse initiates a web service –SOAP order for the item is sent –Provider processes the order and initiates shipping –Warehouse receives new stocks Copyright © Curt Hill

Mobile Apps Any web service should be convertible to a mobile app –All that is required is an HTML(5) front end Process –The front end takes information from user –Transmits to service provider –Recieves reply –Displays results Store URL, no need for app store presence Copyright © Curt Hill