SCA Java binding.rest

Size: px
Start display at page:

Download "SCA Java binding.rest"

Transcription

1 SCA Java binding.rest <binding.rest> Introduction The Tuscany Java SCA runtime supports Representational State Transfer (REST) services invocations via the <binding.rest> extension. Tuscany REST binding leverage JAX-RS Standards based annotations to map business operations to HTTP operations such as POST, GET, PUT and DELETE and utilizes Tuscany Databindings to provide support for different wire formats such as JSON, XML, Binary, etc shielding the application developer from contaminating his business logic with code to handle payload production/transformation details. Using the Tuscany REST binding The primary use of the REST binding is to provide business services over HTTP in a distributed fashion. The simplest way to use the REST binding is to declare a business service that can be shared over the web and provide an HTTP address where one can access the service. This service is declared in an SCA composite file. <component name="catalog"> <implementation.java class="services.store.fruitscatalogimpl"/> <service name="catalog"> <tuscany:binding.rest uri=" <tuscany:wireformat.json /> <tuscany:operationselector.jaxrs /> Another way of implementing a REST service is to use a collection interface that matches the actions of the HTTP protocol. In this case, the methods must be named post, get, put, and delete. Tuscany ensures that the proper method is invoked via the request and response protocol of HTTP: public class TestGetImpl { public InputStream get(string id) { return new ByteArrayInputStream(("<html><body><p>This is the service GET method, item=" + id + "</body></html>").getbytes()); So using the common verbs of HTTP and Java object serialization, one can implement services and run them anywhere the HTTP protocol is implemented. The service developer or implementer simply creates methods for post, get, put, and delete, and a business collection such as a shopping cart, telephone directory, insurance form, or blog sites can be created. See the Tuscany module binding-rest-runtime for complete examples. Mapping business interfaces to HTTP Operations using JAX-RS Standard Annotations JAX-RS offers standards based annotations that allow properly configuration of the REST service endpoint and mappings of specific HTTP operations (e.g. get, put, post, delete) to java operations. The following subset of JAX-RS annotations are currently supported : URI Mappings

2 @Path Enabling JAX-RS annotation processing In order to enable JAX-RS annotation processing, a component need to be configured to use JAX-RS Operation Selector. <component name="catalog"> <implementation.java class="services.store. FruitsCatalogImpl"/> <property name="currencycode">usd</property> <service name="catalog"> <tuscany:binding.rest uri=" /Catalog"> <tuscany:wireformat.json /> <tuscany:operationselector.jaxrs /> <reference name="currencyconverter" target=" CurrencyConverter"/> Integration with a existent JAX-RS engine might help on processing the full set of JAX-RS annotations. I have started looking into leveraging Wink resourceprocessor or related code to help on this layer. Mapping RPC style calls over HTTP GET In some cases, there isn't a simple mapping of a business operation as resources, but there is still a desire to take advantage of HTTP caching and other benefits that HTTP GET type of operations provide. In order to accomplish this, binding.rest has built in functionality that allows you to map RPC style calls to HTTP GET operations. Client Invocation The URL schema follows a simple pattern : <base service URI>? method= <operation name>& parm1= <value>& parm2= <value>

3 RPC RPC1&msgArray=Hello RPC2" Mapping QueryStrings to Business Operation parameters Standard JAX-RS is used to map parameters sent over HTTP GET invocations using query string to business operation public interface Echo { String echo(@queryparam("msg") String msg); int echoint(int param); boolean echoboolean(boolean param); String [] echoarraystring(@queryparam("msgarray") String[] stringarray); int [] echoarrayint(int[] intarray); Enabling RPC to HTTP GET mapping In order to enable automatically mapping, a component need to be configured to use RPC Operation Selector.

4 <component name="catalog"> <implementation.java class="services.store. FruitsCatalogImpl"/> <property name="currencycode">usd</property> <service name="catalog"> <tuscany:binding.rest uri=" /Catalog"> <tuscany:wireformat.json /> <tuscany:response> <tuscany:operationselector.rpc /> </tuscany:response> <reference name="currencyconverter" target=" CurrencyConverter"/> Wire Formats This binding will support two styles of wire formats and will be used to control what type of payload will be generated by the service: hardwired : where you hard code the wire format expectations in the composite when configuring the binding. In the example below, service will be using JSON payload. <binding...> <wireformat.json> </binding...> dynamic : based on Content-Type header for request and Accept header for response. In the case below, the request content will be parsed based on the Content-Type request header and the response payload will be based on the request Accept header. <binding...> <wireformat.dynamic> </binding...> In progress Cache control using ETags, Last-Modified and other HTTP Headers The HTTP specification provides a set of methods for HTTP clients and servers to interact. These methods form the foundation of the World Wide Web. Tuscany implements many of these methods a binding interface to a collection. The main methods are: GET - retrieves an item from a collection POST - creates or adds an item to a collection PUT - updates or replaces an item in a collection DELETE - removes an item in a a collection

