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 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).
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
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 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.
x86_64 provided server
Client Platform/Application Server
Ubuntu Linux, Nginx, Passenger
Frameworks and tools
Ruby on Rails, AngularJS, Sidekiq, JSON-schema, Jison, Websockets
MongoDB, IndexedDB, Elasticsearch
You May Also Like
Automation of In-field Job Planning and Performance Optimization
Call Recording, Analytics, and Workforce Optimization Solution
Highly Scalable System for DNA Analysis
A Highly Secure Smart Home System Wins a Kickstarter Funding
The Image Recognition System
Integrated logistics solutions to the offshore industry
LikeFolio: Best Practices of Cloud and Ruby Development for Application Optimization
Software for Selecting and Mixing Paint
Software Suite for Mobile Technicians and Field Service Management
The System for Emergency Control Centers
The Cloud-based Document Exchange System
The Marketing Information Messaging System
The NuoDB Migrator for Moving SQL Data to a NoSQL Database
Toyota Automates Its System for Holding Tenders
Warehouse Workload Monitoring Application
Web-Based Personal Styling
Web-Based System for Retailers
A Blockchain-Based Platform for Automating Bond Issuing Worth $10M
Contact us and get a quote within 24 hours