~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 71CFF2FE800195DBB0474CE6CA5D3A7A__1717378320 ✰
Заголовок документа оригинал.:
✰ OSGi - Wikipedia ✰
Заголовок документа перевод.:
✰ ОСГи — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/OSGi ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/71/7a/71cff2fe800195dbb0474ce6ca5d3a7a.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/71/7a/71cff2fe800195dbb0474ce6ca5d3a7a__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 02:19:57 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 3 June 2024, at 04:32 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

ОСГи — Википедия Jump to content

ОСГи

Из Википедии, бесплатной энциклопедии
ОСГи
Логотип Альянса OSGi
Год начался 1999
Последняя версия 8.0
октябрь 2020 г. ( 2020-10 ) [1]
Организация OSGi Альянс
Домен Джава
Лицензия Лицензия спецификации OSGi, версия 2.0
Веб-сайт www .osgi .org

OSGi — это проект с открытой спецификацией и открытым исходным кодом, входящий в состав Eclipse Foundation . [2]

Это продолжение работы, проделанной OSGi Alliance (ранее известной как инициатива Open Services Gateway ), которая представляла собой организацию по открытым стандартам для программного обеспечения, основанную в марте 1999 года. Первоначально фонд определял и поддерживал OSGi стандарт . альянс передал свою работу Eclipse Foundation . В конце 2020 года [3]

Спецификация OSGi описывает модульную систему и сервисную платформу для языка программирования Java , реализующую полную и динамическую модель компонентов , чего не существует в автономных средах Java или виртуальных машин . Он имеет сервис-ориентированную архитектуру, основанную на микросервисах, каждый из которых реализован как расширенный файловый архив класса Java ( JAR (формат файла) ).

Описание [ править ]

OSGi построен на сервис-ориентированной архитектуре . Приложения или компоненты, поставляемые в виде пакетов для развертывания , можно удаленно устанавливать, запускать, останавливать, обновлять и удалять без необходимости перезагрузки . Управление Java пакетами / классами описано очень подробно. Управление жизненным циклом приложений реализуется через API, которые позволяют удаленно загружать политики управления. Реестр служб позволяет пакетам обнаруживать добавление новых служб или удаление служб и соответствующим образом адаптироваться.

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

В октябре 2020 года OSGi Alliance объявил о передаче усилий по стандартизации Eclipse Foundation, после чего он закрылся. [4] Все артефакты были переданы в Eclipse Foundation, где «Рабочая группа OSGi» продолжает поддерживать и развивать спецификацию.

Процесс спецификации [ править ]

Спецификация OSGi разрабатывается участниками в рамках открытого процесса и бесплатно предоставляется публике в соответствии с лицензией спецификации OSGi. [5] OSGi Alliance имеет программу соответствия , открытую только для членов. По состоянию на ноябрь 2010 года существует семь сертифицированных реализаций платформы OSGi . [6] На отдельной странице перечислены как сертифицированные, так и несертифицированные реализации спецификаций OSGi , которые включают платформы OSGi и другие спецификации OSGi.

Архитектура [ править ]

Архитектура сервисного шлюза OSGi

OSGi — это платформа Java для разработки и развертывания модульных программ и библиотек. Каждый пакет представляет собой тесно связанную, динамически загружаемую коллекцию классов, jar-файлов и файлов конфигурации, которые явно объявляют свои внешние зависимости (если таковые имеются).

Концептуально система разделена на следующие области:

Пакеты
Пакеты — это обычные JAR- компоненты с дополнительными заголовками манифеста.
Услуги
Уровень сервисов динамически соединяет пакеты, предлагая модель публикации-поиска-привязки для старых простых интерфейсов Java ( POJI ) или старых простых объектов Java (POJO).
Реестр услуг
Интерфейс прикладного программирования для служб управления.
Жизненный цикл
Интерфейс прикладного программирования для управления жизненным циклом (установка, запуск, остановка, обновление и удаление) для пакетов.
Модули
Уровень, определяющий инкапсуляцию и объявление зависимостей (как пакет может импортировать и экспортировать код).
Безопасность
Уровень, который обрабатывает аспекты безопасности, ограничивая функциональность пакета заранее определенными возможностями.
Среда выполнения
Определяет, какие методы и классы доступны на конкретной платформе. Не существует фиксированного списка сред выполнения, поскольку он может меняться по мере создания в процессе сообщества Java новых версий и выпусков Java. Однако следующий набор в настоящее время поддерживается большинством реализаций OSGi:

