This is a book about putting Java to work in the Oracle database. It concentrates on real-world applications that developers can put to immediate use in their day-to-day jobs and, in addition, gives in-depth consideration to the question of when it is appropriate to use Java from a performance perspective (including benchmarks). The examples in the book clearly distinguish between situations where:
Java can provide functionality that PL/SQL cannot. We exploit Java's capabilities for accessing system resources outside the database - such as operating system commands and network sockets. We also make use of powerful Java Utilities for messaging and generating graphics. For example, we develop an application whereby a pie chart image is generated from a query, and then automatically distributed to interested parties (using JavaMail) Java can be used to smoothly complement the programming capability of PL/SQL. An example here would be the use of PL/SQL packages to handle complex data types and schedule tasks in the database, in conjunction with the file transfer (FTP) or compression capabilities of Java.
The book is divided into four sections:
Section I is a fast-paced Java tutorial for PL/SQL programmers
Section II covers database access with JDBC and SQLJ and shows how to smoothly and correctly convert between Java and native SQL data types
Section III is the real heart of the book, where what has been learned is applied to practical problem solving with Java and PL/SQL
Section IV takes a detailed look at performance issues. Having considered Java application tuning and SQL tuning separately, we take a detailed look behind the scenes of Java database access and try to illustrate how you should choose between Java and PL/SQL for database operations
This book is for experienced Oracle developers looking to understand the advantages that Java brings and to exploit them in conjunction with SQL and PL/SQL. It will also be of interest to DBAs looking to understand how Java is likely to be used inside the database and how this affects them, and beginner/intermediate Java Developers looking to apply their knowledge in the Oracle arena.