2012-05-11 3 views
1

На сайте OSGI Alliance говорится: «... объединяет несколько устройств в сетевой среде ...» «... Компонентная система OSGi фактически используется для создания очень сложных приложений, таких как IDE (Eclipse), серверов приложений ...» «... промышленная автоматизация, жилые шлюзы, телефоны и т. д.»Где можно применять OSGI?

Промышленная автоматизация? звучит интересно. Я мог бы подумать о системе мониторинга, и я нашел некоторые результаты Google, связанные с системами с защелками для автомобилей.

Кто-нибудь знает больше мест, где можно использовать osgi?

+0

Я бы сказал, что это не по теме для SO. Тем не менее, IMHO это один из наиболее интересных: http://www.eclipse.org/eclipsert/case_studies/siemens.php – home

ответ

2

OSGi - это, в частности, универсальная модульная система. Он старается не быть предвзятым к определенной области. Хотя он возник из встроенной области, я думаю, что очень небольшой процент разработчиков, которые используют OSGi, теперь находятся в этой области.

Я думаю, что любой код с разумной сложностью принесет пользу от какого-то рамки модульности и OSGi является очень хорошим выбором, хотя есть некоторые препятствия:

  • OSGi является Java на основе, так не являющиеся проекты Java отсутствуют. (Если вы не чувствуете себя предприимчивыми и хотите попробовать что-то вроде Apache Celix)
  • Некоторых библиотек, которые делают определенные приемы загрузки классов не могут играть хорошо с OSGi (например, Hibernate)
  • OSGi имеет немного кривое обучение, так что будьте готовы потратить некоторое время и усилия.
+0

+1 для ссылки Celix. Я не слышал об этом проекте. –

-2

Нет, встроенные системы автомобиля фактически единственное реальное применение OSGi ;-)

5

OSGi представляет собой способ применения модульности коды базы, в значительной степени независимо от цели применения, хотя модульность ног больше задницы тем больше база кода. Очень жесткие программы реального времени, вероятно, нет, но если вы в порядке с Java и работаете на JVM, OSGi должна быть жизнеспособной. Это больше о том, как вы создаете свой код, чем тот, для чего он нужен. Я рекомендую Java Application Architecture: Modularity Patterns with Examples Using OSGi (Agile Software Development Series), чтобы понять мотивацию OSGi.

1
  • Смарт дома - для управления устройствами, управления энергопотреблением, удаленной поддержки, удаленного программного обеспечения резервирования, домашней автоматизации - на примерах реализованных проектов см the OSGi page for Smart Home use cases
  • Mobile - смартфоны - примеры - см выше ссылка снова
  • автомобиля - дистанционное управление, поддержка, чтение датчиков, обеспечивая нави и другие услуги
  • при содействии жизни - много проектов, так как пульт дистанционного управления очень важно
  • любое большое программное приложение - для добавления модульности и управления плагинами. Пример: Eclipse;) ...
Смежные вопросы