Crossinform Simplex


Platform Description

Crossinform Simplex is a software platform for creation of multi-level applications, which meets all modern requirements for performance, scalability, security, extensibility, convenience of support, reliability, and availability.

The platform enables development of applications with business logic of any complexity level, at the same time featuring great flexibility. The platform handles such routine operations as role-based access management and control, event logging, exception handling, interaction with modules, and so on. The platform architecture is built so that any application based on it is easily scalable with no additional programming required.

Advantages

  • Development of business logic of client/server and multi-level applications.
  • Significant reduction of the time required for development.
  • A high level of application operational support (error handling and logging, access security and control at the level of separate objects and modules, including flexible program settings).
  • Use of proven design practices and templates, which makes application development errors less probable.
  • Focus on the business logic and GUI instead of technical aspects of implementation when developing an application.
  • Integrated support of application scalability enabling its deployment both on a single server and server farms and clusters.
  • Operations with distributed databases: DB server/cluster load can be distributed through horizontal fragmentation.
  • Building of fault-tolerant geographically distributed systems.
  • A high level of supportability of a source code and its possible revision thanks to the designed architecture principles.
  • A high level of application scalability thanks to the modular structure and module interaction via a common service bus.
  • Capability to disable or replace separate modules without affecting the functionality of the other application modules thanks to loose coupling of individual components.
  • Development flexibility at all levels.
  • Platform-based applications complying with the Test Driven Approach and Domain Driven Design concepts.
  • The platform is well documented and has a lot of real use cases and options described, which allows, if necessary, engaging new employees in project activities in the shortest time possible.

Architecture

Crossinform Simplex Architecture

The platform is built on a multi-tier, multi-layer architecture.

The Presentation Layer can be a mobile application (PDA, Smartphone, Tablet PC, Windows Phone, or iPhone), desktop application, and Web application running on a Web farm.

The Business Layer can be accessed only through Simplex SI (Service Interface) – a component built on the REST service. Interaction is carried out via a secure protocol. Since the Business Layer can be deployed on a farm, all its components are stateless, i.e., running without keeping track of their state.

Apart from the SI component of the platform, the Business Layer includes the business components proper, which are responsible for the logic of a developed application.

The Business Layer and the Data Access Layer are physically located on the same server or, in general, on an Application Farm. The Data Access Layer incorporates Data Access Components(DAC) and Service Agent (SA) necessary for integration with external services of data or service providers.

The third and last layer contains a DB failover cluster. It is responsible for data storage and providing access to CRUD (create, read, update, and delete) operations. A platform-based application can be deployed entirely on one server (in this case, the SI component is deployed directly in the application process without service involved) and on multiple servers in case of heavily loaded systems.

There also is a powerful configuration tool for DB server load distribution through horizontal fragmentation of data based both on modules (different modules can interact with different DB servers and easily interact with each other) and on preset criteria, for example, they will interact with different DB servers (clusters) depending on a user’s login or location.

Keywords: simplex, platform, application development, business logics, design, architecture, multi-layer, multi-tier, cluster, farm, flexibility, scalability, workload distribution