Académique Documents
Professionnel Documents
Culture Documents
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?
Three Specifications
1. SOAP – the XML-based message protocol
2. WSDL – the service description
3. UDDI – the Web Service “phone directory”
Web Services
– An Overview from 10,000 feet
Service Consumer
connect
Firewall
http://www.myserver.com/a/b
Service Provider
connect UDDI
<wsdl:definitions>
<wsdl:types></wsdl:types> Repository
invoke service/methods <wsdl:message></wsdl:message>
<wsdl:portType></wsdl:portType>
<wsdl:binding>
<wsdl:operation></wsdl:operation>
</wsdl:binding>
<wsdl:service></wsdl:service>
</wsdl:definitions>
Publish WSDL
Service Provider
implement
package and deploy
describe and publish
Web Services
– An Overview from 10,000 feet
Service Consumer
find/locate Get or Locate WSDL
bind
UDDI
<wsdl:definitions>
Repository
connect <wsdl:types></wsdl:types>
<wsdl:message></wsdl:message>
invoke service/methods <wsdl:portType></wsdl:portType>
<wsdl:binding>
<wsdl:operation></wsdl:operation>
</wsdl:binding>
<wsdl:service></wsdl:service>
</wsdl:definitions>
Service Provider
implement
package and deploy
describe and publish
Web Services
– An Overview from 10,000 feet
Service Consumer
2- Get or Locate
find/locate
WSDL, Bind UDDI
bind/connect
Repository
invoke service/methods
“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
Get WSDL and bind
Service Consumer
Java and PL/SQL
bind
connect
invoke service/methods “access external Web
Services from DB
code: stock quotes,
Connect, Service Provider
weather info, Web
invoke SOAP implement search, scientific data,
package and deploy
enterprise data, etc.”
describe and publish
Web Service Call-Outs
Oracle Database
Dyn Inv Itf
SQL Java
Engine PL/
SQL WS
Wrap Java Client
Table per Client Stack
Function Proxy
Connect,
invoke SOAP Service Provider
implement
package and deploy
describe and publish
Web Service Call-Outs - Installation
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
svc := UTL_DBWS.createService(WSDLLocation);
call := UTL_DBWS.createCall(svc, operation);
retval := UTL_DBWS.invoke(call, args);
outargs := UTL_DBWS.get_output_values(call);
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 Get WSDL and bind
invoke service/methods
</sql-statement>>
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
– PL/SQL and Java
– DML and Queries
Database Grid Services
Conclusion
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