SlideShare a Scribd company logo
sysco.no
REST – Why, When and How? Jon Petter Hjulstad
+ Arturo & Jorge
AMIS 25 – Beyond the Horizon
sysco.no
Overview
• About Speaker / Sysco
• Why REST ?
• REST ADLs – who is the winner ?
• A Norwegian sample
• REST Support is in SOA Suite / OSB
• REST Support in Oracle PaaS
• Q&A
sysco.no
Information about me
• Jon Petter Hjulstad
• Dept Manager for Middleware at Sysco
• 20 years experience with Oracle Products
• Focusing on WLS, SOA Suite, BPM Suite ++
• SOA Partner Community Award 2012
• WLS Partner Community Award 2015
• Oracle ACE Associate
• Twitter: jphjulstad
• Blog: http://blog.sysco.no/
• Sysco is now part of Red Expert Alliance
Info
sysco.no
Company Facts
• Established in 2004
• More than 100 employees
• 9 Office Locations
• Bergen, Haugesund, Lima, Oslo, Stavanger, Stord, Ølen, Copenhagen, Stockholm
• 162 mNOK revenue in 2015
• Industry focus on Utilities, experts on Oracle technology
About SYSCO
2009-2014
sysco.no
We deliver the Red-Stack
- Engineered systems
- Exadata, Exalogic, ODA, BDA, PCA
- Business Intelligence
- Analytics
- Visualizer
- Big data
- Database
- Oracle VM
- Integration, SOA
- Identity Management IDM
- Cloud
- Application Foundation
- Application Builder
- MCS
- DBaaS
- Licenses LMA
- Customer Experience CX
Oracle Center of Excellence
sysco.no
Why REST?
sysco.no
Why REST?
• Why would anyone choose SOAP (Simple Object Access Protocol)
instead of REST ?
• The general rule of thumb: ‘Unless you have a definitive reason to
use SOAP use REST’.
• REST-JSON vs REST-XML
• JSON: Simple syntax, less
“markup”
• XML: More complex, mature,
Schema, XSLT,
Xquery, Namespaces etc.
sysco.no
REST vs SOAP
• Why REST?
– REST uses standard HTTP
– so it is much simpler
– REST permits many different
data formats - SOAP only
permits XML
– REST has better
performance and scalability
– Smaller messages – less
overhead
– Mobile developers know
REST
• Why SOAP?
– Wider support for
transaction support
– Better support for
transaction support/security
- WS-Security, WS-
AtomicTransaction, WS-
ReliableMessaging
– More robust error handling
– Your developer tools may
not support REST yet
sysco.no
REST vs SOAP for Mobile Applications
• A-Team has done a comparison – look at http://www.ateam-
oracle.com/performance-study-rest-vs-soap-for-mobile-applications/
• REST-JSON is 9 to 30 times faster than SOAP in mobile
applications
sysco.no
REST APIs
• Beginning – Lack of standards
• Now - Broad set of standards
• Would be good if all REST services have a definition, but this is not
always the case
– And there in not one de facto standard
sysco.no
Goals of Metadata APIs
• Common goal of current metadata formats for REST APIs is to
specify (*):
– Entry point(s)
– Resource paths
– Methods to access these resources (GET, POST, PUT, etc.…)
– Parameters that need to be supplied with these methods (Query,
Template, HTTP Header, etc.)
– Formats of inbound / outbound messages/representations (JSON
Schema, XML Schema, Relax NG, etc.)
– Status codes and error/fault messages
– Documentary information (descriptions, etc.) for all these
– Example data *) http://apiux.com/2013/04/09/rest-metadata-formats/
sysco.no
Overview of RESTful API Description Languages (ADL)
• Web Services Description Language 2.0 (WSDL)
• Web Application Description Language (WADL)
• Open Data Protocol (OData)
• Swagger – OpenAPI
• RESTful Service Description Language (RSDL)
• RESTful API Modeling Language (RAML)
• API Blueprint
• Apache Avro
sysco.no
Oracle Product support for REST APIs
From Luis Weir: http://www.soa4u.co.uk/2016/05/converting-adls-to-implement-end-to-end.html
sysco.no
WADL
• WADL (Web Application Definition Language)
• WADL is used in SOA Suite / OSB and Process Cloud Service
• XML Description
• Submitted to WWC by Sun 2009 – but no plan to standardize
• The older of the mentioned standards
• Not much used
sysco.no
Swagger
• SmartBear supported
• Broad adoption
• Swagger improved in many
ways on WADL
• Great tooling
• Limited support of JSON
Schema, no support of XML schemas
sysco.no
RESTful API Modeling Language (RAML)
sysco.no
RAML Technology Primer
• https://www.youtube.com/watch?v=tGcfv7HsAnE
• By Chris Muir – «I like RAML!!»
sysco.no
RAML
• RAML 1.0 is available since may 16th, 2016
• 0.8 is the version you normally will see supported
• Aimed at full lifecycle of API
• Focused on reuse
– Resource Types
– Traits
• Documentation
• Test data (samples)
• Detailed Specification
• I think also RAML is my favorite
sysco.no
RAML 1.0
• Data types: a unified, streamlined, and powerful way to model data wherever it
appears in an API.
– Uniformly covers bodies, URI parameters, headers, and query parameters and eliminates the
need for a separate formParameters construct
– Supports wrapping XML Schema and JSON Schema and even referring to sub-schemas, but
in many cases just obviates the schemas
– Simplifies coding, compared to the JSON Schema or XML Schema, by being YAML-based
• Multiple Examples: expressible in YAML, and annotatable so that semantics can be
injected
• Annotations: a tried-and-tested, strongly-typed mechanism for extensibility
• Libraries: improved modularity for broad reuse of API artifacts
• Overlays and Extensions: increased extensibility through separated files
• Improved Security Schemes:
– Wider OAuth support
– Support for pass-through (key-based) security schemes
– Support for signatures
From spec: https://github.com/raml-org/raml-spec/releases/tag/1.0
sysco.no
Comparison I
• http://www.slideshare.net/SmartBear_Software/api-strat-
2014metadataformatsshort
sysco.no
Comparison II
• http://forums.raml.org/t/how-is-this-different-from-swagger/24/8
sysco.no
Comparison III
• http://www.mikestowe.com/blog/2014/07/raml-vs-swagger-vs-api-
blueprint.php
sysco.no
API-Transformer
• Transform API Descriptions from/to various
formats - Developed by APIMATIC – Online tool
sysco.no
API-Transformer
• Is also an API
sysco.no
Transformation
• What will you loose going from one ADL to another ?
• A detailed comparison would be useful
• Normally would have to make one file «flatten» to be able to
transform
sysco.no
A Norwegian Sample
sysco.no
Norwegian datasets
• http://hotell.difi.no/
• Want to look at
municipalities
• http://hotell.difi.no/api/json/difi/geo/kommune
sysco.no
Norwegian datasets
• http://hotell.difi.no/api/xml/difi/geo/kommune
• Can use pagination:
add ?page=2 to URL to see next page
• Can search/filter:
– /api/json/difi/geo/kommune?query=levanger
– /api/json/difi/geo/kommune?fylke=05
• Can get metadata
– /api/json/difi/geo/kommune/fields
sysco.no
REST - properties
• URI format -
[protocol]/[server]:[port]/[servicename]/[resource]/{resource id}
• Parmameters
– As part of URI
– As body
– As a query parameter
– As a request header
• Verbs
– GET, PUT, POST, DELETE, OPTIONS, HEAD
sysco.no
REST - operations
Verb Operations performed on server Impact
GET Read a resource No impact (change) on resource
PUT Insert a new resource or update if it already exists Idempotent
POST Insert a new resource or update if it already exists Non idempotent
DELETE Delete a resource Idempotent
OPTIONS List the allowed operations on a resource No impact (change) on resource
HEAD Return only response headers and no response body No impact (change) on resource
Safe = no impact on the resource
Idempotent = the same result, no matter how often you call it
PUT: only creates a resource if you provide all the values including the ID (requires a complete URI)
POST: create a new resource every time it is called, or update the resource if it already exists
From: Lonneke Dikmans presentation at UKTech15
sysco.no
REST Support in SOA Suite / OSB
sysco.no
REST - support
• Before 12.1.3 REST support had to be done by hand in OSB
– Or in Spring Adapter or Socket Adapter (have seen blogs)
• SOA Suite 12.1.3/12.2.1 supports WADL
• SOA Suite 12.1.3 added REST adapter – inbound and outbound
• SOA Suite 12.2.1 supports End-To-End JSON with JavaScript
• Mobile Cloud Service (MCS) supports RAML
– Use Node.js to implement
• This presentation will show use of the REST adapter (reference)
sysco.no
Outbound - The 3 choices we have
1. Utilizing an existing WADL
2. Creating a WADL from a different ADL description
3. Creating an WADL using the Wizard in Jdeveloper
All services should be modeled in an ADL
Resource Paths
Operations
Parameters
Request / Response
sysco.no
Inbound - The 2+1 choices we have
1. Utilizing an existing WADL
2. Creating an WADL using the Wizard in Jdeveloper
Given that you have to make service description available as WADL
3. Make API available in different ADL by manually adding that – or
make it part of pipeline
sysco.no
REST Binding
sysco.no
REST Binding
sysco.no
WADL
• The application element forms the root of a WADL description and
contains the following (XML):
– Zero or more doc elements
– An optional grammars element
– Zero or more resources elements
– Zero or more of the following:
• resource_type elements
• method elements
• representation elements
• param elements
https://en.wikipedia.org/wiki/Web_Application_Description_Language
sysco.no
Sample WADL for our JSON Reference
sysco.no
Sample JSON Reference
sysco.no
Sample XML Reference
sysco.no
Use Cases
• SOAP Service – Expose as REST
– Common case for Mobile Apps
• REST Service – Expose as SOAP
– SOAP enabling for «old-school»
• Technology Adapter – Expose as REST
– Database Tables, Procedures
– LDAP
– Socket
• Composite REST Service
– Bottom-up designed service
sysco.no
SOA Suite 12.2.1 end-to-end JSON
• Performance
• Reuse JavaScript Competence
• Some things will be easier to implement
• Can mix JSON / SOAP
sysco.no
REST Support in Oracle PaaS
sysco.no
Too many facets?
• Mobile Cloud Service -> RAML
• API Platform -> Swagger / Blueprint
• SOA CS -> WADL
It is good to have support for many standards but also some
consistency is much needed when it comes to API / REST design
sysco.no
REST Support in Java EE
sysco.no
Java EE/RAML Integration
• Bottom/Up approach
– Turning your JAX-RS annotations into RAML specifications.
– Reusing Swagger annotations to document REST services
• Top/Down approach
– Turning your RAML specifications into JAX-RS interfaces
– «Contract-first»
sysco.no
Java EE/RAML Sample
sysco.no
Java EE/RAML Sample
sysco.no
Java EE/RAML Sample
sysco.no
Q & A
sysco.no
Enjoy the AMIS conference!
SYSCO 2016
Ad

