In SAP implementations, the ABAP code that performs the functions of various business processes is stored in the database, or so I’m told.  I was having a discussion a few days back with an architect who works closely with SAP, and has for years.  His take: now that SQL Server Yukon can call .net code easily, why not start placing byte code directly into the database.

The advantages are interesting:  the deployment of a system is a matter of placing data into a database.  Version control takes on a whole new meaning for folks not used to this concept.  You can create a utility for placing a version into production, and if there is a problem, rolling back to a prior version is a matter of flagging records in the database as “inactive” or deleting them.  Database backups are also system backups.  Deployment requires data movement utilities, but can happen to multiple locations easily.

This doesn’t mean that the assemblies have to run on the database server.  SAP uses application servers extensively.  The code stored in the database could be installed to the app server and could run there without difficulty.  Kind of “database driven one click deployment”.

It’s an interesting idea.  I’m sure that theres an article in there for someone who wants to write it up for one of the dev magazines: how to put your assemblies into SQL Server and call them.