ADOM Framework for Enterprise-Level App Development
Background of the ADOM Framework
In the ever-changing world of software development, there continually exists a need to improve performance while increasing the level of abstraction for the application developer. With the advent of the Entity Framework and there was gained a certain level of abstraction from the database server which most UI and middle-tier application developers enjoyed. While this approach does manage to abstract the application developer from the database layer, it precludes the use of stored procedures for all data access which are far more performant and secure than in-line SQL statement generation and execution.
The ADOM Framework is the first ORM to provide truly Enterprise Level applications development capabilities, with both performance and Security in mind. The ADOM approach allows you to use your Legacy data structures with little-to-no changes, and does it with high performance, and security!
The main problem with the strict Entity Framework approach in the middle tier is one of performance. This is primarily due to the fact that in most cases the data must be loaded into the middle-tier model view before much can be done with it, including searching, sorting, filtering, etc. In addition, the overhead injected into your application processes by the Entity Framework stack (FIG-1) can cause serious performance degradation. Database servers are designed and tuned for processing large amounts of data efficiently, while web servers and business application servers are designed for generating UI and implementing business logic. Thus, once your application’s data footprint grows past a certain threshold, either the developer must take special steps to improve performance of the application, or the system administrator must continually upgrade hardware in order to keep up with the demands of the ever-increasing size and complexity of your data sets. Since we know based on a long history of experience that database servers will invariably outperform middle-tier application servers when it comes to the challenge of crunching numbers, it became obvious that a new approach which moves the object model layer back inside the database server was needed. It was out of this need that the ADOM framework was developed.
ADOM Hierarchical XML Objects
The ADOM process generates stored procedures to return fully-relational hierarchical XML objects for each table object in the database, as identified by the schema interrogation process. The resulting XML objects each contain all related objects as determined by the database schema’s FK definitions. Thus, the developer can select the objects from multiple different perspectives, which are each valid in most cases, allowing for a maximum level of flexibility in the application development process. All modifications to the data are then pushed back to the database as the updated XML object to a single controller stored procedure which manages inserts, updates, and deletes to the underlying relational tables. This means that the developer only needs to manage the data at the object level, and the ADOM framework elegantly handles both the initial generation of the objects and their contents from the database, as well as the persistence of the changes to those objects back into the relational database layer.