More Related Content

What's hot (20)

No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
Jérôme Françoisse
 
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Lucas Jellema
 
Handson Oracle Management Cloud with Application Performance Monitoring and L...
Handson Oracle Management Cloud with Application Performance Monitoring and L...Handson Oracle Management Cloud with Application Performance Monitoring and L...
Handson Oracle Management Cloud with Application Performance Monitoring and L...
Lucas Jellema
 
2019 - OOW - Database Migration Methods from On-Premise to Cloud
2019 - OOW - Database Migration Methods from On-Premise to Cloud2019 - OOW - Database Migration Methods from On-Premise to Cloud
2019 - OOW - Database Migration Methods from On-Premise to Cloud
Marcus Vinicius Miguel Pedro
 
Exploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscapeExploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscape
Alex Thissen
 
6Reinventing Oracle Systems in a Cloudy World (Sangam20, December 2020)
6Reinventing Oracle Systems in a Cloudy World (Sangam20, December 2020)6Reinventing Oracle Systems in a Cloudy World (Sangam20, December 2020)
6Reinventing Oracle Systems in a Cloudy World (Sangam20, December 2020)
Lucas Jellema
 
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
Getting value from IoT, Integration and Data Analytics
 
Review Oracle OpenWorld 2015 - Overview, Main themes, Announcements and Future
Review Oracle OpenWorld 2015 - Overview, Main themes, Announcements and FutureReview Oracle OpenWorld 2015 - Overview, Main themes, Announcements and Future
Review Oracle OpenWorld 2015 - Overview, Main themes, Announcements and Future
Lucas Jellema
 
