REST: I don't Think it Means What You Think it Does. Stefan

Size: px
Start display at page:

Download "REST: I don't Think it Means What You Think it Does. Stefan"

Transcription

1 REST: I don't Think it Means What You Think it Does Stefan

2 REST: An architectural style defined by the constraints Client-Server, Stateless Communication, Caching, Uniform Interface, Layered System, and (optionally) Code-on-demand. For details, see ~fielding/pubs/dissertation/top.htm Thank you!

3 REST Intro

4 identification of resources

5 identification of resources Universal identity URIs Link targets Bookmarks Entry points

6 resource manipulation through representations

7 resource manipulation through representations SoC data/identity/location Multiple representations Processing model Reduced dependency

8 hypermedia as the engine of application state

9 hypermedia as the engine of application state Links Connections Forms Flow Status

10 self-descriptive messages

11 self-descriptive messages Standardization Provider independence Metadata Caching Intermediaries

12 What s in the Web?

13 Lots of things with URLs

14 connected with hypermedia

15 governed by standard formats.

16 Common Misconceptions

17 REST is about nice URIs IT S NOT

18 What makes a URI RESTful?

19 There is no such thing as a RESTful URI http :// example.com /customers/delete?id=13 Scheme Host Path Param Opaque ID

20 Why you shouldn t care about URIs <customer> <...> <orders href=' </customer> Hypermedia context

21 REST = URI patterns + GET, PUT, POST, DELETE CLOSE, BUT NO

22 Documented URIs URI Method Meaning become APIs POST create new customer GET get customer details GET Versions in URIs cause change for no good reason get list of customer s Assumptions about details server details become facts

23 Detour: Versioning

24 What are you versioning? Data Documentation Formats APIs

25 Versioning recommendations

26 Use different media types for different things

27 Use version numbers in URIs to version the resource itself

28 Create new resources for new aspects

29 Reserve space for links

30 Version your docs

31 Wait, what?

32 Yes, no versioning

33 Yes, no explicit versioning

34 Postel s law TCP implementations should follow a general principle of robustness: Be conservative in what you do, be liberal in what you accept from others.

35 Be kind to each other

36 Postel s Law Liberal, Loose, Tolerant Liberal, Loose, Tolerant Strict, Critical, Draconian

37 Client rules Don t depend on URI structure Support unknown links Ignore unknown content Server rules Don t break URI structure unnecessarily Evolve via additional resources Support older formats

38

39 How to hypermedia-enable your service interfaces

40 Step 1: Service Documents

