Understanding the platform architecture
Who is this article for?
Users and administrators who want an introduction to the user interface (UI)
No elevated permissions are required.
Overview
Ideagen Enterprise and Decani solutions use a design approach that shifts business logic into easily managed reference data. This integrated approach provides a platform layer that supports common variations in application behavior, reducing the need for custom setups at a base level.
The platform
The platform underpins web-based, workflow-driven and mobile business processes. Think of the platform as a single, regularly updated codebase that delivers new features while maintaining compatibility. This ensures solutions stay current and meet industry needs.
The platform prioritizes ease of use over complexity, letting non-programmers quickly build and deploy business modules. Each module handles both data and workflow for key business processes.
The platform is industry-agnostic and offers engines for user interfaces, workflows, rules and calculations. It is ideal for building process-driven modules, from incident tracking to asset management, with centralized data, constant access and enhanced security.
The platform comprises a collection of engines at the server layer. Written in Java, these engines are stateless, allowing them to scale up or down as demand changes. Statelessness also provides fault tolerance: if a node crashes, the system redirects the user to a new node with no interruption in service.
The web tier delivers a UI built entirely on HTML, CSS and JavaScript. Users need only a web browser to connect — no client-side libraries are required.
The persistence layer consists of the following clustered components:
- The database: A traditional online transaction processing (OLTP) data store.
- The data depot: A near-real-time operational data store where reports and ad hoc SQL queries run, so long-running queries don't affect normal production usage.
- The search core: An in-memory search engine that underpins all searches and business intelligence functions, including alerts and notifications.
Applications
A solution or application can be configured from a single module or multiple modules, depending on its complexity. A module can contain data collected in fields, include workflow tasks and steps from initiation to close, and follow business rules that hide fields or steps.
Applications are production-ready and enterprise-class, offering business-oriented features such as:
- Robust workflow and task assignment rules
- A central dashboard for managing tasks
- Fast, integrated in-memory search, including search across attached documents
- Export to PDF, including attachments
- History tracking
- A workflow audit trail
- Email notifications
- Exposure over web services and interface mapping
- Ad hoc reporting, charting, and analytics
- Intelligent monitoring with trend notifications
- Users and person, roles, and reporting authorities for segregating data across departments and business units
Subscriber Area
The subscriber area achieves scalability by sharing resources across multiple subscribers, while maintaining data separation — delivering rigorous security and uptime at a fraction of the cost of a subscriber-by-subscriber approach. This is achieved either by giving each subscriber their own database or by placing subscribers in a shared database and segregating data with a foreign key. Both approaches are equivalent from the subscriber's perspective; Ideagen decides which to use based on hosting requirements.
Environments
Each subscriber has multiple operating environments (subscriber areas) used for different stages of software development. Module configuration for new enhancements or changes is initially built in the lowest environment, then tested and promoted through each subsequent environment.
The subscriber environments are:
- Build: Where module developers build modules.
- Design Verification Test (DVT): Where developers and subscribers initially test modules.
- User Acceptance Testing (UAT): A close replica of the production environment, containing both test and production data, where developers and users test modules.
- Production: Where users perform their job assignments on live objects.
Notifications turned off in build and test areas
Notifications are disabled in all non-production areas. This prevents issues where users could receive assignments or emails from a test area.