AMIS Oracle OpenWorld 2015 Review – part 2- Hardware & IaaS and PaaS Cloud Fo...
AMIS Oracle OpenWorld 2015 Review – part 2- Hardware & IaaS and PaaS Cloud Fo...AMIS Oracle OpenWorld 2015 Review – part 2- Hardware & IaaS and PaaS Cloud Fo...
AMIS Oracle OpenWorld 2015 Review – part 2- Hardware & IaaS and PaaS Cloud Fo...
Getting value from IoT, Integration and Data Analytics
 
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...
Lucas Jellema
 
Oracle Enterprise Manager 12c: updates and upgrades.
Oracle Enterprise Manager 12c: updates and upgrades.Oracle Enterprise Manager 12c: updates and upgrades.
Oracle Enterprise Manager 12c: updates and upgrades.
Rolta
 
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
Getting value from IoT, Integration and Data Analytics
 
Oow2016 review--paas-microservices-
Oow2016 review--paas-microservices-Oow2016 review--paas-microservices-
Oow2016 review--paas-microservices-
Getting value from IoT, Integration and Data Analytics
 
oracle openworld review UX presentation 2016
oracle openworld review UX presentation 2016oracle openworld review UX presentation 2016
oracle openworld review UX presentation 2016
Getting value from IoT, Integration and Data Analytics
 
Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...
Lucas Jellema
 
Oow2016 review-13th october 2016
Oow2016 review-13th october 2016Oow2016 review-13th october 2016
Oow2016 review-13th october 2016
Getting value from IoT, Integration and Data Analytics
 
The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...
The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...
The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...
Lucas Jellema
 
Introduction to Node (15th May 2017)
Introduction to Node (15th May 2017)Introduction to Node (15th May 2017)
Introduction to Node (15th May 2017)
Lucas Jellema
 
Getting Started, Low Hanging Fruit: Our First Experiences with Oracle Managem...
Getting Started, Low Hanging Fruit: Our First Experiences with Oracle Managem...Getting Started, Low Hanging Fruit: Our First Experiences with Oracle Managem...
Getting Started, Low Hanging Fruit: Our First Experiences with Oracle Managem...
Lucas Jellema
 
Oracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy featuresOracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy features
Michel Schildmeijer
 
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
Jérôme Françoisse
 
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Lucas Jellema
 
Handson Oracle Management Cloud with Application Performance Monitoring and L...
Handson Oracle Management Cloud with Application Performance Monitoring and L...Handson Oracle Management Cloud with Application Performance Monitoring and L...
Handson Oracle Management Cloud with Application Performance Monitoring and L...
Lucas Jellema
 
2019 - OOW - Database Migration Methods from On-Premise to Cloud
2019 - OOW - Database Migration Methods from On-Premise to Cloud2019 - OOW - Database Migration Methods from On-Premise to Cloud
2019 - OOW - Database Migration Methods from On-Premise to Cloud
Marcus Vinicius Miguel Pedro
 
Exploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscapeExploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscape
Alex Thissen
 
6Reinventing Oracle Systems in a Cloudy World (Sangam20, December 2020)
6Reinventing Oracle Systems in a Cloudy World (Sangam20, December 2020)6Reinventing Oracle Systems in a Cloudy World (Sangam20, December 2020)
6Reinventing Oracle Systems in a Cloudy World (Sangam20, December 2020)
Lucas Jellema
 
Review Oracle OpenWorld 2015 - Overview, Main themes, Announcements and Future
Review Oracle OpenWorld 2015 - Overview, Main themes, Announcements and FutureReview Oracle OpenWorld 2015 - Overview, Main themes, Announcements and Future
Review Oracle OpenWorld 2015 - Overview, Main themes, Announcements and Future
Lucas Jellema
 
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...
Lucas Jellema
 
Oracle Enterprise Manager 12c: updates and upgrades.
Oracle Enterprise Manager 12c: updates and upgrades.Oracle Enterprise Manager 12c: updates and upgrades.
Oracle Enterprise Manager 12c: updates and upgrades.
Rolta
 
Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...
Lucas Jellema
 
The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...
The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...
The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...
Lucas Jellema
 
Introduction to Node (15th May 2017)
Introduction to Node (15th May 2017)Introduction to Node (15th May 2017)
Introduction to Node (15th May 2017)
Lucas Jellema
 
Getting Started, Low Hanging Fruit: Our First Experiences with Oracle Managem...
Getting Started, Low Hanging Fruit: Our First Experiences with Oracle Managem...Getting Started, Low Hanging Fruit: Our First Experiences with Oracle Managem...
Getting Started, Low Hanging Fruit: Our First Experiences with Oracle Managem...
Lucas Jellema
 
Oracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy featuresOracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy features
Michel Schildmeijer
 

Viewers also liked (20)