Пакеты [ править ]

Классификация: OSGi

Пакет — это группа Java-классов и дополнительных ресурсов, снабженная подробным манифестом. MANIFEST.MF файл на все его содержимое, а также дополнительные службы, необходимые для придания включенной группе классов Java более сложного поведения, вплоть до того, что весь агрегат можно считать компонентом.

Ниже приведен пример типичного MANIFEST.MF файл с заголовками OSGi:

 Имя пакета  :   Hello World 
  Символическое имя пакета  :   org.wikipedia.helloworld 
  Описание пакета  :   Пакет Hello World 
  Bundle-ManifestVersion  :   2 
  Bundle-Version  :   1.0.0 
  Bundle-Activator  :   org.wikipedia.Activator 
  Экспортный пакет  :   org. wikipedia.helloworld;version="1.0.0" 
  Пакет импорта  :   org.osgi.framework;version="1.3.0" 

Значение содержимого в примере следующее: [7]

  1. Bundle-Name: определяет удобочитаемое имя для этого пакета. Просто присваивает пакету короткое имя.
  2. Bundle-SymbolicName: единственный обязательный заголовок. Эта запись определяет уникальный идентификатор пакета, основанный на соглашении об обратном доменном имени (также используемом пакетами Java ).
  3. Bundle-Description: описание функциональности пакета.
  4. Bundle-ManifestVersion: указывает спецификацию OSGi, которую следует использовать для чтения этого пакета.
  5. Bundle-Version: Обозначает номер версии пакета.
  6. Bundle-Activator: указывает имя класса, который будет вызываться после активации пакета.
  7. Export-Package: указывает, какие пакеты Java, содержащиеся в пакете, будут доступны внешнему миру.
  8. Import-Package: указывает, какие пакеты Java потребуются из внешнего мира для выполнения зависимостей, необходимых в пакете.

Жизненный цикл [ править ]

Жизненный цикл пакета OSGi

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

Состояние пакета Описание
УСТАНОВЛЕН Пакет успешно установлен.
РЕШЕНО Доступны все классы Java, необходимые для пакета. Это состояние указывает на то, что пакет либо готов к запуску, либо остановлен.
НАЧИНАЕМ Пакет запускается, BundleActivator.startметод был вызван, но метод start еще не вернулся. Если у пакета есть политика активации, он останется в состоянии НАЧАЛО до тех пор, пока пакет не будет активирован в соответствии с его политикой активации.
АКТИВНЫЙ Пакет успешно активирован и работает; его метод запуска Bundle Activator был вызван и возвращен.
ОСТАНОВКА Пакет останавливается. BundleActivator.stop метод был вызван, но метод остановки еще не вернулся.
УДАЛЕНО Пакет удален. Он не может перейти в другое состояние.

Ниже приведен пример типичного класса Java, реализующего BundleActivator интерфейс:

пакет   org.wikipedia  ; 

  импортировать   org.osgi.framework.BundleActivator  ; 
  импортировать   org.osgi.framework.BundleContext  ; 

 публичного   класса    Активатор   реализует   BundleActivator   { 
	 частный   BundleContext   контекст  ; 

	  @Override 
	 public   void   start  (  BundleContext   контекст  )   выдает   исключение   { 
		 System  .   вне  .   println  (  "Начало: Привет, мир"  ); 
		  этот  .   контекст   =   контекст  ; 
	  } 

	 @Override 
	 public   void   stop  (  BundleContext   контекст  )   выдает   исключение   { 
		 System  .   вне  .   println  (  "Остановка: Прощай, жестокий мир"  ); 
		  этот  .   контекст   =   ноль  ; 
	  } 
 } 

