Practical Uses for Web Services in Application Express

Slides:



Advertisements
Similar presentations
Enhancing Productivity with MySQL 5.6 New Features
Advertisements

Web 2.0 Programming 1 © Tongji University, Computer Science and Technology. Web Web Programming Technology 2012.
Pierre-Johan CHARTRE Java EE - JAX-RS - Pierre-Johan CHARTRE
Copyright © 2003 Pearson Education, Inc. Slide 7-1 The Web Wizards Guide to PHP by David Lash.
Andrew Newbigging Vice President, Integrations Development
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
System Wide Information Management (SWIM)
EThOSnet Repositories and Web Services Workshop 2 nd June2009 Richard Green
Overview Environment for Internet database connectivity
REST - Representational State Transfer
Representational State Transfer (REST): Representing Information in Web 2.0 Applications this is the presentation Emilio F Zegarra CS 2650.
Service Oriented Architecture
Building and using REST information services Rion Dooley.
Introduction to Web Services
JAX-RS – REST in Java.
Server Access The REST of the Story David Cleary
Web Service Testing RESTful Web Services Snejina Lazarova Dimo Mitev
Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be.
CS 4720 RESTfulness CS 4720 – Web & Mobile Systems.
22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.
1.
GETTING STARTED WITH WINDOWS COMMUNICATION FOUNDATION 4.5 Ed Jones & Grey Guindon.
What are Web Services? How to use them?
31242/32549 Advanced Internet Programming Advanced Java Programming
Getting Familiar with Web Pages 1 2 The Internet Worldwide collection of interconnected computer networks that enables businesses, organizations, governments,
Web Services Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Lecture 12: Web Services MicrosoftIntroducing CS using.NETJ# in Visual Studio.NET Objectives “Web Services are objects callable across a network.
Oracle User Productivity Kit Professional Ensuring Success with Oracle Apps
Building RESTful Interfaces
1Proprietary and Confidential AirVantage API – Getting started David SCIAMMA – June 13th 2014.
SOAP.
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
SOAP Quang Vinh Pham Simon De Baets Université Libre de Bruxelles1.
A Java Architecture for the Internet of Things Noel Poore, Architect Pete St. Pierre, Product Manager Java Platform Group, Internet of Things September.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product.
Peoplesoft: Building and Consuming Web Services
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Advanced Metadata Modeling Modeling for the Oracle Business Intelligence Cloud.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Title Slide without Picture Subtitle Presenter’s Name Presenter’s Title Organization,
2/9/2004 Web and HTTP February 9, /9/2004 Assignments Due – Reading and Warmup Work on Message of the Day.
7-Aug-15 Serialization and XML Pat Palmer What is serialization? “The process of converting an object (or a graph of objects) into a linear sequence.
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
Application Express 4.1 New Features Hilary Farrell, Principal Member of Technical Staff, Oracle.
1Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Reporting from Contract.
Oracle Application Express 3.0 Joel R. Kallman Software Development Manager.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Robert Lyon  Design Review  November 11, 2011.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
1 ADO.NET Data Services Mike Taulty Developer & Platform Group Microsoft Ltd
CS 6401 The World Wide Web Outline Background Structure Protocols.
RESTful Web Services What is RESTful?
Web Server Design Week 15 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin Klein 4/21/10.
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
Janakiram MSV Developer Evangelist Microsoft Corporation.
-1- For Oracle employees and authorized partners only. Do not distribute to third parties. © 2009 Oracle Corporation – Proprietary and Confidential Oracle.
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
National College of Science & Information Technology.
Azure Identity Premier Fast Start
API Security Auditing Be Aware,Be Safe
WEB SERVICES.
Node.js Express Web Services
What is REST API ? A REST (Representational State Transfer) Server simply provides access to resources and the REST client accesses and presents the.
Build a Web App with Oracle REST Data Services &
WEB API.
OpenWorld 2018 Oracle API Platform: How to Manage Typical Workflows
$, $$, $$$ API testing Edition
Web Server Design Week 16 Old Dominion University
Presentation transcript:

Practical Uses for Web Services in Application Express Web services have been around since the last millennium, but what can you actually do with them? Is there any practical reason to consume web services in an Application Express application? In the past, the predominant Web service standard was SOAP. While it is still widely used, it is not simple. Requests and response are XML wrapped in SOAP Envelopes, whose structure is defined by one of the very large specifications either 1.1 or 1.2. Nowadays, RESTful Web services are all the rage. All the major players on the Web, Google, Amazon, Yahoo, Netflix, etc. have RESTful API’s. RESTful Web services are much simpler, and hopefully through the course of this presentation, you will see why. Also, hopefully you will see why Application Express has many cool features that allow it to be great platform for RESTful Web service clients.

The following is intended to outline our general product direction 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, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remain at the sole discretion of Oracle.

<Insert Picture Here> Agenda <Insert Picture Here> Web services introduction Web service support in Application Express Amazon S3 APEX_WEB_SERVICE API Web Service Tools and Debugging Additional resources Q & A

<Insert Picture Here> Web Services Definition http://en.wikipedia.org/wiki/Web_service “Web services are typically application programming interfaces (API) or web APIs that are accessed via Hypertext Transfer Protocol and executed on a remote system hosting the requested services. Web services tend to fall into one of two camps: Big Web Services and RESTful Web Services.”

SOAP Web Services

RESTful Style Web Services

