Definiciones de interfaz de servicio abierto


Las definiciones de interfaz de servicio abierto ( OSID ) son especificaciones de interfaz programática que describen servicios. Estas interfaces están especificadas por Open Knowledge Initiative ( OKI ) para implementar una arquitectura orientada a servicios (SOA) para lograr la interoperabilidad entre aplicaciones a través de una base variada de tecnologías subyacentes y cambiantes.

Para preservar la inversión en ingeniería de software, la lógica del programa se separa de las tecnologías subyacentes mediante el uso de interfaces de software, cada una de las cuales define un contrato entre un consumidor de servicios y un proveedor de servicios. Esta separación es la base de cualquier SOA válida. Si bien algunos métodos definen el límite de la interfaz de servicio a nivel de protocolo o servidor, los OSID colocan el límite a nivel de aplicación para aislar eficazmente al consumidor de protocolos , identidades de servidor y bibliotecas de utilidades que están en el dominio de un proveedor de servicios, lo que da como resultado un software que es más fácil de desarrollar, más duradero y utilizable en una gama más amplia de entornos informáticos.

Los OSID ayudan en el diseño y desarrollo de software al dividir el espacio del problema a través de los límites de la interfaz de servicio. Debido a que los problemas de comunicación de la red se abordan dentro de un proveedor de servicios y por debajo de la interfaz, no se supone que todos los proveedores de servicios implementen un protocolo de comunicaciones remotas (aunque muchos lo hacen). Los OSID también se utilizan para la comunicación y la coordinación entre los diversos componentes de un software complejo que proporciona un medio para organizar las actividades de diseño y desarrollo para una gestión de proyectos simplificada .

Los proveedores OSID (implementaciones) a menudo se reutilizan en un conjunto variado de aplicaciones. Una vez que se hace que el software comprenda el contrato de interfaz para un servicio, se pueden usar otras implementaciones compatibles en su lugar. Esto logra la reutilización a un alto nivel (un nivel de servicio) y también sirve para escalar fácilmente el software escrito para propósitos más pequeños y dedicados.

Una implementación de proveedor OSID puede estar compuesta por un número arbitrario de otros proveedores OSID. Esta técnica de capas es un medio obvio de abstracción . Cuando todos los proveedores de OSID implementan el mismo servicio, esto se denomina patrón de adaptador . Los patrones de adaptador son técnicas poderosas para federar, multiplexar o unir diferentes servicios que se contratan desde la misma interfaz sin modificar la aplicación.