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:

  1. The system architecture should have a multi-tier design with well-defined service layers to ensure flexibility and continued enhancement.

  2. The application should be multi-platform, portable, and scalable.

  3. The database access should be implemented in a consistent, database-independent manner.

  4. The database traffic should be optimized to the utmost degree to increase scalability and availability of the system.

  5. The application should support multiple locales, languages, and currencies in a single deployed instance.

  6. The presentation layer should support, but not be limited to, a browser-based user interface.

  7. The Shared Rules Engine should be implemented as a standalone component that is not dependent on any particular application.

  8. The application's data model should be extensible by configuration to satisfy client-specific requirements.

  9. The system should only implement generic business requirements and leave the client-specific requirement to the configuration.

  10. The system should be extensible via extension points configured and implemented for client implementations.

  11. The system should easily integrate with other technology components.

  12. The system should leverage open standards wherever possible.