Что решает OSGi? - PullRequest
       62

Что решает OSGi?

266 голосов
/ 20 сентября 2008

Я читал в Википедии и других сайтах о OSGi , но я не вижу общей картины. В нем говорится, что это основанная на компонентах платформа, и что вы можете перезагрузить модули во время выполнения. Также «практическим примером», приведенным повсеместно, является Eclipse Plugin Framework.

Мои вопросы:

  1. Какое четкое и простое определение OSGi?

  2. Какие общие проблемы она решает?

Под «общими проблемами» я подразумеваю проблемы, с которыми мы сталкиваемся каждый день, например «Что OSGi может сделать, чтобы сделать нашу работу более эффективной / веселой / простой?»

Ответы [ 14 ]

1 голос
/ 23 декабря 2016

Другие уже подробно описали преимущества, поэтому я объясняю практические случаи, которые я видел или использовал OSGi.

  1. В одном из наших приложений у нас есть поток, основанный на событиях, и поток определяется в плагинах, основанных на платформе OSGi, поэтому завтра, если какой-то клиент хочет другой / дополнительный поток, он просто должен развернуть еще один плагин, настроить его из нашей консоли и он сделан.
  2. Он используется для развертывания различных коннекторов Store, например, предположим, что у нас уже есть коннектор Oracle DB, и завтра mongodb должен быть подключен, затем напишите новый коннектор и разверните его и настройте детали через консоль, и снова все готово. Развертывание коннекторов осуществляется с помощью плагина OSGi.
1 голос
/ 11 марта 2011

По крайней мере, OSGi заставляет вас ДУМАТЬ о модульности, повторном использовании кода, управлении версиями и в целом о проекте.

1 голос
/ 01 мая 2009

Он также используется для обеспечения дополнительной мобильности промежуточного программного обеспечения и приложений на мобильной стороне. Например, мобильная версия доступна для WinMo, Symbian, Android. Как только происходит интеграция с функциями устройства, они могут быть фрагментированы.

0 голосов
/ 05 мая 2019

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

Основная причина, по которой технология OSGi настолько успешна, заключается в том, что она обеспечивает очень зрелую систему компонентов , которая фактически работает в удивительном количестве сред. Система компонентов OSGi фактически используется для создания очень сложных приложений, таких как IDE (Eclipse), серверов приложений (GlassFish, IBM Websphere, Oracle / BEA Weblogic, Jonas, JBoss), сред приложений (Spring, Guice), промышленной автоматизации, жилых шлюзов телефоны и многое другое.

Что касается преимуществ для разработчика?

РАЗРАБОТЧИКИ: OSGi снижает сложность, предоставляя модульную архитектуру для современных крупномасштабных распределенных систем, а также для небольших встроенных приложений. Сборка систем из собственных и готовых модулей значительно снижает сложность и, следовательно, затраты на разработку и обслуживание. Модель программирования OSGi реализует перспективу компонентных систем.

Пожалуйста, проверьте детали в Преимущества использования OSGi .

...