Web Services in Oracle Database 10g and beyond

Reviews
Shared by: Corona NLime
Stats
views:
155
rating:
not rated
reviews:
0
posted:
2/11/2009
language:
English
pages:
0
Session id: 40064 Web Services in Oracle g and beyond Database 10 Ekkehard Rohwedder Manager, Web Services Oracle Corporation Content Motivation  Web Services (An overview from 10,000 feet)  Consumed by the Database: Web Service call-outs – – Installation Java and PL/SQL clients  The Database Provides: Web Service call-ins – – PL/SQL and Java DML and Queries  Database Grid Services  Conclusion Motivation – Who are you?  Are you writing programs in the Database? Using SQL, PL/SQL, or Java? Then you may want to consume external Web Services – – E.g. weather, stock prices, tax tables, products, genome data E.g. as SQL query data sources => Enterprise Information Integration: => Can use table functions to virtualize Web Services as tables Motivation – Who are you?  Want to get to Resources in Database? By using Web Services? Then you want to provide Database Web Services – – E.g. weather, stock prices, tax tables, products, genome data E.g. PL/SQL packages and Java stored procedures; XML, MultiMedia; messaging capabilities Content  Motivation  Web Services (An overview from 10,000 feet)  Consumed by the Database: Web Service call-outs – – Installation Java and PL/SQL clients  The Database Provides: Web Service call-ins – – PL/SQL and Java DML and Queries  Database Grid Services  Conclusion Web Services – An Overview from 10,000 feet An application or component with Three Things: 1. a URI 2. interacts through XML via internet 3. interfaces/binding described in XML Web Services – An Overview from 10,000 feet Three Specifications 1. SOAP – the XML-based message protocol 2. WSDL – the service description 3. UDDI – the Web Service “phone directory” Web Services Service Consumer connect – An Overview from 10,000 feet Firewall http://www.myserver.com/a/b Service Provider package and deploy Web Services Service Consumer connect invoke service/methods – An Overview from 10,000 feet 20 20 Invoke: XML SOAP message Firewall http://www.myserver.com/a/b Service Provider package and deploy implement Web Services Service Consumer connect invoke service/methods – An Overview from 10,000 feet UDDI Repository Publish WSDL Service Provider implement package and deploy describe and publish Web Services Service Consumer find/locate – An Overview from 10,000 feet Get or Locate WSDL bind connect invoke service/methods UDDI Repository Service Provider implement package and deploy describe and publish Web Services Service Consumer find/locate – An Overview from 10,000 feet bind/connect invoke service/methods 2- Get or Locate WSDL, Bind UDDI Repository “Shortcut” 3-Connect, Invoke SOAP 1-Publish WSDL Service Provider implement package and deploy describe and publish Content  Motivation  Web Services (An overview from 10,000 feet) Consumed by the Database: Web Service call-outs – – Installation Java and PL/SQL clients  The Database Provides: Web Service call-ins – – PL/SQL and Java DML and Queries  Database Grid Services  Conclusion Consumed by the Database – Web Service call-outs Oracle Database Service Consumer Java and PL/SQL bind connect invoke service/methods Get WSDL and bind Service Provider Connect, invoke SOAP implement package and deploy describe and publish “access external Web Services from DB code: stock quotes, weather info, Web search, scientific data, enterprise data, etc.” Web Service Call-Outs Oracle Database SQL Engine Table Function Dyn Inv Itf PL/ SQL Wrap per Java WS Client Stack Java Client Proxy Connect, invoke SOAP Service Provider implement package and deploy describe and publish Web Service Call-Outs - Installation  Preloaded in Oracle 10g Database JVM  initdbws.sql script (under [OH]/sqlj) – – loads utl_dbws_jserver, sqljutl JAR files creates SYS.UTL_DBWS package  JAX-RPC client stack for Web Services in JavaVM  grant java.net.SocketPermission to users of WS client library Web Service Call-Outs – Java Clients  Using Dynamic Invocation Interface: Service s = factory.createService(serviceQname); // Note: can also consume a WSDL document Call call = service.createCall(portQname); call.setTargetEndpointAddress(endpoint); call.setProperty(…,…); … call.setReturnType(returnTypeQname); call.setOperationName(opQname); call.addParameter(pname, ptype, pmode); Object[] params = { … }; Object result = call.invoke(params); Web Service Call-Outs – Java Clients  Generate static client proxy with JPublisher jpub -proxywsdl=WSDL-location -user=user/pwd – – Creates static JAX-RPC client-proxy code Loads Java code into the database  Invoke via client interface CInterf itf = new Client_Impl().getCInterfPort()); ((Stub)itf). _setProperty(…,…); … StringHolder p_inout = new StringHolder(“…”); Integer result = itf.operation(p_inout, p_in); … Web Service Call-Outs – PL/SQL clients  Dynamic PL/SQL clients use UTL_DBWS package svc call retval outargs := := := := UTL_DBWS.createService(WSDLLocation); UTL_DBWS.createCall(svc, operation); UTL_DBWS.invoke(call, args); UTL_DBWS.get_output_values(call); – uses ANYDATA to represent argument values (primitive types only) all names are qualified – – explicitly close services and calls when done Web Service Call-Outs – PL/SQL clients  Static PL/SQL clients (packages) are automatically created by JPublisher – – – – generation of Java “glue” to expose static Java methods generation of PL/SQL package call-specs generation of SQL object types for complex arguments installation of Java and PL/SQL code into database  Can be invoked from SQL and from PL/SQL code – – SELECT WS_PACK.WS_OP(...) FROM ... BEGIN ... x := WS_PACK.WS_OP(...); END; Content  Motivation  Web Services (An overview from 10,000 feet)  Consumed by the Database: Web Service call-outs – – The Database Provides: Web Service call-ins – – Installation Java and PL/SQL clients PL/SQL and Java DML and Queries  Database Grid Services  Conclusion The Database Provides - Web Service Call-Ins  Database Capabilities – – – – PL/SQL and Java Stored Procedures SQL queries and DML XML capabilities (XDB) Advanced Queueing (AQ) and Streams  Access from JDBC => now through Web Services The Database Provides - Application Server Hosts Web Service Service Consumer find/locate bind/connect invoke service/methods Get WSDL and bind Connect, invoke SOAP Oracle Application Server Hosted as J2EE Web Service delegate package and deploy describe and publish Oracle Database JDBC Service Implementation (PL/SQL, SQL, Java, XML, AQ, …) Web Service Call-Ins  Oracle Application Server framework – J2EE-based, JAX-RPC Web Services => deployment, security, management  Tools – – JDeveloper, Enterprise Manager Web Services Assembler (JPublisher), DCM Control Web Service Call-Ins  Web Services Assembler configuration – – – – PL/SQL package, Java class, or SQL statement that is to be exposed; data source at runtime connection information for Java code generation name and package of generated Java class Web context Enterprise Manager or DCM Control browse connection, right click over package and publish as Web Service  EAR deployment, securing, UDDI publishing –  Use JDeveloper wizard to automate task – Web Service Call-Ins – Web Services Assembler configuration /statelessSP scott/tiger jdbc:oracle:thin:@host:5521:sqlj jdbc/ds Company acme … the database resource that is published as a Web Service … • Invocation: java -jar wsa.jar -config config.xml Web Service Call-Ins – PL/SQL packages • … the database resource that is published … == Company method1 method2 Web Service Call-Ins – Java classes in the DB • … the database resource that is published … == foo.bar.Baz method1 method2 • Will expose public static methods with serializable arguments. Web Service Call-Ins – PL/SQL packages and Java classes • Automatic support for PL/SQL types: BOOLEAN, record, and table types. Generation of SQL object types as necessary • Native Java calls use Java serialization over JDBC • OUT and IN OUT arguments supported in generated Java code • holder classes in 10g JAX-RPC • JavaBeans in 9.0.4 stack • JPublisher generates Java wrapper classes – this is useful by itself outside of DB Web Services Web Service Call-Ins – SQL Queries and DML statements • … the database resource that is published … == getEmp select ename from emp where ename=:{myname VARCHAR} updateEmp update emp SET sal=sal+500 where ename=:{theName VARCHAR} > Web Service Call-Ins – SQL Queries and DML statements • :{myname VARCHAR} is a SQL host variable • DML statements automatically committed / rolled back. Provide a batch (array) API as well • SQL queries / REF CURSOR arguments mapped to • structured data (JavaBean format), or • WebRowset or SQL/XML formats • SYS.XMLTYPE mapped to XML subtrees Content  Motivation  Web Services (An overview from 10,000 feet)  Consumed by the Database: Web Service call-outs – – Installation Java and PL/SQL clients  The Database Provides: Web Service call-ins – – Database Grid Services  Conclusion PL/SQL and Java DML and Queries Database Grid Services • GRID = efficient utilization of resources • GRID infrastructure defined by GGF (Global Grid Forum) is based on Web Services technologies • DAIS Working Group in GGF (Database Access and Integration Services WG): • databases become GRID resources • generic access mechanism: “XML version of JDBC” • distribution of results Database Grid Services • DAIS Specification – generic access => standard way for accessing the DB via XML => distribution mechanism – leveraging DB capabilities of Advanced Queueing, Streaming • server-side XML support further integrated with DBWS • support for asynchronous invocation and notification mechanisms for DBWS • full JDeveloper support (today: PL/SQL call-in) Content  Motivation  Web Services (An overview from 10,000 feet)  Consumed by the Database: Web Service call-outs – – Installation Java and PL/SQL clients  The Database Provides: Web Service call-ins – – PL/SQL and Java DML and Queries  Database Grid Services Conclusion Conclusion Database Web Services is  invoking database APIs such as SQL, PL/SQL, and Java through Web Services   re-use PL/SQL and Java stored procedures utilize SQL queries and DML statements  handle result sets, XML documents, Relational, Text, Spatial, Binary and Multi Media data  accessing external Web Services as SQL data sources from Java and PL/SQL database code Conclusion  JAX-RPC client in Oracle JavaVM for call-outs  Oracle Application Server for DB call-ins  create, deploy, secure, and publish Web Services – – – JDeveloper IDE Oracle Enterprise Manager command line: Web Service Assembler (with JPublisher), DCM Control Conclusion – What Next…  Visit the Oracle Database Web Services demo on the DEMOgrounds  Visit the Web Services pages on OTN http://otn.oracle.com  Download the 10g Oracle Application Server preview with JAX-RPC Web Services QUESTIONS ANSWERS

