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