En

JazzTeam Software Development Company

Agile Java Development

Создание электронного справочника продуктов и его автоматическая синхронизация с ERP системой предприятия

Alfresco-logoКраткое описание проекта: для одного из ведущих европейских поставщиков резисторов и конденсаторов наша компания разработала электронный справочник продуктов с его дальнейшей автоматической синхронизацией с ERP системой и веб-сайтом заказчика.

Техническое описание проекта: данный проект является модель-ориентированным приложением (Model Driven Development), построенным на основе Open Source фреймворка Eclipse EMF Texo. Первая часть приложения – это приложение CMS на основе кастомизации Alfresco Enterprise CMS. Эта CMS содержит специфичную для клиента модель и во время работы предоставляет ее  другой части приложения, которая фактически является J2EE приложением на основе фреймворка JBoss Seam с поддержкой JPA и Hibernate. Специальная технология на основе XForms используется для редактирования сложной рекурсивной модели на страницах приложения. Данная технология веб-форм была встроена в систему Alfresco.

На данном проекте было проведено множество технологических исследований, в том числе, нетривиальных. Одним из них была интеграция в CMS Alfresco реализации стандарта XForm – библиотеки Chiba. Расскажем подробнее о стандарте XForm.

XForms обеспечивает более безопасный и независимый от устройств способ обработки информации, вводимой пользователем через форму на веб-странице, чем обычные веб формы. XForms отделяет логику данных формы от ее представления, используя XML для определения правил описания, проверки, хранения и передачи данных, а HTML или XHTML для их отображения. Поскольку модель данных представлена в виде XML, это делает XForms независимым от устройств и платформы использования. За передачу данных на сервер в формате XML отвечает встроенный в браузер процессор XForms.  Для обработки данных процессор XForms имеет встроенную библиотеку функций. XForms использует XPath для определения связи между XML экземпляром данных и пользовательским интерфейсом XForms, а также XSD (XML Schema Definition) для валидации данных процессором XForms. С помощью XSD  возможно описать множество различных структур данных, включая рекурсивные, в которых элементы могут существовать внутри себя. Таким образом, разработчик имеет возможность моделировать “дерево форм”, вложенных друг в друга, имеющие одинаковую структуру данных, логику валидации, но в разном представлении. В итоге “рекурсивные XSD формы или виджеты” в сочетании с использованием  технологии AJAX для асинхронного обмена данными в формате XML позволили ускорить интерактивность взаимодействия пользователя при работе со сложными формами данных.

Внедрение XForms и Chiba позволило полностью поддержать концепцию модель-ориентированного приложения (Model Driven Development).

Технологии проекта:

Infrastructure: Linux, Windows, SVN, встроенный JBoss на сервере Tomcat.
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 (интеграция с Seam и Hibernate).

Скриншоты:

Особенности проекта:

Результат проекта:

Достижения компании на проекте: