Presented by: SIF 3.0 REST Services Melbourne Developer’s Workshop November 2013 Joerg Huber.

Slides:



Advertisements
Similar presentations
Pierre-Johan CHARTRE Java EE - JAX-RS - Pierre-Johan CHARTRE
Advertisements

Give it a REST already Arnon Rotem-Gal-Oz VP R&D xsights
REST &.NET James Crisp.NET Practice Lead ThoughtWorks Australia.
Server Access The REST of the Story David Cleary
LiNC Developer Meetup Welcome!. Our job is to make your life easier APIs Tools and workflow Documentation Stay in touch: developers.lithium.com Join the.
Single Page Apps with Breeze and Ruby.
Presented by: AU Assets Evolution of the SIF Common Framework Joerg Huber.
Presented by: SIF 3.0 Concepts DSWG August 2013 Joerg Huber.
Presented by: SIF 3.0 Environments, Zones & Contexts Melbourne Developer’s Workshop November 2013 Joerg Huber.
Presented by: SIF 3.0 REST Framework Melbourne Developer’s Workshop November 2013 Joerg Huber.
Query Verb Proposal Ashok Malhotra, Oracle
Presented by: SIF 3.0 REST URL Structure Components of the SIF3 REST URL Joerg Huber.
Hypertext Transfer Protocol Information Systems 337 Prof. Harry Plantinga.
Peoplesoft: Building and Consuming Web Services
User Interface Design using jQuery Mobile CIS 136 Building Mobile Apps 1.
Server-side Scripting Powering the webs favourite services.
Web application architecture
REST.  REST is an acronym standing for Representational State Transfer  A software architecture style for building scalable web services  Typically,
Presented by: SIF 3.0 Concepts SIF 3.x Concepts & Terms Joerg Huber.
SPS Boston 2015 is made possible by our Sponsors.
Copyright © Orbeon, Inc. All rights reserved. Erik Bruchez Applications of XML Pipelines XML Prague, June 16 th, 2007.
CollectionSpace Service REST-based APIs June 2009 Face-to-face Aron Roberts U.C. Berkeley IST/Data Services.
Python and REST Kevin Hibma. What is REST? Why REST? REST stands for Representational State Transfer. (It is sometimes spelled "ReST".) It relies on a.
MINT Working Group Jan 9-10 at Harris FBC Melbourne, FL.
Presented by: SIF3: Providers Joerg Huber SIF3 Providers: Source of Truth.
Web Archiving and Access Mike Smorul Joseph JaJa ADAPT Group University of Maryland, College Park.
Presented by: SIF3 Framework Install - Java Joerg Huber Install & Verify Instructions and Exercise.
Copyright © Cybage Software Pvt. Ltd. All Rights Reserved. Cybage Confidential. Drupal Web Services 1 Authored by: Chaitanya Anil Kulkarni Presented.
Introduction to the SharePoint 2013 REST API. 2 About Me SharePoint Solutions Architect at Sparkhound in Baton Rouge
Presented by: SIF3: Events Joerg Huber SIF3 Events & Live Demo.
Operating Systems Lesson 12. HTTP vs HTML HTML: hypertext markup language ◦ Definitions of tags that are added to Web documents to control their appearance.
Presented by: SIF 3.0 Environments, Zones & Contexts Environments, Zones, Contexts and their Relationship Joerg Huber.
WStore Programmer Guide Offering management integration.
06 | HTTP Services with Web API Bruno Terkaly | Technical Evangelist Bret Stateham | Technical Evangelist.
ICM – API Server & Forms Gary Ratcliffe.
RESTful Web Services What is RESTful?
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
ΕΚΤ Access to Knowledge ΕΚΤ Access to Knowledge CERIF API: Access and reuse research information in CRIS Dimitris Karaiskos Vasilis Bonis, Nikos Pougounias.
Presented by: SIF3: Multi-Object CRUD Joerg Huber SIF3 Consumer: Multi-Object CRUD Exercise.
Herzog August Bibliothek Wolfenbüttel Backend, Service, Listener VuFind's new SOLR connection Originally Presented By David Maus Herzog August Bibliothek.
DICOMwebTM 2015 Conference & Hands-on Workshop University of Pennsylvania, Philadelphia, PA September 10-11, 2015 DICOMweb Workflow API (UPS-RS) Jonathan.
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
Data and tools on the Web have been exposed in a RESTful manner. Taverna provides a custom processor for accessing such services.
Tiny http client and server
Better RESTFul API – Best Practices
What’s new in the SIF3 World?
Node.js Express Web Applications
2nd Interoperability testing issues
Data Virtualization Tutorial… CORS and CIS
Node.js Express Web Services
An introduction to REST for SharePoint 2013
Advanced Web-based Systems | Misbhauddin
All about social networking
SIF 3.0 Concepts Workshop Idea13 Joerg Huber.
Addressing the Beast: Single Sign-On II
Service Paths & Query By Example (QBE): Query Mechanism
Ashish Pandit IT Architect, Middleware & Integration Services
Testing REST IPA using POSTMAN
WEB API.
REST Client Tutorial by Pavan Ethic Coder
REST.
Controllers.
SIF 3.x Concepts & Terms, xPress & RicOne API
PHP and Forms.
Service Paths & Query By Example (QBE): Query Mechanism
Requests and Server Response Codes
SIF 3.0 Concepts SIF 3.x Concepts & Terms Joerg Huber.
.NET Framework V3.5+ & RESTful web services
Chengyu Sun California State University, Los Angeles
Restful APIs 101 Laura
Presentation transcript:

