1

Business Process Management System

Ruby
Education

The customer

The company is an independent IT vendor located in EU turned to Altoros to build a BPM system for thousands of students and teachers. The project is a customizable BPM system for managing educational and executive processes in a Belgian school. As a result of this cooperation:

  • The system is successfully used by thousands of students and teachers.
  • The school saves tens of thousands of euros on BPM/ERP suites.
  • Analysts with no programming background can easily configure the structure of data and relations between entities (courses, students, etc.)
  • Data is synchronized with Belgian governmental services and encrypted.

The need

The customer turned to Altoros to develop a Web system for managing educational and executive processes in a Belgian school. The organization already had a legacy Silverlight-based app that lacked flexibility and had poor performance. The system should have been integrated with two governmental services: KBI (which provides access to students’ personal data) and DaVinci (which aggregates data about courses, certification, etc.). In addition, the customer wanted to develop a similar white-label BPM system that would allow for managing abstract entities (e.g., students and courses), processes (triggered tasks), and forms (data inputs/views).

The challenges

Main challenges In the course of the project, the following challenges were defined:

  • Since analysts may set up and change data structure and relations, retrieving, writing, and presenting data can become a non-trivial task. The problem escalates when working with objects connected through indirect relations.
  • Most existing BPM systems/tools (e.g., Bonita) do not support service integration and customization of forms in real time. They are limited to a set of simple forms with basic interoperability and are hard to maintain.
  • Availability of the system in the offline mode implied proper data synchronization, with changes saved in a queue.
  • Dealing with personal data, the system should be highly secure

The solution

To enable flexible customization of the system’s engine and eliminate restrictions of existing BPM platforms, our team created two domain-specific languages. One of the languages is responsible for describing a database structure (terms, relations, mapping, callbacks, etc.), while another sets up inputs/views and tasks/processes. Both were written with Jison; the languages are interpreted using a custom CoffeeScript module. To maximize performance, our team enabled caching for dynamic datasets— utilizing IndexedDB. This approach pre-solved latency issues that might occur in the main database (MongoDB) when running a series of subsequent requests to objects with indirect relations. In addition, any changes made by users offline are also stored in IndexedDB and later synced with MongoDB. To ensure proper safety of personal data exchanged with KBI/DaVinci (such as eID card details), our engineers initiated encryption inside IndexedDB.

Altoros has also delivered other additional features:

  • Full-text search—including processing attached documents— implemented with Elasticsearch
  • Autosaving data in forms (Users can now work with multiple forms at a time and switch between them, putting some processes on hold.)
  • Sharing entities between different domains (such as assigning the same courses to different classes)
  • Dynamic preview of documents, etc.

The outcome

The system has been successfully implemented in the Belgian school. Daily, it is used by thousands of students, teachers, and administrative personnel. This customizable solution allows for saving tens of thousands of euros on expensive BPM/ERP suites with excessive functionality. Flexibility of the application enables to easily maintain the system and integrate it with third-party services. It is planned to enable system’s deployment to cloud platforms, such as Microsoft Azure. Furthermore, people with little or no technical background can manage and customize the system, using the declarative languages written by our engineers.

In the end, partnership with Altoros allowed the customer to develop a white-label solution tailored to BPM needs of education, healthcare, finance, insurance, and other industries—thus, creating an additional revenue channel. The customer has built a number of POCs for several organizations.

Technology stack

Server Platform

x86_64 provided server

Client Platform/Application Server

Ubuntu Linux, Nginx, Passenger

Programming languages

Ruby, CoffeeScript

Frameworks and tools

Ruby on Rails, AngularJS, Sidekiq, JSON-schema, Jison, Websockets

Databases

MongoDB, IndexedDB, Elasticsearch

You May Also Like

Automation of In-field Job Planning and Performance Optimization
Java
JavaScript
PostgreSQL
Information technology
Marketing
Call Recording, Analytics, and Workforce Optimization Solution
.NET
jQuery
C#
JavaScript
MS SQL
Information technology
Highly Scalable System for DNA Analysis
Hadoop
Java
Information technology
Healthcare
Sport
A Highly Secure Smart Home System Wins a Kickstarter Funding
Ruby
Ruby on Rails
JavaScript
Angular
PostgreSQL
MySQL
Information technology
The Image Recognition System
Java
MongoDB
NoSQL
e-Commerce
Integrated logistics solutions to the offshore industry
Android
LikeFolio: Best Practices of Cloud and Ruby Development for Application Optimization
NoSQL
MySQL
Ruby
Ruby on Rails
Marketing
Social media
Telecommunications
Finance
Data-Driven Analytics
Software for Selecting and Mixing Paint
.NET
MS SQL
C#
WP
Information technology
Retail
Software Suite for Mobile Technicians and Field Service Management
.NET
MS SQL
iOS
Android
Logistics and transportation
The System for Emergency Control Centers
.NET
C#
MS SQL
Healthcare
Sport
Logistics and transportation
The Cloud-based Document Exchange System
Java
jQuery
NoSQL
Information technology
e-Commerce
The Marketing Information Messaging System
.NET
C#
MS SQL
iOS
Marketing, Social media
Telecommunications
The NuoDB Migrator for Moving SQL Data to a NoSQL Database
Java
NuoDB
MySQL
PostgreSQL
Information technology
Manufacturing
Toyota Automates Its System for Holding Tenders
.NET
C#
Manufacturing
Warehouse Workload Monitoring Application
.NET
C#
MS SQL
WP
Logistics and transportation
Web-Based Personal Styling
Ruby
Ruby on Rails
JavaScript
jQuery
MySQL
Social media
e-Commerce
Web-Based System for Retailers
Ruby
Ruby on Rails
MySQL
MongoDB
Retail
e-Commerce
A Blockchain-Based Platform for Automating Bond Issuing Worth $10M
Bash
JavaScript
Blockchain
Finance

Contact us

Contact us and get a quote within 24 hours

Headquarters

Toll-free

Email