Corporate PPT Template - PowerPoint PPT Presentation

About This Presentation
Title:

Corporate PPT Template

Description:

Database Connectivity for Java, J2EE, Web Services and GRID ... Reduced Java intermediate and Temporary Objects. Caching and Reusing ... – PowerPoint PPT presentation

Number of Views:407
Avg rating:3.0/5.0
Slides: 37
Provided by: downloa6
Category:
Tags: ppt | corporate | java | template

less

Transcript and Presenter's Notes

Title: Corporate PPT Template


1
(No Transcript)
2
Kuassi Mensah Rajkumar Irudayaraj Java Products
Group
Oracle Corporation
3
Oracle Database 10g JDBCBest-of-Breed Drivers
for Java, J2EE, Web Services and GRID

4
Agenda
  • Oracle Database 10g JDBC Overview
  • Implicit Connection Cache
  • Fast Connection Fail-Over

5
Agenda
  • Oracle Database 10g JDBC Overview
  • Re-Architecture Groundwork
  • Database Connectivity for Java, J2EE, Web
    Services and GRID
  • Tighter Integration with the Oracle Database
  • Feature Consistency across Type-2 and Type-4
    Drivers
  • Miscellaneous Enhancements
  • Implicit Connection Cache
  • Fast Connection Fail-Over

6
Re-Architecture Ground Work
  • Reduce functional gap between drivers
  • Faster JDBC Application Execution
  • Reduced Code Path
  • Reduced Java intermediate and Temporary Objects
  • Caching and Reusing
  • Optimized Conversion Operations
  • Fastest JDBC Drivers,
  • Best SPECJApp2002 results

7
Comprehensive Support for JDBC 3.0
  • Oracle Database 9i R2 JDBC
  • Transaction Savepoint
  • Toggling between Local and Global transactions
  • Reuse of PreparedStatement
  • JDK 1.4.x support for JDBC Clients
  • Oracle Database 10g JDBC
  • Named Parameters
  • DataLink URL
  • New Ref interface
  • J2EE Connector Architecture Resource Adapter
  • Web Rowset (JSR-114 Public Draft)

8
Database Connectivity for Web Services
  • Web Services Support
  • JDBC 3.0 Web RowSet (JSR-114 Public Draft)
  • Database Web Services Call-in
  • GRID Computing Support
  • Dynamic Load-balancing across RAC/GRID
  • Transparent Session Migration for GRID (Future)

9
JSR-114 JDBC RowSet
EJB Servlet
JDBCRowSet
CachedRowSet
Web Services
WebRowSet
FilteredRowSet
10
JDBC WebRowSet - Definition
  • An implementation of JSR-114, extends
    java.sql.ResultSet capabilities
  • Enables reading and writing result sets from/into
    XML format
  • Serializable/Distributable
  • Disconnected, decoupled from Data Source
  • Extensible to non-tabular data
  • Can be shipped over Internet using HTTP/XML
    protocols

11
JDBC WebRowSet - Example
  • //create a resultSet to populate RowSet
  • stmt conn.createStatement()
  • rs stmt.executeQuery("select ...")
  • OracleWebRowSet wrs new OracleWebRowSet()
  • // populate the RowSet
  • wrs.populate(rs)
  • // close the connection
  • conn.close()
  • // RowSet still contains values...
  • wrs.next()
  • Object col1 wrs.getObject(1)
  • // write the RowSet out as XML
  • wrs.writeXML(out)

12
Database as Web Services Provider
J2EE (Business Logic)
Oracle Database 10g
Oracle9iAS Web Services Framework
Web Service Client
Java
PL/SQL
Oracle Application Server 10g
SOAP
JDBC
Data Data Logic
SQL/DML
SQL/Query
AQ/Streams
13
Database Connectivity forRAC/GRID
  • Dynamic Load-balancing across RAC/GRID
  • Fast Connection Fail-Over
  • Transparent Session Migration for GRID
  • Migrate Sessions across instances of the same
    database (Future)

14
Tighter Integration with the Oracle Database
  • Manageability/Ease of Use
  • End-to-End Tracing support
  • Enhanced Datum support
  • Easy Type-2 Driver Install
  • New and Enhanced Data Types
  • Native IEEE DOUBLE and FLOAT
  • INTERVAL-DAY-TO-SECOND
  • Enhanced VARRY
  • LONG-to-LOB Conversion
  • Unlimited LOB size

15
Feature Consistency across Type-2 and Type-4
Drivers
  • Thin Reducing the gap with OCI
  • PL/SQL Index-By table support
  • New Encryption algorithms 3DES112 3DES168
  • Direct XA performance optimizations for XA
    operations
  • Proxy Authentication
  • RAC/HA support Fast Connection Fail-Over
  • Starting/Stopping the Database

16
Miscellaneous
  • System Properties to set CHAR/NCHAR behavior
  • Stop shipping classes111 and zip files
  • NLS Repackaging

17
Agenda
  • Oracle Database 10g JDBC Overview
  • Implicit Connection Cache
  • Connection Caching 9i R2 versus 10g
  • Transparent Access to the Cache
  • Connection Retrieval based on User-Defined
    Attributes
  • Handling Abandoned Connections
  • Connection Cache Manager
  • Advanced Features
  • Fast Connection Fail-Over

