fbpx

Creation of an electronic product directory and its automatic synchronization with the ERP system of the enterprise

Project summary: for one of the leading European suppliers of resistors and capacitors our company developed an electronic product directory that can automatically synchronize with the ERP system and the customer’s website.

Project technical description: 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.

Multiple technological researches, including non-trivial ones, were carried out during this project. Integration of XForms standard implementation – the Chiba library – into CMS Alfresco was among these technological researches. Further, we tell you more about XForms standard.

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.

The introduction of XForms and Chiba allowed for the full support of the Model Driven Development concept.

Project 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).

Screenshots:

Project features:

  • Distributed team (Belarus, the Netherlands, China).
  • Only open source technologies were used for the project.
  • Additional configuration of some modern frameworks was carried out to adapt them to project tasks: Alfresco, Chiba (W3C XForms), Seam (JBoss).
  • Development was carried out in compliance with Scrum processes.

Project results:

  • An electronic directory with support of about 300,000 products, which is successfully synchronized with the ERP system and the customer’s website, was developed. The directory provides advanced mechanisms to keep the structure and descriptions of products up to date.
  • Publication of product datasheets using PDF and HTML was implemented.
  • Infrastructure components responsible for batch updating using Excel spreadsheets and data import/export to and from Excel/ASCII files were developed.
  • Several architectural solutions were proposed and implemented to improve system stability.
  • The following was implemented on the website:
    • Contact management (publication of 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.
    • Website news and newsletters.
    • Customization of site sections and navigation, vacancies and literature order sections.
    • Site visit statistics.

Company’s achievements during the project:

  • Quickly dived into the subject area, technical details of the project;
  • Business analysis of customer requirements was carried out, options for the improvement and optimal operation of applications were proposed.