OIPA Architecture Design Principles
The system architecture has been based on the following design principles that establish a consistent set of rules and guidelines for the design and development of the system:
-
The system architecture should have a multi-tier design with well-defined service layers to ensure flexibility and continued enhancement.
-
The application should be multi-platform, portable, and scalable.
-
The database access should be implemented in a consistent, database-independent manner.
-
The database traffic should be optimized to the utmost degree to increase scalability and availability of the system.
-
The application should support multiple locales, languages, and currencies in a single deployed instance.
-
The presentation layer should support, but not be limited to, a browser-based user interface.
-
The Shared Rules Engine should be implemented as a standalone component that is not dependent on any particular application.
-
The application's data model should be extensible by configuration to satisfy client-specific requirements.
-
The system should only implement generic business requirements and leave the client-specific requirement to the configuration.
-
The system should be extensible via extension points configured and implemented for client implementations.
-
The system should easily integrate with other technology components.
-
The system should leverage open standards wherever possible.