Service Paths & Query By Example (QBE): Query Mechanism

Slides:



Advertisements
Similar presentations
Chapter 6 Server-side Programming: Java Servlets
Advertisements

Pierre-Johan CHARTRE Java EE - JAX-RS - Pierre-Johan CHARTRE
Web Service Testing RESTful Web Services Snejina Lazarova Dimo Mitev
Presented by: AU Assets Evolution of the SIF Common Framework Joerg Huber.
Background REST (Representational State Transfer) What does it mean to be RESTful? Why REST? WCF How does WCF support REST? What are the pieces we need.
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 Services 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: SIF3: First Consumer - Java Joerg Huber SIF3 Consumer: Get Students Exercise.
Presented by: SIF 3.0 REST URL Structure Components of the SIF3 REST URL Joerg Huber.
.NET Framework V3.5+ & RESTful web services Mike Taulty Developer & Platform Group Microsoft Ltd
Peoplesoft: Building and Consuming Web Services
REST assured A generic approach to REST EMEA PUG Challenge, Bronco Oostermeyer.
Presented by: SIF3 REST Framework Joerg Huber Open-Source SIF3 Development Framework Developed by Systemic Pty Ltd Sponsored by.
Designing and Implementing Web Data Services in Perl
Presented by: SIF3: Provider Exercise - Java Joerg Huber SIF3 Provider Exercise: SchoolInfo Provider.
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.
OASIS ebXML Registry Standard Open Forum 2003 on Metadata Registries 10:30 – 11:15 January 20, 2003 Kathryn Breininger The Boeing Company Chair, OASIS.
CollectionSpace Service REST-based APIs June 2009 Face-to-face Aron Roberts U.C. Berkeley IST/Data Services.
Open Data Protocol * Han Wang 11/30/2012 *
Presented by: SIF3: Providers Joerg Huber SIF3 Providers: Source of Truth.
SDMX Web Services the JSON version Sami Airo & Gerard Salou.
Presented by: SIF3 Framework Install - Java Joerg Huber Install & Verify Instructions and Exercise.
1 Open Ontology Repository: Architecture and Interfaces Ken Baclawski Northeastern University 1.
Presented by: SIF3: Events Joerg Huber SIF3 Events & Live Demo.
API Crash Course CWU Startup Club. OUTLINE What is an API? Why are API’s useful? What is HTTP? JSON? XML? What is a RESTful API? How do we consume an.
2007cs Servers on the Web. The World-Wide Web 2007 cs CSS JS HTML Server Browser JS CSS HTML Transfer of resources using HTTP.
Presented by: SIF 3.0 Environment Management Consumer Environments Direct Environments Java Joerg Huber.
1 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 2: REST Details and Patterns Some.
Presented by: SIF 3.0 Environments, Zones & Contexts Environments, Zones, Contexts and their Relationship Joerg Huber.
RESTful Web Services What is RESTful?
ΕΚΤ Access to Knowledge ΕΚΤ Access to Knowledge CERIF API: Access and reuse research information in CRIS Dimitris Karaiskos Vasilis Bonis, Nikos Pougounias.
"Data sources index" a web application to list projects in Hadoop Luca Menichetti.
Presented by: SIF3: Multi-Object CRUD Joerg Huber SIF3 Consumer: Multi-Object CRUD Exercise.
AJAX and REST. Slide 2 What is AJAX? It’s an acronym for Asynchronous JavaScript and XML Although requests need not be asynchronous It’s not really a.
Object orientation and Packaging in Java Object Orientation and Packaging Introduction: After completing this chapter, you will be able to identify.
OASIS ebXML Registry Standard Open Forum 2003 on Metadata Registries 10:30 – 11:15 January 20, 2003 Kathryn Breininger The Boeing Company Chair, OASIS.
Server-side http General form of http response/request GET request method POST request method Responses Servlet support.
Orion Contextbroker PROF. DR. SERGIO TAKEO KOFUJI PROF. MS. FÁBIO H. CABRINI PSI – 5120 – TÓPICOS EM COMPUTAÇÃO EM NUVEM
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
Programming for RESTful-SOA An introduction to building a SOA System with light-weighted RESTful Web Services (Web Services without SOAP or WSDL) Xiong.
AJAX. Objectives Understand and apply AJAX Using AJAX in DOJO library.
Data and tools on the Web have been exposed in a RESTful manner. Taverna provides a custom processor for accessing such services.
The Mechanics of HTTP Requests and Responses and network connections.
Tiny http client and server
WWU Hackathon May 6 & 7.
What’s new in the SIF3 World?
Understanding SOAP and REST calls The types of web service requests
Node.js Express Web Services
AJAX and REST.
SIF 3.0 Concepts Workshop Idea13 Joerg Huber.
VistA on Doug Martin, MD.
Haritha Dasari Josue Balandrano Coronel -
Function Test Framework
Service Paths & Query By Example (QBE): Query Mechanism
Testing REST IPA using POSTMAN
WEB API.
SIF 3.x Concepts & Terms, xPress & RicOne API
SIF3: First Consumer - Java
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
SIF3: Provider Exercise - Java
Web API with Angular 2 Front End
SIF 3.0 Concepts SIF 3.x Concepts & Terms Joerg Huber.
WCF Data Services and Silverlight
.NET Framework V3.5+ & RESTful web services
Chengyu Sun California State University, Los Angeles
SIF3 REST Framework Open-Source SIF3 Development Framework
Presentation transcript:

Service Paths & Query By Example (QBE): Query Mechanism SIF 3 Service Paths & QBE Service Paths & Query By Example (QBE): Query Mechanism Joerg Huber

Service Paths What is a Service Path? Base URL Format & Components Other URL Components Limitations How do the Frameworks work with Service Paths? Consumer Provider Training Course SIF3: Service Paths January 19

What is a Service Path It is a Query Mechanism! Allows retrieval of ‘Associated’ Objects (i.e. All Students at a School) Standard REST paradigm Optimises data retrieval One query vs. many queries Standard notation, easy to read Query condition is part of the URL. Training Course SIF3: Service Paths January 19

Base URL Format & Components Example: Get Students at School <baseURL>/SchoolInfos/<refId>/StudentPersonals Association Object RefId of the School Object to be returned Query Condition: ‘where SchoolInfoRefId = <refid>’ Training Course SIF3: Service Paths January 19

Other URL Components etc. Service Paths support all standard URL components of any Object Service: Can be ‘nested’ …/SchoolInfos/<refId>/StudentPersonals/<refId>/DailyAttendances Above will return daily attendances for a given student at a given school. Matrix Parameters (zoneId, contexId) Query Parameters (navigationPage, navigationPageSize) HTTP Headers (requestId) Exception: serviceType = SERVICEPATH No Payload Not valid for HTTP GET! Training Course SIF3: Service Paths January 19

Limitations: Query Only Can only Query Data (HTTP GET). No create, update or delete No Events are sent to a Service Path Only available right in ACL will be “QUERY” HTTP Header ‘serviceType’ must be set to ‘SERVICEPATH’ Not to worry about if frameworks are used. Training Course SIF3: Service Paths January 19

Frameworks & Service Paths Currently only available in Java version Consumer: Part of Abstract Consumer consumer.retrieveByServicePath(…) Provider: Implement QueryProvider Interface Direct Environment Template Entry <service name="SchoolInfos/{}/StudentPersonals" type="SERVICEPATH"> <rights> <right type="QUERY">APPROVED</right> </rights> </service> Implemented by class of “Object to be Returned” Training Course SIF3: Service Paths January 19

What is Query By Example It is a Query Mechanism! Allows retrieval of Objects based on a ‘Sample Object’. Service of “Sample Object” serves the query. Query Condition is given by a standard SIF Object: <StudentPersonal> <PersonInfo> <Name Type="LGL"> <FamilyName>Jones</FamilyName> </Name> </StudentPersonal> => Give me all students with legal family name of Jones. Training Course SIF3: Service Paths January 19

URL Components, GET vs. POST. QBE supports all standard URL components of any Object Service: Matrix Parameters (zoneId, contexId) Query Parameters (navigationPage, navigationPageSize) HTTP Headers (requestId, generatorID etc.) BUT it has a Payload!! Not valid for HTTP GET! It uses a HTTP POST with HTTP Header of methodOverride=GET => Abstracted with SIF3 Frameworks. Training Course SIF3: Service Paths January 19

Frameworks & Service Paths Available in Java & .Net version Consumer: Part of Abstract Consumer consumer.retrieveByQBE(…) Provider: Implement QueryProvider Interface If not supported then throw UnsupportedQueryException. ACL: Direct Environment Template Entry Part of standard Object Service (no changes) “QUERY” right must be “APPROVED”. <rights> <right type="QUERY">APPROVED</right> </rights> Training Course SIF3: Service Paths January 19

Question Time… Questions? Training Course SIF3: Service Paths January 19