Related docs
Oracle DB 10g
Views: 663  |  Downloads: 41
Oracle 10g Database Administration Training
Views: 124  |  Downloads: 26
Oracle Database 10g Installation Instructions
Views: 561  |  Downloads: 46
Oracle Database 10g Best for Windows
Views: 348  |  Downloads: 42
Oracle Database 10g Installation Instructions
Views: 123  |  Downloads: 30
Oracle Database 10g_ Implement Streams
Views: 108  |  Downloads: 19
Oracle Database 10g Express
Views: 1  |  Downloads: 0
Guide to Oracle 10g
Views: 210  |  Downloads: 36
Oracle Database 10g Program with PLSQL
Views: 430  |  Downloads: 18
oracle
Views: 786  |  Downloads: 49
premium docs
Other docs by Corona NLime
Greatest Commands
Views: 276  |  Downloads: 4
Installment land contract
Views: 453  |  Downloads: 37
Handbook for Students of Arabic
Views: 1203  |  Downloads: 126
Condition of receiver
Views: 198  |  Downloads: 1
Acquisition by capture
Views: 176  |  Downloads: 2
Exercise Chart
Views: 1241  |  Downloads: 24
Change me Lord
Views: 226  |  Downloads: 1
ch130
Views: 121  |  Downloads: 0
Baker v Weeden
Views: 318  |  Downloads: 3
Torts Outline
Views: 779  |  Downloads: 45
NoteCards
Views: 303  |  Downloads: 4
Hess v Pawloski
Views: 899  |  Downloads: 7
Robinson Bruenig Heath Briefs
Views: 348  |  Downloads: 1
Breath
Views: 194  |  Downloads: 1