Unify.RU
О компанииРешенияПродуктыДемо

Разработка композитных веб-приложений при помощи Unify NXJ ActiveForms

Решения Unify базируются на платформе NXJ Enterprise. Входящий в ее состав модуль NXJ ActiveWorkflow предоставляет стандартную функциональность BPM-системы: графический редактор схем бизнес-процессов, «движок» (BPM engine), исполняющий экземпляры бизнес-процессов, средства мониторинга.

Но больший интерес, в контексте рассматриваемой проблемы, представляет NXJ ActiveForms — средство разработки композитных приложений, сочетающее:

Рассмотрим в чем перечисленные достоинства выражаются конкретно.

Простота освоения

Опыт многих компаний свидетельствует: при всех достоинствах платформы J2EE, разработчикам со стажем трудно на нее перейти. Проблема не в языке Java как таковом, а в том, что стиль разработки веб-приложений в среде J2EE серьезно отличается от того, к которому привыкли программисты, работающие на Delphi, Visual Basic или Visual C++.

Unify NXJ ActiveForms выгодно отличается от популярных средств разработки Java тем, что он предоставляет корпоративным разработчикам привычную для них среду. Программист с опытом Delphi или другого клиент-серверного средства разработки, попадая в NXJ, оказывается в знакомой оболочке. Перед ним привычный экранный холст, на который «набрасываются» таблицы базы данных, кнопки, закладки и другие элементы интерфейса. Ему не надо разрабатывать карту переходов между веб-страницами, ведь встроенная функциональность NXJ обеспечивает добавление записей в базу данных, удаление, редактирование и поиск на одной форме. Так же на одной форме, при помощи мастера, он может создать связь master-detail, например для того, чтобы динамически показывать товарные позиции (строки), перемещаясь по списку документов.

Привычная среда разработки

Рисунок 1. Привычная среда разработки

NXJ не вызывает у программистов с клиент-серверным опытом отторжения, не требует от них изучения технологий J2EE и позволяет начать разрабатывать 100% J2EE веб-приложения практически сразу.

Темп разработки

Вся стандартная функциональность — навигация между полями и закладками, добавление-модификацию-удаление-поиск, связи master-detail — не требует кодирования. У каждого элемента интерфейса есть обширный набор свойств, поведенческих и визуальных, редактируя которые программист решает как минимум 70% своей задачи.

Оставшаяся нетривиальная бизнес-логика программируется на чистом java. Фрагменты java-кода привязываются к понятным разработчику событиям: инициализация формы, изменение данных в поле и т.п. Для работы с базой данных используется JDBC, и там, где приложение должно выполнить какие-то фоновые операции над базой, программист пишет SQL-код.

Быстрая разработка веб-приложений

Рисунок 2. Быстрая разработка веб-приложений

Встроенный SQL, готовая функциональность, предопределенные события, мастера (wizards) — все это повышает производительность труда разработчика. А встроенная поддержка систем контроля версий и наличие репозитария повторно-используемых компонент положительно сказывается на производительности командной работы.

Качество результирующего приложения

Веб-приложения обычно ассоциируются с серией HTML-страниц, которые перезагружаются при каждом обновлении содержимого. Только недавно веб-разработчики открыли для себя возможность создавать в рамках браузера приложения, по качеству не уступающие традиционным десктопным. Технически это реализуется фоновой передачей данных между кодом javascript, исполняемым на стороне браузера, и программным обеспечением на сервере. В результате обновляется только та часть экрана, которую затрагивают изменение в данных, и приложение в целом становится более функциональным и более дружественным по отношению к пользователю.

Эта технология стала известна широким кругам разработчиков и пользователей Интернет под названием AJAX в середине 2005 г. Но к этому моменту она уже была реализована на ряде популярных интернет-сайтов, в частности Gmail и Google Maps. Эта же технология под именем ActiveWeb™ была реализована в Unify NXJ задолго до появления термина AJAX, т.е. Unify является пионером в этой области. В приложениях NXJ все операции с базой данных выполняются через одну форму, содержимое которой динамически и выборочно обновляется без перерисовки веб-страницы. По надежности и уровне сервиса для пользователя приложения NXJ не уступают традиционным клиент-серверным, сохраняя при этом преимущества тонкого клиента.

Функциональность толстого клиента в окне браузера

Рисунок 3. Функциональность «толстого» клиента в окне браузера

Помимо чисто визуального аспекта, в веб-приложения Unify NXJ заложены алгоритмы буферизации, кэширования, предварительной выборки, без которых невозможна эффективная работа корпоративных приложений, подразумевающая доступ к базам данных большого объема.

Совместимость с существующей IT-инфраструктурой

Выбирая инструментарий, разработчик хочет, чтобы

  1. он был совместим с информационной инфраструктурой, принятой на предприятии в качестве стандарта
  2. и в то же время чтобы он не предъявлял повышенных требований к наличию этой же самой инфраструктуры

Другими словами, если на предприятии, например, используется СУБД Oracle и J2EE-сервер IBM, то в идеале инструментарий разработчика должен позволять работать с тем и с другим, но не требовать ни того, ни другого в качестве обязательного условия для начала работы.

Unify NXJ удовлетворяет обоим этим, на первый взгляд противоречащим друг другу, требованиям. С одной стороны, он сертифицирован на совместимость с операционными системами, серверами приложений, системами авторизации и СУБД ведущих производителей (подробнее), а с другой — в состав дистрибутива входят популярный OpenSource J2EE сервер JBoss, встроенная СУБД и система авторизации. Это дает возможность разработчику на начальном этапе установить Unify NXJ без доступа к сетевым сервисам (на офисном или на домашнем компьютере), опробовать NXJ и выполнить начальный этап разработки, а в нужный момент инсталировать его на корпоративный сервер приложений.

Все что нужно приложению NXJ для работы с точки зрения пользователя — это Интернет-браузер (поддерживаются Internet Explorer, Netscape, Mozilla, Firefox). Приложение NXJ — это чистый «тонкий клиент»: никакой установки программ или плагинов, Java на стороне клиента также не используется. А выставив одну галочку в окне свойств, разработчик может превратить приложение NXJ в портлет, соответствующий стандарту JSR-168, т.е. совместимый с большинством существующих порталов.

Далее: Примеры проектов BPM, выполненных средствами Unify NXJ...

О компании | Решения | Продукты | Демо | Скачать | Купить | Партнерам | вузам | Карта сайта