OrangeScape run-time platform has pre-integrated four-tier architecture on SOA foundation. The following diagram depicts a simplified high level architecture of the run-time platform.
The models created in your application is exposed as business components by the Component Service. The business rules defined as formula logic in spreadsheet is automatically executed by the rule engine embedded in the component service. Component Service is the core the application around which the other services operate.
Every model in your application can potentially have a workflow process linked to it. The workflow logic defined in graphical process design is executed by the Workflow Service leading to state transition. Workflow Service takes care of activity assignment and automatically provides queue configuration for each activity in the process design.
The persistence service contains two sub-systems: First Level Cache and Second Level Cache. The data model is a object representation in OrangeScape. The persistence service automatically persists the data into either RDBMS (MySQL, SQL Server, Oracle, Ingres or DB2) or even NoSQL database like Google’s Big Table. Persistence Service also features ‘Second Level Cache’ capability to provide enable heavy duty scalability and performance.
OrangeScape features native web service capability. Each data model entity is exposed as a REST sytle web service with with 5 default invocation methods; one each of CRUD – Create, Read, Update & Delete and Submit for Workflow State transition. Composite Actions created in the ‘Action Design’ is exposed as additional invocation methods beyond the five default services.
OrangeScape provides a completely decoupled architecture for presentation. The front-end application used by end-users is an AJAX application running on the browser interacting with the run-time using the REST style web services. Hence it is possible for you, as developers, to build a completely customizable UI using UX tools like Flex, Flash, SilverLight or even your own customized AJAX application. The AJAX application that comes out-of-the-box with the platform is good for most applications – however for special UX needs the flexibility to create a fully customized UX can be achieved.