Сервісний рівень OSGi визначає динамічну модель співпраці, яка добре інтегрована з рівнем життєвого циклу. Сервісна модель — це модель публікації, пошуку та зв’язування. Послуга є звичайний об’єкт Java, який зареєстровано в одному або кількох інтерфейсах Java у реєстрі послуг.
Сервісна платформа OSGi надає механізм для розробки програм за допомогою моделі компонентів і розгортання цих програм у рамках OSGi. Архітектура OSGi розділена на кілька рівнів, які забезпечують переваги для створення програм Java™ і керування ними.
«Компоненти» менш формально визначені, ніж послуги. Служба — це будь-який об’єкт, зареєстрований у реєстрі служб OSGi, який можна шукати за іменами інтерфейсу. Єдиною передумовою є те, що служба має реалізувати якийсь інтерфейс… будь-який інтерфейс.
Послуги AEM є модульні компоненти в рамках AEM, які інкапсулюють певну функціональність, сприяючи високомодульній і розширюваній архітектурі. Вони дозволяють використовувати кілька реалізацій, дозволяючи розробникам створювати індивідуальні рішення для різних випадків використання, ролей користувачів, пристроїв або місць розташування.
Процедура
- Оголошіть інтерфейс служби, додавши наступний код у свій пакет. …
- Вкажіть код реалізації інтерфейсу. …
- Використовуйте BundleContext, щоб зареєструвати службу, змінити властивості служби та скасувати реєстрацію служби безпосередньо у своєму коді. …
- Отримати та повернути послугу з іншого класу:
Специфікації OSGi вийшли за рамки початкового фокусу сервісних шлюзів тепер використовуються в програмах, починаючи від мобільних телефонів і закінчуючи відкритим вихідним кодом Eclipse IDE.