Save up to 30% on Elsevier print and eBooks with free shipping. No promo code needed.
Save up to 30% on print and eBooks.
Oracle Database Programming using Java and Web Services
1st Edition - July 14, 2006
Author: Kuassi Mensah
Language: English
Paperback ISBN:9781555583293
9 7 8 - 1 - 5 5 5 5 8 - 3 2 9 - 3
eBook ISBN:9780080525112
9 7 8 - 0 - 0 8 - 0 5 2 5 1 1 - 2
The traditional division of labor between the database (which only stores and manages SQL and XML data for fast, easy data search and retrieval) and the application server (which…Read more
Purchase options
LIMITED OFFER
Save 50% on book bundles
Immediately download your ebook while waiting for your print delivery. No promo code is needed.
The traditional division of labor between the database (which only stores and manages SQL and XML data for fast, easy data search and retrieval) and the application server (which runs application or business logic, and presentation logic) is obsolete. Although the books primary focus is on programming the Oracle Database, the concepts and techniques provided apply to most RDBMS that support Java including Oracle, DB2, Sybase, MySQL, and PostgreSQL. This is the first book to cover new Java, JDBC, SQLJ, JPublisher and Web Services features in Oracle Database 10g Release 2 (the coverage starts with Oracle 9i Release 2). This book is a must-read for database developers audience (DBAs, database applications developers, data architects), Java developers (JDBC, SQLJ, J2EE, and OR Mapping frameworks), and to the emerging Web Services assemblers.
Describes pragmatic solutions, advanced database applications, as well as provision of a wealth of code samples.
Addresses programming models which run within the database as well as programming models which run in middle-tier or client-tier against the database.
Discusses languages for stored procedures: when to use proprietary languages such as PL/SQL and when to use standard languages such as Java; also running non-Java scripting languages in the database.
Describes the Java runtime in the Oracle database 10g (i.e., OracleJVM), its architecture, memory management, security management, threading, Java execution, the Native Compiler (i.e., NCOMP), how to make Java known to SQL and PL/SQL, data types mapping, how to call-out to external Web components, EJB components, ERP frameworks, and external databases.
Describes JDBC programming and the new Oracle JDBC 10g features, its advanced connection services (pooling, failover, load-balancing, and the fast database event notification mechanism) for clustered databases (RAC) in Grid environments.
Describes SQLJ programming and the latest Oracle SQLJ 10g features , contrasting it with JDBC.
Describes the latest Database Web services features, Web services concepts and Services Oriented Architecture (SOA) for DBA, the database as Web services provider and the database as Web services consumer.
Abridged coverage of JPublisher 10g, a versatile complement to JDBC, SQLJ and Database Web Services.
DBAs and Developers
Preface Introduction Part I: Java in the Database
1 Stored Procedures as Database Programming Model
1.1 Rationale for Stored Procedures
1.1.1 Simplifying Database Programming
1.1.2 Centrally Managed Data Logic
1.1.3 Performance: Run JDBC Applications Faster in the Database
1.1.4 Encapsulation
1.1.5 Security: Advanced Data Access Control
1.1.6 Resource Optimization
1.1.7 Low-Cost Deployment
1.1.8 Fully Utilize Database Capabilities
1.2 Obstacles to the Adoption of Stored Procedures
1.2.1 Lack of Portability across RDBMS Vendors
1.2.2 Scalability
1.2.3 Maintenance and Resilience to Schema Change
1.2.4 Hard to Debug
1.2.5 Weak Support for Complex Types
1.3 Languages for Stored Procedures
1.3.1 Proprietary Languages
1.3.2 Java for Stored Procedures
1.3.3 .NET Languages
1.4 PL/SQL or Java
1.4.1 PL/SQL and Java!
2 OracleJVM: Under the Hood
2.1 Design Goals and Architecture
2.1.1 Tight Integration with the RDBMS
2.1.2 J2SE Compatibility
2.1.3 How Is Java Stored in the Database?
2.1.4 Class Sharing
2.1.5 Interapplication Isolation (JSR 121)
2.1.6 Contrasting OracleJVM with the JDK VM
2.1.7 Resource Control
2.1.8 SQL Data Access from Java in the Database
2.1.9 DBMS_JAVA: The All-Purpose Tool for Administering OracleJVM
2.2 Java Memory Management
2.2.1 Key Memory Structures of the Oracle Database
2.2.2 Java Memory Allocation Techniques
2.2.3 Garbage Collection Techniques
2.2.4 Java Memory Areas
2.2.5 Shared Servers versus Dedicated Processes
2.2.6 The Javapool
2.2.7 Top-Level Calls and Recursive Calls
2.2.8 State Preservation across Calls and End-of-Call Migration
2.2.9 End-of-Call, VM Termination, and Session Termination
2.3 Security in OracleJVM
2.3.1 User Authentication
2.3.2 Database-Schema Security
2.3.3 Resolver Specification and Class-Resolution Security
2.3.4 Login-User and Effective-User Security
2.3.5 Java 2 Security in OracleJVM
2.3.6 Java 2 Security in OracleJVM
2.3.7 OracleJVM Security Best Practices
2.3.8 JNI Calls
2.4 Java VM Life Cycle
2.4.1 OracleJVM Install, Uninstall, and Reinstall
2.4.2 Java VM Initialization and Termination
2.5 Java Execution in the Database
2.5.1 The OracleJVM Interpreter
2.6 The Native Java Compiler (NCOMP)
2.6.1 What Is NCOMP?
2.6.2 Requirements and Design Choices
2.6.3 The NCOMP Process
2.6.4 The NCOMP Command
2.6.5 The STATUSNC Command
2.6.6 NCOMP Configuration and Planning
2.6.7 NCOMP Performance Tips, Improper Use, and Troubleshooting
3 Developing and Running Java in the Database
3.1 Developing Java in the Database
3.1.1 Turning JDBC Applications into Java Stored Procedures
3.1.2 Creating or Loading Java in the Database
3.1.3 Removing Java Sources, Classes, and Resources from the Database
3.1.4 Setting/Querying Environment Variable and System Properties
3.1.5 The Java Compiler within the Database
3.2 Turning Java in the Database into Stored Procedures
3.2.1 Call Spec Types
3.3 Mapping SQL and PL/SQL Types to/from Java Types
3.3.1 Mapping Matrix
3.3.2 Code Segments for Mapping
3.4 Invoking Java in the Database
3.4.1 Setup
3.4.2 Invoking Java in the Database Using OJVMJAVA
3.4.3 Invoking Java in the Database through the PL/SQL Wrapper
3.4.4 Invoking Java in the Database through Client-side Stub
3.4.5 Errors and Exceptions Handling
3.5 Managing Java in the Database
3.5.1 Java Audit
3.5.2 Oracle Enterprise Manager (Database Control) Support for Java in the Database
4 Pragmatic Applications Using Java in the Database
4.1 CNXO: Secure Credit Card Processing with Oracle and JSSE
4.2 Using J2EE and Java in the Database Together
4.2.1 Auto-generating Primary Keys for BMP Entity Beans
4.2.2 Calling-out EJB from OracleJVM
4.2.3 HTTP Call-Out: The Poor Man’s Cache Invalidation
4.2.4 JMS over Streams/AQ in the Database
4.3 JDBC Call-Out to Non-Oracle Databases
4.3.1 Description and Rationales
4.3.2 How Does It Work?
4.4 SAP Java Connector: Accessing the SAP System from the Oracle Database
4.5 Excel-like Expression Parser in the Database
4.5.1 Rationales for Custom Parsers in the Database
4.5.2 What Is the Mini-Parser?
4.5.3 Implementing the Mini-Parser
5 Database Scripting Using Non-Java Languages
5.1 Why Contemplate Non-Java Languages for the Database?
5.1.1 Common Language Runtime in RDBMS
5.1.2 Scripting Languages Support in RDBMS
5.2 Database Scripting with OracleJVM—Just for Fun!
5.2.1 Proof of Concept #1: Running TCL (JACL) Scripts in the Database
5.2.2 Proof of Concept #2: Running Jython (Python) in the Database
5.2.3 Proof of Concept #3: Running Kawa (Scheme) in the Database
5.2.4 Proof of Concept #4: Running Groovy in the Database Part II: Java Persistence and Java SQL Data Access Database Programming with Oracle JDBC
6 Introducing the JDBC Technology and Oracle’s Implementation
6.1 JDBC Primer
6.1.1 First Steps in JDBC
6.1.2 JDBC within J2SE and J2EE Environments
6.2 Overview of JDBC Specifications
6.2.1 Overview of JDBC 1.22 Specification (Where Things Started!)
6.2.2 Overview of JDBC 2.0 Specification (A Major Spec!)
6.2.3 Overview of JDBC 3.0 Specification
6.2.4 Overview of Upcoming JDBC 4.0 Specification
6.2.5 JDBC Standards Support in the Oracle JDBC Drivers
6.3 Architecture and Packaging of Oracle JDBC Drivers
17.1.4 The Architecture of the Integration Framework
17.1.5 The Complete Picture
17.1.6 Conclusion
17.2 Oracle interMedia
17.2.1 What Is Oracle interMedia?
17.2.2 How Does It Work?
17.2.3 Rationales for Storing Media Data in the Database
17.2.4 interMedia Powered by the Oracle Database Extensibility Framework
17.2.5 interMedia Powered by Java in the Database
17.2.6 Developing Feature-Rich Multimedia Applications Using interMedia
17.3 British Columbia: Online Corporate Registration
17.3.1 Corporate Online: Background
17.3.2 How It Works
17.3.3 Architecture: Requirements and Design
17.3.4 Messaging across Tiers
17.3.5 Future Work
17.3.6 Conclusion
17.4 Information Retrieval Using Oracle Text
17.4.1 What Is Oracle Text?
17.4.2 Why Java in the Database?
17.4.3 Technical Features
17.4.4 Benefits of an Integrated Search Capability
17.4.5 Yapa
17.4.6 Conclusion
17.5 Database-Driven Content Management System (DBPrism CMS)
17.5.1 DBPRISM CMS: Key Features and Benefits
17.5.2 The Architecture of DBPrism CMS
17.5.3 DBPrism CMS Internals
17.5.4 Extended Capabilities
17.5.5 Text Searching
17.5.6 Installing DBPRism CMS
17.5.7 Future Work
17.6 Conclusion Index
No. of pages: 1120
Language: English
Edition: 1
Published: July 14, 2006
Imprint: Digital Press
Paperback ISBN: 9781555583293
eBook ISBN: 9780080525112
KM
Kuassi Mensah
Group Product Manager, Java Products Group -- Oracle Corporation (U.S.A.).
The author handles product management for Java, JDBC, and Database Web Services for the Oracle Database; as a result this book offers insider details and tips.
Affiliations and expertise
Group Product Manager, Java Products Group - Oracle Corporation, U.S.A.
Read Oracle Database Programming using Java and Web Services on ScienceDirect