Компоненты компонента Spring Boot для обеспечения новых функциональных возможностей путем добавления банок? - PullRequest
0 голосов
/ 28 марта 2019

У меня есть приложение Spring Boot, которое я хочу перепродать клиентам. Я хочу, чтобы он служил отправной точкой / каркасом для множества функций, которые со временем могут быть индивидуально проданы / добавлены.

В идеале пользователям может быть предоставлено приложение / jar для загрузки базовой пружины. При запуске приложение сканирует текущий рабочий каталог на наличие любых файлов JAR. Если он найдет файл JAR, он автоматически предоставит пользователям функциональность в базовом приложении.

Возможно, есть лучшие способы сделать это, но уже разработано приложение для базовой загрузки, и это кажется логичным способом сделать это. Будет ли OSGI правильным ответом для этого сценария?

Или есть другие способы предоставления компонентной / связанной функциональности приложению Spring Boot?

1 Ответ

0 голосов
/ 29 марта 2019

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

Но, тем не менее, я не уверен, что это правильный подход в целом.Что произойдет, если клиент больше не будет платить за ваш компонент?Что произойдет, если клиент заплатил за компонент, а вы хотите продать обновление, а он не хочет платить, и теперь вам нужно поддерживать более чем одну версию и т. Д.

Существует множество способов придумать сценарии.это усложнит все это.

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

В большинстве случаев эти лицензии являются неким «криптографическим» ключом, который может проверить только эмитент.Подумайте о механизмах открытых / закрытых ключей.Могу поспорить, что есть и другие варианты.

Совсем недавно команда разработчиков Gitlab опубликовала интересное сообщение на эту тему: GitLab может перейти на одну кодовую базу Rails

Если вы действительно хотите пойти по этому пути, возможно, вы захотите взглянуть на новую систему модулей Java , которая была представлена ​​в Java 9. Хотя кажется, что это еще не 100% поддерживается Spring Boot .

Лично , проработав с OSGi последние 9 лет, я, вероятно, рекомендовал бы сделать это с Spring Boot.Это основано на субъективном ощущении , что Spring Boot немного более современен и имеет большее сообщество.Не существует фреймворка OSGi (такого как Spring Boot), который бы вдохновил меня в данный момент делать проект, хотя общая идея OSGi все еще великолепна.Но, как я уже сказал, это мое мнение, которое не обязательно "правильно".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...