Web Services Development made easy
Olivier Le Diouris Principal Product Manager
Agenda The Scope Database as a Service Provider Database as a Service Consumer Future
Agenda The Scope Database as a Service Provider Database as a Service Consumer Future
The Scope Web Services Technology Stack – SOAP – WSDL – UDDI SOAP Architecture : Services & Service Providers JSR-109 : J2EE Web Services Benefits of J2EE Internet Web Services
Web Services Technology Stack SOAP UDDI WSDL Uses the Internet, firewall friendly Language & Platform agnostic Good interoperability, NO portability Uses XML messaging Stateless C, C++ Perl VisualBasic Java C# PL/SQL Cobol ADA Fortran Pascal APL SPL
SOAP Services and Providers A SOAP Request A SOAP Service Greetings, Stock Quotes, Directions, Currency Rates, Traffic, … A SOAP Provider Java, Perl, Shell Script, PL/SQL, VB, …
Web Services & J2EE JDBC JCA JMS Servlet JSP EJB war-files ear-files J2SE J2ME JAX-P JAX-M JAX-R JAX-RPC JAX-B … more! Java C, C++ Perl Visual Basic Java C# PL/SQL Cobol ADA Fortran Pascal APL SPL QuickBasic Smalltalk Prolog JSR 109
How to deploy a Java Web Service the J2EE way Java Class(es) Java Interface WSDL document Bundled as a J2EE ear-file Brings portability to a Web Services application OC4J
D E M O N S T R A T I O N A J2EE Web Service and its Proxy
Agenda The Scope Database as a Service Provider Database as a Service Consumer Future
Database as a Service Provider Already existing logic or data-centric process running in the Database To be published as a J2EE Web Service (JSR 109) Use JPublisher to generate the java wrapper
Rationale Use Oracle JPublisher to generate a Java wrapper Publish the Java Wrapper as a JSR-109 compliant Web Service Will take advantage of the J2EE containers data-sources and connection pooling mechanism
Oracle JPublisher Available since Oracle 8 Can manage unsupported types Today, uses SQLJ Available from the command line, as well as from IDE Wizards
D E M O N S T R A T I O N Exposing PL/SQL as a Web Service
Agenda The Scope Database as a Service Provider Database as a Service Consumer Future
Database as a Service Consumer Web Services access from the Database Immediately available for any application accessing the Database (SQL Statement, Oracle PL/SQL, Oracle Forms, etc) Use the appropriate features wherever they run Internet Web Services
Rationale Generate a java stub or proxy for any Web Service, after the associated WSDL Publish this stub or proxy as a Java Stored Procedure Result: Its another PL/SQL executable Internet Web Services
Requirements Store the libraries required by the SOAP client in the Database (use loadjava) Grant the appropriate privileges to access external resources Internet Web Services
D E M O N S T R A T I O N Consuming a Web Service from the Database
Agenda The Scope Database as a Service Provider Database as a Service Consumer Future
Whats coming SQL Query and DML – Additional Returned Data Formats Direct Java-to-Java invocation AQ /Streams operations XML Operations Asynchronous/Deferred Service execution JAX-RPC Client SOAP stack Automatic Table Function Generation Enhanced Tooling – Command line – JDeveloper
otn.oracle.com Join Over 3,000,000 Developers! Free Software Downloads Free Technical Advice
For more information TheServerSide.com J2EE Community – Largest J2EE site in the world – 305,000 registered members – Enterprise Java News – Design Patterns – Free Books – Product Reviews – Articles and Video Interviews
A Q & Q U E S T I O N S A N S W E R S