Dez1
Dez1Dez1
Dez1
Adesa Asaldo
 
Sergio
SergioSergio
Sergio
falabyu
 
The power to save the world
The power to save the worldThe power to save the world
The power to save the world
Angelique Lusuan
 
Products
ProductsProducts
Products
htrdano
 
Keep your heart in the right place
Keep your heart in the right placeKeep your heart in the right place
Keep your heart in the right place
Vinod Sailes
 
People around us
People around usPeople around us
People around us
Vinod Sailes
 
Conceptos básicos de historia no completo
Conceptos básicos de historia no completoConceptos básicos de historia no completo
Conceptos básicos de historia no completo
aranferpra
 
Dez1
Dez1Dez1
Dez1
Adesa Asaldo
 
Proposed Bus Stop
Proposed Bus StopProposed Bus Stop
Proposed Bus Stop
Samuel Stafford
 
Proposal HunianOnline
Proposal HunianOnlineProposal HunianOnline
Proposal HunianOnline
vcreativemedia
 
Golden opportunity to invest
Golden opportunity to investGolden opportunity to invest
Golden opportunity to invest
Fausto Cuzco
 
RTC Migration for EM Services Offerings from Rational Lab Services
RTC Migration for EM Services Offerings from Rational Lab Services RTC Migration for EM Services Offerings from Rational Lab Services
RTC Migration for EM Services Offerings from Rational Lab Services
IBM Rational software
 
How to Build Your Brand with UC
How to Build Your Brand with UCHow to Build Your Brand with UC
How to Build Your Brand with UC
Digium
 
Agency1 full keynote_22_07_13
Agency1 full keynote_22_07_13Agency1 full keynote_22_07_13
Agency1 full keynote_22_07_13
Sergey Vorobyov
 
Doc va viet thu bang tieng anh
Doc va viet thu bang tieng anhDoc va viet thu bang tieng anh
Doc va viet thu bang tieng anh
Tran Oanh
 
бібліотека +читач
бібліотека +читачбібліотека +читач
бібліотека +читач
Марина Жук
 
Scifood lecture
Scifood lectureScifood lecture
Scifood lecture
Central European University Sustainable Campus Initiative
 
Automatic Configuration Management for Kamailio and Asterisk in the era of Pu...
Automatic Configuration Management for Kamailio and Asterisk in the era of Pu...Automatic Configuration Management for Kamailio and Asterisk in the era of Pu...
Automatic Configuration Management for Kamailio and Asterisk in the era of Pu...
Digium
 
NapoleonCat.com - InternetBeta2013
NapoleonCat.com - InternetBeta2013NapoleonCat.com - InternetBeta2013
NapoleonCat.com - InternetBeta2013
NapoleonCat.com
 
Evaluation
EvaluationEvaluation
Evaluation
Stunnah
 
The power to save the world
The power to save the worldThe power to save the world
The power to save the world
Angelique Lusuan
 
Products
ProductsProducts
Products
htrdano
 
Keep your heart in the right place
Keep your heart in the right placeKeep your heart in the right place
Keep your heart in the right place
Vinod Sailes
 
Conceptos básicos de historia no completo
Conceptos básicos de historia no completoConceptos básicos de historia no completo
Conceptos básicos de historia no completo
aranferpra
 
Golden opportunity to invest
Golden opportunity to investGolden opportunity to invest
Golden opportunity to invest
Fausto Cuzco
 
RTC Migration for EM Services Offerings from Rational Lab Services
RTC Migration for EM Services Offerings from Rational Lab Services RTC Migration for EM Services Offerings from Rational Lab Services
RTC Migration for EM Services Offerings from Rational Lab Services
IBM Rational software
 
How to Build Your Brand with UC
How to Build Your Brand with UCHow to Build Your Brand with UC
How to Build Your Brand with UC
Digium
 
Agency1 full keynote_22_07_13
Agency1 full keynote_22_07_13Agency1 full keynote_22_07_13
Agency1 full keynote_22_07_13
Sergey Vorobyov
 
Doc va viet thu bang tieng anh
Doc va viet thu bang tieng anhDoc va viet thu bang tieng anh
Doc va viet thu bang tieng anh
Tran Oanh
 
бібліотека +читач
бібліотека +читачбібліотека +читач
бібліотека +читач
Марина Жук
 
Automatic Configuration Management for Kamailio and Asterisk in the era of Pu...
Automatic Configuration Management for Kamailio and Asterisk in the era of Pu...Automatic Configuration Management for Kamailio and Asterisk in the era of Pu...
Automatic Configuration Management for Kamailio and Asterisk in the era of Pu...
Digium
 
NapoleonCat.com - InternetBeta2013
NapoleonCat.com - InternetBeta2013NapoleonCat.com - InternetBeta2013
NapoleonCat.com - InternetBeta2013
NapoleonCat.com
 
Evaluation
EvaluationEvaluation
Evaluation
Stunnah
 
Ad

Similar to REST - Why, When and How? at AMIS25 (20)

OUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteOUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA Suite
Jon Petter Hjulstad
 
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Getting value from IoT, Integration and Data Analytics
 
WSO2 ESB Integration with REST
WSO2 ESB Integration with RESTWSO2 ESB Integration with REST
WSO2 ESB Integration with REST
WSO2
 
Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EI
WSO2
 
SharePoint 2013 - What's New
SharePoint 2013 - What's NewSharePoint 2013 - What's New
SharePoint 2013 - What's New
AdventosConsulting
 
Soap UI - Getting started
Soap UI - Getting startedSoap UI - Getting started
Soap UI - Getting started
Qualitest
 
Introduction to SoapUI day 1
Introduction to SoapUI day 1Introduction to SoapUI day 1
Introduction to SoapUI day 1
Qualitest
 
Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise NetworksUsing Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
DataWorks Summit
 
REST API Recommendations
REST API RecommendationsREST API Recommendations
REST API Recommendations
Jeelani Shaik
 