Услуги [ править ]

Стандартные услуги [ править ]

Альянс OSGi определил множество услуг. Службы определяются интерфейсом Java . Пакеты могут реализовать этот интерфейс и зарегистрировать службу в реестре служб. Клиенты сервиса могут найти его в реестре или отреагировать на его появление или исчезновение.

В таблице ниже показано описание системных служб OSGi:

Системные службы Описание
Ведение журнала Регистрация информации, предупреждений, отладочной информации или ошибок осуществляется через службу журнала. Он получает записи журнала, а затем отправляет их другим пакетам, которые подписались на эту информацию.
Администратор конфигурации Эта услуга позволяет оператору устанавливать и получать информацию о конфигурации развернутых пакетов.
Доступ к устройству Облегчает координацию автоматического обнаружения и подключения существующих устройств. Это используется для сценариев Plug and Play.
Администратор пользователя Этот сервис использует базу данных с информацией о пользователях (частной и общедоступной) для целей аутентификации и авторизации.
Разъем ввода-вывода Служба соединителя ввода-вывода реализует CDC / CLDC. javax.microedition.ioпакет как услуга. Эта услуга позволяет пакетам предоставлять новые и альтернативные схемы протоколов.
Предпочтения Предлагает альтернативный, более дружественный к OSGi механизм использования Java по умолчанию. Properties для хранения предпочтений.
Время выполнения компонента Динамичный характер сервисов (они могут появляться и исчезать в любое время) усложняет написание программного обеспечения. Спецификация среды выполнения компонентов может упростить обработку этих динамических аспектов, предоставляя декларацию зависимостей на основе XML.
Администратор развертывания Стандартизирует доступ к некоторым обязанностям агента управления.
Администратор мероприятия Предоставляет механизм связи между пакетами, основанный на модели публикации и подписки.
Администратор приложения Упрощает управление средой с множеством различных типов приложений, доступных одновременно.

В таблице ниже показано описание служб протокола OSGi:

Протокольные службы Описание
HTTP-сервис Позволяет отправлять и получать информацию от OSGi с использованием HTTP .
Служба устройств UPnP Указывает, как можно разрабатывать пакеты OSGi для взаимодействия с устройствами Universal Plug and Play (UPnP).
Администратор ДМТ Определяет API для управления устройством с использованием концепций из Open Mobile Alliance спецификаций управления устройствами (OMA).

В таблице ниже показано описание различных служб OSGi:

Разные услуги Описание
Проводной администратор Разрешает соединение между службой производителя и службой потребителя.
XML-парсер Служба XML Parser позволяет пакету найти анализатор с нужными свойствами и совместимостью с JAXP .
Измерение и состояние Служба «Измерение и состояние» позволяет и упрощает правильную обработку измерений на сервисной платформе OSGi.

Организация [ править ]

Альянс OSGi был основан Ericsson , IBM , Motorola , Sun Microsystems и другими в марте 1999 года. До регистрации в качестве некоммерческой корпорации он назывался Connected Alliance.

Среди его членов (по состоянию на февраль 2015 г.) ) более 35 компаний из совершенно разных сфер бизнеса, например Adobe Systems , Deutsche Telekom , Hitachi , IBM , Liferay , Makewave, NEC , NTT , Oracle , Orange SA , ProSyst , Salesforce , Siemens , Software AG и TIBCO Software . [8]

У Альянса есть совет директоров, который обеспечивает общее управление организацией. Офицеры OSGi выполняют различные роли и обязанности в поддержке альянса. Техническая работа проводится в рамках экспертных групп (ЭГ), учрежденных советом директоров, а нетехническая работа проводится в различных рабочих группах и комитетах. Техническая работа, проводимая в экспертных группах, включает разработку спецификаций, эталонных реализаций и тесты на соответствие. Эти экспертные группы выпустили пять основных выпусков спецификаций OSGi (по состоянию на 2012 год). ).

