Provided services
Backend Development, Custom Software Development, Frontend Development, Early-Stage Innovation, R&D Services, Software Integration Services
Client
One of the leading European suppliers of resistors and capacitors.
Product
An electronic product directory that can automatically synchronize with the ERP system and the customer’s website.

Challenge
In this project our team fulfilled a rather complex request, which corresponded to the customer’s business goals. It was necessary to implement a large-scale, technologically complex solution that would smoothly perform the necessary tasks and meet all the client’s requirements. At the same time, it was important to save budget, i.e. to use free open source solutions as much as possible. In practice, for our company this meant a complex process: from selecting the ideal team of professionals to thoroughly researching the capabilities of each free solution. In the end, it was necessary to provide the customer with a ready-made tool that would bring him value without excessive development costs.
Solution
Having gathered a team of highly qualified specialists, we started a non-trivial technological research. After a deep analysis of the features and capabilities of each solution, our team decided on the most suitable option: integration of the standard XForms implementation – Chiba library – into Alfresco CMS.
The introduction of XForms and Chiba allowed for the full support of the Model Driven Development concept.
This project is a model-driven application (Model-Driven Development) based on Eclipse EMF Texo Open Source framework. The first part of the application is a CMS application based on Alfresco Enterprise CMS customization. This CMS contains a client-specific model and during operation provides it to the other part of the application, which is actually a J2EE application based on JBoss Seam framework with JPA and Hibernate support. Special technology based on XForms is used to edit the complex recursive model on the application pages. This web form technology was built into Alfresco system.
Technological overview
XForms provides a more secure and device-independent way of handling the information entered by a user through a form on a web page as compared to conventional web forms. XForms divides the form data logic from its presentation using XML to define rules for describing, validating, storing, and transmitting data, and HTML or XHTML to display it. Since the data model is XML, this makes XForms device- and platform-independent. The XForms processor built into the browser is responsible for the transfer of data to the server in XML format. The XForms processor has a built-in library of functions for data processing. XForms uses XPath to define the relationship between the XML data instance and the XForms user interface, and XSD (XML Schema Definition) – to validate data by the XForms processor. It is possible to describe many different data structures, including recursive ones, in which elements can exist within themselves, using XSD. So, the developer can model a “tree of forms” nested within each other, having the same data structure and validation logic, but presented in a different way. As a result, “recursive XSD forms or widgets” used with AJAX technology for asynchronous data exchange in XML format made it possible to accelerate the interactivity of user interaction when working with complex data forms.
Result
As a result of the work performed, an Open Source solution was successfully implemented, which ensured rapid development and saved the customer’s budget. Our team quickly dived into the subject area and technical details of the project, conducted business analysis of customer requirements, suggested options for improving and optimizing application performance. We developed an electronic directory containing information on approximately 300,000 products, which is successfully synchronized with the POR system and the customer’s website, thanks to the implemented architectural solutions. The directory contains advanced mechanisms for maintaining the structure and descriptions of products at a modern level.
We also implemented publishing product information sheets in PDF and HTML formats. Infrastructure components responsible for updating data in packages using Excel tables and importing/exporting data to and from Excel/ASCII files were also developed.
The following elements were implemented on the website:
- Contact management (publishing contact information for distributors and sales offices around the world).
- Search – by site, by product attributes, by competitor code, as well as full-text search.
- News and newsletters on the website.
- Individualization of website sections and navigation, vacancies and literary orders.
- Statistics of site visits.
JazzTeam Achievement
- The realization of this project was another confirmation that our company is capable of conducting the most complex research. R&D is one of the most important directions and vectors of JazzTeam’s development. Our team is always ready to solve tasks related to serious challenges with a research component.
Screenshots
Technologies
Infrastructure: Linux, Windows, SVN, embedded JBoss on Tomcat server.
Stack: Model Driven Development, J2EE, JBoss Seam, JSF, Hibernate, FreeMarker, DHTML, JS, CSS, DOM, AJAX, Chiba, W3C XForms, XSD, XML, XPath, Xerces, XPointer, XSLT, Texo, Eclipse Modeling Framework, Apache Lucene, Quartz, Pdfbox, Ant, Maven, TestNG.
DB: MySql, JPA (integration with Seam and Hibernate).