From Lucene to Solr 4 Trunk
From Lucene to Solr 4 TrunkFrom Lucene to Solr 4 Trunk
From Lucene to Solr 4 Trunk
tdthomassld
 
FOSDEM19 MySQL Component Infrastructure
FOSDEM19 MySQL Component InfrastructureFOSDEM19 MySQL Component Infrastructure
FOSDEM19 MySQL Component Infrastructure
Georgi Kodinov
 
Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB
WSO2
 
Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise NetworksUsing Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
MapR Technologies
 
Hia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economyHia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economy
Andrew Coleman
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies
BIOVIA
 
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward
 
Automating Enterprise Application Deployments with PowerShell
Automating Enterprise Application Deployments with PowerShellAutomating Enterprise Application Deployments with PowerShell
Automating Enterprise Application Deployments with PowerShell
Geoff Varosky
 
Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7 Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7
WSO2
 
Course 1 service oriented architecture.pdf
Course 1 service oriented architecture.pdfCourse 1 service oriented architecture.pdf
Course 1 service oriented architecture.pdf
mohamedwalid38
 
APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?
Akana
 
OUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteOUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA Suite
Jon Petter Hjulstad
 
WSO2 ESB Integration with REST
WSO2 ESB Integration with RESTWSO2 ESB Integration with REST
WSO2 ESB Integration with REST
WSO2
 
Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EI
WSO2
 
Soap UI - Getting started
Soap UI - Getting startedSoap UI - Getting started
Soap UI - Getting started
Qualitest
 
Introduction to SoapUI day 1
Introduction to SoapUI day 1Introduction to SoapUI day 1
Introduction to SoapUI day 1
Qualitest
 
Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise NetworksUsing Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
DataWorks Summit
 
REST API Recommendations
REST API RecommendationsREST API Recommendations
REST API Recommendations
Jeelani Shaik
 
From Lucene to Solr 4 Trunk
From Lucene to Solr 4 TrunkFrom Lucene to Solr 4 Trunk
From Lucene to Solr 4 Trunk
tdthomassld
 
FOSDEM19 MySQL Component Infrastructure
FOSDEM19 MySQL Component InfrastructureFOSDEM19 MySQL Component Infrastructure
FOSDEM19 MySQL Component Infrastructure
Georgi Kodinov
 
Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB
WSO2
 
Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise NetworksUsing Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
MapR Technologies
 
Hia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economyHia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economy
Andrew Coleman
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies
BIOVIA
 
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward
 
Automating Enterprise Application Deployments with PowerShell
Automating Enterprise Application Deployments with PowerShellAutomating Enterprise Application Deployments with PowerShell
Automating Enterprise Application Deployments with PowerShell
Geoff Varosky
 
Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7 Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7
WSO2
 
Course 1 service oriented architecture.pdf
Course 1 service oriented architecture.pdfCourse 1 service oriented architecture.pdf
Course 1 service oriented architecture.pdf
mohamedwalid38
 
APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?
Akana
 
Ad

More from Jon Petter Hjulstad (11)

OUGN 2018 - Chatbot and the need to integrate
OUGN 2018 - Chatbot and the need to integrateOUGN 2018 - Chatbot and the need to integrate
OUGN 2018 - Chatbot and the need to integrate
Jon Petter Hjulstad
 
Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17
Jon Petter Hjulstad
 
SOA 12c upgrade OGh-Tech-2017
SOA 12c upgrade OGh-Tech-2017SOA 12c upgrade OGh-Tech-2017
SOA 12c upgrade OGh-Tech-2017
Jon Petter Hjulstad
 
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?
Jon Petter Hjulstad
 
Ougn15 acm
Ougn15 acmOugn15 acm
Ougn15 acm
Jon Petter Hjulstad
 
Booting Weblogic - OOW14
Booting Weblogic - OOW14Booting Weblogic - OOW14
Booting Weblogic - OOW14
Jon Petter Hjulstad
 
Presentation BPM Methodology and Pitfalls
Presentation BPM Methodology and PitfallsPresentation BPM Methodology and Pitfalls
Presentation BPM Methodology and Pitfalls
Jon Petter Hjulstad
 
Configuration / Patching of EM 12c
Configuration / Patching of EM 12cConfiguration / Patching of EM 12c
Configuration / Patching of EM 12c
Jon Petter Hjulstad
 
Installation of EM 12c
Installation of EM 12cInstallation of EM 12c
Installation of EM 12c
Jon Petter Hjulstad
 
SOA Suite Administration from OUGN 2014
SOA Suite Administration from OUGN 2014SOA Suite Administration from OUGN 2014
SOA Suite Administration from OUGN 2014
Jon Petter Hjulstad
 
Weblogic 12c experiences - migrations from iAS-platform
Weblogic 12c experiences - migrations from iAS-platformWeblogic 12c experiences - migrations from iAS-platform
Weblogic 12c experiences - migrations from iAS-platform
Jon Petter Hjulstad
 
OUGN 2018 - Chatbot and the need to integrate
OUGN 2018 - Chatbot and the need to integrateOUGN 2018 - Chatbot and the need to integrate
OUGN 2018 - Chatbot and the need to integrate
Jon Petter Hjulstad
 
Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17
Jon Petter Hjulstad
 
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?
Jon Petter Hjulstad
 
Presentation BPM Methodology and Pitfalls
Presentation BPM Methodology and PitfallsPresentation BPM Methodology and Pitfalls
Presentation BPM Methodology and Pitfalls
Jon Petter Hjulstad
 
Configuration / Patching of EM 12c
Configuration / Patching of EM 12cConfiguration / Patching of EM 12c
Configuration / Patching of EM 12c
Jon Petter Hjulstad
 
SOA Suite Administration from OUGN 2014
SOA Suite Administration from OUGN 2014SOA Suite Administration from OUGN 2014
SOA Suite Administration from OUGN 2014
Jon Petter Hjulstad
 
