PROJECT TYPE
Web
Sinapsi
Data management system working with the rendering of large amounts of data.

Java-based web application for digital resources, data and metadata management. The innovative focus is creating the synergy between the compliance need with standard data structures (in archival sector, librarian, artistic, museum, etc.) and the requirements needed by data management in the documented sector.


TASK

Development of a web-based data management system, that should work with the rendering of large amounts of data; migrating the system to Vaadin 7 and Java 8. 

  • Storage and search of various digitized documents; 
  • Possibility to create structures and build hierarchical document models; 
  • Creating templates and their description; 
  • Possibility to classify documents by different categories; 
  • Electronic library.


TECHNOLOGIES
neo4j
java
vaadin
Solution

Initially, the application was divided into two parts: server and client. The client part contained control modules and display modules. 

When upgrading to a new version, these modules were divided into different applications. Besides, REST API was added to build the client part of the application. Currently, Vaadin is integrated with the server part of the application and allows its users to manage the data and the system in a flexible way.

Exposit team implemented migrations of the project from:

  • Vaadin 6 to Vaadin,
  • JBoss 7.1 to Wildfly 10,
  • Java 7 to Java 8th edition,
  • Neo4j 1.9 to Neo4j 3.1.

Some interesting technical issues worth to be mentioned:

  1. UI update. Migration and adjustments of complex custom widgets, e.g. text fields, text area, rich text area, for the new client-server architecture of Vaadin 7. Some of components were reimplemented from scratch.
  2. We have made an optimization of rendering components to provide a super interactive client. Thereby, the application can work with the rendering of large amounts of data.
  3. During migration of project from Vaadin 6 to 7th version the whole client architecture was redesigned.
  4. Integration of Vaadin with CDI (Weld) for weak coherence between components.
  5. Work with a large number of Vaadin add-ons, for instance, Context Menu, CDI integration Add-on, AutocompleteTextField Add-on, Vaadin PopupButton, etc.
  6. Implementation of different custom views and widgets to show data.
  7. Permissions management.
  8. Templates management implementation for building dynamic layouts based on configuration and templates.

Technologies used:
Java 7
Java 8
Vaadin
Neo4j
CDI
SimonWatch
Apache Lucene
JBoss
Tika

Explore more projects.