Re: mod_plsql vs java-based apps

From: Hans Forbrich <forbrich_at_yahoo.net>
Date: Wed, 01 Sep 2004 14:51:42 GMT
Message-ID: <2mlZc.84417$X12.56630_at_edtnps84>


Mark C. Stock wrote:

My questions are related to the proposed environment(s). I do not believe in a 'one size fits' all approach - my feet still hate me from the last time I tried that.

Up front: I agree with Bruce A. Tate & Justin Gehtland that J2EE and especially EJB is a serious overkill for *most* applications and I feel that the entire Entity Beans subspec should be abolished. Ref: Better, Faster, Lighter Java - http://www.oreilly.com/catalog/bfljava/

In the hands of the few craftsmen out there, the concept of managing
distributed entities is excellent.  However, the complexity of Entity Beans
is so great that, for the typical developer, they simply devolve into a
very complicated duplication of elementary database capabilities, requiring layer upon layer of untunable auto-generated wrapper.

> IDEs and libraries

If we allow JDeveloper IDE, then there is minimal distinction between the Java vs the PL/SQL _coding_ environment in JDeveloper.

If JDeveloper is not allowed, then you are comparing things like Toad to Visual Age for Java, etc. The comparison tends to eliminate the language capabilities and benefits in favor of an IDE comparison.

That said, the huge assortment of Java libraries is something to keep in mind. A great resource and with significant benefits. Also fantastic for shooting yourself in the foot - in part due to sheer size and 'deprecated but not removed'.

The Oracle-supplied PL/SQL library is pretty decent. Could use better documentation (although much improved with the 'Supplied Packages ...' manuals.

A lot of shops refuse to acknowledge the Oracle libraries. In some case it is preference, in some ignorance, but I've seen a lot of shops purchase something new instead of using something like AQ, Workflow. If that is the case, Java is superior.

>
> PL/SQL SP is a pain -- no real advantage over well organized Web Toolkit
> development environment

Personal judgement or technical evaluation? f former - is this the core of a religion?

> Use of JSP vs mod_plsql is part and parcel of the discussion
 

I put P-SP in the same league as JSP. There are benefits to the *SP approach in certain circumstances.

Lately JSP has expanded with a lot of significant enhancement. While there are a lot of excellent aditions, I find that it's grown almost to the point of unusability due to complexity.

The biggest benefit, ability to create your own tag libraries, is also the worst because it creates more religious sects - the bickering I've seen puts in mind movie scenes of KKK meetings.

> If using both, how best could/should security be integrated?

I am a firm believer in 'appropriate division of responsibility'.

- Put user authentication & authorization closest to the user;
- Map user to  group(s) in the middle;
- Put group-based data security closest to the data, in the DB.

I firmly believe in Oracle's RLS.

> | - what, if any, code is in place in either language
>
> that's the point of the discussion -- pros and cons as to where to place
> what type of code

You're missing my point - is there anything in place already? If 90% of the existing environment is PL/SQL, then I don't see the sense of introducing another language.

But to address yours:

I find that the 'Java in the middle tier' concept is great. In spite of my earlier comment about JSP, I think JSP and servlets to drive the UI and to glue the application parts is the right way to go.

I do NOT like the JDBC mechanism in general and was saddened when the SQL-J concept effectively died. Like EJB, I find that JDBC has too much complexity for the sake of 'generalization'. (However this is my personal religion.)

I do think that any Oracle application should have a library of PL/SQL that can be accessed from Java (directly, through wrapper, or through URL via PL/SQL). I still drink the old SQL*Forms Kool-aid about putting the code block in the right spot, either in the form or in the DB. Just happens the form is now servlet-or-JSP-based.

>
> | - what is the ratio of database intensive work to 'computational'
>
> ditto

What has changed between the old SQL Forms and now in terms of this decision? As far as I can tell, only the UI language itself!

>
> | - can we utilize existing DB packages and suppied procedures
>
> generalized discussion assumes fresh application, but i would think the
> same or similar issues using existing DB packages would be faced in either
> environment, but i'm suspecting mod_plsql would have an advantage
 

Again, I do not believe one size fits all, and generalization is therefore not necessarily valid.

There are also a number of secondary, generally political, issues to face:

  • skill set (existing or to be developed)
  • priority ... dev time, performance, uptime, maintenance cost
  • desired type of servers ... are DB or App servers the preference

Even when dealing with pure tech - in attempting to determine what is best, what is your basis of measurement?

/Hans Received on Wed Sep 01 2004 - 16:51:42 CEST

Original text of this message