[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