Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: JDBC Class Abstraction

Re: JDBC Class Abstraction

From: Joseph Weinstein <joe_at_weblogic.com>
Date: Tue, 09 Nov 1999 09:24:48 -0800
Message-ID: <382858E0.C6753FE3@weblogic.com>


Hi Sameer. For performance reasons, I would suggest isolating JDBC to as small a channel as possible, at the current state of the art. For now, JDBC drivers must implement and use the slow, stateful, client- DBMS protocol that for all major DBMSes was designed in the early '80s when client-server was the new thing.

   When DBMSes provide full Java in the DBMS, including the ability for an external client to make it's own socket connection with a DBMS-resident Java program that has first-class access to the data, and converse with fast protocols, then things will be better.

   It's very rare that a typical client uses 10% of the driver fucntionality that it must download or read in to have a JDBC driver in memory.

   For now, I'd suggest a middle tier that concentrates client requests, and caches relevant data asynchronously so every client request needn't involve the DBMS. If desired, the middle tier can notify clients if specific data has changed since they got their last copy. Clients should communicate with the middle tier using light-weight fast protocols like RMI and or JMS.

Joe Weinstein at BEA, the home of WebLogic

Sameer Utrankar wrote:

> This is a design related question and not really a programming issue.
>
> Is it good to:
> (1) Use JDBC directly in the application ?
> (2) Build a DBAccess layer on top of JDBC and ask programmers to use
> the layer ?
>
> (1) gives you quicker solution because no extra effort of layer
> building, need for programmers to know JDBC, Lot of work if JDBC API
> changes and app needs to be changed.
> (2) upfront effort to build the layer and easy to switch (?) if JDBC API
> changes down the road.
>
> I know Object Oriented Pundits will prefer to chose (2) and argue such
> as what if database changes from Oracle to Sybase, JDBC API changes etc.
> But taking a practical view how often such things happen in a company ?
> How often JDBC API is likely to change ? Will the change be such that
> it's not backward compatible ?
>
> Just trying to find what's the best approach for a new Java project. Any
> help ?

--
PS: Hey folks, we're hiring Java engineers for our WebLogic

    Engineering group in downtown S.F. Send me your resume.


                    The Weblogic Application Server from BEA
         JavaWorld Editor's Choice Award: Best Web Application Server
  Java Developer's Journal Editor's Choice Award: Best Web Application Server
     Crossroads A-List Award: Rapid Application Development Tools for Java
Intelligent Enterprise RealWare: Best Application Using a Component Architecture
               http://weblogic.beasys.com/press/awards/index.htm



Received on Tue Nov 09 1999 - 11:24:48 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US