41 <?xml version="1.0" encoding="utf-8"?> <servicedescription xml:base=" <link rel="all" href="/orders/" /> <link rel="received" href="/orders/received/" /> <link rel="accepted" href="/orders/accepted/" /> <link rel="rejected" href="/orders/rejected/" /> <link rel="cancelled" href="/orders/cancelled/" /> <link rel="fulfilled" href="/orders/fulfilled/" /> <link rel="cancellations" href="/cancellations/" /> <link rel="reports" href="/reports/" /> <link rel="fulfilled" href=" /> </servicedescription> { "servicedescription" : { "base": " "links": [ { "rel": "all", "href": "/orders/" }, { "rel": "all", "href": "/orders/" }, { "rel": "received", "href": "/orders/received/" }, { "rel": "accepted", "href": "/orders/accepted/" }, { "rel": "rejected", "href": "/orders/rejected/" }, { "rel": "cancelled", "href": "/orders/cancelled/" }, { "rel": "fulfilled", "href": "/orders/fulfilled/" }, { "rel": "cancellations", "href": "/cancellations/" }, { "rel": "reports", "href": "/reports/" } ] } }

42 { } JSON Home "resources": { " { "href": "/widgets/" }, " { "href-template": "/widgets/{widget_id}", "href-vars": { "widget_id": " }, "hints": { "allow": ["GET", "PUT", "DELETE", "PATCH"], "representations": ["application/json"], "accept-patch": ["application/json-patch"], "accept-post": ["application/xml"], "accept-ranges": ["bytes"] } } }

43 Step 2: Resource Links

44 GET /order/123 { "order": { "date": " ", "total": , "..." : "...", "links" : [ {"rel" : "self", "href" : " {"rel" : "contacts", "href" : " ] } }

45 GET /order/123 { "order": { "date": " ", "total": , "..." : "...", "links" : { "self": " "contacts": " } } } Your future extensions

46 Step 3: State Transition Links

47 { "order": { "state" : "received", "..." : "...", "links" : [ {"rel" : "cancel", "href" : " {"rel" : "accept", "href" : " {"rel" : "reject", "href" : " ] } }

48 Hypermedia APIs = Responses with Links NOT ONLY

49 Rule #1: Don t have clients build URIs using string concatenation

50 instead: provide recipes

51 <form action=' method='get'> Search for: <input type='text' name='query'> <input type='submit'> </form> { "rel": "search", "template": " }

52 <form action=' method='post'> First: <input type='text' name='first'> Last: <input type='text' name='last'> Birthday: <input type='date' name='bdate'> <input type='submit'> </form> {"target": " "rel": "add", "template": { "first": "...", "last": "...", "bdate": "..." } }

53 REST = A different approach to service interfaces TOO SIMPLE

54 Point-to-point integration System B System A

55 Service interfaces Client 1 Client 2 Server Client n

56 Hypermedia types Client 1 Server A Client 2 Format Server B Client n Server n

57 application/atom+xml

58 application/opensearchdescription+xml

59 application/vnd.collection+json

60 application/hal+json

61 application/vnd.siren+json

62 text/html

63 Detour: HTML

64 <order> <shippingaddress>paris, France</shippingAddress> <items> <item> <productdescription>ipad</productdescription> <quantity>1</quantity> <price>699</price> </item> </items> <link href=" rel="cancel" /> <link href=" payment" rel="payment" /> </order>

65 <html xmlns=" <body> <div class="order"> <p class="shippingaddress">paris, France</p> <ul class="items"> <li class="item"> <p class="productdescription">ipad</p> <p class="quantity">1</p> <p class="price">699</p> </li> </ul> <a href=" rel="cancel">cancel</a> <a href=" rel="payment">payment</a> </div> </body> </html>

66 Benefits of Using HTML as Your Hypermedia Format Ubiquity Well-known, well supported HM controls A pretty good standard client Lots of programming tools UIs as a side-effect

67

68 Summary

69 Link context over pretty URIs

70 Hypermedia over URI APIs

71 Hypermedia flows over static links

72 Generalized formats over services

73 Q&A Stefan Phone: innoq Deutschland GmbH Krischerstr Monheim am Rhein Germany Phone: Ohlauer Straße Berlin Germany Phone: Robert-Bosch-Straße Darmstadt Germany Phone: Radlkoferstraße 2 D München Telefon +49 (0) innoq Schweiz GmbH Gewerbestr. 11 CH-6330 Cham Switzerland Phone: info@innoq.com

74 Bonus misconception: REST is for services only WRONG

75 REST as the Web s Architectural Style 1991 HTTP HTTP 1.0 Browsers Command line clients 1997 HTTP 1.1 (RFC 2068) 1999 HTTP 1.1 (RFC 2616) 2000 REST 2000 SOAP/1.1 Proxies Crawlers Servers

76 (Resource-oriented Client Architecture)

77 Web-centric web UIs

78 Server-side components ROCA Avoid HTML, JS, CSS Trade Familiarity for Complexity Session-centric Server-side POSH Client-side components Web-centric Single Page Apps Advanced Client Frameworks Server-side REST APIs

79 Make your HTML semantic

80 Use Javascript unobtrusively

81 Use URIs to identify a single meaningful concept

82 Don t disable Browser Features use them

83 ROCA

One size does not fit all

One size does not fit all One size does not fit all Stefan Tilkov @stilkov GOTO London 2016 Building blocks lambdas components functions containers VMs services units dynamic libraries objects libraries images classes procedures

More information

Blockchain (a.k.a. the slowest, most fascinating database you ll ever see)

Blockchain (a.k.a. the slowest, most fascinating database you ll ever see) Blockchain (a.k.a. the slowest, most fascinating database you ll ever see) GOTO Amsterdam 13 June, 2017 Stefan Tilkov, @stilkov I don t know Blockchain and so can you 1. Bitcoin > Practical application

More information

REST AND AJAX. Introduction. Module 13

REST 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 information

Using REST for SOA Stefan Tilkov, QCon SF 2010

Using REST for SOA Stefan Tilkov, QCon SF 2010 Using REST for SOA Stefan Tilkov, QCon SF 2010 Stefan Tilkov stefan.tilkov@innoq.com http://www.innoq.com/blog/st/ @stilkov innoq Deutschland GmbH innoq Schweiz GmbH Halskestraße 17 Gewerbestrasse 11 D-40880

More information

REST Easy with Infrared360

REST 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 information

A Pragmatic Introduction to REST. Stefan Tilkov,

A 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 information

Understanding REST: ROCA & HATEOAS

Understanding REST: ROCA & HATEOAS Understanding REST: ROCA & HATEOAS Orientierungspunkt Feb. 2014 Version: 1.0 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Ihr Sprecher Thomas Asel Trainer, Berater,

More information

Java9 - Features abseits von Jigsaw und JShell. BED-Con September 2017

Java9 - Features abseits von Jigsaw und JShell. BED-Con September 2017 Java9 - Features abseits von Jigsaw und JShell BED-Con 2017 22. September 2017 Michael Vitz Senior Consultant @ innoq michael.vitz@innoq.com @michaelvitz Zeitplan Features JEP 102 Process API Updates

More information

RESTful Services. Distributed Enabling Platform

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 information

Microservices. Are your Frameworks ready? Martin Eigenbrodt Alexander Heusingfeld

Microservices. Are your Frameworks ready? Martin Eigenbrodt Alexander Heusingfeld Microservices Are your Frameworks ready? Martin Eigenbrodt martin.eigenbrodt@innoq.com Alexander Heusingfeld alexander.heusingfeld@innoq.com Microservices? Levels of Architecture Domain architecture Macro

More information

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel innoq Deutschland GmbH innoq Schweiz GmbH D-40880 Ratingen CH-6330 Cham Tel +49 2102 77 1620 Tel +41 41 743 01 11 www.innoq.com Stefan Tilkov, stefan.tilkov@innoq.com 1 Goals Introduce MDE, MDA, MDD, MDSD,...

More information

REST & Caching: Web Services, Accelerated

REST & Caching: Web Services, Accelerated REST & Caching: Web Services, Accelerated JAOO 2009 Stefan Tilkov, innoq innoq Deutschland GmbH innoq Schweiz GmbH Halskestraße 17 Gewerbestrasse 11 D-40880 Ratingen CH-6330 Cham Phone +49 21 02 77 162-100

More information

ENTERPRISE SOA CONFERENCE

ENTERPRISE 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 information

REST 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 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 information

REST for SOA. Stefan Tilkov, innoq Deutschland GmbH

REST 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 information

Clojure for OOP folks Stefan innoq

Clojure for OOP folks Stefan innoq Clojure for OOP folks Stefan Tilkov @stilkov innoq 1 Motivation 2 Syntax Idioms 3 OOP Thinking model domains with classes & interfaces encapsulate data in objects prefer specific over generic solutions

More information

Session 12. RESTful Services. Lecture Objectives

Session 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 information

PS/2 Web Services

PS/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 information

REST A brief introduction

REST 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 information

Web Development and HTML. Shan-Hung Wu CS, NTHU

Web Development and HTML. Shan-Hung Wu CS, NTHU Web Development and HTML Shan-Hung Wu CS, NTHU Outline How does Internet Work? Web Development HTML Block vs. Inline elements Lists Links and Attributes Tables Forms 2 Outline How does Internet Work? Web

More information

Web Services Week 10

Web 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 information

INF5750. RESTful Web Services

INF5750. 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 information

Contents. Demos folder: Demos\14-Ajax. 1. Overview of Ajax. 2. Using Ajax directly. 3. jquery and Ajax. 4. Consuming RESTful services

Contents. 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 information

REST Web Services Objektumorientált szoftvertervezés Object-oriented software design

REST 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 information

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6

04 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 information

HTML HTML. Chris Seddon CRS Enterprises Ltd 1

HTML HTML. Chris Seddon CRS Enterprises Ltd 1 Chris Seddon seddon-software@keme.co.uk 2000-12 CRS Enterprises Ltd 1 2000-12 CRS Enterprises Ltd 2 Reference Sites W3C W3C w3schools DevGuru Aptana GotAPI Dog http://www.w3.org/ http://www.w3schools.com

More information

UR what? ! URI: Uniform Resource Identifier. " Uniquely identifies a data entity " Obeys a specific syntax " schemename:specificstuff

UR what? ! URI: Uniform Resource Identifier.  Uniquely identifies a data entity  Obeys a specific syntax  schemename:specificstuff CS314-29 Web Protocols URI, URN, URL Internationalisation Role of HTML and XML HTTP and HTTPS interacting via the Web UR what? URI: Uniform Resource Identifier Uniquely identifies a data entity Obeys a

More information

ReST 2000 Roy Fielding W3C

ReST 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 information

WWW, REST, and Web Services

WWW, 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 information

Develop 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 - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 3 Develop Mobile Front Ends Using Mobile Application Framework A - 4

More information

Developing RESTful Services Using JAX-RS

Developing 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 information

REST Services. Zaenal Akbar

REST 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 information

Stefan Tilkov innoq Deutschland GmbH REST + JSR 311 Java API for RESTful Web Services

Stefan Tilkov innoq Deutschland GmbH REST + JSR 311 Java API for RESTful Web Services Stefan Tilkov innoq Deutschland GmbH stefan.tilkov@innoq.com REST + JSR 311 Java API for RESTful Web Services Contents An Introduction to REST Why REST Matters REST And Web Services JSR 311 Intro Demo

More information

Services Web Nabil Abdennadher

Services 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 information

REST. And now for something completely different. Mike amundsen.com

REST. 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 information

Understanding 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 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 information

Introduction to RESTful Web Services. Presented by Steve Ives

Introduction 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 information

What is REST? ; Erik Wilde ; UC Berkeley School of Information

What 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 information

Web Software Model CS 4640 Programming Languages for Web Applications

Web Software Model CS 4640 Programming Languages for Web Applications Web Software Model CS 4640 Programming Languages for Web Applications [Robert W. Sebesta, Programming the World Wide Web Upsorn Praphamontripong, Web Mutation Testing ] 1 Web Applications User interactive

More information

RKN 2015 Application Layer Short Summary

RKN 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 information

Interactive XML Visualization - using XSLT 2.0 on the Browser. Phil Fearon - Saxonica

Interactive XML Visualization - using XSLT 2.0 on the Browser. Phil Fearon - Saxonica Interactive XML Visualization - using XSLT 2.0 on the Browser Phil Fearon - Saxonica Big XML Theme Big data Large scale searching Processing large volumes at high speed Crunching big XML files Open Linked

More information

A Brief Introduction to REST

A 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 information

Discussion #4 CSS VS XSLT. Multiple stylesheet types with cascading priorities. One stylesheet type

Discussion #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 information

Postman User Guide. Document Reference: July Version: 2

Postman User Guide. Document Reference: July Version: 2 Postman User Guide Document Reference: 8314 July 2017 Version: 2 Version Number Date Author Changes 1 Sep 2015 Sam Smith 2 Jul 2017 Sam Smith Branding updated Page 1 Contents 1 Introduction... 3 2 Downloading...

More information

Assignment 2. Start: 15 October 2010 End: 29 October 2010 VSWOT. Server. Spot1 Spot2 Spot3 Spot4. WS-* Spots

Assignment 2. Start: 15 October 2010 End: 29 October 2010 VSWOT. Server. Spot1 Spot2 Spot3 Spot4. WS-* Spots Assignment 2 Start: 15 October 2010 End: 29 October 2010 In this assignment you will learn to develop distributed Web applications, called Web Services 1, using two different paradigms: REST and WS-*.

More information

c122sep814.notebook September 08, 2014 All assignments should be sent to Backup please send a cc to this address

c122sep814.notebook September 08, 2014 All assignments should be sent to Backup please send a cc to this address All assignments should be sent to p.grocer@rcn.com Backup please send a cc to this address Note that I record classes and capture Smartboard notes. They are posted under audio and Smartboard under XHTML

More information

Unveiling the Basics of CSS and how it relates to the DataFlex Web Framework

Unveiling the Basics of CSS and how it relates to the DataFlex Web Framework Unveiling the Basics of CSS and how it relates to the DataFlex Web Framework Presented by Roel Fermont 1 Today more than ever, Cascading Style Sheets (CSS) have a dominant place in online business. CSS

More information

RESTful Web Services. 20-Jan Gordon Dickens Chariot Solutions

RESTful 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 information

Other architectures are externally built or expanded

Other 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 information

Getting Started with

Getting Started with Getting Started with Meganadha Reddy K. Technical Trainer NetCom Learning www.netcomlearning.com Agenda How websites work Introduction to JavaScript JavaScript Frameworks Getting Started : Angular JS Q&A

More information

RESTful API Design APIs your consumers will love

RESTful 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 information

Understanding this structure is pretty straightforward, but nonetheless crucial to working with HTML, CSS, and JavaScript.

Understanding this structure is pretty straightforward, but nonetheless crucial to working with HTML, CSS, and JavaScript. Extra notes - Markup Languages Dr Nick Hayward HTML - DOM Intro A brief introduction to HTML's document object model, or DOM. Contents Intro What is DOM? Some useful elements DOM basics - an example References

More information

RESTful -Webservices

RESTful -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 information

Etanova Enterprise Solutions

Etanova 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 information

Server execution of JavaScript: What could possibly go wrong?

Server execution of JavaScript: What could possibly go wrong? Server execution of JavaScript: What could possibly go wrong? Brian Geffon Staff Software Engineer Hello! 2 Outline Introductions Ø Brief History The paradigm shift Problems! Where we are today Closing

More information

Writing APIs in Lumen

Writing 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 information

Multi-Tenant Accounting in OpenStack

Multi-Tenant Accounting in OpenStack Jorge L Williams Ziad N Sawalha Khaled Hussein Abstract As a cloud computing platform, OpenStack must support the concept

More information

Composer Help. Web Request Common Block

Composer Help. Web Request Common Block Composer Help Web Request Common Block 7/4/2018 Web Request Common Block Contents 1 Web Request Common Block 1.1 Name Property 1.2 Block Notes Property 1.3 Exceptions Property 1.4 Request Method Property

More information

INF 212 ANALYSIS OF PROG. LANGS. INTERACTIVITY. Prof. Crista Lopes

INF 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 information

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

CNIT 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 information

An 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 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 information

DATABASE SYSTEMS. Database programming in a web environment. Database System Course,

DATABASE 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 information

Agenda. Introduction. Supported Formats. Creating a Custom REST Service. What s Next

Agenda. Introduction. Supported Formats. Creating a Custom REST Service. What s Next Using the ArcGIS Server REST API Jeremy Bartley Keyur Shah Agenda Introduction Design and Concepts Supported Formats REST API Admin Creating a Custom REST Service What s New (Since 9.3) What s Next Conclusion

More information

Simple AngularJS thanks to Best Practices

Simple AngularJS thanks to Best Practices Simple AngularJS thanks to Best Practices Learn AngularJS the easy way Level 100-300 What s this session about? 1. AngularJS can be easy when you understand basic concepts and best practices 2. But it

More information

Diploma in Mobile App Development Part I

Diploma in Mobile App Development Part I Diploma in Mobile App Development Part I Lesson 3 Intro to HTML & CSS MAD Educator: Tadhg Deeney @ShawMobileApp Webinar Interaction Any questions? - Our support team are here to help Chat box - Comment

More information

SERVICE TECHNOLOGIES

SERVICE TECHNOLOGIES SERVICE TECHNOLOGIES Exercises 3 16/04/2014 Valerio Panzica La Manna valerio.panzicalamanna@polimi.it http://servicetechnologies.wordpress.com/exercises/ REST: Theory Recap REpresentational State Transfer

More information

RESTful Web services

RESTful 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 information

Unit 3 - Week 2 lectures: Building your webapp

Unit 3 - Week 2 lectures: Building your webapp X Courses» Modern Application Development Announcements Course Forum Progress Mentor Discourse forum Discussion Forum Unit 3 - Week 2 lectures: Building your webapp Course outline How to access the portal?

More information

Open Archives Initiative Object Reuse & Exchange. Resource Map Discovery

Open Archives Initiative Object Reuse & Exchange. Resource Map Discovery Open Archives Initiative Object Reuse & Exchange Resource Map Discovery Michael L. Nelson * Carl Lagoze, Herbert Van de Sompel, Pete Johnston, Robert Sanderson, Simeon Warner OAI-ORE Specification Roll-Out

More information

Web Information System Design. Tatsuya Hagino

Web Information System Design. Tatsuya Hagino Web Information System Design Tatsuya Hagino (hagino@sfc.keio.ac.jp) 1 Course Summary Understanding the current Web architecture Web components Web as document space Structure of Web documents Web principles

More information

0.9: Faster, Leaner and Dijit? July 25, 2007 Dylan Schiemann. presented by

0.9: Faster, Leaner and Dijit? July 25, 2007 Dylan Schiemann. presented by 0.9: Faster, Leaner and Dijit? July 25, 2007 Dylan Schiemann presented by Key Features Browser support Package/build system Easy widget building Declarative widget creation Rich built-in widget set Comprehensive

More information

RESTful Application Protocols

RESTful Application Protocols RESTful Application Protocols Ian Robinson http://iansrobinson.com @iansrobinson iansrobinson@gmail.com Who am I? Global Bank Integration REST in Practice: A Tutorial on Web- based Distributed Systems

More information

Oracle RESTful Services A Primer for Database Administrators

Oracle 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 information

Backends and Databases. Dr. Sarah Abraham

Backends 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 information

COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS. Web Access: HTTP Mehmet KORKMAZ

COMPUTER 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

REST-based Integration Architecture for a Financial Business Service. Phillip Ghadir, innoq

REST-based Integration Architecture for a Financial Business Service. Phillip Ghadir, innoq REST-based Integration Architecture for a Financial Business Service Phillip Ghadir, innoq REST-based Integration Architecture for a Financial Business Service When we started out building a large-scale

More information

HyperText Markup Language (HTML)

HyperText Markup Language (HTML) HyperText Markup Language (HTML) Mendel Rosenblum 1 Web Application Architecture Web Browser Web Server / Application server Storage System HTTP Internet LAN 2 Browser environment is different Traditional

More information

Designing RIA Accessibility: A Yahoo UI (YUI) Menu Case Study

Designing RIA Accessibility: A Yahoo UI (YUI) Menu Case Study Designing RIA Accessibility: A Yahoo UI (YUI) Menu Case Study Doug Geoffray & Todd Kloots 1 Capacity Building Institute Seattle, Washington 2006.11.30 What s Happening? 2 3 Web 1.0 vs. Web 2.0 Rich Internet

More information

Jquery Ajax Json Php Mysql Data Entry Example

Jquery Ajax Json Php Mysql Data Entry Example Jquery Ajax Json Php Mysql Data Entry Example Then add required assets in head which are jquery library, datatable js library and css By ajax api we can fetch json the data from employee-grid-data.php.

More information

5.1 Registration and Configuration

5.1 Registration and Configuration 5.1 Registration and Configuration Registration and Configuration Apache Wink provides several methods for registering resources and providers. This chapter describes registration methods and Wink configuration

More information

Multimedia im Netz Online Multimedia Winter semester 2015/16

Multimedia im Netz Online Multimedia Winter semester 2015/16 Multimedia im Netz Online Multimedia Winter semester 2015/16 Tutorial 06 Minor Subject Ludwig-Maximilians-Universität München Online Multimedia WS 2015/16 - Tutorial 06 (NF) - 1 Today s Agenda Flashback

More information

HTTP Console Documentation

HTTP Console Documentation HTTP Console Documentation Release 1.0.0 Ahmad Nassri April 02, 2014 Contents 1 text/html 1 2 text/plain 3 3 application/php 5 4 application/xml 7 5 application/json 9 6 API Reference 11 6.1 /ip.....................................................

More information

McAfee Next Generation Firewall 5.8.0

McAfee Next Generation Firewall 5.8.0 Reference Guide Revision A McAfee Next Generation Firewall 5.8.0 SMC API This guide gives an overview of the Security Management Center (SMC) application programming interface (API). It describes how to

More information

Micronet International College

Micronet International College Micronet International College Level 4 Diploma in Computing Designing and Developing a Website (DDW) Test 1 (20%) Name: /50 Class: QUESTION 1 a) I) What are W3C standards? 1 Specifications or descriptions

More information

APACHE SLING & FRIENDS TECH MEETUP BERLIN, SEPTEMBER Hypermedia API Tools for Sling (HApi) Andrei Dulvac, Adobe

APACHE SLING & FRIENDS TECH MEETUP BERLIN, SEPTEMBER Hypermedia API Tools for Sling (HApi) Andrei Dulvac, Adobe APACHE SLING & FRIENDS TECH MEETUP BERLIN, 28-30 SEPTEMBER 2015 Hypermedia API Tools for Sling (HApi) Andrei Dulvac, Adobe ToC HatEoAS, Hypermedia formats, and semantic data Hypermedia API tools (HApi)

More information

HTTP Communication on Tizen

HTTP Communication on Tizen HTTP Communication on Tizen Spring 2015 Soo Dong Kim, Ph.D. Professor, Department of Computer Science Software Engineering Laboratory Soongsil University Office 02-820-0909 Mobile 010-7392-2220 sdkim777@gmail.com

More information

Kim 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 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 information

Open Archives Initiative Object Reuse & Exchange. Resource Map Discovery

Open Archives Initiative Object Reuse & Exchange. Resource Map Discovery Open Archives Initiative Object Reuse & Exchange Resource Map Discovery Michael L. Nelson * Carl Lagoze, Herbert Van de Sompel, Pete Johnston, Robert Sanderson, Simeon Warner OAI-ORE Specification Roll-Out

More information

REST - Representational State Transfer

REST - 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 information

Backend Development. SWE 432, Fall 2017 Design and Implementation of Software for the Web

Backend Development. SWE 432, Fall 2017 Design and Implementation of Software for the Web Backend Development SWE 432, Fall 2017 Design and Implementation of Software for the Web Real World Example https://qz.com/1073221/the-hackers-who-broke-into-equifax-exploited-a-nine-year-old-security-flaw/

More information

Understanding the Role of Media Types in RESTful Applications. Jan Algermissen GOTO Copenhagen 2011

Understanding the Role of Media Types in RESTful Applications. Jan Algermissen GOTO Copenhagen 2011 Understanding the Role of Media Types in RESTful Applications Jan Algermissen GOTO Copenhagen 2011 Jan Algermissen Applying the Web to Enterprise IT @algermissen algermissen@acm.org http://algermissen.blogspot.com

More information

Pragmatic SOA Beyond Buzzwords and Flamewars. Stefan Tilkov, -

Pragmatic SOA Beyond Buzzwords and Flamewars. Stefan Tilkov, - Pragmatic SOA Beyond Buzzwords and Flamewars Stefan Tilkov, innoq @stilkov - http://www.innoq.com/blog/st/ 1 Some Claims 2 Some Recommendations 3 Claim: Application architecture is irrelevant for your

More information

Webspeed. I am back. Enhanced WebSpeed

Webspeed. 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 information

A FINITE-STATE MACHINE APPROACH FOR MODELING AND ANALYZING RESTFUL SYSTEMS

A FINITE-STATE MACHINE APPROACH FOR MODELING AND ANALYZING RESTFUL SYSTEMS Journal of Web Engineering, Vol. 10, No. 4 (2011) 353 390 c Rinton Press A FINITE-STATE MACHINE APPROACH FOR MODELING AND ANALYZING RESTFUL SYSTEMS IVAN ZUZAK IVAN BUDISELIC GORAN DELAC School of Electrical

More information

Backends and Databases. Dr. Sarah Abraham

Backends 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 information

introduction to XHTML

introduction to XHTML introduction to XHTML XHTML stands for Extensible HyperText Markup Language and is based on HTML 4.0, incorporating XML. Due to this fusion the mark up language will remain compatible with existing browsers

More information

CSP ODDITIES. Michele Spagnuolo Lukas Weichselbaum

CSP ODDITIES. Michele Spagnuolo Lukas Weichselbaum ODDITIES Michele Spagnuolo Lukas Weichselbaum ABOUT US Michele Spagnuolo Lukas Weichselbaum Information Security Engineer Information Security Engineer We work in a special focus area of the Google security

More information

Copyright 2014 Blue Net Corporation. All rights reserved

Copyright 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 information

Application Development

Application 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 information

7 Topics Concerning Languages & Architecture Stefan JUG KA 2011

7 Topics Concerning Languages & Architecture Stefan JUG KA 2011 7 Topics Concerning Languages & Architecture Stefan Tilkov @stilkov JUG KA 2011 1 http://www.innoq.com Stefan Tilkov stefan.tilkov@innoq.com @stilkov 2 http://rest-http.info 3 1. Language Equality 4 Languages

More information