The advantages of Aware IM approach to data entry, editing and processing are listed below. These advantages are key to the realization of the Aware IM central features that make it possible to use Aware IM by non-technical people:
- In Aware IM the database is abstracted
- In Aware IM business logic is configurable, centralized and non-procedural.
These advantages are explained below.
Database is abstracted
In Aware IM people configuring or adjusting the system do not deal with database directly. In fact, the mere concept of database is almost completely hidden from the configurator. Instead Aware IM encourages the configurator to work at a higher level of abstraction than database, such as business objects and relationships between them. This approach simplifies the configuration process by eliminating the following tedious tasks:
- Defining links between the tables through foreign keys and/or creating special tables to hold relationships data.
- Using SQL for queries, especially more complex queries requiring table joins to access related data.
- Defining boundaries of database transactions.
Aware IM handles all necessary tasks behind the scenes to translate the higher-level abstractions (business objects and their relationships) to the appropriate concepts of the underlying database management system. In particular:
- Aware IM automatically creates database tables from definitions of business objects and their attributes.
- Aware IM automatically creates foreign keys and relationship tables for one-to-one, one-to-many and many-to-many relationships.
- Aware IM automatically alters database tables (including relationship tables) when definitions of business objects and/or relationships change while preserving the existing operational data wherever possible.
- Aware IM automatically builds SQL queries (including queries involving related data) from the higher-level definitions that involve only business objects and their attributes and the attributes of related objects.
- Aware IM automatically creates a database transaction for every external request of the configured system during the operation of the system. Any business rules triggered by the external request are executed within the context of this transaction. Any failure (such as, for example, an error detected by a validation rule) results in a transaction rollback, which preserves data integrity.
Business logic is configurable, centralized and non-procedural
The business rules approach to data processing in Aware IM is in a stark contrast with the approach to data processing in more traditional rapid application development systems. In these systems business logic is usually hidden in the code written in a programming language (or in a number of inter-related scripts that most of the time require a programmer to maintain) and spread across different parts of the system. InAware IM, however, business logic is configurable and centralized.
Business logic is configurable because all business rules of a system can be easily viewed and if necessary modified by the configurator. Business rules are expressed in business terms that business people can relate to rather than in a mixture of business and technical terms, which is the common case when business logic is buried in the code. Business rules in Aware IM are devoid of any technical details and therefore are intuitive and easily understood by business people.
Business logic is centralized because all business rules are defined in one place – the Aware IM Configuration Tool – and stored in one repository (business space version). In the Operation Mode business rules are interpreted by different parts (tiers) of the Aware IM system:
- Business rules are interpreted and executed by the data processing tier when different events happen inside the system as explained above.
- Business rules are also interpreted by the User Interface tier during entry and editing of a business object (certain validation rules attached to a business object get executed even before the form is submitted).
Most traditional systems employ a procedural approach to business logic when data processing occurs in a series of inter-related steps. In Aware IM, on the other hand, each business rule is conceptually a separate self-contained and consistent piece of business logic independent of other business rules, which makes it possible to handle business logic in a non-procedural manner. Non-procedural approach has the following advantages:
- Business logic of the system becomes more manageable as it is divided into a number of independent and self-contained business rules.
- The amount of business logic is kept to a bare minimum as required by business rules – there is no code duplication, sub-routines and calls to these sub-routines from various places in the system. The data driven approach of business rules guarantees that regardless of scenarios causing data changes, the appropriate business rules will be evaluated and the required actions will be taken.
Thus Aware IM approach to data processing:
- Provides a much more compact and intuitive way of specifying and visualizing business logic.
- Enables non-technical people to configure fully functional business systems.