Register your product to gain access to bonus material or receive a coupon.
Oracle users know: The Internet changes everything. Harness Oracle to the power of Java programming language to take your e-business to the top.
More than 90% of all e-business solutions include Oracle databases, from Amazon to eBay. But the database is only half the story. This book shows you how to use Java programming tools to bring your database to life on the Internet, utilizing the new integration between Java and Oracle.
You can connect a Java program to your database through the JDBC, for instance, pooling connections via servlets or implementing three-tiered applications through RMI. Or, Java can be used directly with the Oracle Application Server as a full-fledged development and production environment, supporting Servlets, JavaServer Pages, CORBA, and Enterprise JavaBeans. At the highest level, Java applications can run directly into the database using the Java virtual machine that is part of Oracle 8i. All these powerful features make Oracle + Java a perfect choice for the secure, scalable, 24/7 needs of e-commerce.
Filled with detailed explanations and working diagrams, Oracle 8i & Java: From Client/Server to E-Commerce covers a wide range of Oracle/Java topics, including four crucial knowledge areas:
Object-Relational Databases: Architecture, DDL, DML, SQL, performance, and securityStored Procedures and Business Components: PL/SQL, SQLJ, JDBC 2.0, BC4J, and XMLMiddleware: Servlets, JavaServer Pages, Active Server Pages, Sockets, and JNIOracle 8i functionality: Enterprise JavaBeans, CORBA servers, clients, and objectsThe CD-ROM includes sample code from the book for Linux/UNIX, Windows, and MacOS.
Click here for a sample chapter for this book: 0130176133.pdf
Preface.
1. Introduction to Oracle Object-Relational Database Design and Architecture.
Relational Model and Design for the Bookstore. Importance of the Database Model and Design. Transforming an ERD into a Table Design. Transforming Supertype and Subtype Entities. Generic Subtype Design. Table or System Design. Object Model and Design for the Bookstore. Mapping the Class Model to an Oracle Database. Object to Relational Mapping Rules. Summary.
Overview of SQL Statements. A Brief Introduction to Oracle SQL*Plus. Generic DDL Syntax. Oracle Naming Rules for Database Structures. Oracle8 Built-in Data Types. Relational Tables. Alternative CREATE TABLE Syntax. Relational Views. Oracle Sequences. Oracle Synonyms. Oracle Object Types. Oracle Object Tables. Oracle Object Views. Security: Access-Control Statements. Summary.
SELECT Statements. Single Row Functions. WHERE CLAUSE to Restrict Rows Retrieved. Table Join Operations. ORDER BY. Aggregate Functions. GROUP BY Clauses. HAVING Clauses. Subqueries. Querying Object Structures. Summary.
DML on Relational Tables. DML on Object Tables. DML on Collection Objects. Getting More Performance with DML. Transactions in Oracle SQL. Summary.
Architectural Elements. Performance Tuning. Summary.
Network Firewalls. Oracle Security. The Demilitarized Zone. Using Oracle Security and Synonyms to Implement a Development Environment. New Oracle Security Features. Summary.
Anonymous Blocks. PL/SQL Variables and Data Types. Conditional and Sequential Controls. Using SQL Statements in PL/SQL. Cursors. PL/SQL Tables and Varying Arrays. User-Defined/Object Types in PL/SQL. Summary.
Stored Procedures and Functions. PL/SQL Packages. PL/SQL and Object Types. Exception Handling in PL/SQL. Transactions in PL/SQL. Java and PL/SQL: A Comparison. Performance Considerations. Summary.
Introducing the JDBC Architecture. The Driver Manager and JDBC Drivers. Overview of JDBC Interfaces and Classes. Using JDBC Objects. Summary.
Extensions to Oracle JDBC Drivers. Support for the JDBC 2.0 Optional Package. Summary.
An Overview of SQLJ. Connecting to a Database in SQLJ. Executing SQL Statements Using SQLJ. Processing Oracle SQL Object Types. Processing SQL Collections. Managing Large Data Types. Executing Stored Procedures and Functions. Summary.
Java Code Running in the Oracle Kernel. Three Steps to Develop and Deploy Stored Procedures. Making Java and PL/SQL Interact. PL/SQL versus Java: Choosing the Right Tool for Your Task. Summary.
The Business Component for Java Framework. Introduction to XML Basics. Creating a Business Component Application Module. Testing Components and the Application Module. Creating BC4J Client Applications. Customizing the Components. Deploying a Business Component. Summary.
Multiple Threads, Session State, and Security. Connection Pooling. A Servlet Example. BookServlet: Pros and Cons. Running BookServlet. Summary.
JSP: An Overview. ASP: An Overview. JSP and ASP Compared. Reworking BookServlet Using JSP. Summary.
Evolution of Oracle Application Server. Oracle Application Server Architecture. Configuring PL/SQL Applications. Configuring Java Applications. Introducing Oracle9i Application Server. Summary.
The Mediator Design Pattern. Java Sockets. Summary.
Oracle Pre-Compilers. Java Native Methods. Setting Up Your Environment to Run the Example. Debugging JNI Functions. Summary.
Application Queues. Oracle Advanced Queuing. Examples of Advanced Queuing. Summary.
Data Replication. Basic Replication in Oracle. An Example of Data Replication. Summary.
EJB Environment and Structure. Creating an Enterprise JavaBean. Creating EJB Client Application. Creating an EJB and Client with JDeveloper. Running the Enterprise JavaBean. Summary.
Preparing to Run Oracle8i EJB Services. Deploying an EJB with Command-Line Utilities. Running the Client Application after Deployment. Transaction-Enabling an Enterprise JavaBean. Restrictions and Limitations with Oracle8i EJBs. EJB Security in Oracle8i. Removing an EJB from Oracle8i Server. Deploying an Enterprise JavaBean to Oracle Application Server. Summary.
Distributed Computing: Historical Background. The Common Object Broker Architecture. Putting It All Together: The First CORBA Program. The Java Transaction Service (JTS). Summary.
More on Interface Definition Language. Managing the Oracle Name Space. Using the CORBA Tie Mechanism. Further References. Summary.
This book is about software development using Oracle and Java, two of the most powerful and robust platforms available for building Internet enabled applications. Since there are many books about Oracle, and even more about Java, we embarked on this project to bring these two worlds together, firm in our belief that there are few books that give a detailed perspective by combining the strengths of Oracle and Java in one book. We see this book as a valuable friend, learning aid, and reference for any Java developer building web-enabled applications accessing an Oracle database.
This is a book written for developers by seasoned professionals who have been actively using and teaching Oracle and Java technology for some years. The focus of "Oracle8i and Java: From Client/Server to e-Commerce" is primarily from a software developer's perspective. However, application designers and system architects will also find this book valuable because they will gain a broad and solid understanding of combining the object oriented world of Java with the object-relational world of Oracle technology. With this in mind, we have assumed that:
Therefore, a portion of this book is devoted to Oracle database fundamentals and object-relational features found in SQL and PL/SQL. The first chapter provides a discussion of the database model and tables used for most of the examples found in the book. When coupled with the SQL and PL/SQL chapters, it provides a foundation on which to build Java code that capitalizes on the best features of an Oracle database.
If you are already experienced with Oracle SQL and PL/SQL, you may find that you can skip the first six chapters of the book. However, we recommend that you read the first chapter, and encourage you to look at the early chapters, as we believe you are likely to find valuable information on the Oracle database architecture, SQL and PL/SQL functionality, and, particularly, information on using object-relational structures.
Many organizations are now building web-enabled applications, most likely for electronic commerce. Thus, the contents of this book place an emphasis on Java development using technology in the middle-tier such as Oracle Application Server or equivalent web servers, and, in the backend, using an Oracle8i database. During this project there were rapid changes in the Java and Oracle software platforms, making the task of keeping up with these moving targets impossible, and we were in danger of being caught in a never-ending documentation cycle. Like all projects, there had to be an end, and despite the fact that Oracle released a successor to Oracle Application Server, i.e. Oracle9i Application Server, and announced that Oracle9i was around the corner, we felt this book had a great deal to offer and know that its contents, for the most part, will be applicable in the context of future releases of Java and Oracle software.
The code examples were developed using either Oracle8i Release 1 (8.1.5) and/or Release 2 (8.1.6) using the JDK 1.1.8 and, in some cases, JDK 1.2 with JDeveloper 3.0 and JDeveloper 3.1. The platforms used for code development included Microsoft Windows, Solaris, and Linux. Historically, the original title of the book was "Oracle for Java Programmers," which was replaced by its published title "Oracle8i and Java: From Client/Server to e-Commerce." For this reason, you will find our source code examples use Java package names like com.prenhall.OFJP.*, where the OFJP acronym was derived from the first letters of the original book title.
The first chapter provides unique coverage of using an object-oriented database design approach and transformation into a relational, or object-relational implementation, by using an object-oriented style of persistence that closely fits the world of Java application development. In addition, there is coverage of Oracle8 SQL Object types and SQL collections that are not widely used, and, therefore, not widely written about in the context of Java and SQLJ applications. Information on SQL Objects, provided here, will provide a basic understanding enabling you to leap into the promising future releases of the Oracle database with impending changes to the object-relational functionality that cannot be covered in this book due to time constraints.
Although this book has no physical indication of major parts, the twenty-four chapters are logically arranged into four parts:
From this structure it should be evident there is much breadth and depth in the material. Therefore, we trust you will find this book a valuable resource for your work using Java and Oracle technology.
The Oracle Technology Network (OTN) is an industry-first Developer Service Provider (DSP) that offers a broad set of services for developing, testing, and deploying Oracle-based solutions and applications. These include a supporting workplace environment for online collaborative development, online support with access to Oracle and industry experts, as well as free software downloads, technical libraries, and a job marketplace for Oracle-related positions. Membership is FREE, and so is the latest development software. Join OTN today at http://www.oracle.com/books/
You can also join and visit Oracle Technology network at http://technet.oracle.com
Before we embarked on the project resulting in this book, Elio had seen his first efforts as an author come to fruition with release of his book "Software Engineering with Oracle," published by Prentice Hall. Elio was actively involved in several projects as an architect for Java based systems, and had run out of time and space to include Java material in a book devoted to designing and developing C/C++ based applications with Oracle. In my case, I had been actively teaching Java courses and providing consulting services for Java and database related projects.
Elio had indicated a crazy desire (in his own terms, and with hindsight I agree) to write about Java and Oracle, which had become a passion for him as it was for me. My involvement in this book began with an idle suggestion that Elio should consider writing a book about Java and Oracle with a coauthor (i.e. me), saving him the monstrous effort of writing yet another book by himself. We both laughed off the suggestion and I thought it was dropped, until two weeks later Elio called me and said I was employed as a coauthor and that Prentice Hall jumped at the suggestion.
We soon embarked on a six month plan to write an advanced book on Java and Oracle, assuming that our audience would already know the basics of using Oracle SQL and PL/SQL, and had core Java programming skills under their belt.
After some initial reviews it became evident that our plan was perceived to be too complex. After all, that's what we embarked on and that was our initial intent. Elio and I relented to suggestions to simplify the content and ease the reader into the more complex topics. This involved a redesign of a book, which started out with 5 huge chapters broken into lots of smaller digestible pieces, twenty-four chapters organized into 4 logical parts to be exact. This resulted in more manageable pieces of information for you as the reader, but it took much longer to complete, eighteen instead of the original six months. The time to complete this book increased for several reasons:
I share this information with you as a way of documenting the journey that I took to complete the creation of this book, not as a list of excuses. Now I am the proud father of two: Michael and this book. The more important one arrived first!