e-Commerce Group
Dept. of Accounting & Finance University of Macedonia

AIMON

Aimon is a next generation collaborative development system that promises to go beyond information sharing and to enable end-users to capture their business processes by web applications. It is neither an “MS Access online” nor a customizable vertical template. It is rather a framework that tries to solve the problem as a whole, modeling it as a number of business processes. Unlike Webml Model Driven development environments that are targeting professional developers that understand BPMN, Aimon targets skilled end-users in a collaborative development environment.

Unlike other studies and efforts in this area, Aimon is neither a complete programming framework nor a model or template driven web creation platform. Aimon is trying to minimize the chance of an end-user to produce errors by adopting a database centric approach where the end-user is guided by wizards to create forms and other elements of the application automatically. Then, if he becomes more skilled he can modify various aspects of the form appearance add/or functionality by means of Javascript and PHP programming in a Web 2.0 environment


Design considerations

Problem area Description
Getting Started Support provided during the initial phases of development
Workflow General process for creating a web application
Level of Abstraction Abstractions provided by the tool, e.g. components, wizards
Layout Defining the look of the web application
Database Creating and accessing a database
Application Logic Defining the behaviour of the web application
Testing and Debugging Helping to identify and solve errors
Learning and Scaling Support learning and growing beyond the “ceiling” of the tool
Security Level of security of produced web applications
Collaboration Supporting multiple developers
Deployment Assisting in moving a ready application into production mode


Architecture

Aimon general architecture

Aimon general architecture


Business processes are collections of related, structured activities or tasks described by one or more aimon workflows that produce a specific service or product and interact with data that come from a number of aimon tabs. Processes have owners and users involved through roles and ACLs to the various activities of the process.

Workflows consist of sequences of connected steps or operations, declared as work of a person, a group of persons or role, or one or more simple or complex mechanisms. In each step the workflow engine will execute a number of ECA rules that will carry out automatic work, decide on the workflow advance, modify data, and notify users and other system entities (eg through web services).

Tabs are the main building blocks of aimon system. A tab is an abstract object that handles a specific class of information such as users, activities, address types etc. It has a visual representation consisting of a grid listing all the instances of the class and a form presenting the details of a specific instance of the class. The tabs relate to the model classes in a one-to-many relationship (see figure 1). Tabs can participate to workflows, belong to processes in a one-to-many relationship, and can be accessed through ACLs. Tabs can also relate to other tabs (subtabs) in a master-detail relationship (eg a user tab has a role subtab)

Data model objects is an abstraction layer between the database and the tab layer. It is used both to convert the relational to an OO model and to create a many-to-many relationship between the database tables/views and the tabs.