Practical Uses for Web Services in Application Express

19 Slides1,015.50 KB

Insert Picture Here Practical Uses for Web Services in Application Express

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. 2012 Oracle Corporation – Proprietary and Confidential 2

Agenda Web services introduction Insert Picture Here Web service support in Application Express Amazon S3 APEX WEB SERVICE API Web Service Tools and Debugging Additional resources Q&A 2012 Oracle Corporation – Proprietary and Confidential 3

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.” 2012 Oracle Corporation – Proprietary and Confidential 4

SOAP Web Services 2012 Oracle Corporation – Proprietary and Confidential 5

RESTful Style Web Services 2012 Oracle Corporation – Proprietary and Confidential 6

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 2012 Oracle Corporation – Proprietary and Confidential 7

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 2012 Oracle Corporation – Proprietary and Confidential 8

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 2012 Oracle Corporation – Proprietary and Confidential 9

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 2012 Oracle Corporation – Proprietary and Confidential 10

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 2012 Oracle Corporation – Proprietary and Confidential 11

Amazon S3 – Technical Details – Common Operations List All Buckets Create Bucket Delete Bucket List Bucket Contents Get Object Add Object Delete Object 2012 Oracle Corporation – Proprietary and Confidential 12

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 2012 Oracle Corporation – Proprietary and Confidential 13

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; 2012 Oracle Corporation – Proprietary and Confidential 14

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) 2012 Oracle Corporation – Proprietary and Confidential 15

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 2012 Oracle Corporation – Proprietary and Confidential 16

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/a pplication-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 2012 Oracle Corporation – Proprietary and Confidential 17

2012 Oracle Corporation – Proprietary and Confidential 18

2012 Oracle Corporation – Proprietary and Confidential 19

Back to top button