If you have a comment on this topic, contact Aptify Documentation. If you want to return to the Aptify Community Site, please click here.

Understanding the Apitfy Generic Entity Architecture

Aptify's Generic Entity (GE) architecture provides a standard, generic interface to relational data models, thereby simplifying programming, improving stability of systems, decreasing development time, and increasing the standard feature set for products developed using this architecture.

Historically, many database systems have been difficult to develop, costly to maintain, and lacking in features. One reason for these drawbacks is the direct access from the user interface to the database that is common in these applications. In most systems, developers of the user interface are responsible for understanding the schema in the relational data source, for accessing this data, and for using the appropriate coding techniques to ensure data integrity (for example, transactions and validation).

This methodology of system development has proven to be difficult for many reasons including:

  • Programming correctly requires systematic and consistent attention to error handling, data validation, and database transactions. Because most systems are built under severe time pressure, proper attention to these details is often the first thing to slip. Additionally, most systems are built with less than adequate time to test for these shortcomings.

  • Programming correctly requires significant understanding of many technologies, how they fit together, and their appropriate uses. While quite a few developers are capable of grasping all of these concepts, people are typically most efficient when dealing with a smaller set of the big picture. Additionally, some programming professionals are unable to understand the complex data models that exist in today's relational implementations.

  • Database level programming is relatively low-level. To simply update a record in a SQL Data source, a programmer must understand how to:
    • Obtain a connection to the database.
    • Notify the database system of the start of a transaction.
    • Prepare a relatively cryptic SQL statement, which can easily be flawed (because it is difficult to test all cases of a SQL statement for each update sequence).
    • Run the statement on the server using the appropriate options with the connection technology chosen (such as ADO, RDO, and ODBCDirect).
    • Notify the database of the completion of a transaction, or rollback if unsuccessful.
    • Close the connection to the database.

With this many steps at a high level, it is easy to see how the complexity of directly modifying the data in a relational source typically leads to largely untested and unsuitable code for critical systems.

Aptify's approach, which provides a generic, object-driven model to access any type of relational data, greatly simplifies the development of database systems. Additionally, this generic abstraction layer serves as a foundation for the development of other reliable and scalable generic system services. Programmers who understand the Generic Entity Architecture and its benefits can create and add new objects to Aptify to provide customized functionality.

This topic contains the following sub-topics that describe the high-level features of the GE architecture and provide information for developing against the GE object model.

Copyright © 2014-2019 Aptify - Confidential and Proprietary