[Info-Ingres] String Manipulations
Roy Hann
specially at processed.almost.meat
Mon Mar 19 11:16:47 CDT 2007
"Ian McEwan" <imce at iinet.net.au> wrote in message
news:mailman.9.1174317356.20015.info-ingres at kettleriverconsulting.com...
> Databases are called databases for a very good reason, it is because they
> store data.
Database [management systems] are called databases because the things we use
to manage data today replaced things we used to call databases but no one
ever got around to inventing a better name. The name of a thing is not
the thing.
> Just as an application server serves applications and a graphic user
> interface provides a graphical user interface.
This is not sound reasoning. There are very good reasons to put things in
different layers, but it should be decided by how the layering adds value,
not how the layers are named. Nor is there any reason to suppose the layers
we commonly use are the best, or even good. (I use 'em; I don't make the
mistake of liking them.)
> I would no sooner think of putting my business logic in a database than I
> would think of storing my data using HTML.
I might agree with you if I knew what you meant by the term "business
logic". I might agree with Emile too, when he tells me what he means. But
as stated your comment can't be judged.
> If you seriously believe your business logic should live in the database
> you
> should be using Jasmine.
Aaaaaaaaaaaaaaargh! This is wind-up right? There is nothing on this green
earth that deserves a fate like Jasmine! What a total botch-up that was.
In fact one of the reasons it was a botch (apart from making the howling
error of assuming a class is somehow analagous to a table) is that it made
it impossibly hard to build a practical system that stored the methods and
the data together. For one thing, there was no way to
ammend/update/correct the methods on new instances without also having those
changes apply to existing instances whether it made sense or not.
If Jasmine is your counter-example to prove the unwisdom of having business
logic in the database you are going to have to try again. Jasmine being
rubbish doesn't prove anything.
> I believe if you want to make business logic centrally available to all
> your
> applications you should look at layering your application stack, ie
> separate
> presentation, business & data access logic, and use a service orientated
> architecture, applications servers, web services, etc. and don't confuse
> enforcing data relationships, constraints, domains, etc. with business
> logic.
Well, once you take out enforcing data relationships, constraints, domains,
etc. there is a very small amount left to call business logic. Workflow is
about all that's missing, and arguably presentation.
Roy
More information about the Info-Ingres
mailing list