Other architectures are externally built or expanded
|
|
- Mabel Gardner
- 5 years ago
- Views:
Transcription
1 RESTful interfaces (but not Section 11) and for a laugh (or cry) :
2 Other architectures are externally built or expanded Some applications provide a platform for development, and they do not ultimately know what kinds of tools will sit on their platform. Operating systems are obviously a massive example of this, and are totally geared to application-layer expansion (but obviously not optimised for OS expansion). But there are less enormous examples: plug in or extension architectures, (Eclipse, Chrome, Firefox) Server APIs (via RPC or RESTful interfaces)
3 Data over Tools (John Weigand -- living architectures podcast SE radio) tools are manipulating data (requirements, test cases, source code, etc). tools are interesting, but the data is MORE interesting, independent of the tools. Old view in software tooling: focus on the tools; the data is a side effect. New view: more attention to the data, and tools just facilitate data-manipulation. (point to debate: this is another version of OO!?)
4 Thinking in a RESTful way (John Weigand -- living architectures podcast SE radio) You need to look at things differently. The traditional framework solution focuses on the call chain much more centrally, and the data gets to be something that s carried along.! Whereas in RESTful approaches, the focus is on understanding the concepts, and making sure you get the right resources in place, and that s the central focus. So yes, it s a different mindset. And it takes practice. But the importance of having a good interface applies just as well in both cases.
5 Neutral RESTful architecture; OO tools (John Weigand -- living architectures podcast SE radio) The Java language is going to continue to be valuable.! But in terms of establishing loosely coupled architecture, the boundary that you want when you re language neutral doesn t want to talk about inheritance.! It really wants to focus on the data and how does it connect. And then enable a range of ways for that data to be exposed.! So they re complementary: we don t try to have the whole world talk in terms of OO concepts, but in local toolkits, we still leverage that.
6 API for the CanaFind sys. CLIENT Camera GPS Finder UI Searcher UI ItemList=findItem(image,loc) submititem(image, loc) Finder API Searcher API Indexer/Tagger SERVER DATABASE This isn t an extensible ( living ) architecture BUT: We don t know what people who build the clients are going to do. We know they re constrained significantly (all they can do is submit items, and get lists of items) But there might be a lot they can do within those constraints. We might want to think of *all* the directions they can go, and provide an API that allows more freedom and extensibility.
7 This is an RPC approach CLIENT Camera GPS Finder UI Searcher UI ItemList=findItem(image,loc) submititem(image, loc) Finder API Searcher API Indexer/Tagger This approach involves Remote Procedure Calls Note that the calls are specialised verbs (submitimage( ), find( )) The data must be pre-defined, meaning we both the client and the server must agree on data types. SERVER DATABASE
8 RESTful Interfaces the web is an existence proof of a massively scalable distributed system that works really well, and we can take ideas from that to build integrated systems more easily. Martin Fowler "Representational State Transfer is intended to evoke an image of how a well-designed Web application behaves: a network of web pages (a virtual statemachine), where the user progresses through an application by selecting links (state transitions), resulting in the next page (representing the next state of the application) being transferred to the user and rendered for their use." - Roy Fielding
9 Another way: REST REpresentative State Transfer
10 The Basics request CLIENT SERVER response
11 If your Client is a browser CLIENT request response SERVER BROWSER URL HTML SERVER
12 If your Client is an Application CLIENT request response SERVER GET, POST, PUT, DELETE HTTP request APP RESTful URI SERVICE some structured data
13 REST principles Resources are identified by Uniform Resource Identifiers (URIs) Resources are manipulated through their representations Messages are self-descriptive and stateless Multiple representations are accepted or sent
14 RESTful APIs Instead of using application specific verbs, the operations are pre-set verbs from the HTTP operations: GET, PUT, DELETE, POST. RESTful APIs provide a uniform interface to a set of (typically) hierarchically arranged Resources (the nouns) Resources are located at URI s: Universal Resource Identifiers which are stored in Representations Requests are sent to the server, and the server responds with a text record that can be parsed into a response object.
15 The HTTP API HTTP provides a really simple set of operations GET (retrieve a resource) POST (store a new resource) PUT (store a resource at an existing URI) DELETE (remove a resource) Requests are sent to the server, and the server responds with a text record that can be parsed into a response object.
16 Overall architecture CLIENT GPS Camera Finder UI Searcher UI GET {image, location, radius} POST {image, location} Finder API Searcher API Indexer/Tagger SERVER DATABASE
17 Getting a web page: Cana Find Provides media type for message. Such as: text, html, structured data (xml...), images (jpeg...) GET /index.html 200 OK... Content/Type: text/html... <entire web page> RESTful SERVICE response codes such as: 200: OK 201: Created 400: Bad Request 404: Not Found 500: Internal Server Error content or payload of the message. In this case, a web page.
18 Using Parameters GET /photos?loc= &radius=400 Cana Find 200 OK... Content/Type: xml... <photo> <id>1</id> <purl>/photos/1.jpg</purl> <loc> </loc> </photo> <photo> <id>18</id> <purl>/photos/18.jpg</purl> <loc> </loc> </photo> RESTful SERVICE
19 Using Parameters POST /photos data= {"loc"= , "photo"=...image data...} Cana Find 200 OK... Content/Type: json... {"id": , "lat": , "lon": , "purl":/photos/ jpg } RESTful SERVICE
20 Client and Server (pseudo)code uri="/photos?loc= " response=open(uri).read() GET /photos?loc= &radius=400 Cana Find photolist=xmlparse(response, "photo") foreach photo in photolist: dosomethinggood(photo) 200 OK... Content/Type: xml... <photo> <id>1</id> <purl>/photos/1.jpg</purl> <loc> </loc> </photo> <photo> <id>18</id> <purl>/photos/18.jpg</purl> <loc> </loc> </photo> RESTful SERVICE r=elisasparserequest($_get) if ($r.resource=='photos'): //find all relevant photo objs plist=canasearch(r.loc, r.rad) header="200 OK" content=plist
21 Principles... Safe systems: HTTP is a robust protocol. To maintain that robustness, GET, PUT and DELETE operations must be idempotent. meaning: you can run them again and again with no duplication of functionality. Stateless: All client state remains on the client. The server doesn t retain any state about the client. Connectedness: Do not force the client to recall internally the structure of the resources on the server. Provide relevant links inside returned resources. URI design: URIs represent nouns not verbs. Put resources there, not behaviour. Each resource has four behaviours: GET, PUT, POST, DELETE.
22 GET; PUT; DELETE: Idempotence is Important! Even if you don t get a response from an idempotent operation, you can safely perform it again.
23 Canafind resources /photos: GET: returns a list of photo objects DELETE: you can t do that. Bad request: 400 PUT: you can t do that. Bad request: 400 POST: inserts a new photo into photos.! /photos/id: GET: returns the photo resource DELETE: deletes the photo resource PUT: you can t do that. Bad request: 400 POST: you can t do that. Bad request: OK Everything is working 201 OK New resource has been created 204 OK The resource was successfully deleted! 304 Not Modified The client can use cached data! 400 Bad Request The request was invalid or cannot be served. The exact error should be explained in the error payload. E.g. The JSON is not valid 401 Unauthorised The request requires an user authentication 403 Forbidden The server understood the request, but is refusing it or the access is not allowed. 404 Not found There is no resource behind the URI. 422 Unprocessable Entity Should be used if the server cannot process the enitity, e.g. if an image cannot be formatted or mandatory fields are missing in the payload.! 500 Internal Server Error API developers should avoid this error. If an error occurs in the global catch blog, the stracktrace should be logged and not returned as response.
24 CanaFind API spec GET PUT POST DELETE /photos (id, loc, rad) returns of photo objects s/f: 200/ (bad request) (id, loc, rad) inserts new photo into /photos/ s/f: 200/ (bad request) /photos/id (id, loc, rad) returns photo resource s/f: 200/ (bad request) 400 (bad request) deletes photo resource s/f: 200/404 /photos/ searchjob/ 400 (bad request) 400 (bad request) (string) returns a job id for the search s/f: 202 (accepted) 400 (bad request) /photos/ searchjob/id returns currently available results for job 400 (bad request) 400 (bad request) deletes the search job (cancels search) s/f: 200/404
25 Twitter s RESTful(???) API could have used DELETE request DELETE statuses/id/ could have used DELETE request DELETE direct_messages/id/
26 So remember: All resources must elegantly handle: GET/PUT/POST/DEL Resources are nouns, not verbs Don t ask the client to remember the internal server structure send back links in your XML/JSON if you need the client to surf over to another resource location Use the most precise possible response code Make sure GET/PUT/DEL are idempotent All behavioural state must remain client-side.
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 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 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 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 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 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 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 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 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 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 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 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 informationCS 43: Computer Networks. HTTP September 10, 2018
CS 43: Computer Networks HTTP September 10, 2018 Reading Quiz Lecture 4 - Slide 2 Five-layer protocol stack HTTP Request message Headers protocol delineators Last class Lecture 4 - Slide 3 HTTP GET vs.
More informationProtocols. Application Layer FTP, HTTP, SSH, IMAP. Transport Layer TCP, UDP. Internet Layer IP. Link Layer Ethernet, WiFi
HTTP Protocols Application Layer FTP, HTTP, SSH, IMAP Transport Layer TCP, UDP Internet Layer IP Link Layer Ethernet, WiFi TCP/IP Transmission Control Protocol. Connection-Oriented Reliable source address
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 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 informationContents. Demos folder: Demos\14-Ajax. 1. Overview of Ajax. 2. Using Ajax directly. 3. jquery and Ajax. 4. Consuming RESTful services
Ajax Contents 1. Overview of Ajax 2. Using Ajax directly 3. jquery and Ajax 4. Consuming RESTful services Demos folder: Demos\14-Ajax 2 1. Overview of Ajax What is Ajax? Traditional Web applications Ajax
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 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 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 informationDistributed Systems. 03r. Python Web Services Programming Tutorial. Paul Krzyzanowski TA: Long Zhao Rutgers University Fall 2017
Distributed Systems 03r. Python Web Services Programming Tutorial Paul Krzyzanowski TA: Long Zhao Rutgers University Fall 2017 1 From Web Browsing to Web Services Web browser: Dominant model for user interaction
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 informationCS October 2017
From Web Browsing to Web Services Web browser: Dominant model for user interaction on the Internet Distributed Systems 03r. Python Web Services Programming Tutorial Not good for programmatic access to
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 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 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 informationWeb Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture
Web Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture Objectives Look at common patterns for designing Web-based presentation layer behavior Model-View-Control
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 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 informationReviewing the API Documentation
About the Cisco APIC-EM API Documentation, page 1 Testing the Cisco APIC-EM APIs, page 6 About the Cisco APIC-EM API Documentation Cisco APIC-EM controller provides interactive, northbound Representational
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 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 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 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 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 informationWorking with the Seagull Framework. By Demian Turner, Seagull Systems
Working with the Seagull Framework By Demian Turner, Seagull Systems seagullproject.org Who is Demian Turner? Developing websites since 1996, using PHP since 1999 Committer on several open source projects:
More informationDatabaseRESTAPI
ORDS DatabaseRESTAPI https://oracle.com/rest Jeff Smith Senior Principal Product Manager Jeff.d.smith@oracle.com @thatjeffsmith Database Tools, Oracle Corp Not just THAT SQLDev Guy I GET ORDS, too! Blogs
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 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 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 informationWeb Architecture Review Sheet
Erik Wilde (School of Information, UC Berkeley) INFO 190-02 (CCN 42509) Spring 2009 May 11, 2009 Available at http://dret.net/lectures/web-spring09/ Contents 1 Introduction 2 1.1 Setup.................................................
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 informationWebspeed. I am back. Enhanced WebSpeed
Webspeed. I am back Enhanced WebSpeed OpenEdge 11.6 WebSpeed!!! Modernize your Progress OpenEdge web apps through enhanced Progress Application Server (PAS) support for WebSpeed Achieve improved performance
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 informationWidget Toolkits CS MVC
Widget Toolkits 1 CS349 -- MVC Widget toolkits Also called widget libraries or GUI toolkits or GUI APIs Software bundled with a window manager, operating system, development language, hardware platform
More informationTeach your (micro)services speak Protocol Buffers with grpc.
Teach your (micro)services speak Protocol Buffers with grpc. Mihai Iachimovschi @mishunika mihai.iachimovschi@gmail.com What s inside? What s inside? Message serialization and deserialization What s inside?
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 informationManaging Remote Medical Devices Through The Cloud. Joel K Young SVP of Research and Development & CTO Digi International Friday, September 9 11:30AM
Managing Remote Medical Devices Through The Cloud Joel K Young SVP of Research and Development & CTO Digi International Friday, September 9 11:30AM Overview The Connectivity and Access Problem What information
More informationLecture 6 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it
Lecture 6 Application Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Application-layer protocols Application: communicating, distributed processes running in network hosts
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 informationAn Overview of. Eric Bollens ebollens AT ucla.edu Mobile Web Framework Architect UCLA Office of Information Technology
An Overview of Eric Bollens ebollens AT ucla.edu Mobile Web Framework Architect UCLA Office of Information Technology August 23, 2011 1. Design Principles 2. Architectural Patterns 3. Building for Degradation
More informationAnsible Tower API Guide
Ansible Tower API Guide Release Ansible Tower 2.2.1 Ansible, Inc. August 12, 2015 CONTENTS 1 Tools 2 2 Browseable API 3 3 Conventions 6 4 Sorting 7 5 Filtering 8 6 Pagination 9 7 Read-only Fields 10 8
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 informationCONFIGURING DIFFERENT APIS IN ARUBA 8.X
CONFIGURING DIFFERENT APIS IN ARUBA 8.X 10:00 GMT 11:00 CET 13:00 GST Oct 31st, 2017 Presenter: Anshul BHarthan anshul.bharthan@hpe.com Agenda Ø Why API s Ø STRUCTURED DATA - SCHEMA & DATA Ø Introduction
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 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 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 informationAim behind client server architecture Characteristics of client and server Types of architectures
QA Automation - API Automation - All in one course Course Summary: In detailed, easy, step by step, real time, practical and well organized Course Not required to have any prior programming knowledge,
More informationREST - Representational State Transfer
REST - Representational State Transfer What is REST? REST is a term coined by Roy Fielding to describe an architecture style of networked systems. REST is an acronym standing for Representational State
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 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 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 informationOracle RESTful Services A Primer for Database Administrators
Oracle RESTful Services A Primer for Database Administrators Sean Stacey Director Database Product Management Oracle Server Technologies Copyright 2017, Oracle and/or its affiliates. All rights reserved.
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 informationBackend Development. SWE 432, Fall Web Application Development
Backend Development SWE 432, Fall 2018 Web Application Development Review: Async Programming Example 1 second each Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy
More informationData Management CS 4720 Mobile Application Development
Data Management Mobile Application Development Desktop Applications What are some common applications you use day-to-day? Browser (Chrome, Firefox, Safari, etc.) Music Player (Spotify, itunes, etc.) Office
More informationTo Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry. Tony Erwin,
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry Tony Erwin, aerwin@us.ibm.com Agenda Origins of the Bluemix UI Demons of the Monolith Slaying Demons with
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 informationController/server communication
Controller/server communication Mendel Rosenblum Controller's role in Model, View, Controller Controller's job to fetch model for the view May have other server communication needs as well (e.g. authentication
More informationApplication Design and Development: October 30
M149: Database Systems Winter 2018 Lecturer: Panagiotis Liakos Application Design and Development: October 30 1 Applications Programs and User Interfaces very few people use a query language to interact
More informationCS 5450 HTTP. Vitaly Shmatikov
CS 5450 HTTP Vitaly Shmatikov Browser and Network Browser OS Hardware request reply website Network slide 2 HTML A web page includes Base HTML file Referenced objects (e.g., images) HTML: Hypertext Markup
More informationWWW. HTTP, Ajax, APIs, REST
WWW HTTP, Ajax, APIs, REST HTTP Hypertext Transfer Protocol Request Web Client HTTP Server WSGI Response Connectionless Media Independent Stateless Python Web Application WSGI : Web Server Gateway Interface
More informationPUSH services. Document revision 1.0 Date of Issue: 04 October 2018 Date of revision: 04 October Nick Palmer.
PUSH services Document revision 1.0 Date of Issue: 04 October 2018 Date of revision: 04 October 2018 Nick Palmer Product Manager Page 1 of 8 Table of Contents 1. Purpose... 3 2. Glossary of Terms... 3
More informationCoding Intro to APIs and REST
DEVNET-3607 Coding 1001 - Intro to APIs and REST Matthew DeNapoli DevNet Developer Evangelist Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this session
More informationWriting APIs in Lumen
Writing APIs in Lumen Rob Allen June 2018 I write APIs Rob Allen ~ @akrabat Let's start with Lumen Rob Allen ~ @akrabat Lumen Microframework Built with Laravel components Fast! Installation Install Laravel
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 informationStorageGRID Webscale NAS Bridge Management API Guide
StorageGRID Webscale NAS Bridge 2.0.3 Management API Guide January 2018 215-12414_B0 doccomments@netapp.com Table of Contents 3 Contents Understanding the NAS Bridge management API... 4 RESTful web services
More informationMobile Data: How to avoid the latency trap when using web services
Mobile Data: How to avoid the latency trap when using web services Tom Hughes-Croucher @sh1mmer What is the latency trap? Mobile Web Service My Server My Server Web Service Optical Fibre Web Service AT&T
More informationWeb 2.0 and AJAX Security. OWASP Montgomery. August 21 st, 2007
Web 2.0 and AJAX Security OWASP Montgomery August 21 st, 2007 Overview Introduction Definition of Web 2.0 Basics of AJAX Attack Vectors for AJAX Applications AJAX and Application Security Conclusions 1
More informationHow to work with HTTP requests and responses
How a web server processes static web pages Chapter 18 How to work with HTTP requests and responses How a web server processes dynamic web pages Slide 1 Slide 2 The components of a servlet/jsp application
More informationIntro to XML. Borrowed, with author s permission, from:
Intro to XML Borrowed, with author s permission, from: http://business.unr.edu/faculty/ekedahl/is389/topic3a ndroidintroduction/is389androidbasics.aspx Part 1: XML Basics Why XML Here? You need to understand
More informationThe 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications
The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Stuart Duguid Portal & Workplace Specialist TechWorks, IBM Asia-Pacific Overview / Scope The aim of
More informationRich Web Applications in Server-side Java without. Plug-ins or JavaScript
Rich Web Applications in Server-side Java without twitter: #vaadin @joonaslehtinen Plug-ins or JavaScript Joonas Lehtinen, PhD Vaadin Ltd - CEO joonas@vaadin.com ? Vaadin is a UI framework for desktop-like
More informationManipulating Web Application Interfaces a New Approach to Input Validation Testing. AppSec DC Nov 13, The OWASP Foundation
Manipulating Web Application Interfaces a New Approach to Input Validation Testing Felipe Moreno-Strauch AppSec DC Nov 13, 2009 felipe@wobot.org http://groundspeed.wobot.org The Foundation http://www.owasp.org
More informationMock Objects and the Mockito Testing Framework Carl Veazey CSCI Friday, March 23, 12
Mock Objects and the Mockito Testing Framework Carl Veazey CSCI 5828 Introduction Mock objects are a powerful testing pattern for verifying the behavior and interactions of systems. This presentation aims
More informationHeader Status Codes Cheat Sheet
Header Status Codes Cheat Sheet Thanks for downloading our header status codes cheat sheet! Below you ll find all the header status codes and their meanings. They are organized by sections, starting with
More informationEvaluation Guide for ASP.NET Web CMS and Experience Platforms
Evaluation Guide for ASP.NET Web CMS and Experience Platforms CONTENTS Introduction....................... 1 4 Key Differences...2 Architecture:...2 Development Model...3 Content:...4 Database:...4 Bonus:
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 informationApache Wink Developer Guide. Draft Version. (This document is still under construction)
Apache Wink Developer Guide Software Version: 1.0 Draft Version (This document is still under construction) Document Release Date: [August 2009] Software Release Date: [August 2009] Apache Wink Developer
More informationGoogle Plugin for Eclipse
Google Plugin for Eclipse Not just for newbies anymore Miguel Mendez Tech Lead - Google Plugin for Eclipse 1 Overview Background AJAX Google Web Toolkit (GWT) App Engine for Java Plugin Design Principles
More informationDATABASE SYSTEMS. Database programming in a web environment. Database System Course,
DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016-2017 AGENDA FOR TODAY The final project Advanced Mysql Database programming Recap: DB servers in the web Web programming
More informationTRANSFER MANAGER 2017
TRANSFER MANAGER 2017 LAST UPDATED: JULY 2017 System enhancements are located in Resolved system issues are located in WHAT S IMPROVED? BEFORE YOU BEGIN WEB SERVICE The Transfer Manager 2017 Web Service
More informationREST over HTTP. Ambient intelligence. Fulvio Corno. Politecnico di Torino, 2015/2016
REST over HTTP Ambient intelligence Fulvio Corno Politecnico di Torino, 2015/2016 Goal Understanding main communication protocol (http) How to use REST architectures to integrate (call and/or offer) remote
More informationDiscussion #4 CSS VS XSLT. Multiple stylesheet types with cascading priorities. One stylesheet type
Discussion #4 CSS VS XSLT Difference 1 CSS Multiple stylesheet types with cascading priorities XSLT One stylesheet type Difference 2 Used for HTML Used for structured document Difference 3 Only client
More informationSOA: Service-Oriented Architecture
SOA: Service-Oriented Architecture Dr. Kanda Runapongsa (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University 1 Gartner Prediction The industry analyst firm Gartner recently reported
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 informationHTTP Reading: Section and COS 461: Computer Networks Spring 2013
HTTP Reading: Section 9.1.2 and 9.4.3 COS 461: Computer Networks Spring 2013 1 Recap: Client-Server Communication Client sometimes on Initiates a request to the server when interested E.g., Web browser
More informationController/server communication
Controller/server communication Mendel Rosenblum Controller's role in Model, View, Controller Controller's job to fetch model for the view May have other server communication needs as well (e.g. authentication
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 information