18
Connection Caching 9i R2 versus 10g Connection
Connection Caching 9i R2 10g
Transparent Cache Access No Y
es Refresh Stale Connections No Yes Attri
butes based Conn. Retrieval No Yes
Reclaim/Reuse Abandoned Conn. No Yes
Heterogeneous User/Password No Yes
Centralized Cache Management No Yes
19
Transparent Access to the Connection Cache
  • Standard DataSource getConnection() APIs retrieve
    cached Connections
  • Example
  • ods.setUSer(scott)
  • ods.setConnectionCachingEnabled(true)
  • ctx.bind(MyDS, ods)
  • ds (OracleDataSource) ctx.lookup(MyDS)
  • conn.getConnection() // transparent cache
    creation and access
  • conn.close() // return connection to the cache
  • ds.close() // finally, close cache enabled
    DataSource

20
Connection Attributes Support
  • Request connection from cache based on
    user-defined attributes
  • getConnection(java.util.Properties connAttr)
  • Support to associate user-defined attributes on a
    connection for future retrieval
  • applyConnectionAttributes(java.util.Properties
    connAttr)
  • close(java.util.Properties connAttr)
  • Get unmatched attributes on the retrieved
    connection
  • java.util.Properties getUnMatchedConnectionAttribu
    tes()

21
Connection Attributes Support
  • Example
  • // Multiple attributes may be specified
  • connAttr.setProperty(NLS_LANG, ISO-LATIN-1)
  • connAttr.setProperty(TRANSACTION_ISOLATION,
    SERIALIZABLE)
  • conn getConnection(connAttr) // retrieve
    connection
  • // get UnMatched attributes from the retrieved
    connection
  • // May need to initialize the required attributes
    that did not match
  • java.util.Properties unMatchedAttr
    conn.getUnMatchedConnectionAttributes()
  • conn.close(connAttr) // close the connection

22
Abandoned Connection Timeout Support
  • Helps reclaim abandoned or orphaned connections
    checked out from the cache
  • Support enabled by setting AbandonedConnectionTime
    out property on the cache
  • JDBC monitors heart beat based on activity to the
    database, such as stmt.execute().
  • Connection is reclaimed and returned to the
    cache, if connection is inactive for the
    specified period

23
Connection Cache Manager
mid-tier Node
Oracle JDBC Driver
Cache 1
Session 1.1
....
Session 1.m
...
Session n.1
....
Cache n
Cache Manager
Session n.m
24
Connection Cache Manager
  • Centralized Connection Cache Management
  • Handles cache management from creation until
    death.
  • Allows dynamic cache reconfiguration.
  • Supports retrieval of number of checked out or
    available connections
  • Supports and manages multiple caches

25
Advanced Features
  • Connection Attributes support based on weights
  • Allows assignment of weights to attributes for
    selective retrieval of connections from cache.
  • Support for new Cache property
  • to assign weights to connection Attributes
    java.util.Properties CacheAttributeWeights
  • Support for Connection Cache Callbacks
  • for AbandonedConnectionCallback and
    ReleaseConnectionCallback

26
Agenda
  • Oracle Database 10g JDBC Overview
  • Implicit Connection Caching
  • Fast Connection Fail-Over

27
Fast Connection Fail-over
  • Resilient connections Rapid detection and
    cleanup of invalid connections in the cache
  • This is achieved by handling RAC Service/Host
    DOWN events
  • Load Balancing of connections for Service UP
    events

28
Fail-over Scenario
Instance1
Inst 1
Inst 2
Inst 3
Inst 4
Pre Fail-over
Post Fail-Over
29
Fast Connection Fail-over Processing
Connection Cache Manager
ONS Daemon
1
Connection cache objects
Start/Stop
3
Publish
Subscribe
2
4
Threads process events, one per cache
handleEvent()
5
Failover Event HandlerThread
..
..
..
Connection objects
30
Fast Connection Fail-over Processing
  • New DataSource property ConnectionFailoverEnabled
    must be set to true
  • Works in conjunction with Implicit Connection
    Caching, to process connections efficiently
  • Each connection is mapped to its Instance Name
    and Host Name.
  • Processes Service UP/DOWN and Host DOWN events.
  • Process events one at a time guaranteed
    processing.

31
Fast Connection Fail-over Processing
  • One Worker thread per Connection Cache handles
    event processing more efficient
  • First pass
  • Connections are marked as down first, to
    efficiently disable bad connections
  • Second pass
  • Cleans up connections that are marked as bad
  • Applications in the middle of a Transaction are
    thrown a SQL Exception, and the Transaction is
    rolled back
  • Service UP event initiates connections to be Load
    Balanced to all active RAC instances

32
Fast Connection Fail-over (FCF) vs. TAF
  • Connection Retries
  • FCF allows retry at the Application level,
    whereas TAF retries occur at the OCI/Net layer.
    Application layer (Example EJB Container) fully
    controls retries
  • Integrated with the Connection Cache
  • Unlike TAF, FCF works in conjunction with the
    Implicit Connection Cache, and has complete
    control over connections managed by the cache
  • RAC Events Based
  • FCF is a RAC event based mechanism. This is much
    more efficient than detecting failures of network
    calls
  • Load Balancing Support
  • FCF supports UP event Load Balancing of
    connections across active RAC instances

33
JDBC Summary
  • Best performing JDBC drivers
  • Hassle-Free Install and Upgrade
  • Faster Development
  • Best Database Connectivity for Java, J2EE, Web
    Services and GRID
  • Tighter Integration with the Oracle Database
  • Feature Rich Implicit Connection Cache
  • RAC Events based Fast Connection Fail-Over
  • Feature consistency across type-2 and type-4 JDBC
    drivers
  • Allows the flexibility of using different flavor
    of JDBC drivers for development and deployment

34
More on TheServerSide.com J2EE Community
  • News
  • Articles
  • Design Patterns
  • Benchmarks
  • Case Studies
  • Free PDFs of popular books

35
A
36
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com