1 / 41

Capoccetti Esteban Systems Architect -Tecsis Kuassi Mensah GPM - Oracle Corporation

Capoccetti Esteban Systems Architect -Tecsis Kuassi Mensah GPM - Oracle Corporation. Java in the Database Extend your Database and Reduce your Costs - The TECSIS Case Study. Agenda. Part-I: Extend your Database and Reduce your Costs with Java in Oracle Database 10 g

mirella
Download Presentation

Capoccetti Esteban Systems Architect -Tecsis Kuassi Mensah GPM - Oracle Corporation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Capoccetti EstebanSystems Architect -Tecsis Kuassi Mensah GPM - Oracle Corporation

  2. Java in the DatabaseExtend your Database and Reduce your Costs - The TECSIS Case Study

  3. Agenda • Part-I: Extend your Database and Reduce your Costs with Java in Oracle Database 10g • Part-II: The TECSIS Case Study

  4. 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

  5. Cost Reduction • Faster Java Applications Development • Reuse of Java Skills for Database Applications • Reuse of Standard and 3rd-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

  6. 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

  7. 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

  8. Java Memory Areas -- Dedicated Server Shared memory Fixed SGA Shared pool Java pool Process memory UGA PGA sessionspace newspace oldspace stackspace

  9. 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

  10. 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

  11. 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

  12. JDBC Java class Stub 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

  13. 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

  14. Extending Database Capability --- the TECSIS Case Study OS390 (1) COM Clients Natural/ Adabas ACI call OS390 E N Natural/ OO4O T Reply RPC call Adabas I ORACLE 8i Database R O AS400 E Oracle9i R RPC call X RPG-DB400 A C ACI call PL/SQL L AS400 A E RPG-DB400 C Reply JDBC call Data Logic XDK for PL/SQL I J SAP - JCO D rmi call S Reply B Gateway E Reply C R OracleJVM ACI call V Tandem I COBOL C Reply • pure Java Libs • non-Oracle jdbc RPC call E Reply Tandem COBOL JDBC call Reply S jdbc call Reply A J RFC call P D SAP J B Reply C C Batch non Oracle RDBMS O processes (2)

  15. Database Web Services Database as Service Provider J2EE (Business Logic) Oracle9i/Oracle10i Database Oracle9iAS Web Services Framework Web Service Client PL/SQL Java Oracle9iAS Oracle10iAS SOAP JDBC Data Data Logic SQL/DML SQL/Query AQ/Streams

  16. Database Web ServicesDatabase as Services Consumer Web Service Provider Oracle9iAS Web Services Framework PL/SQL SOAP Message SQL Java Data Data Logic XML Batch Jobs Service WSDL

  17. 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

  18. Web Services Data Sources SELECT city_name, temp, low_temp, high_temp FROM TABLE (Temp_TF) Web Service Provider Table Function Database Module (Web Service Client) SOAP Request/Response Web Service Client Framework (SOAP) HTTP Client Stack

  19. 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

  20. 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 Java DB Features Summary

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. Most Important Goals • Simplify cross-platform integration • Cost Savings • Avoid Point-to-Point Communication

  28. 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

  29. Integration Framework Architecture • Typical Use Case scenarios. • Java Stored Procedures Calling External Systems. • External Systems Calling Stored Procedures.

  30. 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

  31. OS390 Natural/ Adabas RPC call ORACLE 8i Database Reply AS400 RPG-DB400 RPC call XDK for PL/SQL P Reply jars uploaded: OO4O call R E EntireX Communicator COM Clients O A API Reply C SAP I non Oracle jdbcs E rmi call JCO D Gateway Reply P U -> SAP K SQL*PLUS Batch R G processes E RPC call OCI S Reply Tandem OracleJVM COBOL jdbc call Reply non Oracle rdbms Java Stored Procedures calling External Systems

  32. 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

  33. External system calling Oracle Stored Procedures (1) COM Clients ACI call E OS390 N Natural/ T Reply OO4O Adabas Reply I ORACLE 8i Database R O E R X A P XDK for PL/SQL C ACI call L R jars uploaded: AS400 A E E O EntireX Communicator API RPG-DB400 C Reply A I JDBC call C non Oracle jdbcs J I D E S B Reply D E C P R U ACI call K V Tandem R I G COBOL E C Reply E S OracleJVM JDBC call S sql*plus oci Reply A J RFC call P D SAP J B Reply C C Batch O processes (2)

  34. External system calling Oracle Stored Procedures • 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

  35. Putting Everything Together

  36. Tecsis case study D E M O N S T R A T I O N Online scenarios

  37. 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.

  38. Read more Customers case studies @ http://otn.oracle.com/tech/java/jsp/content.htmlReminder – please complete the OracleWorld online session surveyThank you.

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

More Related