Weblogic 12c experiences - migrations from iAS-platform
Weblogic 12c experiences - migrations from iAS-platformWeblogic 12c experiences - migrations from iAS-platform
Weblogic 12c experiences - migrations from iAS-platform
Jon Petter Hjulstad
 

Recently uploaded (20)

Defense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptxDefense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptx
Greg Makowski
 
03 Daniel 2-notes.ppt seminario escatologia
03 Daniel 2-notes.ppt seminario escatologia03 Daniel 2-notes.ppt seminario escatologia
03 Daniel 2-notes.ppt seminario escatologia
Alexander Romero Arosquipa
 
Calories_Prediction_using_Linear_Regression.pptx
Calories_Prediction_using_Linear_Regression.pptxCalories_Prediction_using_Linear_Regression.pptx
Calories_Prediction_using_Linear_Regression.pptx
TijiLMAHESHWARI
 
brainstorming-techniques-infographics.pptx
brainstorming-techniques-infographics.pptxbrainstorming-techniques-infographics.pptx
brainstorming-techniques-infographics.pptx
maritzacastro321
 
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbbEDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
JessaMaeEvangelista2
 
IAS-slides2-ia-aaaaaaaaaaain-business.pdf
IAS-slides2-ia-aaaaaaaaaaain-business.pdfIAS-slides2-ia-aaaaaaaaaaain-business.pdf
IAS-slides2-ia-aaaaaaaaaaain-business.pdf
mcgardenlevi9
 
Data Science Courses in India iim skills
Data Science Courses in India iim skillsData Science Courses in India iim skills
Data Science Courses in India iim skills
dharnathakur29
 
Secure_File_Storage_Hybrid_Cryptography.pptx..
Secure_File_Storage_Hybrid_Cryptography.pptx..Secure_File_Storage_Hybrid_Cryptography.pptx..
Secure_File_Storage_Hybrid_Cryptography.pptx..
yuvarajreddy2002
 
Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...
Pixellion
 
Geometry maths presentation for begginers
Geometry maths presentation for begginersGeometry maths presentation for begginers
Geometry maths presentation for begginers
zrjacob283
 
Call illuminati Agent in uganda+256776963507/0741506136
Call illuminati Agent in uganda+256776963507/0741506136Call illuminati Agent in uganda+256776963507/0741506136
Call illuminati Agent in uganda+256776963507/0741506136
illuminati Agent uganda call+256776963507/0741506136
 
computer organization and assembly language.docx
computer organization and assembly language.docxcomputer organization and assembly language.docx
computer organization and assembly language.docx
alisoftwareengineer1
 
AI Competitor Analysis: How to Monitor and Outperform Your Competitors
AI Competitor Analysis: How to Monitor and Outperform Your CompetitorsAI Competitor Analysis: How to Monitor and Outperform Your Competitors
AI Competitor Analysis: How to Monitor and Outperform Your Competitors
Contify
 
Introcomputerscienceand datascience.pptx
Introcomputerscienceand datascience.pptxIntrocomputerscienceand datascience.pptx
Introcomputerscienceand datascience.pptx
abdulrehmanbscsf22
 
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptxPerencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
PareaRusan
 
Day 1 - Lab 1 Reconnaissance Scanning with NMAP, Vulnerability Assessment wit...
Day 1 - Lab 1 Reconnaissance Scanning with NMAP, Vulnerability Assessment wit...Day 1 - Lab 1 Reconnaissance Scanning with NMAP, Vulnerability Assessment wit...
Day 1 - Lab 1 Reconnaissance Scanning with NMAP, Vulnerability Assessment wit...
Abodahab
 
AllContacts Vs AllSubscribers - SFMC.pptx
AllContacts Vs AllSubscribers - SFMC.pptxAllContacts Vs AllSubscribers - SFMC.pptx
AllContacts Vs AllSubscribers - SFMC.pptx
bpkr84
 
Conic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptxConic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptx
taiwanesechetan
 
How to join illuminati Agent in uganda call+256776963507/0741506136
How to join illuminati Agent in uganda call+256776963507/0741506136How to join illuminati Agent in uganda call+256776963507/0741506136
How to join illuminati Agent in uganda call+256776963507/0741506136
illuminati Agent uganda call+256776963507/0741506136
 
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
James Francis Paradigm Asset Management
 
Defense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptxDefense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptx
Greg Makowski
 
Calories_Prediction_using_Linear_Regression.pptx
Calories_Prediction_using_Linear_Regression.pptxCalories_Prediction_using_Linear_Regression.pptx
Calories_Prediction_using_Linear_Regression.pptx
TijiLMAHESHWARI
 
brainstorming-techniques-infographics.pptx
brainstorming-techniques-infographics.pptxbrainstorming-techniques-infographics.pptx
brainstorming-techniques-infographics.pptx
maritzacastro321
 
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbbEDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
JessaMaeEvangelista2
 
IAS-slides2-ia-aaaaaaaaaaain-business.pdf
IAS-slides2-ia-aaaaaaaaaaain-business.pdfIAS-slides2-ia-aaaaaaaaaaain-business.pdf
IAS-slides2-ia-aaaaaaaaaaain-business.pdf
mcgardenlevi9
 
Data Science Courses in India iim skills
Data Science Courses in India iim skillsData Science Courses in India iim skills
Data Science Courses in India iim skills
dharnathakur29
 
Secure_File_Storage_Hybrid_Cryptography.pptx..
Secure_File_Storage_Hybrid_Cryptography.pptx..Secure_File_Storage_Hybrid_Cryptography.pptx..
Secure_File_Storage_Hybrid_Cryptography.pptx..
yuvarajreddy2002
 
Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...
Pixellion
 
