Combining Alfresco and Open Source R&D to Build Electronic Product Directory In-Time and In-Budget

  • Duration: 6 months
  • Industries: Supply Chain, Inventory & Order Management
  • Services: Backend Development; Custom Software Development; Frontend Development; Early-Stage Innovation, R&D Services; Software Integration Services; Open Source Development
  • Software Categories and Types: Supply Chain, Inventory & Order Management Systems (SCM, OMS, IMS, Warehouse)
  • IT Architecture Paradigms and Approaches: Enterprise Integration Patterns; Software Frameworks Development; Model Driven Development (MDD); Plugins Architecture and Development; Object-Oriented Programming (OOP)
  • Technical Expertise: Web Development; Test Automation; Research and Development (R&D); Expandable Software Solutions (Plugin Systems); Open Source Development & Customization
  • DevOps Expertise: Advanced build organization
  • Technologies: JUnit / TestNG; Data Bases; AJAX; Hibernate Validator; phpMyAdmin; Apache Tomcat; HTML5; DOM; Freemarker; Java Persistence API (JPA); Apache Lucene; Hibernate; Texo; Windows; XML; Apache Maven; Apache Subversion (SVN); Frontend; Java; CSS; Operating Systems; Linux; Java Enterprise Edition (EE); MySQL; XSD; XSLT; Araxis Merge; Apache Ant; JavaScript; Build and Dependency Platforms and Tools; Backend; WildFly (JBoss); DHTML; XPath; Template Engines; Various Editors; XML based technologies; Test Automation; Source Code Management (SCM); Chrome DevTools; Eclipse Modeling Framework Technology (EMFT); XForms; Open SSH; CI/CD and DevOps; Web Frameworks; JavaServer Faces (JSF); XPointer; Network Tools; Putty; Languages, Protocols, APIs, Network Tools; JBoss Seam; Software Engineering and Management Tools; General Frameworks; Other Technologies; ORM & Persistence; Quartz Job Scheduler; FileZilla; Various Platforms, Solutions and Engines; HttpWatch; Java Libraries; Web and J2EE Servers, Java Runtimes; Firebug; Apache PDFBox; Apache Xerces; Chiba (Betterform)
  • Team size (6):
  • 1 Project Manager
  • 2 Frontend
  • 3 Backend

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 (Eastern and Western Europe, Asia).
  • 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.

Clients about cooperation with JazzTeam

Related projects

Recent Work

    Contact Us

    What happens next?
    • 1

      Leave your project request. We will contact you and schedule a call.

    • 2

      Signing of the NDA to ensure the project info confidentiality.

    • 3

      Negotiation of your request and the required services.

    • 4

      Team forming, coordination of workstages.

    • 5

      Contract signing and project start.