1. Введение

Вспомните, сколько раз при разработке нового или развитии старого приложения вам приходилось писать код заново? Приходилось снова разрабатывать структуру базы данных, новое API, новые функции JavaScript, переписывать механизмы интеграции?

Разве не было бы здорово воспользоваться платформой, которая позволит не писать снова и снова один и тот же код? Платформа которая позволит скорее приступить к реализации функций вашего приложения, вместо реализации функций, которые уже применены и используются на множестве других проектов. Именно для этого создана Платформа ARTA SYNERGY - ускорение разработки Enterprise-приложений.

1.1. Разработка новых и расширение существующих приложений

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

Наиболее распространенные способы расширения или кастомизации функциональности ARTA SYNERGY:

  1. Разработка веб-приложений на основе форм. Веб-приложения на основе форм могут работать как в рамках самой Платформы, расширяя ее функциональность, так и в качестве интеграционных модулей любых сторонних веб-приложений.
  2. Кастомизация существующих компонентов или приложений. Многие компоненты Платформы возможно менять, включая их логику и графический интерфейс.
  3. Разработка новых веб-сервисов для внешних систем и мобильных приложений.
  4. Собственная реализация различных подсистем Платформы. Для ключевых подсистем Платформы (например Хранилище) реализованы стандартные интерфейсы, реализация которых позволит заменить используемую подсистему. К примеру, таким образом можно заменить использование Apache Cassandra на СУБД Oracle.

1.2. Основы

Что необходимо знать разработчику на Платформе ARTA SYNERGY?

  1. Платформа создана полностью на открытом программном обеспечении (Open Source) с соблюдением соответствующих стандартов.
  2. Построена на JavaEE, с использованием множества популярных технологий Java Platform.
  3. Вы можете разрабатывать собственные веб, мобильные и десктопные приложения на ее основе.

1.2.1. Технологии

В основе Платформы ARTA SYNERGY используются лучшие мировые практики, стандарты и технологии. При выборе технологии, на которых будет создаваться какая либо функциональность, мы руководствуемся следующими критериями:

  • Должна быть достаточно современная, но при этом достаточно устоявшаяся, чтобы обеспечивать работоспособность в критических Enterpise окружениях
  • Должна иметь широкое распространение и развитое активное сообщество
  • Наличие стабильных версий готовых к промышленной эксплуатации
  • Должна распространяться под лицензией LGPL или аналогичной c исходным кодом

Мы стремимся предоставить нашим разработчикам и пользователям современную, простую, стабильную платформу для создания собственных бизнес-приложений.

_images/figure-1.png

ARTA SYNERGY создана на популярных, хорошо известных и поддерживаемых технологиях

В основе стека технологий лежит JavaEE.

1.2.2. Архитектура

Описание верхнеуровневой архитектуры.

Arta Synergy представляет собой платформу, которая позволяет быстро собирать приложения для автоматизации процессов предприятий:

  • В IDE synergy developer моделирует, конфигурирует и собирает приложение.
  • Движок BPM и ECM позволяет исполнить модель приложения с созданием экземпляров документов и процессов.
  • На основе созданных данных можно делать визуализацию и анализ.
_images/platform.png

Концепция платформы

Платформа Arta Synergy технически представляет собой монолитное enterprise приложение, запускаемое на сервере приложений Wildfly, в процессе своей работы взаимодействующее c пользователем, внутренними компонентами сервера приложений и внешними системами.

Arta Synergy предоставляет:

  • движок процессов BPM, который позволяет настраивать и запускать бизнес процессы
  • систему управления контентом ECM для хранения документов в цифровом формате
  • индексатор для быстрого поиска

Доступ к функционалу платформы осуществляется через UI клиента Synergy и IDE, а также через API.

_images/logic_data_levels.png

Верхнеуровневая архитектура платформы

Для хранения структурированных данных используется СУБД Mysql.

Для хранения бинарных данных используются jcr реализации JackRabbit либо собственная реализация jcr4c на основе noSql БД Cassandra.

Для быстрого поиска используются индексы Lucene либо ElasticSearch.

В production mode схема инфраструктуры вместе со всеми вычислительными компонентами и хранилищами данных выглядит следующим образом:

_images/infrastructure.png

Схема инфраструктуры платформы для production mode