Just relax - take some 90 minutes of ReST
|
|
- Elijah Simpson
- 5 years ago
- Views:
Transcription
1 Just relax - take some 90 minutes of ReST Markku Laitkorpi Nokia Research Center TUT 1 V1-Filename.ppt / yyyy-mm-dd / Initials Prologue: Why should I care? My WS tools can generate a nice SOAP interface for my underlying service implementation I really like that, it is simple and fast Complexity, brittleness, fallacies of network programming ReST acknowledges that network cannot be abstracted away Inherently RPC regardless of how much you use the document style For scalability and interoperability reasons, ReST promotes ultimate visibility of actions Instructive Hide data, reveal algorithms vs. descriptive Reveal data, hide algorithms Integrating software across the network is the main source of my frustration, and the WS-Hairball does not seem to help ReST is about engineering for serendipity Significant step towards adhoc interoperability Web 2.0 applications are cool Frictionless Web 2.0 necessitates a ReSTful approach ReST is the architectural framework allowing for the Web evolution 2 V1-Filename.ppt / yyyy-mm-dd / Initials
2 ReST background Side-product of Roy Fielding s PhD dissertation (2000): Architectural Styles and the Design of Network-based Software Architectures Thesis: architectural framework illustrating how Principled Design is used to describe an architecture to identify existing problems in an architecture to compare alternative solutions in architecture development to ensure that architecture extensions do not violate the core constraints Representational State Transfer (ReST): a concrete example of an architectural style for network-based systems Set of architectural elements and constraints that induce the selected set of architectural properties for such a system Derived from the distributed hypermedia on the World Wide Web 3 V1-Filename.ppt / yyyy-mm-dd / Initials Architectural style A named, coordinated set of architectural constraints that restricts the features of architectural elements and the allowed relationships among those elements within any architecture that conforms to that style -- Roy Fielding Inducing (and maximizing) the values of the desired set of system attributes, i.e. architectural properties Establishes shared understanding on how things should work spontaneously together makes everybody drive to the same direction by default Architecture is an instance of a particular architectural style 4 V1-Filename.ppt / yyyy-mm-dd / Initials
3 Must-reads for wanna-be-restafarians Academia Roy Roy Fielding: Architectural Styles Styles Books and and the the Design Design of of Network-based Software Architectures Rohit RohitKhare: Extending the the ReST ReST Architectural Style Stylefor for Decentralized Systems (Google will give you the links ) 5 V1-Filename.ppt / yyyy-mm-dd / Initials Wikis, Fora, Blogs RestWiki rest-discuss on Yahoo!Groups Mark Baker Benjamin Carlyle Duncan Cragg Mark Nottingham Joe Gregorio Sam Ruby Stefan Tilkov Technologies Architecture of the WWW HTTP, URI, MIME, Media types Atom Syndication Format Atom Publishing Protocol Word #1 of the day Serendipity 1. The faculty of making fortunate discoveries by accident. 2. The fact or occurrence of such discoveries. 3. An instance of making such a discovery. Human Web serendipity: Browser & HTTP GET >> PUT >> Content-type: text/plain >> >> 1 << 200 OK >> PUT >> Content-type: text/plain >> >> 1 << 200 OK 6 V1-Filename.ppt / yyyy-mm-dd / Initials
4 ReST what it is Architectural style for the software-driven Web Web as a platform for network-based applications Human Web is a subset of the software-driven Web Elements Data: RESOURCES Constraints CLIENT-SERVER, CACHEABLE, STATELESS, LAYERED, UNIFORM INTERFACE Optional: CODE-ON-DEMAND Principled Design: toolbox for architects and developers Quest for network effect / Metcalfe s law Engineering for serendipity With ReST, every piece of information has its own URI -- Elevator pitch by David Megginson 7 V1-Filename.ppt / yyyy-mm-dd / Initials and what it is not Architecture Web architecture is an instance of ReST Technology For the Web architecture, use: HTTP, URI, MIME types, Standard or specification For the Web technologies, read: RFC 2616, RFC 3986, RFC 2045, RFC 2046, Set of laws Know your requirements relax the constraints appreciate the implied costs Silver bullet Principled Design: recognize the set of architectural properties for your system End of the road Extensible by adding new constraints a new architectural style E.g. AR-REST-ED by Rohit Khare asynchronous, routed, estimated, delegated 8 V1-Filename.ppt / yyyy-mm-dd / Initials
5 Resource Key abstraction for information: conceptual mapping to a set of values that constitute the state for a certain real-world entity Anything that can be named and addressed (standard address mechanism!) Each name is associated with exactly one resource the semantics of this association should remain unchanged over time Two resources are same only if their addresses are same Two resources may overlap with each other Examples /project-plan/latest /project-plan/ Not to be seen or manipulated directly, only by transferring representations Representation: sequence of bytes capturing current or intended state of a resource Content types (MIME types) in HTTP 9 V1-Filename.ppt / yyyy-mm-dd / Initials Resources and the real world Application layer Service Consumer State assertion State snapshot HTTP: ReSTful access layer Representations URIs Representations Service Provider State change Resource layer layer State capture Real-world layer layer 10 V1-Filename.ppt / yyyy-mm-dd / Initials
6 Constraints in ReST Client-server Statelessness + server simplicity + scalability + reliability + UI portability - efficiency + server simplicity + multiple org. domains (- asymmetric interactions) Cacheability + decreased avg. latency + efficiency + scalability - reliability Uniform interface Layered system + shared caching + legacy encapsulation + scalability + load-balancing + client simplicity - increased avg. latency (Code-ondemand) + client simplicity + extensibility - visibility + visibility + evolvability + impl. decoupling - efficiency 11 V1-Filename.ppt / yyyy-mm-dd / Initials Statelessness Each individual interaction takes place in isolation Different types of possible state Request state between a request and its response(s) Resource state actual information persistence Interaction/Application/Session state client-specific processing flow What about a shopping cart? Either a application state (client-side concept) server OK server OK server NOT OK Client constructs a full cart and uploads it to the server or a resource (server-side concept for the shared state) Shopping cart becomes a part of the shared state and has a URI Links guiding the client how the cart could be processed further: finding new items to add, browsing and removing current items, transforming the cart into a new order, etc. 12 V1-Filename.ppt / yyyy-mm-dd / Initials
7 Uniform interface Expectations on the outcome of a particular operation should remain the same from one resource to any other resource Standard addressing of resources One universal identifier mechanism that links disparate resources together Exchange of resource representations by a fixed set of operations Operational expectations should be independent from the target resource Self-descriptive messages Follow your nose : message intent can be determined from the envelope Hypermedia as the engine of application state Representations contain links to next possible application states Analogy: think of a Web page as an embodiment of one steady application state Make your resources connected avoid becoming the Dark Matter of the Internet 13 V1-Filename.ppt / yyyy-mm-dd / Initials Visibility of actions Protocol-level, resource-independent information about actions and their related behavior Clients can make uniform expectations on their actions Smart intermediaries can be deployed independently One of the most important factors of serendipity! Visibility of information resource addressing Visibility of operation semantics standard operations Visibility of protocol dependencies and relationships self-descriptiveness Visibility of choreographies and state machines - hypermedia 14 V1-Filename.ppt / yyyy-mm-dd / Initials
8 Making your first ReSTful service Model the resources Find the nouns and their relationships Realize the interaction architecture operations URIs: Design the URI space for the resources HTTP methods: Select available operations for each URI MIME types: Select relevant representations Add hyperlinks to connect your resources Embedded links in suitable representations hyperlinks things content types Relax the constraints that do not match your requirements 15 V1-Filename.ppt / yyyy-mm-dd / Initials Challenges in resource modeling URI hierarchy, URI opacity, human guesswork URIs are just names vs. intuitive intepretation /a/b /a No requirements for programmatic URI parsing Resource granularity, resource clusters GET vs. PUT: balance between read and write operations Heterogeneous content types: XML and JPEG, for example HTTP headers vs. URIs Client capabilities vs. separate URIs Query string and caching One URI for one thing URI resource mapping should be the same for everyone Layering for scalability: access control and content retrieval Do not sweat for the perfect design But recognize and appreciate the cost of tradeoffs 16 V1-Filename.ppt / yyyy-mm-dd / Initials
9 Simple example: LightBulb service /lightbulb;info GET text/html /lightbulb GET PUT text/plain application/lightbulb+xml text/plain application/lightbulb+xml >> GET /lightbulb;info >> Accept: text/html << 200 OK << Content-type: text/html << << [HTML form that links to the possible state changes] >> PUT /lightbulb >> Content-type: text/plain >> >> on << 200 OK >> GET /lightbulb >> Accept: application/lightbulb+xml << 200 OK << Content-type: application/lightbulb+xml << << <lightbulb> << <state>on</state> << </lightbulb> 17 V1-Filename.ppt / yyyy-mm-dd / Initials Word #2 of the day Idempotent Mathematical definition for an idempotent function f: 1. f(f(x)) = f(x) An operation that produces the same results no matter how many times it is performed. Built-in reliability: keep retrying until you get a response 18 V1-Filename.ppt / yyyy-mm-dd / Initials
10 Most relevant HTTP operations HTTP is designed to be your application layer protocol! GET PUT Retrieve a resource representation Clipboard COPY Safe & idempotent Rewrite a complete resource Clipboard PASTE OVER Idempotent DELETE Remove the connection between a resource and its URI Clipboard CUT (no return value) Idempotent POST(a) Append to a resource ( 200 OK ) Create a subresource ( 201 Created ) Clipboard PASTE AFTER POST(p) Process this 200 OK means stuff done Should be avoided (less visibility) POST(t) Protocol tunneling a big no-no 19 V1-Filename.ppt / yyyy-mm-dd / Initials Content types Try not to define a new content type for each new application Content types should be descriptive enough Decisions on processing and dispatching should be based on the envelope Avoid content sniffing requirements for parsing and additional processing application/xml does not tell anything about the actual content application/invoice+xml is much better Content types are versionable: application/invoice2+invoice+xml However, XML is not the center of the universe Natively binary data should be treated as binary for efficiency Multiple representations and content negotiation Each resource may expose one or more representations with different content types Client may negotiate (HTTP headers) on the content type for the best experience Primary principle: single URI for a single concept On the other hand: direct URI access for less capable clients 20 V1-Filename.ppt / yyyy-mm-dd / Initials
11 Frequently asked questions Sessions & cookies You don t really need them But browsers & JavaScript? Security HTTP authentication framework No standard for message-level security WS-Security actually has some reusable solutions Transactions Critical sections as resources Dining philosophers in ReST! Reliable messaging Idempotency Empty POST+PUT, POST-once-exactly, Asynchronous operations Queues with 202 Accepted responses, polling for results Conditional retrieval/update Avoid receiving anything that you already have Detecting lost updates ETag, Last-Modified If-None-Match, If-Modified-Since Service descriptions $100M question: Why d you need them? 1. Constructing an invocation NO 2. Discovery MAYBE 3. Data interop YES 21 V1-Filename.ppt / yyyy-mm-dd / Initials Service descriptions? Intent? Resource URI Content type application/lightbulb+xml Application layer layer State assertion State snapshot Assertion <lightbulb> <state>on</state> </lightbulb> HTTP: HTTP: ReSTful access access layer layer Representations URIs Representations Resource layer layer Resource URI Content type application/lightbulb+xml State change State capture 22 V1-Filename.ppt / yyyy-mm-dd / Initials? Impact Real-world layer layer
12 Some acid tests for ReSTfulness Can you bookmark this application state, the link to yourself, and continue tomorrow? Can you just simply retry after a network fault? Can you blindly continue using this service after I have replaced and rebooted the server machine at any time Can you expect to do this same thing over there, too? Can you see what is happening to this resource? Can you follow your nose without sticking it too deep? Can you traverse from one thing to another? Are your URIs cool and still refer to the same thing after next upgrade? After 10 years? 23 V1-Filename.ppt / yyyy-mm-dd / Initials Good examples of ReSTful APIs Atom Publishing Protocol a.k.a. APP a.k.a. AtomPub Quite many blogging sites Google Data API Amazon S3 Numbler Really good ReSTful APIs (beyond the APP) are still hard to find good APIs depend on useful content types? 24 V1-Filename.ppt / yyyy-mm-dd / Initials
13 Bad and ugly examples of ReSTful APIs GET POST photoid=15& tags=helsinki This kind of API often advertises itself as ReSTful In the worst case, this kind of APIs treat GET and POST interchangeably Verdict: ReSTful by accident (for retrieval methods), or not ReSTful at all These should be called SHARE or STREST or HTTP+POX APIs Visibility? Interoperability? 25 V1-Filename.ppt / yyyy-mm-dd / Initials ReST tools RESTlets (Java) server (+ client) JSR311/JAX-RS (Java) server Ruby on Rails (Ruby) server (+ client) Django (Python) server CherryPy (Python) server Project Zero (Groovy, PHP, ) server Astoria (MS.NET) server Orcas/.NET 3.5 (MS.NET) server 26 V1-Filename.ppt / yyyy-mm-dd / Initials
14 Question time Where do you want to take a ReST today? 27 V1-Filename.ppt / yyyy-mm-dd / Initials
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 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 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 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 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 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 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 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 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 informationINFO/CS 4302 Web Informa6on Systems
INFO/CS 4302 Web Informa6on Systems FT 2012 Week 7: RESTful Webservice APIs - Bernhard Haslhofer - 2 3 4 Source: hmp://www.blogperfume.com/new- 27- circular- social- media- icons- in- 3- sizes/ 5 Plan
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 informationApplied REST. Brian Sletten Bosatsu Consulting, Inc.
Applied REST Brian Sletten Bosatsu Consulting, Inc. brian@bosatsu.net Speaker Qualifications Over 13 years of software development experience Has own software consulting company for design, mentoring,
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 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 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 informationREST. And now for something completely different. Mike amundsen.com
REST And now for something completely different Mike Amundsen @mamund amundsen.com Preliminaries Mike Amundsen Developer, Architect, Presenter Hypermedia Junkie I program the Internet Designing Hypermedia
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 informationRESTful API Design APIs your consumers will love
RESTful API Design APIs your consumers will love Matthias Biehl RESTful API Design Copyright 2016 by Matthias Biehl All rights reserved, including the right to reproduce this book or portions thereof in
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 informationINTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary
INTERNET ENGINEERING HTTP Protocol Sadegh Aliakbary Agenda HTTP Protocol HTTP Methods HTTP Request and Response State in HTTP Internet Engineering 2 HTTP HTTP Hyper-Text Transfer Protocol (HTTP) The fundamental
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 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 informationENTERPRISE SOA CONFERENCE
BELGIAN JAVA USER GROUP PRESENTS ENTERPRISE SOA CONFERENCE 2 4 O c t o b e r 2 0 0 6, D e M o n t i l, A f f l i g e m REST - the Better Web Services Model Stefan Tilkov Founder & Principal Consultant
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 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 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 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 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 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 informationMicroservices. SWE 432, Fall 2017 Design and Implementation of Software for the Web
Micros SWE 432, Fall 2017 Design and Implementation of Software for the Web Today How is a being a micro different than simply being ful? What are the advantages of a micro backend architecture over a
More informationREST as a better web service paradigm
REST as a better web service paradigm Norman Gray VO-TECH / Uni. Leicester / Uni. Glasgow IVOA Interop, Beijing, 2007 May 15 overview Plan: First, a bit of SOAP-bashing, just to get warmed up. What is
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 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 informationRESTful Service Composition with JOpera
RESTful Service Composition with JOpera Cesare Pautasso Faculty of Informatics, USI Lugano, Switzerland c.pautasso@ieee.org http://www.pautasso.info http://twitter.com/pautasso 21.5.2010 Abstract Next
More informationDeveloping a RESTful Mixed Reality Web Service Platform
Developing a RESTful Mixed Reality Web Service Platform WS-REST 2010 @ WWW 2010, Raleigh, NC April 26 th 2010 Petri Selonen Principal Researcher (PhD), Tampere-FI petri.selonen@nokia.com 1 Background:
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 informationDistributed Architectures & Microservices. CS 475, Spring 2018 Concurrent & Distributed Systems
Distributed Architectures & Microservices CS 475, Spring 2018 Concurrent & Distributed Systems GFS Architecture GFS Summary Limitations: Master is a huge bottleneck Recovery of master is slow Lots of success
More informationManaging State. Chapter 13
Managing State Chapter 13 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of Web http://www.funwebdev.com Development Section 1 of 8 THE PROBLEM OF STATE IN WEB APPLICATIONS
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 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 informationModern web applications and web sites are not "islands". They need to communicate with each other and share information.
441 Modern web applications and web sites are not "islands". They need to communicate with each other and share information. For example, when you develop a web application, you may need to do some of
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 informationLecture 9a: Sessions and Cookies
CS 655 / 441 Fall 2007 Lecture 9a: Sessions and Cookies 1 Review: Structure of a Web Application On every interchange between client and server, server must: Parse request. Look up session state and global
More informationThe Architecture of the World Wide Web
The Architecture of the World Wide Web Laboratory of Computer Technologies L-A Laboratorio di Tecnologie Informatiche L-A Giulio Piancastelli & Andrea Omicini {giulio.piancastelli, andrea.omicini}@unibo.it
More informationReal Life Web Development. Joseph Paul Cohen
Real Life Web Development Joseph Paul Cohen joecohen@cs.umb.edu Index 201 - The code 404 - How to run it? 500 - Your code is broken? 200 - Someone broke into your server? 400 - How are people using your
More informationRESTful Web Services. 20-Jan Gordon Dickens Chariot Solutions
RESTful Web Services 20-Jan-2011 Gordon Dickens Chariot Solutions gdickens@chariotsolutions.com Instructor/Mentor at chariotsolutions.com/education Who Am I? Active Tweeter for Open Source Tech Topics
More informationCS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.
CS 355 Computer Networking Wei Lu, Ph.D., P.Eng. Chapter 2: Application Layer Overview: Principles of network applications? Introduction to Wireshark Web and HTTP FTP Electronic Mail SMTP, POP3, IMAP DNS
More informationAtomic Transactions for the REST of us
Atomic Transactions for the REST of us Cesare Pautasso Faculty of Informatics University of Lugano, Switzerland c.pautasso@ieee.org http://www.pautasso.info @pautasso Acknowledgements This is joint work
More informationSoftware Design COSC 4353/6353 DR. RAJ SINGH
Software Design COSC 4353/6353 DR. RAJ SINGH Outline What is SOA? Why SOA? SOA and Java Different layers of SOA REST Microservices What is SOA? SOA is an architectural style of building software applications
More informationSoftware Paradigms (Lesson 10) Selected Topics in Software Architecture
Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1
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 informationDistribution and web services
Chair of Software Engineering Carlo A. Furia, Bertrand Meyer Distribution and web services From concurrent to distributed systems Node configuration Multiprocessor Multicomputer Distributed system CPU
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 informationWeb Applications. Software Engineering 2017 Alessio Gambi - Saarland University
Web Applications Software Engineering 2017 Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, Andrea Arcuri, and others ReCap Software Architecture A software system
More informationProgramming the Internet. Phillip J. Windley
Programming the Internet Phillip J. Windley phil@windley.com www.windley.com April 17, 2003 www.windley.com 1 Trending Keywords What keywords describe current trends in computing? Personalized Peer-based
More informationEtanova Enterprise Solutions
Etanova Enterprise Solutions Front End Development» 2018-09-23 http://www.etanova.com/technologies/front-end-development Contents HTML 5... 6 Rich Internet Applications... 6 Web Browser Hardware Acceleration...
More informationThe Architecture of the World Wide Web
The Architecture of the World Wide Web Distributed Systems L-A Sistemi Distribuiti L-A Andrea Omicini after Giulio Piancastelli andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di
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 informationWeb, HTTP and Web Caching
Web, HTTP and Web Caching 1 HTTP overview HTTP: hypertext transfer protocol Web s application layer protocol client/ model client: browser that requests, receives, displays Web objects : Web sends objects
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 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 informationIntroduction to REST Web Services
Introduction to REST Web Services Asst. Prof. Dr. Kanda Runapongsa Saikaew Department of Computer Engineering Khon Kaen University http://gear.kku.ac.th/~krunapon/xmlws 1 Agenda What is REST? REST Web
More information416 Distributed Systems. RPC Day 2 Jan 12, 2018
416 Distributed Systems RPC Day 2 Jan 12, 2018 1 Last class Finish networks review Fate sharing End-to-end principle UDP versus TCP; blocking sockets IP thin waist, smart end-hosts, dumb (stateless) network
More informationWWW Architecture. Software Architecture VO/KU ( / ) Denis Helic. KMI, TU Graz. Dec 7, 2011
WWW Architecture Software Architecture VO/KU (707.023/707.024) Denis Helic KMI, TU Graz Dec 7, 2011 Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, 2011 1 / 118 Outline 1 Introduction 2 Quality requirements
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 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 informationDesigning Enterprise IT Systems with REST: A (Cloudy) Case Study. Stuart Charlton Chief Software Architect, Elastra
Designing Enterprise IT Systems with REST: A (Cloudy) Case Study Stuart Charlton Chief Software Architect, Elastra Objectives What enterprise problem domains does RESTful architecture handle well? Understanding
More informationActive Endpoints. ActiveVOS Platform Architecture Active Endpoints
Active Endpoints ActiveVOS Platform Architecture ActiveVOS Unique process automation platforms to develop, integrate, and deploy business process applications quickly User Experience Easy to learn, use
More information416 Distributed Systems. RPC Day 2 Jan 11, 2017
416 Distributed Systems RPC Day 2 Jan 11, 2017 1 Last class Finish networks review Fate sharing End-to-end principle UDP versus TCP; blocking sockets IP thin waist, smart end-hosts, dumb (stateless) network
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 informationMiddleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004
Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication
More informationA Pragmatic Introduction to REST. Stefan Tilkov,
A Pragmatic Introduction to REST Stefan Tilkov, stefan.tilkov@innoq.com Stefan Tilkov http://www.innoq.com stefan.tilkov@innoq.com http://www.innoq.com/blog/st/ http://www.infoq.com Audience Poll How many
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 informationAIM Enterprise Platform Software IBM z/transaction Processing Facility Enterprise Edition 1.1.0
z/tpf EE V1.1 z/tpfdf V1.1 TPF Toolkit for WebSphere Studio V3 TPF Operations Server V1.2 IBM Software Group TPF Users Group Spring 2007 TPF Users Group Spring 2007 z/tpf Web Services Update Name: Barry
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 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 informationCSCI-1680 RPC and Data Representation. Rodrigo Fonseca
CSCI-1680 RPC and Data Representation Rodrigo Fonseca Today Defining Protocols RPC IDL Problem Two programs want to communicate: must define the protocol We have seen many of these, across all layers E.g.,
More informationWeb Services. Lecture I. Valdas Rapševičius. Vilnius University Faculty of Mathematics and Informatics
Web Services Lecture I Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics 2014.02.28 2014.02.28 Valdas Rapševičius. Java Technologies 1 Outline Introduction to SOA SOA Concepts:
More informationREST Best Practices D. Keith Casey, Jr
REST Best Practices D. Keith Casey, Jr So who are you? D. Keith Casey, Jr General Annoyance, Blue Parabola Developer Evangelist, Twilio Project Lead, Web2Project Community: Helped organize php tek*3, antagonized
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 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 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 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 informationWhat Is Service-Oriented Architecture
What Is Service-Oriented Architecture by Hao He September 30, 2003 "Things should be made as simple as possible, but no simpler." -- Albert Einstein Introduction Einstein made that famous statement many
More informationNotes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title
Notes Ask course content questions on Slack (is651-spring-2018.slack.com) Contact me by email to add you to Slack Make sure you checked Additional Links at homework page before you ask In-class discussion
More informationA Framework For Transitioning Enterprise Web Services From XML-RPC to REST
Association for Information Systems AIS Electronic Library (AISeL) CONF-IRM 2009 Proceedings International Conference on Information Resources Management (CONF-IRM) 5-2009 A Framework For Transitioning
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 informationSeminar report Google App Engine Submitted in partial fulfillment of the requirement for the award of degree Of CSE
A Seminar report On Google App Engine Submitted in partial fulfillment of the requirement for the award of degree Of CSE SUBMITTED TO: SUBMITTED BY: www.studymafia.org www.studymafia.org Acknowledgement
More informationAgent-Enabling Transformation of E-Commerce Portals with Web Services
Agent-Enabling Transformation of E-Commerce Portals with Web Services Dr. David B. Ulmer CTO Sotheby s New York, NY 10021, USA Dr. Lixin Tao Professor Pace University Pleasantville, NY 10570, USA Abstract:
More informationMake your application real-time with PubSubHubbub. Brett Slatkin May 19th, 2010
Make your application real-time with PubSubHubbub Brett Slatkin May 19th, 2010 View live notes and ask questions about this session on Google Wave http://tinyurl.com/push-io2010 Me http://onebigfluke.com
More informationTooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc.
Tooling for Ajax-Based Development Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. 1 Agenda In The Beginning Frameworks Tooling Architectural Approaches Resources 2 In The Beginning 3
More informationLife on the Web is fast and furious should we be more RESTful?
Life on the Web is fast and furious should we be more RESTful? Gerhard Bayer Senior Consultant International Systems Group, Inc. gbayer@isg-inc.com http://www.isg-inc.com Agenda Today Overview of REST
More informationA RESTful Approach to the Management of Cloud Infrastructure. Swit Phuvipadawat Murata Laboratory
A RESTful Approach to the Management of Cloud Infrastructure Swit Phuvipadawat Murata Laboratory 1 A RESTful Approach to the Management of Cloud Infrastructure Hyuck Han, Shingyu Kim, Hyunsoo Jung, et.al
More informationKeep Learning with Oracle University
Keep Learning with Oracle University Classroom Training Learning SubscripFon Live Virtual Class Training On Demand Cloud Technology ApplicaFons Industries educa7on.oracle.com 3 Session Surveys Help us
More informationSOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE
SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE Tomas Cerny, Software Engineering, FEE, CTU in Prague, 2014 1 ARCHITECTURES SW Architectures usually complex Often we reduce the abstraction
More informationSpace Details. Available Pages
Key: Space Details extremescale Name: WebSphere extreme Scale and DataPower XC10 Appliance Wiki Description: Creator (Creation Date): dwblogadmin (Apr 09, 2009) Last Modifier (Mod. Date): carriemiller
More informationCookies, Sessions, and Persistence
Cookies, Sessions, and Persistence Cookies and sessions are the most useful hack invented, allowing HTTP to become stateful and applications to work on the web. But it is persistence that ties the two
More informationOracle. Exam Questions 1z Java Enterprise Edition 5 Web Services Developer Certified Professional Upgrade Exam. Version:Demo
Oracle Exam Questions 1z0-863 Java Enterprise Edition 5 Web Services Developer Certified Professional Upgrade Exam Version:Demo 1.Which two statements are true about JAXR support for XML registries? (Choose
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 informationUnraveling the Mysteries of J2EE Web Application Communications
Unraveling the Mysteries of J2EE Web Application Communications An HTTP Primer Peter Koletzke Technical Director & Principal Instructor Common Problem What we ve got here is failure to commun cate. Captain,
More information