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: multi-tier architecture

Re: multi-tier architecture

From: <kbcafe_at_my-dejanews.com>
Date: Sun, 07 Mar 1999 03:54:17 GMT
Message-ID: <7bst96$2tp$1@nnrp1.dejanews.com>


I'll start by saying that I don't think Java-DCOM is a good combination. Java has its own ooRPC mechanims, RMI. Unless of course, your planning on using that MTS near-vaporware (IMHO). Another better combination is Java-CORBA. Java, RMI and CORBA all port across many platforms. If you are going to use DCOM, then I suggest VB or VC++ as the development tool.

Now to your questions... #1 The only Java/COM book on the market is pathetic.  Here's the Amazon link anyway ->
http://www.amazon.com/exec/obidos/ASIN/1556226551/kbcafe

If you want a very advanced COM book then try COM/DCOM Unleashed, but it's not Java, it's C++/VB. You may also have to wait another two weeks, as it's just being release this month. Amazon link -> http://www.amazon.com/exec/obidos/ASIN/0672313529/kbcafe

#2 COM does security and connections. Load-balancing can be implement with a referral component. Look-up DOM dynamic load balancing for more on the referral component.

#3 I'd suggest removing triggers completely. They tend not to be portable. You'd likely have to rewrite the triggers for each new database. Move these to the application logic (mid-tier). This has the secondary affect of removing processing cycles from your database server, which could allow for better scalability.

#4
NA, see above.

#5 An important thing is round trips. If your transactions are smaller (they affect upto ten rows), then you could estimate that your processing time for the single transaction will increase relative to the amound of round trips. So one big stored procedure, broken into five dynamic SQL statements will likely cause performance of the single transaction to decrease by a factor of five (alot of factors to take into account though). This is assuming that your application server is not on the same box as your database. But, don't fret. You've actually taken cycles away from your database machine, which will make your application scale better. You can now freely add application servers and eventually you will get better performances. But watch-out for network traffic.

One last thing, use prepared statements.

IMHO In article <01be6805$55b987a0$2b034f0c_at_blkshear>,   "Judy Morris" <JBlackshear_at_worldnet.att.net> wrote:
> We are beginning (or preparing to begin) a project moving our software to a
> three-tier architecture. The main reason is that we need to support
> multiple databases (the application is currently written in Oracle). We
> know we're going to use Java for the middle layer and we're probably going
> to use COM. I don't know much about it - I'm just beginning to read up on
> the subject. Because we're supporting multiple databases, we do not want
> to use a database-specific product like Oracle Application Server.
>
> I have several questions/requests:
>
> 1. Can anyone recommend some good books or articles on design
> considerations for this type of architecture?
>
> 2. Can anyone recommend some good third-party components for security,
> connection, load-balancing, etc?
>
> 3. Does anyone have any advice, rules-of-thumb, etc. for which application
> logic we should move into the application server layer and which we can
> leave in the database? I'm thinking that basic "database rules" (as
> opposed to business rules) would remain in the database: maintaining
> denormalized fields, complex constraints, that sort of thing. Although
> I'll have to simplify my multiple-trigger row-level triggers in Oracle to
> the statement-level-only-one-per-type triggers in Sybase and SQL-Server.
> (I'm not looking forward to that - I love my Oracle triggers.)
>
> 4. How does executing Java components from triggers compare to triggers
> calling database packages/procedures in terms of speed, memory-use, etc?
>
> 5. How does sending multiple instructions to the database from Java
> compare to sending only a single instruction to the database and letting
> the db handle all of the remaining processing?
>
> Obviously, we're struggling with the eternal flexibility vs. speed
> tradeoff.
>
> Thanks,
> Judy Morris
>

////////////////////////////////////////
// He went out of his way to be good. //
////////////////////////////////////////

-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    
Received on Sat Mar 06 1999 - 21:54:17 CST

Original text of this message

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