There was a very interesting discussion in the Enterprise Architecture
group of my old company. (The fact that this kind of discussion was the
only thing that group did was why I moved to another job after two
years, but that's a different story....)

There was a camp that claimed the single biggest standardization gap in
the IT industry was the lack of a standardized stored procedure
programming language. Sure there are vendor-neutral dynamic SQL
standards (i.e. ANSI-92), but since so many other disciplines agree that
dynamic SQL is best minimized in favor of compiled stored procedures,
that doesn't help much. There is no RDBMS platform to my knowledge that
can let you actually build stored procedures using nothing but ANSI-92,
and even if they could, many of the features that make a given RDBMS
desirable over another require proprietary language extensions. Hence,
even though "they're both SQL," T-SQL and PL/SQL are vastly different in
both syntax and paradigm.

So, the recommendation of this camp was that applications should simply
stop using stored procedures, and do all RDBMS interactions with ANSI-92
SQL only. That standardized RDBMS syntax but not wire protocol. For
this, they recommended that every database instance be fronted by a
lightweight XML-over-HTTP translation layer. The benefits of this were
that if you wanted to switch RDBMSes, you could be GUARANTEED of NO code
changes -- just literally configure a new endpoint and the bits would
start flowing.

I never quite decided how I felt about this proposal, but it certainly
struck me as being ballsy enough to merit further discussion.

-----Original Message-----
From: Unmoderated discussion of advanced .NET topics.
[mailto:[EMAIL PROTECTED] On Behalf Of Chip Dunning
Sent: Wednesday, September 14, 2005 10:33 AM
To: [email protected]
Subject: Re: [ADVANCED-DOTNET] Business logic

I do not understand why so many thing database independence is a
fallacy? A good design is flexible enough to absorb the redesign of any
one component without failing. If you cannot rip out your database and
put in a new one then you are too tightly coupled. It would be like
being so dependent upon IIS that you could not roll out a solution using
Apache. Neither would be considered a good design. It does not matter
what component of the system it is (Web Server, Compiler, libraries, or
database) if you cannot pull it out and replace it without disrupting
the system - it is a bad design.

I have been on 3 database changes. The first moved from Access to
Oracle.
The second moved from Poet (OODB) to Oracle. The last moved from Oracle
to SQL Server. The first one was an abject failure because our DBA was a
ID-10-T. The second went faily smoothly because all database calls were
encapsulated in libraries. Each GUI application had to be re-compiled
since they had static links to these libraries, but not a single line
was changed.
The third was ongoing when I moved to a new job, but it was going very
positive.



Chip

On 9/13/05, Shawn Wildermuth <[EMAIL PROTECTED]> wrote:
>
> Yes and no. I would probably not put it in the database, but that
> doesn't mean its wrong. The fact of the matter is that even outside
> the database (ours was entirely outside the database), it still
> required a major re-write. Database independence is a falicy. Keeping
> your logic outside the DB doesn't buy you much unless you are doing
> strict SQL '92/95...which no one does because it performs like a dog.
> But DB Independence is an entirely different topic that I don't want
> to get caught walking the tangent gangplank ;)
>
> Thanks,
>
> Shawn Wildermuth
> http://adoguy.com
> C# MVP, MCSD.NET <http://MCSD.NET>, Author and Speaker
>
> ->-----Original Message-----
> ->From: Unmoderated discussion of advanced .NET topics.
> ->[mailto:[EMAIL PROTECTED] On Behalf Of Franklin
> ->Gray
> ->Sent: Tuesday, September 13, 2005 6:10 PM
> ->To: [email protected]
> ->Subject: Re: [ADVANCED-DOTNET] Business logic
> ->
> ->""No technical or functional requirement, just a business one. This
> ->is the very nature of how business gets done and ends up with a
> ->myriad of different architectures"
> ->
> ->Wouldn't this be an example as to why not to put the BL in the DB?
> ->Never know when somebody is going to say "lets switch".
> ->
> ->===================================
> ->This list is hosted by DevelopMentor. http://www.develop.com
> ->
> ->View archives and manage your subscription(s) at
> ->http://discuss.develop.com
> 09/13/2005 06:15:13 PM
>
> ===================================
> This list is hosted by DevelopMentor(r) http://www.develop.com
>
> View archives and manage your subscription(s) at
> http://discuss.develop.com
>



--
"The reason the mainstream is considered a stream is because it's so
shallow" --George Carlin

===================================
This list is hosted by DevelopMentor(r)  http://www.develop.com

View archives and manage your subscription(s) at
http://discuss.develop.com

===================================
This list is hosted by DevelopMentorĀ®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to