Oracle 8i and Java: From Client/Server to E-Commerce
Authors: Elio Bonazzi, Glenn Stokol
Venue:  (2001)

From the Book:Introduction and OverviewThis 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: You already know how to develop basic Java code and understand the fundamental object-oriented features of the Java language. You may have used SQL and relational databases, possibly even Oracle, but do not know much detail about Oracle databases.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 ofthe 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 Structure of the Book ContentsThe 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: Part I: Oracle Object-Relational Databases and the SQL Language introduces you to some object and relational database analysis and design principles, and mapping an object design to a relational implementation. You are provided with a basic introduction to Oracle SQL and PL/SQL, and discussions highlighting new features found in Oracle8i syntax. The SQL and PL/SQL chapters provide less comprehensive examples to cover syntax, avoid creating a huge book, and cover subject matter well covered elsewhere. The chapters included in this part are: Chapter 1: Introduction to Oracle Object-Relational Database Design and Architecture Chapter 2: Data Definition Language (DDL) Statements Chapter 3: Query Processing Chapter 4: Data Manipulation Language (DML) Statements and Transactions Chapter 5: Oracle Architecture and Performance Considerations Chapter 6: Oracle Security and Internet Security Part II: Oracle PL/SQL and Java Stored Procedures, Business Components and XML discusses programmatic functionality within the database in the form of PL/SQL and Java Stored procedures, and outside the database using Java with comprehensive coverage of JDBC 1.0 and some JDBC 2.0 features, and a chapter devoted to SQLJ technology. A special highlight in this group of chapters is the introduction to Oracle Business Components for Javaa framework of generated Java classes and XML files used to manage your database data independent of the user presentation layer. Oracle Business Components for Java is a technology yet to be discovered and can change the way your Java applications manage database data in any relational database. The chapters applicable to this part are: Chapter 7: Introduction to PL/SQL Chapter 8: PL/SQL Procedures, Functions, Packages and Exceptions Chapter 9: Data Access with JDBC - Java Connectivity Chapter 10: JDBC 2.0 and Oracle Extensions to JDBC Chapter 11: Data access with SQLJ - Embedding SQL in Java Chapter 12: Java Stored Procedures in Oracle8i. Chapter 13: Business Components for Java and XML Part III: Middleware: Servlets, Java Server Pages and Application Servers devotes itself to developing Java code in the middle-tier. Therefore, as the title states, you read about Java Servlets and JavaServer Pages using the Oracle platform, while non-Oracle environments are discussed for contrast. This section is also about scalability, and covers connection pooling, advanced queuing, distributing, and replicating the Oracle database data. Integration techniques are covered for web-enabling legacy systems through the use of Java Native Interface (JNI) API, and Java network sockets. The chapters that cover these topics include: Chapter 14: Data Access using Java Servlets and Connection Pooling Chapter 15: Active Server Pages and Java Server Pages Chapter 16: Using Java in Oracle Application Server Chapter 17: Web-enabling Legacy Application Using Network Sockets Chapter 18: Web-enabling Legacy Application Using JNI Chapter 19: Accessing Oracle Advanced Queuing Through Java Chapter 20: Using Oracle Replication to Build Distributed Systems Part IV: Oracle8i: The Internet Database (The Engine Room) covers Java components in the database. The chapters in this section guide you through development and deployment of Session Enterprise JavaBean in the O transaction management services provided by the Oracle8i Enterprise JavaBean container. Two chapters are devoted to developing Java application code to be deployed as CORBA objects inside the Oracle8i database engine. The chapter titles are: Chapter 21: Enterprise JavaBeans: An Introduction Chapter 22: Deploying and Using Enterprise JavaBeans Chapter 23: CORBA and its Implementation in Oracle8i: An Overview Chapter 24: Advanced CORBA topics 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.Downloading Oracle SoftwareThe 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...