Service-Oriented Computing: Semantics, Processes, Agents

Slides:



Advertisements
Similar presentations
Give it a REST already Arnon Rotem-Gal-Oz VP R&D xsights
Advertisements

Representational State Transfer (REST) Paul Townend 8 th February 2007.
REST - Representational State Transfer
REST Vs. SOAP.
REST Introduction 吴海生 博克软件(杭州)有限公司.
Introduction to Web Services
Programming Web Services: RPC via SOAP and REST. 2Service-Oriented Computing RPC via SOAP A Web service is typically invoked by sending a SOAP message.
Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Database Architectures and the Web
Chapter 3: Programming Web Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
COMPARING DIFFERENT SOFTWARE INTEGRATION TECHNOLOGIES Author Jones Olaiya Ogunduyilemi (Internet & Software Technology)
Chapter 5: Principles of Service- Oriented Computing Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns,
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
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.
WORKFLOW IN MOBILE ENVIRONMENT. WHAT IS WORKFLOW ?  WORKFLOW IS A COLLECTION OF TASKS ORGANIZED TO ACCOMPLISH SOME BUSINESS PROCESS.  EXAMPLE: Patient.
Database Architectures and the Web
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 43 Shopping on the Internet.
Web Architecture & Services (2) Representational State Transfer (REST)
REST.  REST is an acronym standing for Representational State Transfer  A software architecture style for building scalable web services  Typically,
Client Server Technologies Middleware Technologies Ganesh Panchanathan Alex Verstak.
Chapter 1: Computing with Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
REST - Introduction Based on material from InfoQ.com (Stefan Tilkov) And slides from MindTouch.com (Steve Bjorg) 1.
Database Design – Lecture 18 Client/Server, Data Warehouse and E-Commerce Database Design.
1 Seminar on Service Oriented Architecture Principles of REST.
Advanced Web Technologies Lecture #4 By: Faraz Ahmed.
Representational State Transfer (REST). What is REST? Network Architectural style Overview: –Resources are defined and addressed –Transmits domain-specific.
Chapter 1: Computing with Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Representational State Transfer COMP6017 Topics on Web Services Dr Nicholas Gibbins –
REST API Design. Application API API = Application Programming Interface APIs expose functionality of an application or service that exists independently.
6. Application Server Issues for the Project
The Components of Information Systems
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
Service-Oriented Computing: Semantics, Processes, Agents
Database Architectures and the Web
REST- Representational State Transfer Enn Õunapuu
Advanced Web-based Systems | Misbhauddin
Database Architectures and the Web
Representational State Transfer
Ashish Pandit IT Architect, Middleware & Integration Services
Service-Oriented Computing: Semantics, Processes, Agents
The Components of Information Systems
Service-Oriented Computing: Semantics, Processes, Agents
Service-Oriented Computing: Semantics, Processes, Agents
Inventory of Distributed Computing Concepts
Service-Oriented Computing: Semantics, Processes, Agents
Service-Oriented Computing: Semantics, Processes, Agents
Service-Oriented Computing: Semantics, Processes, Agents
Service-Oriented Computing: Semantics, Processes, Agents
Architectures of distributed systems Fundamental Models
Service-Oriented Computing: Semantics, Processes, Agents
Chapter 17: Client/Server Computing
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Web services introduction, application and its future
Service-Oriented Computing: Semantics, Processes, Agents
Service-Oriented Computing: Semantics, Processes, Agents
Enterprise Integration
RESTful Web Services.
REST på Microsoft-stacken
Quality Assurance for Component-Based Software Development
Service-Oriented Computing: Semantics, Processes, Agents
Database System Architectures
Use Cases for a Generic Information Sharing System
Week 05 Node.js Week 05
Service-Oriented Computing: Semantics, Processes, Agents
Presentation transcript:

Service-Oriented Computing: Semantics, Processes, Agents August 2004 Chapter 3: Programming Web Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005 © Singh & Huhns

Highlights of this Chapter Service-Oriented Computing: Semantics, Processes, Agents August 2004 Highlights of this Chapter Representational State Transfer (ReST or REST) Developing and Using Web Services Web Service Interoperability Chapter 3 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns

Representational State Transfer REST is an architectural style for networked systems that constrains the connector semantics (not the component semantics) The Web is a network of hyperlinked resources A resource is anything identified by a URI A Web application works as a state machine A client selecting a link is a state transition, resulting in receiving the next page (next state) of the application Chapter 3 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

Characteristics of REST Client-Server Statelessness: requests cannot take advantage of stored contexts on a server Great for load balancing Caching: responses can be labeled as cacheable Uniform interface: URIs, hypermedia Layered components Focus on resources as opposed to methods: Read, construct, update a resource representation Well-suited to hypermedia applications Chapter 3 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

HTTP Verbs Popular verbs Get: query (no side effects) Post: update Put Delete In particular, can use Get and Post instead of much of SOAP Idempotent operations Multiple executions = one execution Challenge: the specification imposes requirements but with no way to judge compliance without understanding the designer’s intent Chapter 3 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

Software for Open Environments Tempting to simply lift current database and programming techniques for open environments Popular pitfall (blame the tools for it) Think of objects (get and set methods) Invoke them as before even though they are Web services Poor performance Tight coupling Chapter 3 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

Simple B2C Web Service Example Suppose you want to sell cameras over the Web, debit a credit card, and guarantee next-day delivery Your application must update sales database debit the credit card send an order to the shipping department receive an OK from the shipping department for next-day delivery update an inventory database Problems: Some steps complete but not all Chapter 3 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

“Traditional” B2C Problems What if the order is shipped, but the debit fails? What if the debit succeeds, but the order was never entered or shipped? Chapter 3 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

Database Approach A traditional database approach works only for a closed environment: Transaction processing (TP) monitors (such as IBM’s CICS, Transarc’s Encina, BEA System’s Tuxedo) can ensure that all or none of the steps are completed, and that systems eventually reach a consistent state But what if the user’s modem is disconnected right after he clicks on OK? Did the order succeed? What if the line went dead before the acknowledgement arrives? Will the user order again? The TP monitor cannot get the user into a consistent state! Chapter 3 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

Approach for Open Environment Server application could send email about credit problems, or detect duplicate transactions Downloaded applet could synchronize with server after broken connection was restored, and recover transaction; applet could communicate using http, or directly with server objects via CORBA/IIOP or RMI If there are too many orders to process synchronously, they could be put in a message queue, managed by a Message Oriented Middleware server (which guarantees message delivery or failure notification), and customers would be notified by email when the transaction is complete The server behaves like an agent! Chapter 3 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

Requirements Cross-enterprise processes Exception handling Conversations and long-lived transactions Contracts among parties involved Chapter 3 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

Chapter 3 Summary Tools help with low-level details Agreeing on standards is more important than the standards themselves Should conceptualize interactions in a manner compatible with the Web architecture Can simplify from SOAP in many cases The above is a small point anyway Bigger challenges are in ensuring larger-scale interactions, ensuring integrity, handling exceptions, … Sophisticated programming models are emerging Chapter 3 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns