REST- Representational State Transfer Enn Õunapuu

Slides:



Advertisements
Similar presentations
Representational State Transfer (REST) Paul Townend 8 th February 2007.
Advertisements

REST - Representational State Transfer
REST Vs. SOAP.
REST Introduction 吴海生 博克软件(杭州)有限公司.
Introduction to Web Services
REST (Representational State Transfer)
Reinventing using REST. Anything addressable by a URI is called a resource GET, PUT, POST, DELETE WebDAV (MOVE, LOCK)
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Building RESTful Interfaces
Thoughts on Architecture for the Internet of Things Group Name: Working Group 2 - Architecture Source: Nicolas Damour, Sierra Wireless
Chapter 3: Programming Web Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
XP Browser and Basics1. XP Browser and Basics2 Learn about Web browser software and Web pages The Web is a collection of files that reside.
Browser and Basics Tutorial 1. Learn about Web browser software and Web pages The Web is a collection of files that reside on computers, called.
Controling instrument in the RESTful way
CS 415 N-Tier Application Development By Umair Ashraf July 6,2013 National University of Computer and Emerging Sciences Lecture # 9 Introduction to Web.
DATA COMMUNICATION DONE BY: ALVIN SAMPATH CARLVIN SAMPATH.
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,
Web HTTP Hypertext Transfer Protocol. Web Terminology ◘Message: The basic unit of HTTP communication, consisting of structured sequence of octets matching.
REST - Introduction Based on material from InfoQ.com (Stefan Tilkov) And slides from MindTouch.com (Steve Bjorg) 1.
1 Seminar on Service Oriented Architecture Principles of REST.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
Chapter 29 World Wide Web & Browsing World Wide Web (WWW) is a distributed hypermedia (hypertext & graphics) on-line repository of information that users.
Appendix E: Overview of HTTP ©SoftMoore ConsultingSlide 1.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
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.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
CS 6401 The World Wide Web Outline Background Structure Protocols.
RESTful Web Services What is RESTful?
Web Services An Introduction Copyright © Curt Hill.
REST By: Vishwanath Vineet.
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
Web Design Terminology Unit 2 STEM. 1. Accessibility – a web page or site that address the users limitations or disabilities 2. Active server page (ASP)
The Internet Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
Representational State Transfer COMP6017 Topics on Web Services Dr Nicholas Gibbins –
Using Retrofit framework in implementation of Android REST client David Ante Macan*, Zlatko Stapić, Milan Pavlović* University of Zagreb Faculty of Organization.
REST API Design. Application API API = Application Programming Interface APIs expose functionality of an application or service that exists independently.
National College of Science & Information Technology.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
4.01 How Web Pages Work.
Web fundamentals: Clients, Servers, and Communication
Distributed Control and Measurement via the Internet
Thoughts on Architecture for the Internet of Things
RESTful Sevices Distributed Objects Presented by: Shivank Malik
Web Development Web Servers.
REST: Web Services Abel Sanchez.
E-commerce | WWW World Wide Web - Concepts
Advanced Web-based Systems | Misbhauddin
E-commerce | WWW World Wide Web - Concepts
CASE STUDY -HTML,URLs,HTTP
Introduction Web Environments
Processes The most important processes used in Web-based systems and their internal organization.
Representational State Transfer
Ashish Pandit IT Architect, Middleware & Integration Services
WEB API.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
$, $$, $$$ API testing Edition
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
Service-Oriented Computing: Semantics, Processes, Agents
A gentle introduction to RESTful APIs
Creating a Distributed System with Remote Procedure Calls and Web Services Ch.5 B.Ramamurthy 2/17/2019 B.Ramamurthy.
REST APIs Maxwell Furman Department of MIS Fox School of Business
REST på Microsoft-stacken
Week 05 Node.js Week 05
Service-Oriented Computing: Semantics, Processes, Agents
4.01 How Web Pages Work.
A gentle introduction to RESTful APIs
Chengyu Sun California State University, Los Angeles
Presentation transcript:

REST- Representational State Transfer Enn Õunapuu enn@cc.ttu.ee

Määrang Representational State Transfer (REST) is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The terms “Representational State Transfer” and “REST” were introduced in 2000 in the doctoral dissertation of Roy Fielding,[1] one of the principal authors of the Hypertext Transfer Protocol (HTTP) specification. The terms have since come into widespread use in the networking community.

Prinsiibid REST’s proponents argue that the Web enjoyed the scalability and growth that it has had as a direct result of a few key design principles: Application state and functionality are divided into resources Every resource is uniquely addressable using a universal syntax for use in hypermedia links All resources share a uniform interface for the transfer of state between client and resource, consisting of A constrained set of well-defined operations A constrained set of content types, optionally supporting code on demand A protocol that is: Client-server Stateless Cacheable Layered

REST's central principle: resources An important concept in REST is the existence of resources (sources of specific information), each of which can be referred to using a global identifier (a URI). In order to manipulate these resources, components of the network (clients and servers) communicate via a standardized interface (e.g. HTTP) and exchange representations of these resources (the actual documents conveying the information).

Eelised Provides improved response times and server loading characteristics due to support for caching Improves server scalability by reducing the need to maintain communication state. This means that different servers can be used to handle initial and subsequent requests Requires less client-side software to be written than other approaches, because a single browser can access any application and any resource Depends less on vendor software than mechanisms that layer additional messaging frameworks on top of HTTP Provides equivalent functionality when compared to alternative approaches to communication Does not require a separate resource discovery mechanism, due to the use of hyperlinks in content Provides better long-term compatibility and evolvability characteristics than RPC. This is due to: The capability of document types such as HTML to evolve without breaking backwards- or forwards-compatibility, and The ability of resources to add support for new content types as they are defined without dropping or reducing support for older content types.

Comparison of SOAP and Rest RESTandSoapcomparison.doc

HTTP HTTP CRUD POST Create, Update, Delete GET Read PUT Create, Update DELETE Delete

HTTP post and get comparison The fundamental differences between "GET" and "POST" The HTML specifications technically define the difference between "GET" and "POST" so that former means that form data is to be encoded (by a browser) into a URL while the latter means that the form data is to appear within a message body. But the specifications also give the usage recommendation that the "GET" method should be used when the form processing is "idempotent", and in those cases only. As a simplification, we might say that "GET" is basically for just getting (retrieving) data whereas "POST" may involve anything, like storing or updating data, or ordering a product, or sending E-mail.

Yahoo The Yahoo! Search Web Services are all REST services. That means you can easily construct request URLs that will work in your browser, on the command line, and in your code. For our example, we'll construct a query to search the web for PDF files containing the term "finances". See the web search documentation to understand the details of this service. http://search.yahooapis.com/WebSearchService/V1/webSearch?appid=YahooDemo&query=finances&format=pdf

Näide Ressursid http://example.com/users/ http://example.com/users/{user} (one for each user) http://example.com/findUserForm http://example.com/locations/ http://example.com/locations/{location} (one for each location) http://example.com/findLocationForm Kasutamine: userResource = new Resource('http://example.com/users/001') userResource.delete()

Veel näiteid Coffee

Demo cloud.ld.ttu.ee 193.40.244.84 C:\RestService Listener Client

Meie Nortwind example http://cloud.ld.ttu.ee/ACMERestService/Rest.svc/ http://cloud.ld.ttu.ee/ACMERestService/Rest.svc/SUPPLIERList/?format=xml

Jõudu!!!