Presented by: SIF 3.0 REST Services Melbourne Developer’s Workshop November 2013 Joerg Huber

© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST URL Structure 2 Components of SIF3 REST Call A SIF3 REST Call can consist of the following parts:  Base URL Segment  Service ULR Segment  Matrix Parameters  Query Parameters  Header Fields  Payload  Single-Object vs. Multi-Object URLs

© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST URL Structure 3 Base URL Segment Retrieved from the “infrastructureService” node with the name “requestConnector” in environment Example

© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST URL Structure 4 Service URL Segment  Generally the name of the SIF Object in plural form (append “s”)  Optionally append ‘Id’ of SIF Object or  Optionally append singular form of SIF Object Name Example - StudentPersonal  /StudentPersonals  /StudentPersonals/  /StudentPersonals/StudentPersonal

© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST URL Structure 5 Matrix Parameters Used instead of Query Parameters because they help in standard caching:  If no ‘?’ (Query Parameter) is used in URL the result can be cached  Matrix Parameters don’t use the ‘?’ but are part of the URL so the data returned can be cached  Notation: ‘; = ’  Used in SIF3 to set the zone and context in a URL If not provided: Default Zone and/or Context is used Example - StudentPersonal  /StudentPersonals;contextId=current  /StudentPersonals/ ;zoneId=4001  /StudentPersonals;zoneId=4001;contextId=current

© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST URL Structure 6 Query Parameters Everything after a ‘?’ in the URL is referred to as Query Parameter.  Returned data is not cached  Notation: ‘? = {& = }’  Used in SIF3: Paging Info, xQuery Info Example - StudentPersonal  /StudentPersonals?pageSize=10&page=2  /StudentPersonals;zoneId=4001?pageSize=10&page=2

© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST URL Structure 7 Header Fields SIF3 uses standard and custom HTTP Request/Response header fields.  Not part of the URL  Different header fields for Request and Response Example Standard Header Fields - Request  Authorization (authorisation token)  If-None-Match (caching info) Example Custom Header Fields - Request  generatorId (Optional: Who makes request)  navigationId (query paging support)

© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST URL Structure 8 Payload The final part of a SIF3 REST Service call is the actual payload or the XML Message.  Payload is XML for now (JSON later)  Most requests for REST Calls have a payload  Some Request don’t have a payload (DELETE for single object)  Most responses for single-object operations don’t have a payload. Exception: GET  Responses for multi-object operations do have a payload.

© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST URL Structure 9 Single-Object vs Multi-Object URLs Single Object URLs: s  GET: /StudentPeronals/{refId} s  PUT: /StudentPeronals/{refId} + payload s  DELETE: /StudentPeronals/{refId} EXCEPTION: CREATE an Object! s  POST: /StudentPeronals/StudentPersonal + payload Multi-Object URLs: s  GET: /StudentPeronals s  PUT: /StudentPeronals + payload s  POST: /StudentPeronals + payload s  DELETE: /StudentPeronals + payload

© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST URL Structure 10 Question Time… Questions?