Введение

Открытое определение интерфейса сервиса (OSID) — это спецификация программного интерфейса, описывающая сервис. Эти интерфейсы разработаны инициативой "Открытые знания" (OKI) для реализации архитектуры, ориентированной на сервисы (SOA), с целью обеспечения совместимости между приложениями, работающими на разнообразной и постоянно меняющейся технологической базе.

Обоснование

Для сохранения инвестиций в разработку программного обеспечения, программная логика отделяется от базовых технологий посредством использования программных интерфейсов, каждый из которых определяет соглашение между потребителем услуги и поставщиком услуги. Это разделение является основой любой корректной SOA. В то время как некоторые подходы определяют границу интерфейса сервиса на уровне протокола или сервера, OSID устанавливают эту границу на уровне приложения, эффективно изолируя потребителя от протоколов, идентификаторов сервера и вспомогательных библиотек, находящихся в ведении поставщика услуги, что приводит к созданию программного обеспечения, которое проще разрабатывать, оно более долговечно и может использоваться в более широком спектре вычислительных сред. OSID помогают в проектировании и разработке программного обеспечения, разделяя проблемное пространство по границам интерфейсов сервисов. Поскольку вопросы сетевой коммуникации решаются внутри поставщика услуги и ниже уровня интерфейса, нет необходимости предполагать, что каждый поставщик услуги реализует протокол удаленного взаимодействия (хотя многие это делают). OSID также используются для коммуникации и координации между различными компонентами сложного программного обеспечения, предоставляя средства для организации процессов проектирования и разработки с целью упрощения управления проектами. Провайдеры OSID (реализации) часто повторно используются в различных приложениях. Как только программное обеспечение начинает понимать соглашение об интерфейсе для сервиса, на его месте могут быть использованы другие совместимые реализации. Это обеспечивает возможность повторного использования на высоком уровне (уровне сервиса), а также позволяет легко масштабировать программное обеспечение, разработанное для более узких и специализированных задач. Реализация провайдера OSID может состоять из произвольного количества других провайдеров OSID. Эта многоуровневая техника является очевидным способом абстракции. Когда все провайдеры OSID реализуют один и тот же сервис, это называется шаблоном адаптера. Шаблоны адаптеров – это мощные инструменты для федерации, мультиплексирования или объединения различных сервисов, работающих по одному и тому же интерфейсу, без внесения изменений в приложение.