Web Services in Oracle Database 10 g and beyond Ekkehard Rohwedder Manager, Web Services Oracle Corporation Session id: 40064.

Slides:



Advertisements
Similar presentations
Web Services Creation and Consumption in AllFusion ® 2E Paul Castleton - Manager, Development Laura Houchin - Senior Consultant Computer Associates USA.
Advertisements

19 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Developing Web Services.
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.
Web Services Development made easy Olivier Le Diouris Principal Product Manager.
TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
Bringing Handheld, PDA’s, and Smart Phone to the Enterprise Martin Graf Group Product Manager Oracle Corporation Session id:
Oracle Fusion Middleware 11g Abhishek Khanolkar. What is Oracle Fusion? “Oracle Fusion Middleware is a ‘preintegrated’ portfolio of customer- proven software.
1 CENTER FOR PARALLEL COMPUTERS An Introduction to Globus Toolkit® 3 -Developing Interoperable Grid services.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Integrating SOA and the Application Development Framework Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF.
Distributed Heterogeneous Data Warehouse For Grid Analysis
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
6/11/2015Page 1 Web Services-based Distributed System B. Ramamurthy.
Lecture 10: Web Services. Outline Overview of Web Services Create a Web Service with Sun J2EE (JAX-RPC)
XML Web Services ASP.NET. Overview of Web Services (Page 1) Web Service – Part or all of a Web application that is publicly exposed so that other applications.
1 How PL/SQL Applications Can Participate in a Service-Oriented Architecture Aino Andriessen AMIS.
Peoplesoft: Building and Consuming Web Services
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
XML Web Services in Visual Studio.NET Peter Ty Developer Evangelist.NET and Developer Group.
Presented by, MySQL & O’Reilly Media, Inc. Data Services: Mashing and Shredding Data Using XAware.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
Distributed Multitiered Applications The J2EE platform uses a multitiered distributed application model. Application logic is divided into components 1.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
1 3. Implementing Web Services 1.Create SOAP proxy interfaces and WSDL based service descriptions 2.Register/publish services 3.Stores service descriptions.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
Oracle9 i JDeveloper for Database Developers and DBAs Brian Fry Principal Product Manager Oracle JDeveloper Oracle Corporation.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
COP 4991 Component Based Software Development Lecture #4 Java Web Services Onyeka Ezenwoye.
UDDI ebXML(?) and such Essential Web Services Directory and Discovery.
Fundamentals of Database Chapter 7 Database Technologies.
I Copyright © 2004, Oracle. All rights reserved. Introduction Copyright © 2004, Oracle. All rights reserved.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Copyright  Oracle Corporation, All rights reserved. 1 Oracle Architectural Components.
CERN - IT Department CH-1211 Genève 23 Switzerland t DB Development Tools Benthic SQL Developer Application Express WLCG Service Reliability.
Kuassi Mensah Java Products Group Stephen Jones Oracle University.
1 1 EPCC 2 Curtin Business School & Edinburgh University Management School Michael J. Jackson 1 Ashley D. Lloyd 2 Terence M. Sloan 1 Enabling Access to.
WebLogic Server 7.0 New Features Alexander Berry, Jr. WLS Sr. Systems Engineer.
Copyright © 2002 ProsoftTraining. All rights reserved. JavaServer Pages.
XML and Web Services (II/2546)
Mike Jackson EPCC OGSA-DAI Architecture + Extensibility OGSA-DAI Tutorial GGF17, Tokyo.
INT-9: Implementing ESB Processes with OpenEdge ® and Sonic ™ David Cleary Principal Software Engineer.
A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,
IBM Software Group ® Managing Reusable Assets Using Rational Suite Shimon Nir.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Google Code Libraries Dima Ionut Daniel. Contents What is Google Code? LDAPBeans Object-ldap-mapping Ldap-ODM Bug4j jOOR Rapa jongo Conclusion Bibliography.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Topics to be covered (ni) Client side validation JSF (free tools as well) Webservices Tell Resources e.g. sites Packaging and deploying web applications.
SAP Integration with Oracle 11g Muhammad Raza Fatmi.
The Holmes Platform and Applications
z/Ware 2.0 Technical Overview
WEB SERVICES.
Service-centric Software Engineering
ApplinX Rod Carlson Senior Technical Lead.
Using JDeveloper.
Technical Capabilities
Introduction to Web Services
Distributed System using Web Services
New Tools In Education Minjun Wang
Distributed System using Web Services
Presentation transcript:

Web Services in Oracle Database 10 g and beyond Ekkehard Rohwedder Manager, Web Services Oracle Corporation Session id: 40064

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

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”

Service Provider  package and deploy Service Consumer  connect Web Services – An Overview from 10,000 feet Firewall

Service Provider  package and deploy  implement Service Consumer  connect  invoke service/methods Invoke: XML SOAP message Web Services – An Overview from 10,000 feet Firewall <se:Envelope xmlns:se= “ se:encodingStyle= "

Service Provider  implement  package and deploy  describe and publish Service Consumer UDDI Repository Publish WSDL Web Services – An Overview from 10,000 feet  connect  invoke service/methods

Service Provider  implement  package and deploy  describe and publish Service Consumer  find/locate  bind  connect  invoke service/methods UDDI Repository Web Services – An Overview from 10,000 feet Get or Locate WSDL

Service Provider  implement  package and deploy  describe and publish Service Consumer  find/locate  bind/connect  invoke service/methods UDDI Repository 3-Connect, Invoke SOAP 1-Publish WSDL 2- Get or Locate WSDL, Bind Web Services – An Overview from 10,000 feet “ Shortcut ”

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

Service Provider  implement  package and deploy  describe and publish Service Consumer Java and PL/SQL  bind  connect  invoke service/methods Connect, invoke SOAP Get WSDL and bind Consumed by the Database – Web Service call-outs Oracle Database “ access external Web Services from DB code: stock quotes, weather info, Web search, scientific data, enterprise data, etc. ”

Service Provider  implement  package and deploy  describe and publish Connect, invoke SOAP Web Service Call-Outs Java WS Client Stack Oracle Database Java Client Proxy PL/ SQL Wrap per SQL Engine Table Function Dyn Inv Itf

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 := UTL_DBWS.createService(WSDLLocation); call := UTL_DBWS.createCall(svc, operation); retval := UTL_DBWS.invoke(call, args); outargs := 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 – Installation – Java and PL/SQL clients  The Database Provides: Web Service call-ins – 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

Hosted as J2EE Web Service  delegate  package and deploy  describe and publish Connect, invoke SOAP Get WSDL and bind The Database Provides - Application Server Hosts Web Service Oracle Database Service Consumer  find/locate  bind/connect  invoke service/methods Service Implementation (PL/SQL, SQL, Java, XML, AQ, …) Oracle Application Server JDBC

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  EAR deployment, securing, UDDI publishing – Enterprise Manager or DCM Control  Use JDeveloper wizard to automate task – browse connection, right click over package and publish as Web Service

Web Service Call-Ins – Web Services Assembler configuration /statelessSP scott/tiger 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 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 – 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  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  Download the 10g Oracle Application Server preview with JAX-RPC Web Services

A Q & Q U E S T I O N S A N S W E R S