* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Corporate PPT Template - Oracle Software Downloads
Survey
Document related concepts
Entity–attribute–value model wikipedia , lookup
Microsoft Access wikipedia , lookup
Tandem Computers wikipedia , lookup
Concurrency control wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Relational model wikipedia , lookup
Database model wikipedia , lookup
ContactPoint wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Clusterpoint wikipedia , lookup
Transcript
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 10g • Part-II: The TECSIS Case Study 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 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 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 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 Java Memory Areas -- Dedicated Server Shared memory Fixed SGA Shared pool Java pool Process memory UGA sessionspace PGA newspace oldspace 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 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 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 Native Java Interface (II) A client-side stub API for direct invocation of static server-side Java methods JDBC Stub Java class 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 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 Extending Database Capability -- the TECSIS Case Study (1) OS390 Natural/ Adabas AS400 RPG-DB400 Tandem COBOL ACI call Reply ACI call Reply ACI call Reply RFC call SAP Reply E N T I R E X OS390 Natural/ Adabas COM Clients ORACLE 8i Database O R A C L E A C I J D B C S E R V I C E AS400 RPG-DB400 Oracle9i PL/SQL JDBC call Data Logic XDK for PL/SQL Reply rmi call Reply SAP - JCO Gateway OracleJVM -pure Java Libs non-Oracle jdbc S A P J C O J D B C (2) Batch processes Tandem COBOL non Oracle RDBMS Database Web Services Database as Service Provider J2EE (Business Logic) Oracle9i/Oracle10i Database Web Service SOAP Client Oracle9iAS Oracle10iAS JDBC Oracle9iAS Web PL/SQL Services Data Framework SQL/DML Java DataSQL/Query Logic AQ/Streams Database Web Services Database as Services Consumer Oracle9iAS PL/SQL Web Services Framework SQL Java Batch Jobs WSDL SOAP Message XML Web Service Provider Data Data Logic Service 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 Web Services Data Sources Web Service Client Framework (SOAP) Database Module (Web Service Client) Table Function SELECT city_name, temp, low_temp, high_temp FROM TABLE (Temp_TF) Web Service Provider SOAP Request/Response 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 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 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 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 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 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 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 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 Most Important Goals Simplify cross-platform integration Cost Savings Avoid Point-to-Point Communication 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 Integration Framework Architecture Typical Use Case scenarios. Java Stored Procedures Calling External Systems. External Systems Calling Stored Procedures. 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 Java Stored Procedures calling External Systems OS390 Natural/ Adabas ORACLE 8i Database COM Clients OO4O call Reply Batch processes SQL*PLUS OCI P R O C E D U R E S XDK for PL/SQL jars uploaded: EntireX Communicator API non Oracle jdbcs AS400 RPG-DB400 E A I P K G OracleJVM rmi call Reply SAP JCO Gateway -> SAP Tandem COBOL non Oracle rdbms 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 External system calling Oracle Stored Procedures (1) OS390 Natural/ Adabas AS400 RPG-DB400 Tandem COBOL ACI call Reply ACI call Reply ACI call Reply RFC call SAP Reply E N T I R E X COM Clients ORACLE 8i Database O R A C L E A C I J D B C S E R V I C E S A P J C O J D B C (2) P XDK for PL/SQL R jars uploaded: E O EntireX Communicator API A JDBC call C non Oracle jdbcs I E Reply D P U K R G E S OracleJVM Batch processes 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 Putting Everything Together (1) ACI call Reply ACI call Reply RFC call SAP Reply A C I J D B C S E R V I C E S A P J C O J D B C (2) OO 4O Rep ly O R A C L E ORACLE 8i Database P XDK for PL/SQL R jars uploaded: E O EntireX Communicator API A JDBC call C non Oracle jdbcs I E Reply D P U K R G E S OracleJVM ll a c C B JD oci Tandem COBOL Reply E N T I R E X ly s sql*plu AS400 RPG-DB400 ACI call Re p OS390 Natural/ Adabas OS390 Natural/ Adabas COM Clients Batch processes ll ca C ly RP ep R call RPC y l Rep AS400 RPG-DB400 rmi call Reply SAP JCO Gateway -> SAP RPC call Rep ly jd bc Re c pl all y Tandem COBOL non Oracle rdbms Tecsis case study D E M O N S T R A T I O N Online scenarios 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. Read more Customers case studies @ http://otn.oracle.com/tech/java/jsp/content.html Reminder – please complete the OracleWorld online session survey Thank you. QUESTIONS ANSWERS