Что такое OSGi и чем он вам полезен?
Стандартизация и совместимость - горячие темы в мире Интернета вещей. Более пристальный взгляд на различные решения, устройства и протоколы показывает, почему это так. OSGi существует уже почти два десятилетия, взяв на себя задачу обеспечения взаимодействия между широким спектром устройств. Но что такое OSGi и фреймворк OSGi? Кай Хакбарт, евангелист из Bosch.IO, дает свои мысли, отвечая на пять вопросов.
Что такое OSGi?
Кай Хакбарт
Кай Хакбарт работает евангелистом в Bosch.IO (ранее Bosch Software Innovations) с июля 2016 года. Ранее он работал в ProSyst Software, которую Bosch приобрела в 2015 году. Кай Хакбарт играет ключевую роль в технической стандартизации в OSGi Alliance. которого он также является членом Совета директоров. С 2008 по 2018 год он был сопредседателем экспертной группы OSGi Residential. Кроме того, Кай Хакбарт координирует широкий спектр исследовательских проектов в области Интернета вещей (IoT). Он специализируется на умных домах, автомобильных приложениях и Интернете вещей.
Кай Хакбарт OSGi имеет несколько различных аспектов. Во-первых, есть OSGi Alliance. Организация, основанная в 1999 году, первоначально сосредоточила усилия на стандартизации в контексте умных домов. С годами масштабы этих усилий расширились. Сегодня они охватывают области, выходящие за рамки умных домов. Например, Альянс определяет структуру общего назначения на основе Java. Это называется «инфраструктура OSGi», которая используется во встроенных устройствах, а также в сервисах корпоративных приложений, таких как IBM WebSphere. IDE Eclipse также основана на OSGi.
В дополнение к структуре OSGi Альянс определяет несколько спецификаций общего назначения. Сюда входят спецификации ведения журналов, управления пользователями и разрешениями.
В Альянс также входят группы экспертов, которые занимаются более конкретными темами. Одна такая группа работает над техническими требованиями и спецификациями, касающимися Интернета вещей. Enterprise Expert Group, с другой стороны, занимается сценариями использования в корпоративных бизнес-сценариях, а Residential Expert Group занимается такими устройствами, как домашние шлюзы и шлюзы автоматизации зданий.
Что такое структура OSGi?
Кай Хакбарт OSGi определяет модульную архитектуру программного обеспечения на основе Java, которая следует принципам сервис-ориентированной архитектуры (SOA). Что это значит на практике? Допустим, вы разрабатываете услугу парковки. Более пристальный взгляд показывает, что вы можете разбить эту услугу на более мелкие части:вам нужна услуга GPS, которая сообщит вам, где находится автомобиль. Вам также может понадобиться служба, которая ищет открытые парковочные места в этом районе, и другая, которая резервирует парковочное место и платит, когда вы уезжаете. То, что на поверхности выглядит как услуга парковки, состоит из ряда различных компонентов, расположенных ниже. Именно это разделение приложения на пакеты, такие как служба GPS, среди прочего, учитывается в структуре OSGi.
Работа с пакетами упрощает процесс обновления частей приложения. Когда вы разрабатываете обновление для приложения в целом, вы рискуете непреднамеренно создать ошибки в другом месте. Инфраструктура OSGi позволяет вам нацеливать обновления для определенных пакетов, не затрагивая остальную часть приложения, тем самым устраняя необходимость в обширных проверках в разных местах для обеспечения правильного функционирования обновления.
Модульная структура также означает, что вам не нужно разрабатывать каждое новое приложение с нуля. Если вам нужна информация о местоположении для другого приложения, вы можете просто повторно использовать службу GPS, которую вы разработали для службы парковки.
Каковы преимущества OSGi с точки зрения разработчика?
Кай Хакбарт С точки зрения разработки OSGi ведет к более структурированным подходам. Представьте себе разные команды разработчиков, потенциально расположенные в разных частях мира, работающие над одним и тем же приложением. Когда командам приходит время интегрировать свой индивидуальный код, расхождения почти всегда очевидны. Интеграция кода редко бывает гладким процессом, и часто требуется много времени и усилий, чтобы сгладить неровности. Это называется «адом интеграции».
Поскольку OSGi следует модульной структуре, интеграция кода становится намного более плавной, что позволяет избежать ада интеграции. Это также означает, что разные команды разработчиков могут работать вместе более эффективно, даже если они расположены в разных местах. Как уже упоминалось, процесс изменения и обновления приложения после его развертывания также становится проще. Разработчики могут просто сосредоточить свое внимание на конкретной части, требующей обновления.
С множеством разных устройств приходит множество различных протоколов связи. Используя «уровень абстракции», OSGi также помогает разработчикам справиться с этой задачей. Этот уровень позволяет абстрагировать устройства от их протоколов и разрабатывать приложения с использованием единого интерфейса. Допустим, вы работаете со шлюзом, который поддерживает ZigBee, Bluetooth и Z-Wave. Благодаря уровню абстракции вам не нужно быть экспертом в этих протоколах - ваше приложение просто будет работать со всеми из них.
Однако использование OSGi также означает больше размышлений и усилий, начиная с проекта. Разработчики должны подумать о том, как они хотят разбить свое приложение на модули. Они также должны определять зависимости между различными частями приложения. Хотя этот процесс требует времени, он также обеспечивает бесперебойную работу остальной части процесса разработки.
Каковы преимущества OSGi с точки зрения компании?
Кай Хакбарт OSGi помогает компаниям управлять сложностью своих приложений. В мире Интернета вещей нельзя разработать и запустить продукт, а впоследствии забыть о нем. Вы должны постоянно обновлять и адаптировать свои приложения для удовлетворения постоянно меняющихся требований ваших клиентов. Именно в этом вам может помочь OSGi.
Чтобы воспользоваться преимуществами OSGi, компании должны взять на себя обязательство использовать его. Если компания решит разработать продукт или приложение на основе OSGi, используя при этом другие технологии для других своих продуктов, выгоды не будут такими значительными, как компания могла бы надеяться. Как и в случае с любой другой технологией, использование OSGi должно быть стратегическим решением, которое принимает компания в целом. Подумайте об этом:если компания разрабатывает несколько различных продуктов на основе OSGi, она может извлечь выгоду из модульной структуры, предоставляемой OSGi. Это позволяет вам разработать конкретный компонент только один раз и повторно использовать его в случае необходимости. Это может сэкономить ресурсы на разработке и позволяет компании сосредоточиться на совершенно новых функциях.
Почему OSGi часто упоминается, когда говорят об Интернете вещей?
Кай Хакбарт Интернет вещей - это неоднородная среда. Он охватывает множество доменов, и многие игроки предлагают различные решения и продукты. Чтобы справиться с этой сложностью, необходимы стандартизация и функциональная совместимость в той или иной форме. И OSGi предоставляет именно это.
Это не только помогает вам разрабатывать приложения, совместимые с разными платформами. Как я уже объяснял, OSGi также полезен, когда речь идет о способах разработки и сопровождения приложений. Это позволяет компаниям и дальше развивать свои приложения, а разработчикам легко предоставлять целевые обновления, а также добавлять новые функции. И последнее, но не менее важное:OSGi не зависит от предметной области, поэтому он идеально подходит для такой разнообразной области, как Интернет вещей.
Интернет вещей
- OSGi для решений IoT:идеальное сочетание
- Готовы ли вы к Contact Center 2.0?
- На что следует обращать внимание в предварительно спроектированной роботизированной рабочей ячейке
- Что нужно знать о охлаждающей жидкости для станков с ЧПУ
- Фрезерный станок с ЧПУ на продажу:что с ним можно сделать?
- Контрольный список передислокации завода:что нужно для надежного переноса
- Что нужно для охлаждения дискового тормоза лебедки?
- Какие инструменты профилактического обслуживания вам нужны для вашего крана?
- Понимание того, что военно-морская латунь может сделать для вас
- Термическая обработка металлов:что нужно знать