Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: JDBC Class Abstraction
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.htmReceived on Tue Nov 09 1999 - 11:24:48 CST
![]() |
![]() |