REST. And now for something completely different. Mike amundsen.com
|
|
- Francine Harrison
- 5 years ago
- Views:
Transcription
1 REST And now for something completely different Mike amundsen.com
2 Preliminaries Mike Amundsen Developer, Architect, Presenter Hypermedia Junkie I program the Internet Designing Hypermedia APIs with Node and HTML5 O Reilly, Fall 2011
3 And now for something a completely different
4 Excuse me... did you say knives'? City Gent #1 (Michael Palin) The Architects Sketch
5 Consider how often we see software projects begin with adoption of the latest fad in architectural design, and only later discover whether or not the system requirements call for such an architecture Roy T. Fielding, 2000
6 Consider how often we see software projects begin with adoption of the latest fad in architectural design, and only later discover whether or not the system requirements call for such an architecture Roy T. Fielding, 2000
7 Consider how often we see software projects begin with adoption of the latest fad in architectural design, and only later discover whether or not the system requirements call for such an architecture Roy T. Fielding, 2000
8 Representational State Transfer
9 Representational State Transfer
10 These are.?
11
12
13
14 REST is a style
15 REST is a style of software architecture.
16 In contrast to
17
18
19
20 HTTP is a Standard
21 HTTP is a Standard Transfer Protocol
22 !=
23 REST!= HTTP
24 Well then, what IS REST?
25 Roy T. Fielding, 2000
26 REST is a coordinated set of architectural constraints that attempts to minimize latency and network communication while at the same time maximizing the independence and scalability of component implementations. Roy T. Fielding, 2000
27 REST is a coordinated set of architectural constraints that attempts to minimize latency and network communication while at the same time maximizing the independence and scalability of component implementations. Roy T. Fielding, 2000
28 REST is a coordinated set of architectural constraints that attempts to minimize latency and network communication while at the same time maximizing the independence and scalability of component implementations. Roy T. Fielding, 2000
29 REST is a coordinated set of architectural constraints that attempts to minimize latency and network communication while at the same time maximizing the independence and scalability of component implementations. Roy T. Fielding, 2000
30 REST attempts to minimize latency while maximizing scalability Roy T. Fielding, 2000
31 Srsly?
32 But some people say
33 REST IS Crafting URIs Identifying Resources Designing Responses (JSON, XML, etc.) HTTP Verbs (GET, PUT, POST, DELETE) Headers (Caching, etc.) HTTP Response Codes (200, 404, 418, etc.)
34 REST IS Crafting URIs Identifying Resources Designing Responses (JSON, XML, etc.) HTTP Verbs (GET, PUT, POST, DELETE) Headers (Caching, etc.) HTTP Response Codes (200, 404, 418, etc.)
35 Actually
36 REST IS NOT Crafting URIs Identifying Resources Designing Responses (JSON, XML, etc.) HTTP Verbs (GET, PUT, POST, DELETE) Headers (Caching, etc.) HTTP Response Codes (200, 404, 418, etc.)
37 REST IS NOT Crafting URIs Identifying Resources Designing Responses (JSON, XML, etc.) HTTP Verbs (GET, PUT, POST, DELETE) Headers (Caching, etc.) HTTP Response Codes (200, 404, 418, etc.)
38 REST IS NOT Crafting URIs Identifying Resources Designing Responses (JSON, XML, etc.) HTTP Verbs (GET, PUT, POST, DELETE) Headers (Caching, etc.) HTTP Response Codes (200, 404, 418, etc.)
39 REST IS NOT Crafting URIs Identifying Resources Designing Responses (JSON, XML, etc.) HTTP Verbs (GET, PUT, POST, DELETE) Headers (Caching, etc.) HTTP Response Codes (200, 404, 418, etc.)
40 But really, what is REST?
41 A set of constraints.
42 Another example
43 Charles Eames
44 "I have never been forced to accept compromises but I have willingly accepted constraints." Charles Eames, Eames Design, 1989
45 "I have never been forced to accept compromises but I have willingly accepted constraints." Charles Eames, Eames Design, 1989
46 "I have never been forced to accept compromises but I have willingly accepted constraints." Charles Eames, Eames Design, 1989
47 Why constraints?
48 Is there anything more intimidating?
49 OK, what are REST s constraints?
50 There are six REST constraints
51 Client-Server Not Peer-to-Peer
52 Stateless No Server-Side Session
53 Cache Don t hit server every time
54 Uniform Interface Same API for everyone
55 Layered System Add hardware any time
56 Code On Demand * Don t hard-code clients, send code to them.
57 REST s Constraints 1. Client-Server 2. Stateless 3. Cache 4. Uniform Interface 5. Layered System 6. Code on Demand
58 Wait, that s it?
59 Well
60 "[REST] is achieved by placing constraints on connector semantics where other styles have focused on component semantics." Roy T. Fielding, 2000
61 "[REST] is achieved by placing constraints on connector semantics where other styles have focused on component semantics." Roy T. Fielding, 2000
62 "[REST] is achieved by placing constraints on connector semantics where other styles have focused on component semantics." Roy T. Fielding, 2000
63 Connector!= Component
64 Component Database File System Message Queue Transaction Manager Source Code
65 Component == Private
66
67 Connector Web Server Browser Agent Proxy Server Shared Cache
68 Connector == Public
69
70 Client Connectors Server The Web Components
71 And the best way to ensure Connectors work together is
72 Uniform Interface 1. Identification of Resources 2. Resource Representations 3. Self-Descriptive Messages 4. Hypermedia
73 Uniform Interface 1. Identification of Resources (URIs) 2. Resource Representations 3. Self-Descriptive Messages 4. Hypermedia
74 Uniform Interface 1. Identification of Resources (URIs) 2. Resource Representations (Media-Types) 3. Self-Descriptive Messages 4. Hypermedia
75 Uniform Interface 1. Identification of Resources (URIs) 2. Resource Representations (Media-Types) 3. Self-Descriptive Messages (Header+Body) 4. Hypermedia
76 Uniform Interface 1. Identification of Resources (URIs) 2. Resource Representations (Media-Types) 3. Self-Descriptive Messages (Header+Body) 4. Hypermedia (Links & Forms)
77 URIs A Uniform Resource Identifier (URI) is a compact string of characters for identifying an abstract or physical resource. RFC2396 URI Generic Syntax
78 URIs A Uniform Resource Identifier (URI) is a compact string of characters for identifying an abstract or physical resource. RFC2396 URI Generic Syntax
79 MIME Media Types Specify the nature of the data in the body of a MIME entity and auxiliary information that may be required for certain media types. RFC2046 MIME Media Types
80 MIME Media Types Specify the nature of the data in the body of a MIME entity and auxiliary information that may be required for certain media types. RFC2046 MIME Media Types
81 Header + Body Message[s] consist of a start-line, zero or more header fields (also known as "headers"), an empty line (i.e., a line with nothing preceding the CRLF) indicating the end of the header fields, and possibly a messagebody. RFC2616 Hypertext Transfer Protocol HTTP/1.1
82 Header + Body Message[s] consist of a start-line, zero or more header fields (also known as "headers"), an empty line (i.e., a line with nothing preceding the CRLF) indicating the end of the header fields, and possibly a messagebody. RFC2616 Hypertext Transfer Protocol HTTP/1.1
83 Links & Forms Hypermedia is defined by the presence of application control information embedded within, or as a layer above, the presentation of information. Roy. T. Fielding, 2000
84 Links & Forms Hypermedia is defined by the presence of application control information embedded within, or as a layer above, the presentation of information. Roy. T. Fielding, 2000
85 Seems kinda complicated
86 REST in one slide Read the dissertation, really!
87 Component Connector Connector Component Client Connectors Server The Web Components
88 Those of us who have been trained as architects have this desire perhaps at the very center of our lives: that one day, somewhere, somehow, we shall build one building which is wonderful, beautiful, breathtaking, a place where people can walk and dream for centuries. Christopher Alexander, The Timeless Way of Building
89 Those of us who have been trained as architects have this desire perhaps at the very center of our lives: that one day, somewhere, somehow, we shall build one building which is wonderful, beautiful, breathtaking, a place where people can walk and dream for centuries. Christopher Alexander, The Timeless Way of Building
90 Those of us who have been trained as architects have this desire perhaps at the very center of our lives: that one day, somewhere, somehow, we shall build one building which is wonderful, beautiful, breathtaking, a place where people can walk and dream for centuries. Christopher Alexander, The Timeless Way of Building
91 Those of us who have been trained as architects have this desire perhaps at the very center of our lives: that one day, somewhere, somehow, we shall build one building which is wonderful, beautiful, breathtaking, a place where people can walk and dream for centuries. Christopher Alexander, The Timeless Way of Building
92 So
93
94
95
96
97
98
99
100
101
102 Excuse me... did you say knives'? City Gent #1 (Michael Palin) The Architects Sketch
103 REST Mike amundsen.com
RESTful Services. Distributed Enabling Platform
RESTful Services 1 https://dev.twitter.com/docs/api 2 http://developer.linkedin.com/apis 3 http://docs.aws.amazon.com/amazons3/latest/api/apirest.html 4 Web Architectural Components 1. Identification:
More informationDevelop Mobile Front Ends Using Mobile Application Framework A - 2
Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 3 Develop Mobile Front Ends Using Mobile Application Framework A - 4
More informationReST 2000 Roy Fielding W3C
Outline What is ReST? Constraints in ReST REST Architecture Components Features of ReST applications Example of requests in REST & SOAP Complex REST request REST Server response Real REST examples REST
More informationREST A brief introduction
REST A brief introduction Juergen Brendel What is it good for? Something with networks: APIs Interactions Distributed systems? All contents Copyright 2010, Mulesoft Inc. 2 Getting more popular All contents
More informationKim Dalsgaard. Co-owner of, and Software Designer at Trifork Athene Co-founder of Aarhus Ruby Brigade
Kim Dalsgaard Co-owner of, and Software Designer at Trifork Athene Co-founder of Aarhus Ruby Brigade REST in Ruby How Ruby can support a RESTful architecture What is REST? REST is first described in Roy
More informationINF5750. RESTful Web Services
INF5750 RESTful Web Services Recording Audio from the lecture will be recorded! Will be put online if quality turns out OK Outline REST HTTP RESTful web services HTTP Hypertext Transfer Protocol Application
More informationSession 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes
Session 8 Deployment Descriptor 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/_status_codes
More informationHypertext Transport Protocol
Hypertext Transport Protocol HTTP Hypertext Transport Protocol Language of the Web protocol used for communication between web browsers and web servers TCP port 80 HTTP - URLs URL Uniform Resource Locator
More informationCopyright 2014 Blue Net Corporation. All rights reserved
a) Abstract: REST is a framework built on the principle of today's World Wide Web. Yes it uses the principles of WWW in way it is a challenge to lay down a new architecture that is already widely deployed
More informationService Oriented Architectures (ENCS 691K Chapter 2)
Service Oriented Architectures (ENCS 691K Chapter 2) Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ The Key Technologies on Which Cloud
More informationWWW, REST, and Web Services
WWW, REST, and Web Services Instructor: Yongjie Zheng Aprile 18, 2017 CS 5553: Software Architecture and Design World Wide Web (WWW) What is the Web? What challenges does the Web have to address? 2 What
More informationREST Easy with Infrared360
REST Easy with Infrared360 A discussion on HTTP-based RESTful Web Services and how to use them in Infrared360 What is REST? REST stands for Representational State Transfer, which is an architectural style
More informationRoy Fielding s PHD Dissertation. Chapter s 5 & 6 (REST)
Roy Fielding s PHD Dissertation Chapter s 5 & 6 (REST) Architectural Styles and the Design of Networkbased Software Architectures Roy Fielding University of California - Irvine 2000 Chapter 5 Representational
More informationWeb Services Week 10
Web Services Week 10 Emrullah SONUÇ Department of Computer Engineering Karabuk University Fall 2017 1 Recap BPEL Process in Netbeans RESTful Web Services Introduction to Rest Api 2 Contents RESTful Web
More informationRESTful Web services
A Seminar report on RESTful Web services Submitted in partial fulfillment of the requirement for the award of degree Of Computer Science SUBMITTED TO: SUBMITTED BY: www.studymafia.org www.studymafia.org
More informationWAP Push Message Version 16-August-1999
WAP Push Message Version 16-August-1999 Wireless Application Protocol Push Message Specification Notice: Wireless Application Protocol Forum, Ltd. 1999. Terms and conditions of use are available from the
More informationHTTP, REST Web Services
HTTP, REST Web Services Martin Ledvinka martin.ledvinka@fel.cvut.cz Winter Term 2018 Martin Ledvinka (martin.ledvinka@fel.cvut.cz) HTTP, REST Web Services Winter Term 2018 1 / 36 Contents 1 HTTP 2 RESTful
More informationAPI Design Methodology. Mike Amundsen API Academy /
API Design Methodology Mike Amundsen API Academy / CA @mamund Introduction Learning Hypermedia Clients Focus on the client side code Covers human-driven & M2M Lots of code! Due in fall 2015 @LCHBook
More informationREST API s in a CA Plex context. API Design and Integration into CA Plex landscape
REST API s in a CA Plex context API Design and Integration into CA Plex landscape Speaker Software Architect and Consultant at CM First AG, Switzerland since 2008 having 30+ years of experience with the
More information04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6
04 Webservices Web APIs REST Coulouris chp.9 Roy Fielding, 2000 Chp 5/6 Aphrodite, 2002 http://www.xml.com/pub/a/2004/12/01/restful-web.html http://www.restapitutorial.com Webservice "A Web service is
More informationSession 9. Deployment Descriptor Http. Reading and Reference. en.wikipedia.org/wiki/http. en.wikipedia.org/wiki/list_of_http_headers
Session 9 Deployment Descriptor Http 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/http_status_codes
More informationREST in a Nutshell: A Mini Guide for Python Developers
REST in a Nutshell: A Mini Guide for Python Developers REST is essentially a set of useful conventions for structuring a web API. By "web API", I mean an API that you interact with over HTTP - making requests
More informationThe necessity of hypermedia RDF and an approach to achieve it
The necessity of hypermedia RDF and an approach to achieve it Kjetil Kjernsmo 1 Department of Informatics, Postboks 1080 Blindern, 0316 Oslo, Norway kjekje@ifi.uio.no Abstract. This paper will give an
More informationA Brief Introduction to REST
A Brief Introduction to REST Posted by Stefan Tilkov on Dec 10, 2007 03:42 AM Community Architecture,SOA Topics Enterprise Architecture, REST You may or may not be aware that there is debate going on about
More informationServices Web Nabil Abdennadher
Services Web Nabil Abdennadher nabil.abdennadher@hesge.ch 1 Plan What is Web Services? SOAP/WSDL REST http://www.slideshare.net/ecosio/introduction-to-soapwsdl-and-restfulweb-services/14 http://www.drdobbs.com/web-development/restful-web-services-a-tutorial/
More informationLesson 14 SOA with REST (Part I)
Lesson 14 SOA with REST (Part I) Service Oriented Architectures Security Module 3 - Resource-oriented services Unit 1 REST Ernesto Damiani Università di Milano Web Sites (1992) WS-* Web Services (2000)
More informationTwelve Patterns for Hypermedia Service Architecture
Twelve Patterns for Hypermedia Service Architecture Mike Amundsen API Academy / CA @mamund Drawings by Diogo Lucas @diogoclucas Introduction Outline Hypermedia Messages Patterns 4+4+4 Summary Hypermedia
More informationWeb API Best Practices
Web API Best Practices STEVE SMITH ARDALIS.COM @ARDALIS STEVE@DEVIQ.COM DEVIQ.COM Learn More After Today 1) DevIQ ASP.NET Core Quick Start http://aspnetcorequickstart.com DEVINTFALL17 20% OFF! 2) Microsoft
More informationLesson 15 SOA with REST (Part II)
Lesson 15 SOA with REST (Part II) Service Oriented Architectures Security Module 3 - Resource-oriented services Unit 1 REST Ernesto Damiani Università di Milano REST Design Tips 1. Understanding GET vs.
More informationUNIT I. A protocol is a precise set of rules defining how components communicate, the format of addresses, how data is split into packets
UNIT I Web Essentials: Clients, Servers, and Communication. The Internet- Basic Internet Protocols -The World Wide Web-HTTP request message-response message- Web Clients Web Servers-Case Study. Markup
More informationRESTful -Webservices
International Journal of Scientific Research in Computer Science, Engineering and Information Technology RESTful -Webservices Lalit Kumar 1, Dr. R. Chinnaiyan 2 2018 IJSRCSEIT Volume 3 Issue 4 ISSN : 2456-3307
More informationRESTFUL WEB SERVICES - INTERVIEW QUESTIONS
RESTFUL WEB SERVICES - INTERVIEW QUESTIONS http://www.tutorialspoint.com/restful/restful_interview_questions.htm Copyright tutorialspoint.com Dear readers, these RESTful Web services Interview Questions
More informationDesigning RESTful Web Applications. Ben Ramsey
Designing RESTful Web Applications Ben Ramsey About Me Proud father of 3-month-old Sean Organizer of Atlanta PHP user group Founder of PHP Groups Founding principal of PHP Security Consortium Original
More informationWorld-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved
World-Wide Web Protocols CS 571 Fall 2006 2006 Kenneth L. Calvert All rights reserved World-Wide Web The Information Universe World-Wide Web structure: hypertext Nonlinear presentation of information Key
More informationUnderstanding RESTful APIs and documenting them with Swagger. Presented by: Tanya Perelmuter Date: 06/18/2018
Understanding RESTful APIs and documenting them with Swagger Presented by: Tanya Perelmuter Date: 06/18/2018 1 Part 1 Understanding RESTful APIs API types and definitions REST architecture and RESTful
More informationIntroduction. WWW history. Application concepts, WWW and HTTP Perspectives on (mobile) communications. Fredrik Alstorp Torbjörn Söderberg
... M A K E Y O U R N E T W O R K S M A R T E R Application concepts, WWW and HTTP Perspectives on (mobile) communications Fredrik Alstorp Torbjörn Söderberg Introduction 8Internet and the WWW - Perspective
More informationCSSE 460 Computer Networks Group Projects: Implement a Simple HTTP Web Proxy
CSSE 460 Computer Networks Group Projects: Implement a Simple HTTP Web Proxy Project Overview In this project, you will implement a simple web proxy that passes requests and data between a web client and
More informationCOMET, HTML5 WEBSOCKETS OVERVIEW OF WEB BASED SERVER PUSH TECHNOLOGIES. Comet HTML5 WebSockets. Peter R. Egli INDIGOO.COM. indigoo.com. 1/18 Rev. 2.
COMET, HTML5 WEBSOCKETS OVERVIEW OF WEB BASED SERVER PUSH TECHNOLOGIES Peter R. Egli INDIGOO.COM 1/18 Contents 1. Server push technologies 2. HTML5 server events 3. WebSockets 4. Reverse HTTP 5. HTML5
More informationRestful Interfaces to Third-Party Websites with Python
Restful Interfaces to Third-Party Websites with Python Kevin Dahlhausen kevin.dahlhausen@keybank.com My (pythonic) Background learned of python in 96 < Vim Editor started pyfltk PyGallery an early online
More informationComputer Networks. Wenzhong Li. Nanjing University
Computer Networks Wenzhong Li Nanjing University 1 Chapter 8. Internet Applications Internet Applications Overview Domain Name Service (DNS) Electronic Mail File Transfer Protocol (FTP) WWW and HTTP Content
More informationZero Latency HTTP The comet Technique
Zero Latency HTTP The comet Technique Filip Hanik SpringSource Inc Keystone, Colorado, 2008 Slide 1 Who am I bla bla fhanik@apache.org Tomcat Committer / ASF member Co-designed the Comet implementation
More informationREST API Developer Preview
REST API Developer Preview Dave Carroll Developer Evangelist dcarroll@salesforce.com @dcarroll Alex Toussaint Sr. Product Manager atoussaint@salesforce.com @alextoussaint Safe Harbor Safe harbor statement
More informationProject 2 Implementing a Simple HTTP Web Proxy
Project 2 Implementing a Simple HTTP Web Proxy Overview: CPSC 460 students are allowed to form a group of up to 3 students. CPSC 560 students each must take it as an individual project. This project aims
More informationDepartment of Computer Science. Burapha University 6 SIP (I)
Burapha University ก Department of Computer Science 6 SIP (I) Functionalities of SIP Network elements that might be used in the SIP network Structure of Request and Response SIP messages Other important
More informationIntroduction to RESTful Web Services. Presented by Steve Ives
1 Introduction to RESTful Web Services Presented by Steve Ives Introduction to RESTful Web Services What are web services? How are web services implemented? Why are web services used? Categories of web
More informationPS/2 Web Services
703128 PS/2 Web Services REST Services Monday, 2015-01-12 Copyright 2014 STI INNSBRUCK www.sti-innsbruck.at Outline REST Services Task: Java API for RESTful Web Services (JAX-RS) REST Web Services design
More informationProject 2 Group Project Implementing a Simple HTTP Web Proxy
Project 2 Group Project Implementing a Simple HTTP Web Proxy Overview: This is a group project. CPSC 460 students are allowed to form a group of 3-4 students (It is ok if you want to take it as an individual
More informationMobile Computing. Logic and data sharing. REST style for web services. Operation verbs. RESTful Services
Logic and data sharing Mobile Computing Interface Logic Services Logic Data Sync, Caches, Queues Data Mobile Client Server RESTful Services RESTful Services 2 REST style for web services REST Representational
More informationModule 3 Web Component
Module 3 Component Model Objectives Describe the role of web components in a Java EE application Define the HTTP request-response model Compare Java servlets and JSP components Describe the basic session
More informationREST AND AJAX. Introduction. Module 13
Module 13 REST AND AJAX Introduction > Until now we have been building quite a classic web application: we send a request to the server, the server processes the request, and we render the result and show
More informationOther architectures are externally built or expanded
RESTful interfaces http://rest.elkstein.org/ (but not Section 11) http://net.tutsplus.com/tutorials/other/a-beginners-introduction-to-http-and-rest/ and for a laugh (or cry) : http://www.looah.com/source/view/2284
More informationThere is REST and then there is REST. Radovan Semančík November 2017
There is REST and then there is REST Radovan Semančík November 2017 Who Am I? Ing. Radovan Semančík, PhD. Software Architect at Evolveum Architect of Evolveum midpoint Apache Foundation committer Contributor
More informationREST Web Services Objektumorientált szoftvertervezés Object-oriented software design
REST Web Services Objektumorientált szoftvertervezés Object-oriented software design Dr. Balázs Simon BME, IIT Outline HTTP REST REST principles Criticism of REST CRUD operations with REST RPC operations
More informationBackends and Databases. Dr. Sarah Abraham
Backends and Databases Dr. Sarah Abraham University of Texas at Austin CS329e Fall 2018 What is a Backend? Server and database external to the mobile device Located on remote servers set up by developers
More informationNotes beforehand... For more details: See the (online) presentation program.
Notes beforehand... Notes beforehand... For more details: See the (online) presentation program. Topical overview: main arcs fundamental subjects advanced subject WTRs Lecture: 2 3 4 5 6 7 8 Today: the
More informationApplication Development
IBM Case Manager 5.0 Application Development Lauren Mayes, Mike Marin, Alan Babich, David Wang, Ganesh Vaideeswaran, Jay Brown October 1, 2010 Introduction Course Overview Target Audience Application developers
More informationCopyright 2012, Oracle and/or its affiliates. All rights reserved.
1 JAX-RS-ME Michael Lagally Principal Member of Technical Staff, Oracle 2 CON4244 JAX-RS-ME JAX-RS-ME: A new API for RESTful web clients on JavaME This session presents the JAX-RS-ME API that was developed
More informationBackends and Databases. Dr. Sarah Abraham
Backends and Databases Dr. Sarah Abraham University of Texas at Austin CS329e Fall 2016 What is a Backend? Server and database external to the mobile device Located on remote servers set up by developers
More informationLecture 25. Tuesday, November 21 CS 475 Networks - Lecture 25 1
Lecture 25 Reminders: Homework 7 due today. Homework 8 posted. Due at the beginning of the last day of class for final exam review. Programming Project 6 posted. Final project worth double. Due by 4:30pm,
More informationHandy Tools for Designing Great APIs. Mike
Handy Tools for Designing Great APIs Mike Amundsen @mamund training.amundsen.com http://g.mamund.com/cambook "A reusable guide to the technology, business, and politics of doing APIs at scale within the
More informationWhat is REST? ; Erik Wilde ; UC Berkeley School of Information
Erik Wilde (UC Berkeley School of Information) [http://creativecommons.org/licenses/by/3.0/] This work is licensed under a CC Attribution 3.0 Unported License [http://creativecommons.org/licenses/by/3.0/]
More informationWeb-APIs. Examples Consumer Technology Cross-Domain communication Provider Technology
Web-APIs Examples Consumer Technology Cross-Domain communication Provider Technology Applications Blogs and feeds OpenStreetMap Amazon, Ebay, Oxygen, Magento Flickr, YouTube 3 more on next pages http://en.wikipedia.org/wiki/examples_of_representational_state_transfer
More informationSession 12. RESTful Services. Lecture Objectives
Session 12 RESTful Services 1 Lecture Objectives Understand the fundamental concepts of Web services Become familiar with JAX-RS annotations Be able to build a simple Web service 2 10/21/2018 1 Reading
More informationApplication Protocols and HTTP
Application Protocols and HTTP 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Lab #0 due
More informationSRIJAN MANANDHAR MQTT BASED COMMUNICATION IN IOT. Master of Science thesis
SRIJAN MANANDHAR MQTT BASED COMMUNICATION IN IOT Master of Science thesis Examiner: Prof. Kari Systä Examiner and topic approved by the Faculty Council of the Faculty of Department of Pervasive Systems
More informationWeb Architecture Part 3
Web Science & Technologies University of Koblenz Landau, Germany Web Architecture Part 3 http://www.w3.org/tr/2004/rec-webarch-20041215/ 1 Web Architecture so far Collection of details of how technology
More informationSTARCOUNTER. Technical Overview
STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation
More informationIntroduc)on to Computer Networks
Introduc)on to Computer Networks COSC 4377 Lecture 3 Spring 2012 January 25, 2012 Announcements Four HW0 s)ll missing HW1 due this week Start working on HW2 and HW3 Re- assess if you found HW0/HW1 challenging
More informationREST. Lecture BigData Analytics. Julian M. Kunkel. University of Hamburg / German Climate Computing Center (DKRZ)
REST Lecture BigData Analytics Julian M. Kunkel julian.kunkel@googlemail.com University of Hamburg / German Climate Computing Center (DKRZ) 11-12-2015 Outline 1 REST APIs 2 Julian M. Kunkel Lecture BigData
More informationINF 212 ANALYSIS OF PROG. LANGS. INTERACTIVITY. Prof. Crista Lopes
INF 212 ANALYSIS OF PROG. LANGS. INTERACTIVITY Prof. Crista Lopes Interactivity Program continually receives input and updates its state Opposite of batch processing Batch processing datain = getinput()
More informationREST Services. Zaenal Akbar
PS/ Web Services REST Services Zaenal Akbar Friday, - - Outline REST Services Overview Principles Common Errors Exercise What is REST? Set of architectural principles used for design of distributed systems
More informationTraditional Web Based Systems
Chapter 12 Distributed Web Based Systems 1 Traditional Web Based Systems The Web is a huge distributed system consisting of millions of clients and servers for accessing linked documents Servers maintain
More informationCOMMUNICATION PROTOCOLS
COMMUNICATION PROTOCOLS Index Chapter 1. Introduction Chapter 2. Software components message exchange JMS and Tibco Rendezvous Chapter 3. Communication over the Internet Simple Object Access Protocol (SOAP)
More informationIntroduction to Information Science and Technology 2017 Networking II. Sören Schwertfeger 师泽仁
II Sören Schwertfeger 师泽仁 Outline Review Network Layer Routing Transport Layer Applications HTTP Demos Internet: Huge network of networks Billions of hosts (computers) Internet Structure Network Edge:
More informationRESTful Services for CIM (CIM-RS)
July 22-26, 2013 City Center Marriott Portland, OR RESTful Services for CIM (CIM-RS) Andreas Maier (IBM) STSM, Systems Management Architecture & Design maiera@de.ibm.com Disclaimer The information in this
More informationCOMPUTER NETWORKS AND COMMUNICATION PROTOCOLS. Web Access: HTTP Mehmet KORKMAZ
COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS Web Access: HTTP 16501018 Mehmet KORKMAZ World Wide Web What is WWW? WWW = World Wide Web = Web!= Internet Internet is a global system of interconnected computer
More informationOVERVIEW OF ETSI M2M RELEASE 1 STAGE 3 API AND RESOURCE USAGE
OVERVIEW OF ETSI M2M RELEASE 1 STAGE 3 API AND RESOURCE USAGE Presented by Guang Lu, WG3 Rapporteur, InterDigital Outline TS 102 921 overview ETSI M2M reference points ETSI M2M resource tree ETSI M2M API
More informationSOA & REST. Ola Angelsmark
SOA & REST Ola Angelsmark What is SOA? Service oriented architecture A loosely-coupled architecture designed to meet the business needs of the organization. [1] SOAP
More informationCS 498RK FALL RESTFUL APIs
CS 498RK FALL 2017 RESTFUL APIs Designing Restful Apis blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/ www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api Resources
More informationDeveloping RESTful Services Using JAX-RS
Developing RESTful Services Using JAX-RS Bibhas Bhattacharya CTO, Web Age Solutions Inc. April 2012. Many Flavors of Services Web Services come in all shapes and sizes XML-based services (SOAP, XML-RPC,
More informationIntroduction to REST. Kenneth M. Anderson University of Colorado, Boulder CSCI 7818 Lecture 6 08/27/2008. University of Colorado 2008
Introduction to REST Kenneth M. Anderson University of Colorado, Boulder CSCI 7818 Lecture 6 08/27/2008 University of Colorado 2008 Credit Where Credit is Due Portions of this lecture are derived from
More informationELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition
ELEC / COMP 177 Fall 2012 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Homework #1 Assigned today Due in one week Application layer: DNS, HTTP, protocols Recommend you start early
More informationPeer-to-Peer Architectures and the Magi Open-Source Infrastructure
Peer-to-Peer Architectures and the Magi Open-Source Infrastructure Richard N. Taylor Institute for Software Research University of California, Irvine http://www.ics.uci.edu/~taylor Peer-to-Peer Autonomous
More informationLeaving the State: Sessionless (Stateless) Authentication in D8 with Whole Foods Market. BADCamp 2017
Leaving the State: Sessionless (Stateless) Authentication in D8 with Whole Foods Market BADCamp 2017 These Guys Dr J Daverth Technical Lead, Whole Foods Market D.O.: dr-jay BitBucket: drjdaverth LinkedIn:
More informationShort introduction to REST
Short introduction to REST HTTP Hypertext Transfer Protocol HTTP protocol methods: GET, POST, PUT, DELETE, OPTIONS, HEAD HTTP protocol is stateless Server does not know whether this is your first request,
More informationTAXII 2.0 Specification Pre Draft
TAXII 2.0 Specification Pre Draft Current Status/Intent This document serves to gain consensus on pre draft concepts of TAXII 2.0. Please feel free to poke holes and comment! Overview TAXII is an open
More informationScalable applications with HTTP
Scalable applications with HTTP Patrice Neff, co-founder Memonic patrice@memonic.com twitter.com/pneff 20100407 memonic Memonic Founded in 2009 Your personal digital notebook Easy web research Try it out
More informationSIP Session Initiation Protocol
Session Initiation Protocol ITS 441 - VoIP; 2009 P. Campbell, H.Kruse HTTP Hypertext Transfer Protocol For transfer of web pages encoded in html: Hypertext Markup Language Our interest: primarily as model
More informationEmbedded Web Services
Nov 1 st, 2011 Embedded Web Services Zach Shelby, Chief Nerd 1 Course Overview Powering M2M with the Internet of Things Industry examples What are Web Services? CoRE - Constrained RESTful Environments
More informationApplication Level Protocols
Application Level Protocols 2 Application Level Protocols Applications handle different kinds of content e.g.. e-mail, web pages, voice Different types of content require different kinds of protocols Application
More informationREST for SOA. Stefan Tilkov, innoq Deutschland GmbH
REST for SOA Stefan Tilkov, innoq Deutschland GmbH stefan.tilkov@innoq.com Contents An Introduction to REST Why REST Matters REST And Web Services Recommendations Stefan Tilkov http://www.innoq.com stefan.tilkov@innoq.com
More informationRKN 2015 Application Layer Short Summary
RKN 2015 Application Layer Short Summary HTTP standard version now: 1.1 (former 1.0 HTTP /2.0 in draft form, already used HTTP Requests Headers and body counterpart: answer Safe methods (requests): GET,
More informationA Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles Jørgen Thelin Chief Scientist Cape Clear Software Inc. Abstract The three common software architecture styles
More informationSemantic Web Publishing. Dr Nicholas Gibbins 32/4037
Semantic Web Publishing Dr Nicholas Gibbins nmg@ecs.soton.ac.uk 32/4037 Linked Data Semantic Web is the Web for machines Take existing data and republish it to the Web Rely on hypertextual nature of the
More informationWeb Science and Web Technology Web Technologies I. Markus Strohmaier
707.000 Web Science and Web Technology Web Technologies I Markus Strohmaier Univ. Ass. / Assistant Professor Graz University of Technology, Austria e-mail: markus.strohmaier@tugraz.at web: http://www.kmi.tugraz.at/staff/markus
More informationElectronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol
SMTP Electronic Mail Three Components: 1. User Agents a.k.a. mail reader e.g., gmail, Outlook, yahoo 2. Mail Servers mailbox contains incoming messages for user message queue of outgoing (to be sent) mail
More informationDATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016
DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016 AGENDA FOR TODAY Advanced Mysql More than just SELECT Creating tables MySQL optimizations: Storage engines, indexing.
More informationAtom: From Blogging to Data, Web (Services) 2.0
Atom: From Blogging to Data, Web (Services) 2.0 Scott Davis Davisworld Consulting Scott Davis Atom: From Blogging to Data, Web (Services) 2.0 Slide 1 Introduction My name is Scott Davis Editor in Chief
More informationCNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies
CNIT 129S: Securing Web Applications Ch 3: Web Application Technologies HTTP Hypertext Transfer Protocol (HTTP) Connectionless protocol Client sends an HTTP request to a Web server Gets an HTTP response
More information2/13/2014. A protocol is an agreed-upon convention that defines how communication occurs between two (or more?) endpoints
Rensselaer Polytechnic Institute CSCI-4220 Network Programming David Goldschmidt, Ph.D. A protocol is an agreed-upon convention that defines how communication occurs between two (or more?) endpoints All
More information