Geometry maths presentation for begginers
Geometry maths presentation for begginersGeometry maths presentation for begginers
Geometry maths presentation for begginers
zrjacob283
 
computer organization and assembly language.docx
computer organization and assembly language.docxcomputer organization and assembly language.docx
computer organization and assembly language.docx
alisoftwareengineer1
 
AI Competitor Analysis: How to Monitor and Outperform Your Competitors
AI Competitor Analysis: How to Monitor and Outperform Your CompetitorsAI Competitor Analysis: How to Monitor and Outperform Your Competitors
AI Competitor Analysis: How to Monitor and Outperform Your Competitors
Contify
 
Introcomputerscienceand datascience.pptx
Introcomputerscienceand datascience.pptxIntrocomputerscienceand datascience.pptx
Introcomputerscienceand datascience.pptx
abdulrehmanbscsf22
 
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptxPerencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
PareaRusan
 
Day 1 - Lab 1 Reconnaissance Scanning with NMAP, Vulnerability Assessment wit...
Day 1 - Lab 1 Reconnaissance Scanning with NMAP, Vulnerability Assessment wit...Day 1 - Lab 1 Reconnaissance Scanning with NMAP, Vulnerability Assessment wit...
Day 1 - Lab 1 Reconnaissance Scanning with NMAP, Vulnerability Assessment wit...
Abodahab
 
AllContacts Vs AllSubscribers - SFMC.pptx
AllContacts Vs AllSubscribers - SFMC.pptxAllContacts Vs AllSubscribers - SFMC.pptx
AllContacts Vs AllSubscribers - SFMC.pptx
bpkr84
 
Conic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptxConic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptx
taiwanesechetan
 
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
James Francis Paradigm Asset Management
 

