Corporate PPT Template - Oracle Software Downloads

Download Report

Transcript Corporate PPT Template - Oracle Software Downloads

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