Khamelios - это Java приложение, построенное на технологиях Eclipse Rich Client Platform (RCP) v4.x, обладающее всеми их преимуществами. К таким преимуществам можно отнести:
- поддержку работы на большом множестве платформ (Windows, Unix, Linux, Mac и др.), как коммерческих, так и Open Source;
- модульный принцип построения приложения, когда приложение собирается из необходимых готовых модулей, а отсутствующие приобретаются у третьих фирм или разрабатываются самостоятельно;
- высокая степень производительности, т.к. поддержка элементов на различных платформах обеспечивается нативными библиотеками, разработанными специально для этой платформы, а не рисуется средствами виртуальной машины (как в классической Java).
Программное обеспечение Khamelios состоит из нескольких уровней, каждый из которых включает набор простых компонент, сложенных в виде мозаики. При этом можно выделить 3 уровня.
На самом нижнем уровне располагаются базовые компоненты 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 первых двух уровней. Третий уровень может быть разработан нами для Вас или сторонними разработчиками и использоваться в своих целях.