REST - Why, When and How? at AMIS25

  • 1. sysco.no REST – Why, When and How? Jon Petter Hjulstad + Arturo & Jorge AMIS 25 – Beyond the Horizon
  • 2. sysco.no Overview • About Speaker / Sysco • Why REST ? • REST ADLs – who is the winner ? • A Norwegian sample • REST Support is in SOA Suite / OSB • REST Support in Oracle PaaS • Q&A
  • 3. sysco.no Information about me • Jon Petter Hjulstad • Dept Manager for Middleware at Sysco • 20 years experience with Oracle Products • Focusing on WLS, SOA Suite, BPM Suite ++ • SOA Partner Community Award 2012 • WLS Partner Community Award 2015 • Oracle ACE Associate • Twitter: jphjulstad • Blog: http://blog.sysco.no/ • Sysco is now part of Red Expert Alliance Info
  • 4. sysco.no Company Facts • Established in 2004 • More than 100 employees • 9 Office Locations • Bergen, Haugesund, Lima, Oslo, Stavanger, Stord, Ølen, Copenhagen, Stockholm • 162 mNOK revenue in 2015 • Industry focus on Utilities, experts on Oracle technology About SYSCO 2009-2014
  • 5. sysco.no We deliver the Red-Stack - Engineered systems - Exadata, Exalogic, ODA, BDA, PCA - Business Intelligence - Analytics - Visualizer - Big data - Database - Oracle VM - Integration, SOA - Identity Management IDM - Cloud - Application Foundation - Application Builder - MCS - DBaaS - Licenses LMA - Customer Experience CX Oracle Center of Excellence
  • 7. sysco.no Why REST? • Why would anyone choose SOAP (Simple Object Access Protocol) instead of REST ? • The general rule of thumb: ‘Unless you have a definitive reason to use SOAP use REST’. • REST-JSON vs REST-XML • JSON: Simple syntax, less “markup” • XML: More complex, mature, Schema, XSLT, Xquery, Namespaces etc.
  • 8. sysco.no REST vs SOAP • Why REST? – REST uses standard HTTP – so it is much simpler – REST permits many different data formats - SOAP only permits XML – REST has better performance and scalability – Smaller messages – less overhead – Mobile developers know REST • Why SOAP? – Wider support for transaction support – Better support for transaction support/security - WS-Security, WS- AtomicTransaction, WS- ReliableMessaging – More robust error handling – Your developer tools may not support REST yet
  • 9. sysco.no REST vs SOAP for Mobile Applications • A-Team has done a comparison – look at http://www.ateam- oracle.com/performance-study-rest-vs-soap-for-mobile-applications/ • REST-JSON is 9 to 30 times faster than SOAP in mobile applications
  • 10. sysco.no REST APIs • Beginning – Lack of standards • Now - Broad set of standards • Would be good if all REST services have a definition, but this is not always the case – And there in not one de facto standard
  • 11. sysco.no Goals of Metadata APIs • Common goal of current metadata formats for REST APIs is to specify (*): – Entry point(s) – Resource paths – Methods to access these resources (GET, POST, PUT, etc.…) – Parameters that need to be supplied with these methods (Query, Template, HTTP Header, etc.) – Formats of inbound / outbound messages/representations (JSON Schema, XML Schema, Relax NG, etc.) – Status codes and error/fault messages – Documentary information (descriptions, etc.) for all these – Example data *) http://apiux.com/2013/04/09/rest-metadata-formats/
  • 12. sysco.no Overview of RESTful API Description Languages (ADL) • Web Services Description Language 2.0 (WSDL) • Web Application Description Language (WADL) • Open Data Protocol (OData) • Swagger – OpenAPI • RESTful Service Description Language (RSDL) • RESTful API Modeling Language (RAML) • API Blueprint • Apache Avro
  • 13. sysco.no Oracle Product support for REST APIs From Luis Weir: http://www.soa4u.co.uk/2016/05/converting-adls-to-implement-end-to-end.html
  • 14. sysco.no WADL • WADL (Web Application Definition Language) • WADL is used in SOA Suite / OSB and Process Cloud Service • XML Description • Submitted to WWC by Sun 2009 – but no plan to standardize • The older of the mentioned standards • Not much used
  • 15. sysco.no Swagger • SmartBear supported • Broad adoption • Swagger improved in many ways on WADL • Great tooling • Limited support of JSON Schema, no support of XML schemas
  • 16. sysco.no RESTful API Modeling Language (RAML)
  • 17. sysco.no RAML Technology Primer • https://www.youtube.com/watch?v=tGcfv7HsAnE • By Chris Muir – «I like RAML!!»
  • 18. sysco.no RAML • RAML 1.0 is available since may 16th, 2016 • 0.8 is the version you normally will see supported • Aimed at full lifecycle of API • Focused on reuse – Resource Types – Traits • Documentation • Test data (samples) • Detailed Specification • I think also RAML is my favorite
  • 19. sysco.no RAML 1.0 • Data types: a unified, streamlined, and powerful way to model data wherever it appears in an API. – Uniformly covers bodies, URI parameters, headers, and query parameters and eliminates the need for a separate formParameters construct – Supports wrapping XML Schema and JSON Schema and even referring to sub-schemas, but in many cases just obviates the schemas – Simplifies coding, compared to the JSON Schema or XML Schema, by being YAML-based • Multiple Examples: expressible in YAML, and annotatable so that semantics can be injected • Annotations: a tried-and-tested, strongly-typed mechanism for extensibility • Libraries: improved modularity for broad reuse of API artifacts • Overlays and Extensions: increased extensibility through separated files • Improved Security Schemes: – Wider OAuth support – Support for pass-through (key-based) security schemes – Support for signatures From spec: https://github.com/raml-org/raml-spec/releases/tag/1.0
  • 23. sysco.no API-Transformer • Transform API Descriptions from/to various formats - Developed by APIMATIC – Online tool
  • 25. sysco.no Transformation • What will you loose going from one ADL to another ? • A detailed comparison would be useful • Normally would have to make one file «flatten» to be able to transform
  • 27. sysco.no Norwegian datasets • http://hotell.difi.no/ • Want to look at municipalities • http://hotell.difi.no/api/json/difi/geo/kommune
  • 28. sysco.no Norwegian datasets • http://hotell.difi.no/api/xml/difi/geo/kommune • Can use pagination: add ?page=2 to URL to see next page • Can search/filter: – /api/json/difi/geo/kommune?query=levanger – /api/json/difi/geo/kommune?fylke=05 • Can get metadata – /api/json/difi/geo/kommune/fields
  • 29. sysco.no REST - properties • URI format - [protocol]/[server]:[port]/[servicename]/[resource]/{resource id} • Parmameters – As part of URI – As body – As a query parameter – As a request header • Verbs – GET, PUT, POST, DELETE, OPTIONS, HEAD
  • 30. sysco.no REST - operations Verb Operations performed on server Impact GET Read a resource No impact (change) on resource PUT Insert a new resource or update if it already exists Idempotent POST Insert a new resource or update if it already exists Non idempotent DELETE Delete a resource Idempotent OPTIONS List the allowed operations on a resource No impact (change) on resource HEAD Return only response headers and no response body No impact (change) on resource Safe = no impact on the resource Idempotent = the same result, no matter how often you call it PUT: only creates a resource if you provide all the values including the ID (requires a complete URI) POST: create a new resource every time it is called, or update the resource if it already exists From: Lonneke Dikmans presentation at UKTech15
  • 31. sysco.no REST Support in SOA Suite / OSB
  • 32. sysco.no REST - support • Before 12.1.3 REST support had to be done by hand in OSB – Or in Spring Adapter or Socket Adapter (have seen blogs) • SOA Suite 12.1.3/12.2.1 supports WADL • SOA Suite 12.1.3 added REST adapter – inbound and outbound • SOA Suite 12.2.1 supports End-To-End JSON with JavaScript • Mobile Cloud Service (MCS) supports RAML – Use Node.js to implement • This presentation will show use of the REST adapter (reference)
  • 33. sysco.no Outbound - The 3 choices we have 1. Utilizing an existing WADL 2. Creating a WADL from a different ADL description 3. Creating an WADL using the Wizard in Jdeveloper All services should be modeled in an ADL Resource Paths Operations Parameters Request / Response
  • 34. sysco.no Inbound - The 2+1 choices we have 1. Utilizing an existing WADL 2. Creating an WADL using the Wizard in Jdeveloper Given that you have to make service description available as WADL 3. Make API available in different ADL by manually adding that – or make it part of pipeline
  • 37. sysco.no WADL • The application element forms the root of a WADL description and contains the following (XML): – Zero or more doc elements – An optional grammars element – Zero or more resources elements – Zero or more of the following: • resource_type elements • method elements • representation elements • param elements https://en.wikipedia.org/wiki/Web_Application_Description_Language
  • 38. sysco.no Sample WADL for our JSON Reference
  • 41. sysco.no Use Cases • SOAP Service – Expose as REST – Common case for Mobile Apps • REST Service – Expose as SOAP – SOAP enabling for «old-school» • Technology Adapter – Expose as REST – Database Tables, Procedures – LDAP – Socket • Composite REST Service – Bottom-up designed service
  • 42. sysco.no SOA Suite 12.2.1 end-to-end JSON • Performance • Reuse JavaScript Competence • Some things will be easier to implement • Can mix JSON / SOAP
  • 44. sysco.no Too many facets? • Mobile Cloud Service -> RAML • API Platform -> Swagger / Blueprint • SOA CS -> WADL It is good to have support for many standards but also some consistency is much needed when it comes to API / REST design
  • 46. sysco.no Java EE/RAML Integration • Bottom/Up approach – Turning your JAX-RS annotations into RAML specifications. – Reusing Swagger annotations to document REST services • Top/Down approach – Turning your RAML specifications into JAX-RS interfaces – «Contract-first»
  • 51. sysco.no Enjoy the AMIS conference! SYSCO 2016