Title: Corporate PPT Template
1(No Transcript)
2Capoccetti EstebanSystems Architect
-Tecsis Kuassi Mensah GPM - Oracle Corporation
3Java in the DatabaseExtend your Database and
Reduce your Costs - The TECSIS Case Study
4Agenda
- Part-I Extend your Database and Reduce your
Costs with Java in Oracle Database 10g - Part-II The TECSIS Case Study
5Agenda
- 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
6Cost 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
7Whats 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
8Cost 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
9Java Memory Areas -- Dedicated Server
Shared memory
Shared pool
Fixed SGA
Java pool
Process memory
UGA
PGA
sessionspace
newspace
oldspace
stackspace
10Faster 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
11Risk 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
12Native 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
13Native 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_s
tring() - Use
- jpub -javaoracle.sqlj.checker.JdbcVersion
14Extending Database Reach
- Extending Databases 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
15Extending 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
RPG-DB400
RPC call
X
A
C
ACI call
PL/SQL
L
AS400
A
E
RPG-DB400
C
Reply
Data Logic XDK for PL/SQL
JDBC call
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
non Oracle RDBMS
Batch
O
processes
(2)
16Database Web Services Database as Service
Provider
J2EE (Business Logic)
Oracle9i/Oracle10i Database
Oracle9iAS Web Services Framework
Web Service Client
Java
PL/SQL
Oracle9iAS Oracle10iAS
SOAP
JDBC
Data Data Logic
SQL/DML
SQL/Query
AQ/Streams
17Database 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
18Database 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 -proxywsdlMETA-INF/HelloServiceEJB.wsdl
-dirgenproxy -packagejavacallout
-userscott/scott -endpointhttp//localhost8888/
javacallout/javacallout
19Web 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)
Web Service Client Framework (SOAP)
SOAP Request/Response
HTTP Client Stack
20Next 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
21Java 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
22Agenda
- 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
23Presentation 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
24About 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
25How 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
26Our 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
27Our 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
28Most Important Goals
- Simplify cross-platform integration
- Cost Savings
- Avoid Point-to-Point Communication
29Why 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
30Integration Framework Architecture
- Typical Use Case scenarios.
- Java Stored Procedures Calling External Systems.
- External Systems Calling Stored Procedures.
31Typical 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
32Java Stored Procedures calling External Systems
33Java 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
34External system calling Oracle Stored Procedures
(1)
COM Clients
E
ACI call
OS390
N
Natural/
T
Reply
OO4O
Adabas
Reply
I
ORACLE 8i Database
R
O
E
R
X
A
XDK for PL/SQL
P
C
ACI call
L
jars uploaded
R
AS400
A
E
E
EntireX Communicator API
O
RPG-DB400
C
Reply
A
I
JDBC call
non Oracle jdbcs
C
J
I
E
D
S
B
Reply
D
E
C
P
R
U
ACI call
K
V
Tandem
R
I
G
E
COBOL
C
Reply
E
S
OracleJVM
JDBC call
S
oci
sqlplus
Reply
A
J
RFC call
P
D
SAP
J
B
Reply
C
C
Batch
O
processes
(2)
35External system calling Oracle Stored Procedures
- Gateway using SAP Java Connector (1)
- sapjco -gt 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 -gt 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
36Putting Everything Together
37Tecsis case study
D E M O N S T R A T I O N
Online scenarios
38Conclusions
- 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.
39Read more Customers case studies _at_
http//otn.oracle.com/tech/java/jsp/content.html
Reminder please complete the OracleWorld
online session surveyThank you.
40A
41(No Transcript)