Khamelios - это Java приложение, построенное на технологиях Eclipse Rich Client Platform (RCP) v4.x, обладающее всеми их преимуществами. К таким преимуществам можно отнести:

  • поддержку работы на большом множестве платформ (Windows, Unix, Linux, Mac и др.), как коммерческих, так и Open Source;
  • модульный принцип построения приложения, когда приложение собирается из необходимых готовых модулей, а отсутствующие приобретаются у третьих фирм или разрабатываются самостоятельно;
  • высокая степень производительности, т.к. поддержка элементов на различных платформах обеспечивается нативными библиотеками, разработанными специально для этой платформы, а не рисуется средствами виртуальной машины (как в классической Java).

Программное обеспечение Khamelios состоит из нескольких уровней, каждый из которых включает набор простых компонент, сложенных в виде мозаики. При этом можно выделить 3 уровня.

 Архитектурные компоненты Khamelios

 На самом нижнем уровне располагаются базовые компоненты Eclipse, которые используются для разработки RCP приложений:

  • OSGi - функционал, который обеспечивает создание модульных RCP приложений с возможностью агрегации отдельных модулей и сокрытия ненужных деталей реализации (OSGi Alliance)
  • Equinox - набор плагинов, которые обеспечивают функционирование RCP приложения по стандартам OSGi, обеспечивая реализацию данной спецификации на практике.
  • EMF Core - ядро Eclipse Modeling Framework, основной задачей которого в RCP является производство объектов Java в Runtime на основе модели или спецификаций, определенных в формате XMI.
  • UI Core - наборы готовых графический компонент библиотек SWT и JFace, совместимых с большим числом операционных систем.
  • Application Model - модель RCP приложения, которая определяет какие графические элементы выводятся в RCP приложении и как они организуются на экране. Продукт Khamelios обладает динамической моделью приложения, которая собирается на старте приложения в соответствии с пользовательским описанием, определенным в активной теме Khamelios.
  • Rendering Engine - функционал, который обеспечивает привязку модели приложения к технологии представления графических компонент. По умолчанию в Khamelios используется SWT, но при необходимости приложение может быть расширено для вывода данных в иных форматах при неизменности базовой модели.
  • Dependency Injection - механизм связывания объектов и сервисов приложения в Runtime на базе Java Specification Request 330 (JSR330).
  • Services - набор готовых сервисов, которые приходят в RCP из родительской платформы Eclipse.
  • Workbench - механизм организации рабочего пространства, которое может быть гибко настроено, а отдельные элементы графического представления добавлены и размещены наиболее удобным образом.Кроме того, рабочая область определяет возможность сохранения данных, читаемых или создаваемых RCP приложением.

Следующий уровень представлен специфическими компонентами Khamelios, которые обеспечивают основной функционал продукта:

  • Khamelios Core - базовая часть Khamelios, которая определяет специфические компоненты продукта, построенные на UI Core. Khamelios Core определяет набор компонент, принципы описания тем и подключение активной темы, дополнительные настройки приложения, взаимодействие с остальными компонентами приложения.
  • Devices Management - функционал, который определяет набор поддерживаемых устройств и протоколы взаимодействия с ними.
  • Profile Management - загрузка специального профайла, который определяет дополнительные настройки приложения на сервере, если Khamelios развернут в клиент-серверной среде. Например, если на базе Khamelios реализовано ПО платежного терминала, то данный функционал позволяет получить профайл терминала с сервера Процессинга и настроить внешний вид и поведение терминала по данному запросу.
  • Server Mediator - интерфейс, который определяет взаимодействие с сервером в случае, если продукт Khamelios функционирует в клиент-серверной среде. Взаимодействие осуществляется с помощью создания и отправки на сервер документов в формате XML.
  • Service Menu - функционал сервисного меню, который позволяет определить специфические настройки приложения через графический интерфейс пользователя для администраторов системы.
  • Logger - функционал для ведения лога и сохранения истории событий в реальном времени при работе продукта Khamelios.

На последнем третьем уровне могут располагаться программные компоненты, разработанные пользователями или третьими фирмами для придания специфики продукту Khamelios в соответствии определенными ими бизнес-целями.

На нашем сайте представлены варианты продукта Khamelios первых двух уровней. Третий уровень может быть разработан нами для Вас или сторонними разработчиками и использоваться в своих целях.