5 The HTTP specification (HTTP 1.1 Chapter 13 - Caching) also provides a mechanism by which these methods may be executed conditionally. To perform conditional methods, an HTTP client puts 3 items in the HTTP request header: ETag - entity tag, a unique identifier to an item in a collection. Normally created and returned by the server when creating (POST) a new item. LastModified - an updated field. Normally a string containing a date and time of the last modification of the item. Predicate - a logical test (e.g. IfModified, IfUnmodified) to use with the ETag and LastModified to determine whether to act. The complete list of predicates is given in the HTTP specification. The most common use of conditional methods is to prevent two requests to the server instead of one conditional request. For example, a common scenario is to check if an item has been modified, if not changed update it with a new version, if changed do not update it. With a conditional PUT method (using the IfUnmodifed predicate and a LastModified date), this can be done in one action. Another common use is to prevent multiple GETs of an item to ensure we have a valid copy. Rather than doing a second request of a large item, one can do a conditional GET request (using an IfModified predicate and a LastModified date), and avoid the second request if our object is still valid. The server responds with either a normal response body, or status code 304 (Not Modified), or status code 412 (precondition failed). Default cache control is done by using generated ETags based on response content checksum. To avoid data to be overwriten during concurrent updates, include an HTTP If-Match header that contains the original content ETag value. If you want to force an update regardless of whether someone else has updated it since you retrieved it, then use If-Match: * and don't include the ETag. Declarative cache control In order to allow for better flexibility, and re-usability of the components exposed as REST services, there is an option to declare cache controls when configuring the REST Binding as show the example below : <component name="customerservice"> <implementation.java class="services.customer. CustomerServiceImpl"/> <service name="customerservice"> <tuscany:binding.rest uri=" /Customer"> <tuscany:wireformat.xml /> <tuscany:operationselector.jaxrs /> <tuscany:http-headers> <tuscany:header name="cache-control" value=" no-cache"/> <tuscany:header name="expires" value="-1"/> <tuscany:header name="x-tuscany" value=" tuscany"/> </tuscany:http-headers> This could be enhanced to enable more complex injection of fields to cache control headers. Store scenarios goes REST - Catalog Services using binding.rest Below is our Store Catalog exposed as REST services utilizing the new binding.rest. Let's start by looking on how the component gets defined and configured in the composite file, particularly the following details : binding.rest uri defines the Catalog service endpoint wireformat.json configure the service to use JSON as the payload operationselector.jaxrs configure the binding to use JAX-RS annotations to map the HTTP operations to business operations

6 <composite xmlns=" xmlns:tuscany=" targetnamespace=" name="store"> <component name="catalog"> <implementation.java class="services.store. FruitsCatalogImpl"/> <property name="currencycode">usd</property> <service name="catalog"> <tuscany:binding.rest uri=" /Catalog"> <tuscany:wireformat.json /> <tuscany:operationselector.jaxrs /> <reference name="currencyconverter" target=" CurrencyConverter"/> <component name="currencyconverter"> <implementation.java class="services.store. CurrencyConverterImpl"/> </composite> Below is the Catalog Interface utilizing JAX-RS standard annotations to map HTTP operations to business operations.

