Афоризм
Деньги не люди и лишними не бывают.
Последние статьи

 • Домашние финансы
Приложение учета домашних финансов
 • Сохранение значений
Сохранение и восстановление значений компонентов
 • APK-файл Android
Создание apk-файла для android устройств, .dex файлы
 • Android и OSGi
Старт OSGi-фреймворка Felix в android устройстве
 • Загрузка драйвера
Динамическая загрузка JDBC-драйвера
 • платформа JaBricks
Платформа OSGi-приложения JaBricks
 • уроки JaBricks
Учебные примеры изучения платформы Jabricks
 • бандл 'О программе'
Модуль представления инфо о программе
 • бандл form-currencies
Модуль управления справочником валют
 • бандлы JaBricks
Бандлы приложения JaBricks
Поддержка проекта

Если Вам сайт понравился и помог, то будем признательны за Ваш «посильный» вклад в его поддержку и развитие
 • Yandex.Деньги
  410013796724260

 • Webmoney
  R335386147728
  Z369087728698

JaBricks

Мне часто приходилось решать задачу, как с минимальными «потерями» переделать определенный программный код, чтобы адаптировать его под новую задачу. Но, как правило, приходилось прикладывать значительные усилия, чтобы восстановить в памяти бизнес-логику кода предыдущих разработок и адаптировать этот код под новый проект. С данной проблемой, я полагаю, сталкиваются многие разработчики, дорабатывающие и перерабатывающие свой или свободно распространяемый в Интернете код библиотек. Так, к примеру, мне понадобился компонент выбора даты из календаря для десктопного Swing-приложения. Компонент JDatePicker с исходным кодом нашел быстро, но он требовал доработок. Использование компонента в нескольких проектах привел к тому, что на каком-то этапе, появилась библиотека base-gui, в которую вошел данный доработанный компонент, а позже другие компоненты, существенно упрощающие разработку интерфейса, связанного с представлением информации в таблицах и деревьях приложений Swing. Со временем библиотека base-gui была документирована и появилась на этом сайте для общего пользования.

Но вот, на определенном этапе своей деятельности, я столкнулся с технологией OSGi. Осваивая данную технологию, мне стало понятно, что это именно то, что требуется не только мне, но может быть востребовано и в других компаниях и другими разработчиками. Данная технология позволяет разрабатывать программные модули (bundle) и собирать из них приложения. Причем, модули можно подключать к приложению в режиме run-time. К тому же, в приложение можно включить модули разных версий. Набор модулей определяется функциональными требованиями приложения. Расширили или изменили функциональные требования, изменили набор модулей.

Для реализации многомодульного приложения была разработана платформа JaBricks с использованием OSGi-фреймворка Felix. На начальном этапе удавалось из отдельных бандлов собрать что-то привлекательное. Но начинать каждый модуль с «нуля», требовало значительных усилий. Появились базовые модули, реализующие «рутиные» функции создания интерфейса, сохранения и восстановления настроек форм. В дальнейшем они наполнились методами межмодульного взаимодействия. Очень важный аспект платформы связан с конфигурацией, которая отделена от приложения. Именно конфигурация определяет функциональные возможности приложения.

Распространяемое на сайте приложение JaBricks, включая готовые модули, безусловно могут быть адаптированы под окончательное решение потребителя. Разработчики, заинтересованные в развитии данного проекта, также могут либо свободно, либо за незначительное вознаграждение распространять и дорабатывать свои модули. Я часто задавался себе вопросом, возможно ли, чтобы кто-то тратил своё время, чтобы решить чужую проблему предоставлением своих разработок? Ведь их еще необходимо должным образом оформить. Но внутренний голос в ответ – а как же с твоим примером поиска компонента JDatePicker, а как с распространением в Интернете библиотек и программ с открытым кодом? Действительно, ведь не только я один в свободное от основной работы время занимаюсь сайтом для Java-разработчиков, формирую страницы с примерами программирования. Как мне кажется, Java-программисты, подобно разработчикам Android, либо 1С, могут распространять свои наработки в виде готовых модулей.

Программный конструктор

На сайте Вы можете найти готовые модули, выполненные по технологии OSGi. Кроме этого, здесь также имеется готовая «платформа» JaBricks, на которой Вы можете создать безопасное многомодульное OSGi-приложение. Приложение JaBricks включает OSGi-фреймворк Felix. Все настройки приложения выносятся в конфигурацию, включающую набор OSGi-бандлов и файлов формата XML.

Для тех, кто не знаком с OSGi-технологией, скажу, что приложение на платформе JaBricks можно представить в виде детского конструктора, позволяющего из готовых элементов на некоторой основе собрать домик с приусадебным участком, железную дорогу и т.д. OSGi-модули (бандлы) подобно элементам детского конструктора на платформе JaBricks позволяют Вам создать определенное сооружение в виде программного обеспечения.

Таким образом, приложение JaBricks является платформой, на которой из набора бандлов и файлов конфигурации можно создать десктопное ПО, удовлетворяющее заданным функциональным требованиям. Здесь следует отметить, что конфигурацию можно закрыть с использованием пароля, после чего становится невозможным дальнейшее расширение функциональных возможностей созданного приложения. Знание пароля позволяет открыть конфигурацию и внести необходимые изменения как в саму конфигурацию, так и в набор включаемых в приложение модулей.

Знакомство с платформой

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

Разработка модулей

Разработчики со знанием технологии OSGi могут самостоятельно разрабатывать программные модули и использовать приложение JaBricks для распространения своих наработок, либо публиковать свои наработки на нашем сайте. Документация, представленная на сайте, включает шаблоны проектов, которые значительно ускорят процесс освоения платформы и создания собственных бандлов.

ЭЦП

Отличительной особенностью распространяемого приложения JaBricks и готовых программных модулей является включение в jar-файл цифровой подписи.

Автор и исполнитель проекта Евгений Коклин
  Рейтинг@Mail.ru