Aava is a completely new type of data management system. It does not fit into any traditional box and a technical term to describe it the best is “an object-based dynamic metadata system”. In practice, this means that an object-based data model corresponding to a wanted application is inputed into Aava, along with the metadata related to it. Based on these, Aava dynamically creates a ready-to-use application.
Where Aava can be used?
Aava is designed for and especially applicable for managing different business systems data needs and therefore it is mainly used for ERP and MES. Aava’s strength stems from being able to create different type of data management systems extremely quickly and it is capable of scaling up to very large systems with extremely complex data structure and large volume of data.
In addition, Aava is used in different B2C and B2B web portals, integration servers, reporting and business intelligence systems and a vast number of applications built up by different enterprises.
What makes Aava different?
Traditionally business software has been created by programming a strict, defined use case. Normally the project work starts by creation of a requirements specification against which the coding is performed. This work is expensive, slow, prone to errors and success is largely based on how well the customer has specified its needs, how well the specification was completed, and how good the programming and programmer is. Rarely these three elements are fulfilled perfectly and it is estimated that even up to 60-70% of software projects fail in reaching their goals. And in the cases that do succeed in meeting the current day requirements, it is often that there emerges a need to change the system functionality to one way or another. In traditional systems this is no small issue, at least cost- and time-wise, as the same cycle then repeats itself.
Aava’s main design principle is that the customer should not have to possess deep technical understanding to be able to explain their system needs. Often at the start only an issue or problem is known and a solution is wanted. What is then made and all the details can still remain unanswered, as not even the best requirements specification can bring up all possible details.
Aava offers a solution to this as the system design and implementation can be started quickly and with preliminary information. During the project, Aava implements solution proposals, which the customers gets to test and try and to provide feedback. Even large changes can be made “on the fly” and this way a production-ready system meeting requirements is build in iterations. Even after going live to production, details which were not foreseen or were forgotten often emerge as change requirements. For Aava, this is not an issue as any change can be made to the system at any phase, and at the same effort as if the changes were included from the beginning.
What is a metamodel?
Metamodel is a technical description of the information the system is to process and to manage. In first phase, data entities; classes (example: Company, Person, SalesOffer, SalesOrder, SalesInvoice) and attributes to them (example: Name, Address, PhoneNumber, OrderDate) as well as associations between them (example: company’s contact persons, sales order’s customer, sales order’s payment events) are defined.
At the second phase a process model is created. It describes each data entity’s life cycle (example for a sales order process could be New => Approved => Invoiced => Paid ). After these two phases a working application is generated by Aava and can be tested in practice.
The first version of metamodel is just a good guess to the right direction. It creates a context in which customer’s business processes can be discussed and understood better.
First solution proposal is typically delivered within few weeks, but as the project heats up, additional corrections and system changes are done even on a daily basis.