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

checklist
  • 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: Hibernate Validator; phpMyAdmin; Apache Tomcat; HTML5; DOM; Freemarker; Java Persistence API (JPA); Apache Lucene; Hibernate; Texo; Windows; XML; Apache Maven; JUnit / TestNG; Data Bases; AJAX; Frontend; Java; CSS; Operating Systems; Linux; Java Enterprise Edition (EE); MySQL; XSD; Apache Subversion (SVN); JavaScript; Build and Dependency Platforms and Tools; Backend; WildFly (JBoss); DHTML; XSLT; Araxis Merge; Apache Ant; Various Editors; XML based technologies; XPath; Template Engines; Source Code Management (SCM); Chrome DevTools; Eclipse Modeling Framework Technology (EMFT); XForms; Test Automation; CI/CD and DevOps; Web Frameworks; JavaServer Faces (JSF); XPointer; Open SSH; Putty; Languages, Protocols, APIs, Network Tools; JBoss Seam; Network Tools; General Frameworks; Software Engineering and Management Tools; Other Technologies; ORM & Persistence; Quartz Job Scheduler; FileZilla; Various Platforms, Solutions and Engines; Java Libraries; HttpWatch; Web and J2EE Servers, Java Runtimes; Firebug; Apache PDFBox; Apache Xerces; Chiba (Betterform)
project-team
  • Team size (6):
  • 1 Project Manager
  • 2 Frontend
  • 3 Backend

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.

Mule solution

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

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.