Download presentation
Presentation is loading. Please wait.
Published byAnabel Morris Modified over 9 years ago
2
Capoccetti Esteban Systems Architect -Tecsis Kuassi Mensah GPM - Oracle Corporation
3
Java in the Database Extend your Database and Reduce your Costs - The TECSIS Case Study
4
Agenda Part-I: Extend your Database and Reduce your Costs with Java in Oracle Database 10g Part-II: The TECSIS Case Study
5
Agenda Extend your Database and Reduce your Costs with Java in Oracle Database 10g Cost Reduction Risk Reduction Extending Database Reach and Capability Database Web Services New Features Summary Part-II: The TECSIS Case Study
6
Cost Reduction Faster Java Applications Development – Reuse of Java Skills for Database Applications – Reuse of Standard and 3 rd -Party J2SE 1.4 compatible Java libraries directly in the database Faster Java Applications Deployment in the database – Faster Loadjava utility with new Bytecode verifier
7
What’s in J2SE 1.4 Logging ( JSR-041) Security (JAAS, JCE) Preference (JSR-010) Assertion (JSR-041) Exception chaining New high-performance, scalable IO (JSR-051) Headless AWT Regular expression java.util.regex
8
Cost Reduction(II) Faster Applications Execution – Faster SQL and XML Data Access for J2SE, J2EE, Web Services and GRID New & Faster Server-side JDBC driver – Faster J2SE, JDBC, JMS and JAI Applications execution in the Database Optimized Java Memory Management Integrate Existing Software Assets – Enabling Custom Platform Integration Frameworks -- the TECSIS Case Study
9
Java Memory Areas -- Dedicated Server Shared memory Process memory UGA sessionspace Shared pool Java pool Fixed SGA PGA newspaceoldspace stackspace
10
Faster Application Execution Optimized Memory Management for Dedicated Server – Allocate needed spaces in PGA,once – Keep spaces alive beyond RDBMS call – Reuse JVM context Self Tuning Java Pool New Method Dispatch
11
Risk Reduction Choice – Java in database as an alternative to PL/SQL – Seamless SQL/Java integration SQL Exception propagation – Native Java Interface – Applications partitioning across Middle-tier/J2EE and the Database Support of Latest Java Standards – J2SE 1.4.x, JAI 1.0, JMS 1.x, JAX-RPC Client Protection against Malicious Java Code – See OracleJVM Security Mechanisms
12
Native Java Interface Using PL/SQL wrappers – Each wrapper had to be manually published with a SQL signature and a Java implementation – The signatures permitted only Java types that had direct SQL equivalents – Exceptions issued in Java were not properly returned
13
Native Java Interface (II) A client-side stub API for direct invocation of static server-side Java methods JPublisher transparently takes care of stub generation Example: to call the following method in the server public String oracle.sqlj.checker.JdbcVersion.to_string(); Use jpub -java=oracle.sqlj.checker.JdbcVersion Stub Java class JDBC
14
Extending Database Reach Extending Database’s Client-Base – Connected Clients – Non-Connected Clients Database Web Services Data Federation – Aggregate/Consume Data from J2EE (Web, EJBs) – Aggregate/Consume Data from Web Services – Integrate SQL, XML, Java, J2EE, Web Services Reaching-out Legacy Assets – Using Pure Java RPC libraries and JDBC Drivers
15
Extending Database Capability - -- the TECSIS Case Study COM Clients non Oracle RDBMS Tandem COBOL AS400 RPG-DB400 OS390 Natural/ Adabas Data Logic XDK for PL/SQL -pure Java Libs non-Oracle jdbc Oracle9i jdbc call RPC call Reply ORACLE 8i Database Batch processes SAP - JCO Gateway rmi call Reply Tandem COBOL AS400 RPG-DB400 OS390 Natural/ Adabas SAP E N T I R E X A C I S E R V I C E O R A C L E J D B C S A P J C O J D B C ACI call Reply ACI call RFC call JDBC call OO4O (1) (2) OracleJVM PL/SQL
16
Database Web Services Database as Service Provider SOAP J2EE (Business Logic) Oracle9iAS Web Services Framework Web Service Client Data Data Logic AQ/Streams SQL/Query SQL/DML JavaPL/SQL Oracle9 i AS Oracle10 i AS JDBC Oracle9 i /Oracle10 i Database
17
Database Web Services Database as Services Consumer Oracle9iAS Web Services Framework Data Data Logic Batch Jobs XML SOAP Message Web Service Provider Service SQL Java PL/SQL WSDL
18
Database as Web Service Consumer (II) JPublisher to generate the database client proxy using the the WSDL file for the webservice deployed jar xvf dist/javacallout.jar META-INF/HelloServiceEJB.wsdl jpub -proxywsdl=META-INF/HelloServiceEJB.wsdl - dir=genproxy -package=javacallout -user=scott/scott - endpoint=http://localhost:8888/javacallout/javacallout
19
Web Service Client Framework (SOAP) Database Module (Web Service Client) SELECT city_name, temp, low_temp, high_temp FROM TABLE (Temp_TF) SOAP Request/Response HTTP Client Stack Web Services Data Sources Web Service Provider Table Function
20
Next: Database GRID Services The Database as as a Web Service Based on GRID and Web Services standards – Permit Dynamic/Arbitrary SQL/XML operations – “JDBC over SOAP” – Statefull Web services
21
Java DB Features Summary OracleJVM J2SE 1.4.x compatible New Faster Server-side JDBC driver Optimized Java Memory Management (Dedicated Server) Self Tuning Java Pool Easy OracleJVM Monitoring New JPublisher options SQL Exceptions Propagation Native Java Interface CORBA/EJB Call-out Database Web Services – Java in the DB as a Web Service – Pre-loaded SOAP Client – Web Services Data Sources
22
Agenda Extend your Database and Reduce your Costs with Java in Oracle Database 10g Part-II: The TECSIS Case Study Who We Are How we are Using the Oracle Database Business and Technical Requirements Why We Choose Java in the Database Integration Framework : Architecture and Live Demo Conclusion
23
Presentation Objective This presentation describes our experience of using Java in the Oracle database and how it solved our integration requirements. Esteban Capoccetti Systems Architect Tecsis
24
About TECHINT & TECSIS TECHINT GROUP Areas of Business – steel industry – infrastructure projects – industrial plants and processes – the energy and power fields – the public services sector. The mission of TECSIS -- the System Technology division of TECHINT -- is to validate and disseminate technology throughout the TECHINT GROUP
25
How we use the Oracle database Have been using Oracle for 4 years Using PL/SQL Stored Procedures – No direct SQL calls Business Rules lay within those Procedures – Composite business rules allowed PL/SQL extended by Java Stored procedures
26
Our Business Requirements Business processes involved different platforms – necessity to integrate online information Reach information available online on other platforms, from existing PL/SQL packages Existing legacy systems and new web development required cross-platform integration Reusing of existing PL/SQL-based business rules
27
Our Technical Requirements Integrate a diversity of platforms: – SAP R3, RPG/AS400, ADABAS/Natural, Cobol Tandem, COM Components and non-Oracle Databases ( AdabasD, MSSQL Server ) Avoid point-2-point integrations Avoid the cost and Integration effort of a new product
28
Most Important Goals Simplify cross-platform integration Cost Savings Avoid Point-to-Point Communication
29
Why we choose Java within the Oracle database Transparent integration with the PL/SQL world – Transformation rules, when needed, are easily written in PL/SQL JVM already available -- no new product added Easy to load pure Java libraries including non-Oracle jdbc drivers Openess: Compatibility with Java standards Extensible: have no limits Robust and Secure
30
Integration Framework Architecture Typical Use Case scenarios. Java Stored Procedures Calling External Systems. External Systems Calling Stored Procedures.
31
Typical Use Case scenarios Code validations – System A needs to check whether a specific code value exists in system B Example: SAP and Natural Adabas On-line demo Pop-Up Lists – System A needs to display a list of values using content from system B Example: SAP and Oracle Procedure Cross-Platform Modifications (1PC) – For intance, a new product is added to system A, and the same product also must be added to system B
32
Java Stored Procedures calling External Systems COM Clients non Oracle rdbms Tandem COBOL AS400 RPG-DB400 OS390 Natural/ Adabas XDK for PL/SQL jars uploaded: EntireX Communicator API non Oracle jdbcs OracleJVM E A I P K G P R O C E D U R E S OO4O call Reply jdbc call RPC call Reply RPC call Reply ORACLE 8i Database Batch processes SQL*PLUS OCI SAP JCO Gateway -> SAP rmi call Reply
33
Java Stored Procedures calling External Systems EntireX Comunicator java client within the database SAP Java Connector via RMI calls from java stored procedures Third party pure java jdbc drivers within the database We created standar PL/SQL wrappers, called EAI_PKG, for each loaded module – Allows uniform invocation from the PL/SQL based business rules – An application integration guide has been distributed internally to all PL programmers It took us just a few days to allow programmers to build procedures that interact with other platfomrs
34
COM Clients XDK for PL/SQL jars uploaded: EntireX Communicator API non Oracle jdbcs OracleJVM E A I P K G P R O C E D U R E S ORACLE 8i Database Batch processes Tandem COBOL AS400 RPG-DB400 OS390 Natural/ Adabas SAP E N T I R E X A C I S E R V I C E O R A C L E J D B C S A P J C O J D B C ACI call Reply oci ACI call RFC call JDBC call OO4O sql*plus (1) (2) External system calling Oracle Stored Procedures
35
Gateway using SAP Java Connector (1) – sapjco -> Oracle jdbc ABAP programs call a java connector server which, in turn, calls the Oracle stored procedure – 50% API sapjco and 50% oracle jdbc driver Gateway using Software AG RPC solution (2) – EntireX Comunicator -> Oracle jdbc Natural/Adabas; RPG/AS400 and Cobol/Tandem will place a call to EntireX Comunicator which, in turn, invokes a Oracle Stored Procedure – 50 % API EntireX and 50% oracle jdbc driver
36
Putting Everything Together
37
D E M O N S T R A T I O N Online scenarios Tecsis case study
38
Conclusions By using the Oracle JVM we were able to: – Implement a complete, easy-to-use integration framework using Java and PL/SQL procedures. – Use existing skills of our PL programmers. – Shield our developers from the underlying complexity of our platform. – Reuse business logic among different platforms. In fact, we were able to turn the database into an online integration broker.
39
Read more Customers case studies @ http://otn.oracle.com/tech/java/jsp/content.html Reminder – please complete the OracleWorld online session survey Thank you.
40
A Q & Q U E S T I O N S A N S W E R S
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.