RESTful Style Web Services REpresentational State Transfer RESTful Web service request HTTP Method (GET, PUT, POST, DELETE, HEAD) indicates method of the service HTTP URI (path) indicates the resource HTTP headers HTTP entity-body (parameter name/value pairs) RESTful Web service response XML Text JSON A RESTful Web service request defines the method it is invoking by the HTTP Method (sometimes called HTTP Verb). If you do a GET, it means you are requesting something from the service. If you do a PUT, or POST, you are creating or modifying something on the service. I am sure you can guess what DELETE does. HEAD just means give me the meta data of the particular resource. The request is also composed of a URI, optionally HTTP Headers, and a body, which could simply be a binary payload, base64 encoded payload (common in content Web services), or could be a list of parameter name and value pairs. The response from a RESTful service is Text (sometimes comma separated), XML, or JSON. Many services allow the requester to specify how they want the response. -Came from Roy Fieldings 2000 Ph.D. dissertation -REST is resource oriented, as opposed to object, or RPC

RESTful Support Application Express 4.x Expose report regions as RESTful Web service Wizard to create RESTful Web reference NEW in 4.1: Testing interface while creating the reference Test/Edit RESTful Web reference Wizard to create form on RESTful Web reference Wizard to create form and report on RESTful Web reference NEW in 4.2: Support for JSON responses Since 4.0, you have been able to interact with RESTful style web services. Once you define a reference to the service, you can create a form on the request and response, or a form and a report on the response. In 4.2, there is some type of support for JSON feeds that are returned from some services.

Amazon Simple Storage Service (S3) Storage for the Internet Designed to provide 99.99999999% durability and 99.99% availability Designed to sustain the concurrent loss of data in two facilites Write, read, delete objects from 1 byte to 5 terabytes Objects are stored in “buckets” – a container for objects Common use cases: Content storage and distribution Backup or disaster recovery

Amazon S3 – Technical Details Create an AWS account, http://aws.amazon.com/ Sign up for an S3 account, http://aws.amazon.com/s3 Authentication Authorization HTTP header AWS AWSAccessKeyId:Signature Signature is HMAC-SHA1 of selected elements from the request, AWS Secret Key is used for the key Uses REST or SOAP interfaces

Amazon S3 – Technical Details Endpoint: http(s)://s3.amazonaws.com Common HTTP Headers for all interactions Host: <bucket_name>.s3.amazonaws.com Date: Convert to GMT, and then use format Dy, DD Mon YYYY HH24:MI:SS GMT Authorization: AWS <AWSAccessKeyId>:<Signature>

Amazon S3 – Technical Details – Common Operations List All Buckets Create Bucket Delete Bucket List Bucket Contents Get Object Add Object Delete Object

Contains function to parse response based on an XPath expression apex_web_service API Allows you to interact with Web services (SOAP, REST, RPC) in Application Express anywhere you can write PL/SQL Includes functions to encode/decode binary data to/from base64 encoding Contains function to parse response based on an XPath expression Globals to retrieve/set HTTP Headers and cookies Use the APEX_WEB_SERVICE API to invoke a Web service and examine the response anywhere you can utilize PL/SQL in Application Express. The following are examples of when you might use the APEX_WEB_SERVICE API: When you want to invoke a Web service via an On Demand Process using AJAX. When you want to invoke a Web service as part of an Authentication Scheme. When you need to pass a large binary parameter to a Web service that is base64 encoded. When you want to invoke a Web service as part of a validation.

APEX_WEB_SERVICE MAKE_REST_REQUEST Function - Syntax APEX_WEB_SERVICE.MAKE_REST_REQUEST( p_url IN VARCHAR2, p_http_method IN VARCHAR2, p_username IN VARCHAR2 default null, p_password IN VARCHAR2 default null, p_proxy_override IN VARCHAR2 default null, p_body IN CLOB default empty_clob(), p_body_blob IN BLOB default empty_blob(), p_parm_name IN WWV_FLOW_GLOBAL.VC_ARR2 default empty_vc_arr, p_parm_value IN WWV_FLOW_GLOBAL.VC_ARR2 default empty_vc_arr, p_wallet_path IN VARCHAR2 default null, p_wallet_pwd IN VARCHAR2 default null ) RETURN CLOB; Although this slide is ugly, it does present some useful information, and is especially relevant to our next demo. It shows the make_rest_request function of the apex_web_service API. Only the URL, HTTP Method is required. The inputs to the Web service you invoke could be a CLOB or BLOB payload (again, useful for content API’s, like Amazon’s S3) or a table of parameter names and parameter values.

Netflix API JavaScript, REST, Atom feeds search content manage subscriber queue display subscriber’s ratings auto-complete Response is POX (plain old XML) Register for key and secret http://developer.netflix.com/apps/register/ OAuth for authentication dealing with subscriber information Most requests are signed (much like Amazon s3)

Web Service Tools and Debugging Web Service Reference testing interface Altova XMLSpy Good for inspecting response Has utility to give you XPath to response nodes ProxyTrace, http://www.pocketsoap.com/tcptrace/pt.aspx Allows you to inspect the exact HTTP traffic (including headers) for a web service request/response Set proxy of your client to go through ProxyTrace to inspect the traffic

Application Express on OTN: http://otn.oracle.com/apex Additional Resources Application Express on OTN: http://otn.oracle.com/apex Application Express Web Service Integration Page: http://www.oracle.com/technetwork/developer-tools/apex/application-express/integration-086636.html Application Express 4.0 Web Services Evaluation Guide Web Service Integration Sample Applications Web Service Integration Whitepapers Blog: http://jastraub.blogspot.com