7 package services.store; import javax.ws.rs.delete; import javax.ws.rs.get; import javax.ws.rs.post; import javax.ws.rs.put; import javax.ws.rs.path; import javax.ws.rs.pathparam; import public interface Catalog Item getitembyid(@pathparam("id") String void additem(item void void deleteitem(@pathparam("id") String itemid); Below is the Fuit catalog implementation

8 @Scope("COMPOSITE") public class FruitsCatalogImpl implements Catalog public String currencycode = public CurrencyConverter currencyconverter; private Map<String, Item> catalog = new HashMap<String, public void init() { String currencysymbol = currencyconverter.getcurrencysymbol (currencycode); catalog.put("apple", new Item("Apple", currencysymbol + currencyconverter.getconversion("usd", currencycode, 2.99))); catalog.put("orange", new Item("Orange", currencysymbol + currencyconverter.getconversion("usd", currencycode, 3.55))); catalog.put("pear", new Item("Pear", currencysymbol + currencyconverter.getconversion("usd", currencycode, 1.55))); public Item[] getall() { Item[] catalogarray = new Item[catalog.size()]; catalog.values().toarray(catalogarray); return catalogarray; public Item getitembyid(string itemid) { return catalog.get(itemid); public void additem(item item) { catalog.put(item.getname(),item); public void updateitem(item item) { if(catalog.get(item.getname())!= null) { catalog.put(item.getname(), item); public void deleteitem(string itemid) { if(catalog.get(itemid)!= null) { catalog.remove(itemid);

9

RESTful SCA with Apache Tuscany

RESTful SCA with Apache Tuscany RESTful SCA with Apache Tuscany Luciano Resende lresende@apache.org http://lresende.blogspot.com Jean-Sebastien Delfino jsdelfino@apache.org http://jsdelfino.blogspot.com 1 Agenda IBM Software Group What

More information

Rest Client for MicroProfile. John D. Ament, Andy McCright

Rest Client for MicroProfile. John D. Ament, Andy McCright Rest Client for MicroProfile John D. Ament, Andy McCright 1.0, December 19, 2017 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile

More information

JVA-563. Developing RESTful Services in Java

JVA-563. Developing RESTful Services in Java JVA-563. Developing RESTful Services in Java Version 2.0.1 This course shows experienced Java programmers how to build RESTful web services using the Java API for RESTful Web Services, or JAX-RS. We develop

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

Rest Client for MicroProfile. John D. Ament, Andy McCright

Rest Client for MicroProfile. John D. Ament, Andy McCright Rest Client for MicroProfile John D. Ament, Andy McCright 1.1, May 18, 2018 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile

More information

Rest Client for MicroProfile. John D. Ament

Rest Client for MicroProfile. John D. Ament Rest Client for MicroProfile John D. Ament 1.0-T9, December 05, 2017 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile Rest

More information

Developing RESTful Web services with JAX-RS. Sabyasachi Ghosh, Senior Application Engneer Oracle

Developing RESTful Web services with JAX-RS. Sabyasachi Ghosh, Senior Application Engneer Oracle Developing RESTful Web services with JAX-RS Sabyasachi Ghosh, Senior Application Engneer Oracle India, @neilghosh Java API for RESTful Web Services (JAX-RS) Standard annotation-driven API that aims to

More information

Mobile Computing. Logic and data sharing. REST style for web services. Operation verbs. RESTful Services

Mobile Computing. Logic and data sharing. REST style for web services. Operation verbs. RESTful Services Logic and data sharing Mobile Computing Interface Logic Services Logic Data Sync, Caches, Queues Data Mobile Client Server RESTful Services RESTful Services 2 REST style for web services REST Representational

More information

Apache Wink Developer Guide. Draft Version. (This document is still under construction)

Apache Wink Developer Guide. Draft Version. (This document is still under construction) Apache Wink Developer Guide Software Version: 1.0 Draft Version (This document is still under construction) Document Release Date: [August 2009] Software Release Date: [August 2009] Apache Wink Developer

More information

JSR 311: JAX-RS: The Java API for RESTful Web Services

JSR 311: JAX-RS: The Java API for RESTful Web Services JSR 311: JAX-RS: The Java API for RESTful Web Services Marc Hadley, Paul Sandoz, Roderico Cruz Sun Microsystems, Inc. http://jsr311.dev.java.net/ TS-6411 2007 JavaOne SM Conference Session TS-6411 Agenda

More information

Practice 2. SOAP & REST

Practice 2. SOAP & REST Enterprise System Integration Practice 2. SOAP & REST Prerequisites Practice 1. MySQL and JPA Introduction JAX-WS stands for Java API for XML Web Services. JAX-WS is a technology for building web services

More information

Accessing the Progress OpenEdge AppServer. From Progress Rollbase. Using Object Script

Accessing the Progress OpenEdge AppServer. From Progress Rollbase. Using Object Script Accessing the Progress OpenEdge AppServer From Progress Rollbase Using Object Script Introduction Progress Rollbase provides a simple way to create a web-based, multi-tenanted and customizable application

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

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

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Copyright 2012, Oracle and/or its affiliates. All rights reserved. 1 JAX-RS-ME Michael Lagally Principal Member of Technical Staff, Oracle 2 CON4244 JAX-RS-ME JAX-RS-ME: A new API for RESTful web clients on JavaME This session presents the JAX-RS-ME API that was developed

More information

Apache Wink User Guide

Apache Wink User Guide Apache Wink User Guide Software Version: 0.1 The Apache Wink User Guide document is a broad scope document that provides detailed information about the Apache Wink 0.1 design and implementation. Apache

More information

Rest Client for MicroProfile. John D. Ament, Andy McCright

Rest Client for MicroProfile. John D. Ament, Andy McCright Rest Client for MicroProfile John D. Ament, Andy McCright 1.2-m2, December 10, 2018 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile

More information

Restful Application Development

Restful Application Development Restful Application Development Instructor Welcome Currently a consultant in my own business and splitting my time between training and consulting. Rob Gance Assist clients to incorporate Web 2.0 technologies

More information

JBoss SOAP Web Services User Guide. Version: M5

JBoss SOAP Web Services User Guide. Version: M5 JBoss SOAP Web Services User Guide Version: 3.3.0.M5 1. JBoss SOAP Web Services Runtime and Tools support Overview... 1 1.1. Key Features of JBossWS... 1 2. Creating a Simple Web Service... 3 2.1. Generation...

More information

Web services are a middleware, like CORBA and RMI. What makes web services unique is that the language being used is XML

Web services are a middleware, like CORBA and RMI. What makes web services unique is that the language being used is XML Web Services Web Services Web services are a middleware, like CORBA and RMI. What makes web services unique is that the language being used is XML This is good for several reasons: Debugging is possible

More information

SUN. Java Platform Enterprise Edition 6 Web Services Developer Certified Professional

SUN. Java Platform Enterprise Edition 6 Web Services Developer Certified Professional SUN 311-232 Java Platform Enterprise Edition 6 Web Services Developer Certified Professional Download Full Version : http://killexams.com/pass4sure/exam-detail/311-232 QUESTION: 109 What are three best

More information

Java SE7 Fundamentals

Java SE7 Fundamentals Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various

More information

Oracle Fusion Middleware Developing and Securing RESTful Web Services for Oracle WebLogic Server. 12c ( )

Oracle Fusion Middleware Developing and Securing RESTful Web Services for Oracle WebLogic Server. 12c ( ) Oracle Fusion Middleware Developing and Securing RESTful Web Services for Oracle WebLogic Server 12c (12.2.1.3.0) E80428-02 April 2018 Oracle Fusion Middleware Developing and Securing RESTful Web Services

More information

Exam Questions 1Z0-895

Exam Questions 1Z0-895 Exam Questions 1Z0-895 Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Exam https://www.2passeasy.com/dumps/1z0-895/ QUESTION NO: 1 A developer needs to deliver a large-scale

More information

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics Spring & Hibernate Overview: The spring framework is an application framework that provides a lightweight container that supports the creation of simple-to-complex components in a non-invasive fashion.

More information

Extending Tuscany. Apache Tuscany. Slide 1

Extending Tuscany. Apache Tuscany. Slide 1 Extending Tuscany Apache Tuscany Slide 1 Contents What can be extended? How to add an extension module? How to add an implementation type? How to add a binding type? How to add a interface type (TBD) How

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

Modern web applications and web sites are not "islands". They need to communicate with each other and share information.

Modern web applications and web sites are not islands. They need to communicate with each other and share information. 441 Modern web applications and web sites are not "islands". They need to communicate with each other and share information. For example, when you develop a web application, you may need to do some of

More information

Introduc)on to JAX- RS 3/14/12

Introduc)on to JAX- RS 3/14/12 JAX-RS: The Java API for RESTful Web Services Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Mr.Pongsakorn Poosankam (pongsakorn@gmail.com) 1 q Goals of JAX-RS q Creating resources q HTTP

More information

JAX-RS. Sam Guinea

JAX-RS. Sam Guinea JAX-RS Sam Guinea guinea@elet.polimi.it http://servicetechnologies.wordpress.com/ JAX-RS Java API that provides support in creating services according to the REST architectural style. JAX-RS uses annotations

More information

Apache Wink 0.1 Feature Set

Apache Wink 0.1 Feature Set Apache Wink 0.1 Feature Set Software Version: 0.1 [The Wink REST Runtime Feature Set internal draft document is a broad scope document that provides detailed information about the Runtime strategy and

More information

Java J Course Outline

Java J Course Outline JAVA EE - J2SE - CORE JAVA After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? CHAPTER 1: INTRODUCTION What is Java? History Versioning The

More information

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP 2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries

More information

Web-APIs. Examples Consumer Technology Cross-Domain communication Provider Technology

Web-APIs. Examples Consumer Technology Cross-Domain communication Provider Technology Web-APIs Examples Consumer Technology Cross-Domain communication Provider Technology Applications Blogs and feeds OpenStreetMap Amazon, Ebay, Oxygen, Magento Flickr, YouTube 3 more on next pages http://en.wikipedia.org/wiki/examples_of_representational_state_transfer

More information

Web Services Development for IBM WebSphere Application Server V7.0

Web Services Development for IBM WebSphere Application Server V7.0 000-371 Web Services Development for IBM WebSphere Application Server V7.0 Version 3.1 QUESTION NO: 1 Refer to the message in the exhibit. Replace the??? in the message with the appropriate namespace.

More information

Session 13. RESTful Services Part 2. Lecture Objectives

Session 13. RESTful Services Part 2. Lecture Objectives Session 13 RESTful Services Part 2 1 Lecture Objectives Understand how to pass parameters to a Web services Understand how to return values from a Web service 2 10/31/2018 1 Reading Tutorials Reading &

More information

Developing Applications for the Java EE 7 Platform 9-2

Developing Applications for the Java EE 7 Platform 9-2 Developing Applications for the Java EE 7 Platform 9-2 REST is centered around an abstraction known as a "resource." Any named piece of information can be a resource. A resource is identified by a uniform

More information

1. Description. 2. Systems affected Wink deployments

1. Description. 2. Systems affected Wink deployments Apache Wink Security Advisory (CVE-2010-2245) Apache Wink allows DTD based XML attacks Author: Mike Rheinheimer (adapted from Axis2, originally by Andreas Veithen) July 6, 2010 1. Description Apache Wink

More information

IBM C IBM WebSphere App Server Dev Tools V8.5, with Liberty.

IBM C IBM WebSphere App Server Dev Tools V8.5, with Liberty. IBM C2180-319 IBM WebSphere App Server Dev Tools V8.5, with Liberty http://killexams.com/exam-detail/c2180-319 A. Use a JAX-WS Binding Type annotation B. Set a property on the SOAP Binding object C. Specify

More information

RESTful Java with JAX-RS

RESTful Java with JAX-RS RESTful Java with JAX-RS Bill Burke TECHMiSCHE INFORMATIO N SEIBLIOTH EK UNIVERSITATSBiBLIQTHEK HANNOVER O'REILLY Beijing Cambridge Farnham Koln Sebastopol Taipei Tokyo Table of Contents Foreword xiii

More information

Web Services: Introduction and overview. Outline

Web Services: Introduction and overview. Outline Web Services: Introduction and overview 1 Outline Introduction and overview Web Services model Components / protocols In the Web Services model Web Services protocol stack Examples 2 1 Introduction and

More information

2 Apache Wink Building Blocks

2 Apache Wink Building Blocks 2 Apache Wink Building Blocks Apache Wink Building Block Basics In order to take full advantage of Apache Wink, a basic understanding of the building blocks that comprise it and their functional integration

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

RESTFUL WEB SERVICES - INTERVIEW QUESTIONS

RESTFUL WEB SERVICES - INTERVIEW QUESTIONS RESTFUL WEB SERVICES - INTERVIEW QUESTIONS http://www.tutorialspoint.com/restful/restful_interview_questions.htm Copyright tutorialspoint.com Dear readers, these RESTful Web services Interview Questions

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

The Evolution of Java Persistence

The Evolution of Java Persistence The Evolution of Java Persistence Doug Clarke Oracle Ottawa, Canada Keywords: Java, Persistence, JPA, JAXB, JSON, REST Introduction The data access requirements of today s Java applications keep expanding

More information

Java Web Service Essentials (TT7300) Day(s): 3. Course Code: GK4232. Overview

Java Web Service Essentials (TT7300) Day(s): 3. Course Code: GK4232. Overview Java Web Service Essentials (TT7300) Day(s): 3 Course Code: GK4232 Overview Geared for experienced developers, Java Web Service Essentials is a three day, lab-intensive web services training course that

More information

Web Service Elements. Element Specifications for Cisco Unified CVP VXML Server and Cisco Unified Call Studio Release 10.0(1) 1

Web Service Elements. Element Specifications for Cisco Unified CVP VXML Server and Cisco Unified Call Studio Release 10.0(1) 1 Along with Action and Decision elements, another way to perform backend interactions and obtain real-time data is via the Web Service element. This element leverages industry standards, such as the Web

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

ForeScout Open Integration Module: Data Exchange Plugin

ForeScout Open Integration Module: Data Exchange Plugin ForeScout Open Integration Module: Data Exchange Plugin Version 3.2.0 Table of Contents About the Data Exchange Plugin... 4 Requirements... 4 CounterACT Software Requirements... 4 Connectivity Requirements...

More information

Developing a Web Server Platform with SAPI support for AJAX RPC using JSON

Developing a Web Server Platform with SAPI support for AJAX RPC using JSON 94 Developing a Web Server Platform with SAPI support for AJAX RPC using JSON Assist. Iulian ILIE-NEMEDI Informatics in Economy Department, Academy of Economic Studies, Bucharest Writing a custom web server

More information

Developing Applications with Java EE 6 on WebLogic Server 12c

Developing Applications with Java EE 6 on WebLogic Server 12c Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need

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

Chapter 1 - Consuming REST Web Services in Angular

Chapter 1 - Consuming REST Web Services in Angular Chapter 1 - Consuming REST Web Services in Angular Objectives Key objectives of this chapter REST Overview Common Angular tasks for REST communication Using Angular to send various HTTP requests 1.1 REST

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

1Z Oracle. Java Platform Enterprise Edition 6 Web Services Developer Certified Expert

1Z Oracle. Java Platform Enterprise Edition 6 Web Services Developer Certified Expert Oracle 1Z0-897 Java Platform Enterprise Edition 6 Web Services Developer Certified Expert Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-897 QUESTION: 113 Which three statements

More information

5.3 Using WSDL to generate client stubs

5.3 Using WSDL to generate client stubs Type Definition Table 5.1 Summary of WSDL message exchange patterns 168 Describing Web services Chapter 5 z - L. - achieving this is WSDL2Java provided by Axis. Axis is an open source toolkit that is developed

More information

IBM Case Manager Mobile Version SDK for ios Developers' Guide IBM SC

IBM Case Manager Mobile Version SDK for ios Developers' Guide IBM SC IBM Case Manager Mobile Version 1.0.0.5 SDK for ios Developers' Guide IBM SC27-4582-04 This edition applies to version 1.0.0.5 of IBM Case Manager Mobile (product number 5725-W63) and to all subsequent

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

Avro Specification

Avro Specification Table of contents 1 Introduction...2 2 Schema Declaration... 2 2.1 Primitive Types... 2 2.2 Complex Types...2 2.3 Names... 5 2.4 Aliases... 6 3 Data Serialization...6 3.1 Encodings... 7 3.2 Binary Encoding...7

More information

CS 498RK FALL RESTFUL APIs

CS 498RK FALL RESTFUL APIs CS 498RK FALL 2017 RESTFUL APIs Designing Restful Apis blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/ www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api Resources

More information

Web Service and JAX-RS. Sadegh Aliakbary

Web Service and JAX-RS. Sadegh Aliakbary Web Service and Sadegh Aliakbary Agenda What Are RESTful Web Services? Standard Restful Design and API Elements Building Simple Web-Services 2 Web Services: Definition (W3C) A Web service is: A software

More information

Managing REST API. The REST API. This chapter contains the following sections:

Managing REST API. The REST API. This chapter contains the following sections: This chapter contains the following sections: The REST API, page 1 Identifying Entities, page 2 Configuring a POJO Class for REST API Support, page 2 Input Controllers, page 2 Implementing a Workflow Task,

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

SCA Java Runtime Overview

SCA Java Runtime Overview SCA Java Runtime Overview Software Organization Source Code Locations If you take a Tuscany SCA Java source distribution or look in the Tuscany subversion repository (http://svn.apache.org/repos/asf/tuscany/java/sc

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Copyright 2012, Oracle and/or its affiliates. All rights reserved. 1 ADF Mobile The Data Layer 2 Mobile Device Device Services ADF Mobile Architecture Device Native Container HTML5 & JavaScript Presentation Phone Gap Native View ADF Mobile XML View ADF Controller Local

More information

1. A developer is writing a Web service operation namedgetquote?select the proper code to obtain the HTTP Query String used in the request:

1. A developer is writing a Web service operation namedgetquote?select the proper code to obtain the HTTP Query String used in the request: SectionA: 58 Questions SectionB: 58 Questions SectionA 1. A developer is writing a Web service operation namedgetquote?select the proper code to obtain the HTTP Query String used in the request: A. public

More information

CXF for the Enterprise and Web. Dan Diephouse

CXF for the Enterprise and Web. Dan Diephouse CXF for the Enterprise and Web Dan Diephouse 1 Today Our dilemma CXF? What s that? The Customer Service RESTful rendition SOAP rendition Conclusions 2 Our Dilemma 3 Survey! SURVEY! 4 What is CXF? Services

More information

C exam. IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1.

C exam.   IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1. C9510-319.exam Number: C9510-319 Passing Score: 800 Time Limit: 120 min File Version: 1.0 IBM C9510-319 IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile Version: 1.0 Exam A QUESTION

More information

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Code: URL: D101074GC10 View Online The Developing Applications for the Java EE 7 Platform training teaches you how

More information

Avro Specification

Avro Specification Table of contents 1 Introduction...2 2 Schema Declaration... 2 2.1 Primitive Types... 2 2.2 Complex Types...2 2.3 Names... 5 3 Data Serialization...6 3.1 Encodings... 6 3.2 Binary Encoding...6 3.3 JSON

More information

Ellipse Web Services Overview

Ellipse Web Services Overview Ellipse Web Services Overview Ellipse Web Services Overview Contents Ellipse Web Services Overview 2 Commercial In Confidence 3 Introduction 4 Purpose 4 Scope 4 References 4 Definitions 4 Background 5

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

02267: Software Development of Web Services

02267: Software Development of Web Services 02267: Software Development of Web Services Week 8 Hubert Baumeister huba@dtu.dk Department of Applied Mathematics and Computer Science Technical University of Denmark Fall 2016 1 Recap Midtterm Evaluation

More information

REST Binding Component User's Guide

REST Binding Component User's Guide REST Binding Component User's Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 821 0540 10 January 2010 Copyright 2010 Sun Microsystems, Inc. 4150 Network Circle,

More information

Client-side SOAP in S

Client-side SOAP in S Duncan Temple Lang, University of California at Davis Table of Contents Abstract... 1 Converting the S values to SOAP... 3 The Result... 3 Errors... 4 Examples... 4 Service Declarations... 5 Other SOAP

More information

Oracle EXAM - 1Z Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam. Buy Full Product.

Oracle EXAM - 1Z Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam. Buy Full Product. Oracle EXAM - 1Z0-895 Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam Buy Full Product http://www.examskey.com/1z0-895.html Examskey Oracle 1Z0-895 exam demo product is here for you to test

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

1 Markus Eisele, Insurance - Strategic IT-Architecture

1 Markus Eisele, Insurance - Strategic IT-Architecture 1 Agenda 1. Java EE Past, Present and Future 2. Java EE 7 Platform as a Service 3. PaaS Roadmap 4. Focus Areas 5. All the Specs 2 http://blog.eisele.net http://twitter.com/myfear markus.eisele@msg-systems.com

More information

StorageGRID Webscale NAS Bridge Management API Guide

StorageGRID Webscale NAS Bridge Management API Guide StorageGRID Webscale NAS Bridge 2.0.3 Management API Guide January 2018 215-12414_B0 doccomments@netapp.com Table of Contents 3 Contents Understanding the NAS Bridge management API... 4 RESTful web services

More information

Enterprise JavaBeans 3.1

Enterprise JavaBeans 3.1 SIXTH EDITION Enterprise JavaBeans 3.1 Andrew Lee Rubinger and Bill Burke O'REILLY* Beijing Cambridge Farnham Kbln Sebastopol Tokyo Table of Contents Preface xv Part I. Why Enterprise JavaBeans? 1. Introduction

More information

A Generic Adaptive Method for Corruption Mitigation in Trial Monitoring System with Restful Authorization. India)

A Generic Adaptive Method for Corruption Mitigation in Trial Monitoring System with Restful Authorization. India) American Journal of Engineering Research (AJER) e-issn: 2320-0847 p-issn : 2320-0936 Volume-4, Issue-10, pp-18-22 www.ajer.org Research Paper Open Access A Generic Adaptive Method for Corruption Mitigation

More information

Software Design COSC 4353/6353 DR. RAJ SINGH

Software Design COSC 4353/6353 DR. RAJ SINGH Software Design COSC 4353/6353 DR. RAJ SINGH Outline What is SOA? Why SOA? SOA and Java Different layers of SOA REST Microservices What is SOA? SOA is an architectural style of building software applications

More information

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material,

More information

Developing Enterprise Services for Mobile Devices using Rational Software Architect / Worklight

Developing Enterprise Services for Mobile Devices using Rational Software Architect / Worklight Developing Enterprise Services for Mobile Devices using Rational Software Architect / Worklight Sandeep Katoch Architect, Rational Software Architect Development sakatoch@in.ibm.com Agenda Introduction

More information

LOG8430: Architecture logicielle et conception avancée

LOG8430: Architecture logicielle et conception avancée LOG8430: Architecture logicielle et conception avancée Microservices, REST and GraphQL Automne 2017 Fabio Petrillo Chargé de Cours This work is licensed under a Creative 1 Commons Attribution-NonCommercialShareAlike

More information

C# 6.0 in a nutshell / Joseph Albahari & Ben Albahari. 6th ed. Beijin [etc.], cop Spis treści

C# 6.0 in a nutshell / Joseph Albahari & Ben Albahari. 6th ed. Beijin [etc.], cop Spis treści C# 6.0 in a nutshell / Joseph Albahari & Ben Albahari. 6th ed. Beijin [etc.], cop. 2016 Spis treści Preface xi 1. Introducing C# and the.net Framework 1 Object Orientation 1 Type Safety 2 Memory Management

More information

Artix Building Service Oriented Architectures Using Artix

Artix Building Service Oriented Architectures Using Artix Artix 5.6.4 Building Service Oriented Architectures Using Artix Micro Focus The Lawn 22-30 Old Bath Road Newbury, Berkshire RG14 1QN UK http://www.microfocus.com Copyright Micro Focus 2017. All rights

More information

RESTful Web service composition with BPEL for REST

RESTful Web service composition with BPEL for REST RESTful Web service composition with BPEL for REST Cesare Pautasso Data & Knowledge Engineering (2009) 2010-05-04 Seul-Ki Lee Contents Introduction Background Design principles of RESTful Web service BPEL

More information

PROCE55 Mobile: Web API App. Web API. https://www.rijksmuseum.nl/api/...

PROCE55 Mobile: Web API App. Web API. https://www.rijksmuseum.nl/api/... PROCE55 Mobile: Web API App PROCE55 Mobile with Test Web API App Web API App Example This example shows how to access a typical Web API using your mobile phone via Internet. The returned data is in JSON

More information

2 / 99

2 / 99 2 / 99 3 / 99 4 / 99 5 / 99 6 / 99 8 / 99 @ApplicationPath("/") public class DummyApp extends Application { } @Path("/rest") @Produces(MediaType.TEXT_PLAIN) public class DummyResource { 9 / 99 @GET @Path("/echo1")

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

Space Details. Available Pages

Space Details. Available Pages Key: Space Details extremescale Name: WebSphere extreme Scale and DataPower XC10 Appliance Wiki Description: Creator (Creation Date): dwblogadmin (Apr 09, 2009) Last Modifier (Mod. Date): carriemiller

More information

JSR-303 Bean Validation. Emmanuel Bernard Doer JBoss, a Division of Red Hat

JSR-303 Bean Validation. Emmanuel Bernard Doer JBoss, a Division of Red Hat JSR-303 Bean Validation Emmanuel Bernard Doer JBoss, a Division of Red Hat emmanuel@hibernate.org Emmanuel Bernard Hibernate Search in Action blog.emmanuelbernard.com twitter.com/emmanuelbernard Help the

More information

BEAAquaLogic. Service Bus. Interoperability With EJB Transport

BEAAquaLogic. Service Bus. Interoperability With EJB Transport BEAAquaLogic Service Bus Interoperability With EJB Transport Version 3.0 Revised: February 2008 Contents EJB Transport Introduction...........................................................1-1 Invoking

More information

WebSphere. WebSphere Enterprise Service Bus Next Steps and Roadmap

WebSphere. WebSphere Enterprise Service Bus Next Steps and Roadmap WebSphere Enterprise Service Bus Next Steps and Roadmap Rob Phippen IBM Senior Technical Staff Member Chief Architect WebSphere Enterprise Service Bus WebSphere 2011 IBM Corporation IBM's statements regarding

More information

XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web

XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web Web Services. XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web Platform: Windows COM Component Previously

More information

Lesson 14 SOA with REST (Part I)

Lesson 14 SOA with REST (Part I) Lesson 14 SOA with REST (Part I) Service Oriented Architectures Security Module 3 - Resource-oriented services Unit 1 REST Ernesto Damiani Università di Milano Web Sites (1992) WS-* Web Services (2000)

More information

Test Assertions for the SCA Web Service Binding Version 1.1 Specification

Test Assertions for the SCA Web Service Binding Version 1.1 Specification Test Assertions for the SCA Web Service Binding Version 1.1 Specification Working Draft 02 7 October 2009 Specification URIs: This Version: http://docs.oasis-open.org/sca-bindings/sca-wsbinding-1.1-test-assertions-cd01.html

More information

Communicating with a Server

Communicating with a Server Communicating with a Server Client and Server Most mobile applications are no longer stand-alone Many of them now have a Cloud backend The Cloud Client-server communication Server Backend Database HTTP

More information