Существуют специальные экспертные группы для корпоративных, мобильных, транспортных средств и основных платформ.

Enterprise Expert Group (EEG) — это новейшая группа EG, которая занимается корпоративными/серверными приложениями. В ноябре 2007 года Жилая экспертная группа (REG) начала работу над спецификациями для удаленного управления жилыми/домашними шлюзами. В октябре 2003 года Nokia , Motorola , IBM , ProSyst и другие члены OSGi сформировали Mobile Expert Group (MEG), которая определит сервисную платформу на основе MIDP для следующего поколения смартфонов, удовлетворяющую некоторые потребности, с которыми CLDC не может справиться. – кроме CDC . MEG стал частью OSGi, как и R4.

Версии спецификации [ править ]

  • OSGi, выпуск 1 (R1): май 2000 г.
  • OSGi, выпуск 2 (R2): октябрь 2001 г.
  • OSGi, выпуск 3 (R3): март 2003 г.
  • OSGi, выпуск 4 (R4): октябрь 2005 г. / сентябрь 2006 г.
    • Базовая спецификация (ядро R4): октябрь 2005 г.
    • Спецификация мобильных устройств (R4 Mobile / JSR-232): сентябрь 2006 г.
  • OSGi Release 4.1 (R4.1): май 2007 г. (также известный как JSR-291).
  • OSGi, выпуск 4.2 (R4.2): сентябрь 2009 г.
    • Спецификация предприятия (R4.2): март 2010 г.
  • OSGi, выпуск 4.3 (R4.3): апрель 2011 г.
    • Ядро: апрель 2011 г.
    • Компендиум и жилой комплекс: май 2012 г.
  • OSGi, выпуск 5 (R5): июнь 2012 г.
    • Core и Enterprise: июнь 2012 г.
  • OSGi, выпуск 6 (R6): июнь 2015 г.
    • Ядро: июнь 2015 г.
  • OSGi, выпуск 7 (R7): апрель 2018 г.
    • Ядро и компендиум: апрель 2018 г.
  • OSGi, выпуск 8 (R8): декабрь 2020 г. [9]

Сопутствующие стандарты [ править ]

