Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Myth of the database independent applications (Was: Are you using PL/SQL)
On May 27, 12:38 pm, "Jonathan Lewis" <jonat..._at_jlcomp.demon.co.uk>
wrote:
> <zigzag..._at_yahoo.com> wrote in message
>
> news:1180257868.590456.84400_at_q69g2000hsb.googlegroups.com...
>
>
>
> > Three tier architecture is "standard" as well as good architecture
> > because it separates UI, Buisness Logic and database. UI only does UI,
> > database only stores data and busines slogic does the rest.
>
> I've always been fascinated by the concept of business logic
> being totally divorced from data correctness.
>
> Either the data is a correct description of the state of
> the business, or it is not - which means the "business
> logic" is inherent in the data and enforced by the
> constraints on the data.
>
> You may choose to have as many layers of code as
> you like to transform the data from one valid state to
> another valid state; but if you rely on programs to
> maintain data correctness, you don't have a database,
> you have a bit-bucket.
>
> Three-tier is not an ideal to be aimed for, it is crutch to
> be used as sparingly as possible until the database technology
> is good enough to walk unaided.
>
> --
> Regards
>
> Jonathan Lewishttp://jonathanlewis.wordpress.com
>
> Author: Cost Based Oracle: Fundamentalshttp://www.jlcomp.demon.co.uk/cbo_book/ind_book.html
>
> The Co-operative Oracle Users' FAQhttp://www.jlcomp.demon.co.uk/faq/ind_faq.html
You may choose to have as many layers of code as
> you like to transform the data from one valid state to
> another valid state; but if you rely on programs to
> maintain data correctness, you don't have a database,
> you have a bit-bucket.
Not sure what do you mean by :"if you rely on programs to ....". PL/ SQL is a programming language so are C++ and Java. So you are writing programs either way. Many releases ago, database only had ability to store data. Then triggers , referetial intergity were introduced. In conjunction with it database provided some programming langauge like PL/SQL. Then vendors like Oracle started putting everything in database (never made any sense). For example, there have been many discussions whether to do all XML processing in database or not. Fortunately, there are choices avaialble. If you are an Oracle sales person, you may do whatever you can in PL/SQL. But there are other options such as C++ and Java which make lot more sense to me and many developers. Oracle has always recognized it that's why Oracle always provided PRO*C, JDBC etc.. Also, you should be aware that Oracle is not the only database. There are many sofwatre vendors such as SAP and EMC Documentum (billions of dollars companies) do not use PL/SQL at all. You do not have to be a rocket scuenst to figure out why.SAP,and Documentum work with many databases not just Oracle.
Yes, you are right one does not have to limit to three tires. In fact, as I said business logic is split into may processes/threads. If one uses object-rieneted lanaguages such as C++ and Java, one can develop layers of classes. Use inheritance etc. That is what software engineering is all about. Received on Sun May 27 2007 - 14:56:12 CDT