Architecture

Integrin is a suite of enterprise applications, built on a common architecture using common data, logic and process components. The loosely coupled nature of the applications makes these components easy to extend and customize when there is a specific business need. Integrin uses many different "tools" available as part of Java and J2EE to efficiently and effectively organize data and business logic, to provide interfaces to other systems, and to create user interfaces for users to interact with the system.

Integrin is built on top of Entities and Services, An Entity is a relational data construct that contains a number of fields and can be related to other entities. Basic entities correspond to actual database structures. Entities are managed using Entity Engine that includes a set of tools and patterns to model and manage entity specific data. Entity Engine eliminates the need for entity specific persistence layer and is database agnostic.

Integrin uses service pattern to communicate with other systems and also inside the system to provide a clean and easy to use approach for creating and running business logic components. A Service is a simple process that performs a specific operation including data validation and business logic.

Integrin also uses Even-Condition-Action (ECA) rules to run other services automatically at different points of running a service. ECA rules allows logic to be extended without modifying the original service and allows the system to be organized cleanly such that each service performs one simple, specific task.