Проекты с использованием OSGi [ править ]

  • Adobe Experience Manager система управления корпоративным контентом [10]
  • Apache Aries — реализации контейнера Blueprint и расширения спецификаций, ориентированных на приложения, определенных экспертной группой OSGi Enterprise.
  • Apache Sling — уровень приложений на базе OSGi для JCR. репозиториев контента
  • Atlassian Confluence и JIRA — архитектура подключаемого модуля для этой корпоративной вики и системы отслеживания проблем использует OSGi.
  • Проект инструментов бизнес-аналитики и отчетности (BIRT) — механизм отчетности с открытым исходным кодом.
  • Cytoscape - программная платформа биоинформатики с открытым исходным кодом (начиная с версии 3.0).
  • DataNucleus - сервисы данных с открытым исходным кодом и платформа персистентности в сервис-ориентированных архитектурах
  • DDF – Distributed Data Framework обеспечивает бесплатную интеграцию данных с открытым исходным кодом.
  • Dotcms — управление веб-контентом с открытым исходным кодом
  • EasyBeans — контейнер EJB 3 с открытым исходным кодом.
  • Eclipse — IDE с открытым исходным кодом и богатая клиентская платформа.
  • iDempiere - это реализация OSGi ERP Branch GlobalQSS Adempiere 361 с открытым исходным кодом, первоначально созданная Лоу Хенг Сином. [11]
  • Eclipse Virgo - сервер на основе микроядра с открытым исходным кодом, созданный из пакетов OSGi и поддерживающий приложения OSGi.
  • GlassFish (v3) – сервер приложений для Java EE
  • Fuse ESB — готовый и поддерживаемый выпуск ServiceMix 4.
  • Интегрированный браузер генома — настольный графический интерфейс с открытым исходным кодом для визуализации, изучения и анализа данных генома.
  • IntelliJ — Java IDE и богатая клиентская платформа с бесплатной версией для сообщества.
  • JOnAS 5 – сервер приложений Java EE 5 с открытым исходным кодом
  • JOSSO 2 – основанная на стандартах платформа управления идентификацией и доступом Atricore с открытым исходным кодом.
  • Liferay Dxp - коммерческая платформа корпоративного портала с открытым исходным кодом, использующая OSGi начиная с версии 7.x.
  • Lucee 5 – сервер веб-приложений CFML с открытым исходным кодом
  • NetBeans — IDE с открытым исходным кодом и богатая клиентская платформа.
  • Nuxeo ECM с открытым исходным кодом сервисная платформа
  • Open Daylight Project – проект, целью которого является ускорение внедрения программно-определяемых сетей.
  • OpenEJB — контейнер EJB 3.0 с открытым исходным кодом, поддерживающий OSGi, который можно запускать как в автономном, так и во встроенном режиме.
  • openHAB – программное обеспечение для домашней автоматизации с открытым исходным кодом
  • OpenWorm — программное обеспечение с открытым исходным кодом для моделирования C. elegans с помощью специальной Geppetto . модульной платформы
  • Akana — сервер API-шлюза, портала и аналитики от Akana (ранее SOA Software).
  • Weblogic – сервер приложений Oracle Weblogic
  • WebSphere – сервер приложений IBM Websphere JEE
  • Веб-методы – SoftwareAG WebMethods
  • WildFly — сервер приложений Red Hat WildFly, ранее JBoss.
  • WSO2 Carbon – базовая платформа для стека промежуточного программного обеспечения с открытым исходным кодом корпоративного уровня WSO2.
  • Pentaho программное обеспечение для бизнес-аналитики (BI), которое обеспечивает интеграцию данных , услуги OLAP , отчетность , информационные панели , интеллектуальный анализ данных и возможности извлечения, преобразования и загрузки (ETL).

Текущие реализации фреймворка [ править ]

Имя Лицензия
Апач Феликс Открытый источник
Апач Караф Открытый источник
Консьерж OSGi Открытый источник
Равноденствие OSGi Открытый источник
Затмение Близнецов Открытый источник
Нопфлерфиш Открытый источник

Ссылки [ править ]

  1. ^ «OSGi Alliance | Спецификации / Домашняя страница» . osgi.org . 2020 . Проверено 3 октября 2022 г.
  2. ^ Группа, OSGi Работает. «Что такое OSGi? | Фонд Eclipse» . Рабочая группа OSGi . Проверено 8 ноября 2023 г.
  3. ^ Тайсон, Мэтью (13 августа 2020 г.). «Что такое OSGi? Другой подход к модульности Java» . Инфомир . Проверено 8 ноября 2023 г.
  4. ^ Харгрейв, Б.Дж. «Объявление о переходе в Eclipse Foundation» .
  5. ^ «Лицензия на спецификацию OSGi» . Архивировано из оригинала 14 сентября 2015 г. Проверено 10 мая 2012 г.
  6. ^ «OSGi Alliance | Рынки / Сертифицировано» . Архивировано из оригинала 25 сентября 2008 г. Проверено 23 июня 2017 г.
  7. ^ Создание пакетов OSGi Костином Леу.
  8. ^ «Альянс OSGi | О проекте / Участники» .
  9. ^ Харгрейв, Б.Дж. «Выпуск OSGi Core 8 стал окончательным и опубликованным» .
  10. ^ «Forrester называет лидеров в области управления веб-контентом» . CMSWire. 16.11.2018 . Проверено 5 декабря 2018 г.
  11. ^ "Adempiere Branch_GlobalQSS_361" . adempiere.com/ . Проверено 27 сентября 2014 г.

Дальнейшее чтение [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 71CFF2FE800195DBB0474CE6CA5D3A7A__1717378320
URL1:https://en.wikipedia.org/wiki/OSGi
Заголовок, (Title) документа по адресу, URL1:
OSGi - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)