Lecture 5 – Web Services CSE 490h – Introduction to Distributed Computing, Winter 2008 Except as otherwise noted, the content of this presentation is licensed.

Slides:



Advertisements
Similar presentations
REST Introduction 吴海生 博克软件(杭州)有限公司.
Advertisements

Web Service Architecture
Tuesday, June 10, 2003 Web Services Brief Overview & Security Assertion Coordinator Pattern by Mohammad Abushadi & Riaz Ahmed for Security Group CSE -
COM vs. CORBA.
Database Architectures and the Web
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.
Presentation 7 part 1: Web Services Introduced. Ingeniørhøjskolen i Århus Slide 2 Outline Definition Overview of Web Services Examples Next Time: SOAP.
Presentation 7: Part 1: Web Services Introduced. Outline Definition Overview of Web Services Examples Next Time: SOAP & WSDL.
Scale Up Access to your 4GL Application using Web Services
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Technical Architectures
Introduction to Service-Oriented Architecture. Outline Definition Features Examples of SOA Web Service Standards Example Pros and Cons Integration with.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
CSE 636 Data Integration Web Services.
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.
Getting Started with WCF Windows Communication Foundation 4.0 Development Chapter 1.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
INTRODUCTION TO CLOUD COMPUTING Cs 595 Lecture 5 2/11/2015.
By Justin Thompson. What is SOAP? Originally stood for Simple Object Access Protocol Created by vendors from Microsoft, Lotus, IBM, and others Protocol.
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Enabling Embedded Systems to access Internet Resources.
Presentation 7: Part 1: Web Services Introduced. Outline Definition Overview of Web Services Examples Next Time: SOAP & WSDL.
Web Service Bright + Ong. Meaning A collection of protocols and standards used for exchanging data between applications or systems Written in various.
CSC8530 Distributed Systems XML Web Services David Vaglia.
Lecture 15 Introduction to Web Services Web Service Applications.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
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. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
SOA-39: Securing Your SOA Francois Martel Principal Solution Engineer Mitigating Security Risks of a De-coupled Infrastructure.
Web Services Presented By : Noam Ben Haim. Agenda Introduction What is a web service Basic Architecture Extended Architecture WS Stacks.
WebService. Outline Overview of Web Services SOAP (messaging) WSDL (service description) UDDI (registry)
1 Web Services Web and Database Management System.
XML and Web Services (II/2546)
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
Kemal Baykal Rasim Ismayilov
Advanced Web Technologies Lecture #4 By: Faraz Ahmed.
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.
Simple Object Access Protocol
Web Services An Introduction Copyright © Curt Hill.
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.
.NET Mobile Application Development XML Web Services.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
Advanced Java Session 10 New York University School of Continuing and Professional Studies.
OE-NIK HP Advanced Programming Web services Standards and protocols Using web services Using web services with asynchronous calls.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
Introduction to Web Services
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
Unit – 5 JAVA Web Services
GF and RS, Dept. of CS, Mangalore University
WEB API.
Web services, WSDL, SOAP and UDDI
The future of distributed systems architecture
Distributed Systems through Web Services
Distributed System using Web Services
Distributed System using Web Services
Presentation transcript:

Lecture 5 – Web Services CSE 490h – Introduction to Distributed Computing, Winter 2008 Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License. Dave Dopson Program Manager, Microsoft Connected Systems Division

Last Class Networking: communication between 2 systems RPC: expose an API across the network

Issues What if I want to communicate across the internet?  Compatibility  Firewall traversal  Intermittent connectivity  Naming / discovery  Load balancing  Security and data transmission privacy

Solution Web Services: Evolution of RPC RPC: started being used in early ‘80s XML RPC created 1998 Evolved into SOAP (Simple Object Access Protocol)  SOAP v1.2 was endorsed as a “recommended” standard by W3C in 2003 Alternative forks: DCOM, CORBA, REST

Compatibility Goal: interoperation between heterogeneous systems Common wire format  No need to know vendor / platform / version to call procedure WSDL: Web Services Description Language  Standard way of describing methods, arguments, etc  Can be automatically compiled into a proxy stub

Firewall Traversal Goal: Route traffic between systems given political complexities of internet Many organizations are hesitant to expose RPC over the internet SOAP can be routed over HTTP / HTTPS  HTTP more compatible with standard traffic inspection tools

Intermittent Connectivity WS-RM: Web Services – Reliable Messaging  Assurances Best Effort (BE) At Least Once (ALO) At Most Once (AMO) Exactly Once (EO) In Order Use a Queue to decouple two services with different lifecycles (eg Amazon SQS)

Security and Data Privacy No snooping of packets No unauthorized access Transport Level Security (TLS)  HTTPS provides standard privacy and authentication methods (eg PKI) WS-Security provides end-to-end security  Needed for proxy scenarios

REST vs SOAP Big ongoing architectural debate about the future of the internet Both use HTTP 4 “verbs” in HTTP  GET: retrieves data from URI, must be side-effect free  PUT: write to a URI  POST: send data to a URI (“call a method”)  DELETE: delete a URI

SOAP SOAP abuses HTTP to send messages across the internet  Only uses POST (typically)  Unlimited number of methods  “nouns” are hidden in method parameters rather than via publicly visible URI’s  SOAP maps more directly to well known programming techniques

REST REpresentative State Transfer More of a philosophy than a technology Use all 4 of HTTP’s “verbs” Use a unique URI for every noun in the system REST is more “inspectable” and “cacheable”. Adds an extra common abstraction layer.

WCF (Windows Communications Foundation) Microsoft’s SOAP framework (part of.NET) Provides  Hosting / Message handling  Instance Management  Concurrency Management  Message exchange patterns (request/reply, one-way, duplex)  Transaction support  Full integration w/ C# &.NET

WS-Eventing Unratified Standard (under development) Useful for implementing publish / subscribe design pattern How do I send messages / events if I don’t know a priori who is interested in receiving them  Instant Messaging – how do I know if I got an IM?  Event Logging – auditing, system diagnosis, billing, etc

Transactions Guarantee that two operations on two different systems either both succeed or both fail Transactions that include more than one machine require a Distributed Transaction Coordinator (DTC) WS-Transactions provides a standard protocol for communicating transactions context between caller and callee

Future of Web Services Transition to truly distributed apps Most interesting scenarios fundamentally involve communication  / Facebook / IM / Airline Booking  Collecting data  Giving orders  Event notification

Benefits of Software as a Service Deployment is easy for clients Superior development model (ship early, ship often) Data can stored and hosted reliably Economies of scale Consistent experience when roaming Access to more powerful resources than available on client (esp. mobile) Service can act as agent, doing work without user Easier to enforce software licensing / other business models

Drawbacks of Software as a Service Data Privacy / Ownership What if service provider goes out of business? Lack of control of service provider Service provider has to pay for hosting Unintended service uses (gmail file system)

Interesting scenarios Offer an API to interact with the service  Eg, Airline booking  Leverage other services Plug-Ins expand functionality of service  Eg, Facebook  Where does plug-in run? Facebook? 3 rd Party? Infrastructure Services  Amazon Web Services (AWS) – EC2, S3, SQS, etc  Other building blocks – payment services, identity, presence