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
Client Access A proposal for client access. Requirements It must be simple for the bundle writer to deliver content to a diverse range of clients Separation.
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 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.
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.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
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.
Introduction to PHP and Server Side Technology. Slide 2 PHP History Created in 1995 PHP 5.0 is the current version It’s been around since 2004.
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.
COMP 365 Android Development.  Manages access from a central database  Allows multiple applications to access the same data.
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.
Introduction to the SharePoint 2013 REST API. 2 About Me SharePoint Solutions Architect at Sparkhound in Baton Rouge
1 Open Ontology Repository: Architecture and Interfaces Ken Baclawski Northeastern University 1.
Presented by: SIF3: Events Joerg Huber SIF3 Events & Live Demo.
SNOWTAM Trial: REST Interface. AIXM XML Developers' Seminar 2 Contents Digital-SNOWTAM Trial Introduction REST Introduction REST in the Digital-SNOWTAM.
Rails & Ajax Module 5. Introduction to Rails Overview of Rails Rails is Ruby based “A development framework for Web-based applications” Rails uses the.
Copyright © 2012 UNICOM Systems, Inc. Confidential Information z/Ware Product Overview illustro Systems International A Division of UNICOM Global.
Server-side Programming The combination of –HTML –JavaScript –DOM is sometimes referred to as Dynamic HTML (DHTML) Web pages that include scripting are.
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.
IBM TSpaces Lab 2 Customizing tuples and fields. Summary Blocking commands Tuple Expiration Extending Tuples (The SubclassableTuple) Reading/writing user.
Presented by: SIF 3.0 Environments, Zones & Contexts Environments, Zones, Contexts and their Relationship Joerg Huber.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
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.
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.
NMD202 Web Scripting Week2. Web site
© 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.
Clinical Data Exchange using HL7 and Mirth Connect Lecture 8 - HTTP Connectors - Web Service Connectors - JMS Connectors Siv Raman, MD, MS.
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.
Topics introduced today (these topics would be covered in more detail in later classes) – Primitive Data types Variables Methods “for” loop “if-else” statement.
ATS Application Programming: Java Programming
Tiny http client and server
WWU Hackathon May 6 & 7.
What’s new in the SIF3 World?
z/Ware 2.0 Technical Overview
Node.js Express Web Services
AJAX and REST.
SIF 3.0 Concepts Workshop Idea13 Joerg Huber.
VistA on Doug Martin, MD.
Function Test Framework
Testing REST IPA using POSTMAN
WEB API.
SIF 3.x Concepts & Terms, xPress & RicOne API
SIF3: First Consumer - Java
Service Paths & Query By Example (QBE): Query Mechanism
SIF3: Provider Exercise - Java
SIF 3.0 Concepts SIF 3.x Concepts & Terms Joerg Huber.
WCF Data Services and Silverlight
.NET Framework V3.5+ & RESTful web services
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 September 18

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 September 18

Base URL Format & Components Example: Get Students at School <baseURL>/xSchools/<refId>/xStudents Association Object RefId of the School Object to be returned Query Condition: ‘where SchoolRefId = <refid>’ Training Course SIF3: Service Paths September 18

Other URL Components etc. Service Paths support all standard URL components of any Object Service: Can be ‘nested’ …/xSchools/<refId>/xStudents/<refId>/xDailyAttendances 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 September 18

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 September 18

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

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: <xStudent> <name> <type>LegalName</type> <familyName>Jones</familyName> </xStudent> => Give me all students with legal family name of Jones. Training Course SIF3: Service Paths September 18

What is Query By Example cont. Payload and Query Condition Interpretation: Each element in the payload forms a specific query condition. The conjunction between the conditions is 'AND‘. Comparator for all types except strings is EQUAL. Strings have a LIKE with the only supported wildcard of '%': 'ABC': No wildcards in the value is equivalent to an 'EQUAL'. '%ABC': Wildcard at the start of the value means 'ENDS IN'. In this case anything that ENDS IN 'ABC'. 'ABC%': Wildcard at the end of the value means 'STARTS WITH'. In this case anything that STARTS WITH 'ABC'. '%ABC%': Wildcard at the start and end of the value means 'CONTAINS'. In this case anything that CONTAINS 'ABC'. 'AB%C': Wildcard anywhere in the value means 'STARTS WITH' and 'ENDS IN'. In this case anything that STARTS WITH 'AB' followed by any number of characters and ENDS IN 'C' Training Course SIF3: Service Paths September 18

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 September 18

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 September 18

Exercise 6: Service Path Question Time… Questions? Exercise 6: Service Path (Consumer & Provider) Training Course SIF3: Service Paths September 18