Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
Открытое определение интерфейса сервиса (OSID) — это спецификация программного интерфейса, описывающая сервис. Эти интерфейсы разработаны инициативой "Открытые знания" (OKI) для реализации архитектуры, ориентированной на сервисы (SOA), с целью обеспечения совместимости между приложениями, работающими на разнообразной и постоянно меняющейся технологической базе.
An open service interface definition (OSID) is a programmatic interface specification describing a service. These interfaces are specified by the Open Knowledge Initiative (OKI) to implement a service oriented architecture (SOA) to achieve interoperability among applications across a varied base of underlying and changing technologies.
Обоснование
Для сохранения инвестиций в разработку программного обеспечения, программная логика отделяется от базовых технологий посредством использования программных интерфейсов, каждый из которых определяет соглашение между потребителем услуги и поставщиком услуги. Это разделение является основой любой корректной SOA. В то время как некоторые подходы определяют границу интерфейса сервиса на уровне протокола или сервера, OSID устанавливают эту границу на уровне приложения, эффективно изолируя потребителя от протоколов, идентификаторов сервера и вспомогательных библиотек, находящихся в ведении поставщика услуги, что приводит к созданию программного обеспечения, которое проще разрабатывать, оно более долговечно и может использоваться в более широком спектре вычислительных сред. OSID помогают в проектировании и разработке программного обеспечения, разделяя проблемное пространство по границам интерфейсов сервисов. Поскольку вопросы сетевой коммуникации решаются внутри поставщика услуги и ниже уровня интерфейса, нет необходимости предполагать, что каждый поставщик услуги реализует протокол удаленного взаимодействия (хотя многие это делают). OSID также используются для коммуникации и координации между различными компонентами сложного программного обеспечения, предоставляя средства для организации процессов проектирования и разработки с целью упрощения управления проектами. Провайдеры OSID (реализации) часто повторно используются в различных приложениях. Как только программное обеспечение начинает понимать соглашение об интерфейсе для сервиса, на его месте могут быть использованы другие совместимые реализации. Это обеспечивает возможность повторного использования на высоком уровне (уровне сервиса), а также позволяет легко масштабировать программное обеспечение, разработанное для более узких и специализированных задач. Реализация провайдера OSID может состоять из произвольного количества других провайдеров OSID. Эта многоуровневая техника является очевидным способом абстракции. Когда все провайдеры OSID реализуют один и тот же сервис, это называется шаблоном адаптера. Шаблоны адаптеров – это мощные инструменты для федерации, мультиплексирования или объединения различных сервисов, работающих по одному и тому же интерфейсу, без внесения изменений в приложение.
To preserve the investment in software engineering, program logic is separated from underlying technologies through the use of software interfaces each of which defines a contract between a service consumer and a service provider. This separation is the basis of any valid SOA. While some methods define the service interface boundary at a protocol or server level, OSIDs place the boundary at the application level to effectively insulate the consumer from protocols, server identities, and utility libraries that are in the domain to a service provider resulting in software which is easier to develop, longer lasting, and usable across a wider array of computing environments. OSIDs assist in software design and development by breaking up the problem space across service interface boundaries. Because network communication issues are addressed within a service provider and below the interface, there isn't an assumption that every service provider implement a remote communications protocol (though many do). OSIDs are also used for communication and coordination among the various components of complex software which provide a means of organizing design and development activities for simplified project management. OSID providers (implementations) are often reused across a varied set of applications. Once software is made to understand the interface contract for a service, other compliant implementations may be used in its place. This achieves reusability at a high level (a service level) and also serves to easily scale software written for smaller more dedicated purposes. An OSID provider implementation may be composed of an arbitrary number of other OSID providers. This layering technique is an obvious means of abstraction. When all the OSID providers implement the same service, this is called an adapter pattern. Adapter patterns are powerful techniques to federate, multiplex, or bridge different services contracting from the same interface without the modification to the application.