La orientación al servicio es un paradigma de diseño para software informático en forma de servicios . Los principios del diseño orientado a servicios enfatizan la separación de preocupaciones en el software. La aplicación de la orientación al servicio da como resultado unidades de software divididas en unidades discretas, autónomas y accesibles en red, cada una diseñada para resolver un problema individual. Estas unidades califican como servicios. [1] [2]
Historia de los principios y principios de la orientación al servicio
La orientación al servicio ha recibido mucha atención desde 2003 [3] debido a los beneficios que promete. Estos incluyen un mayor retorno de la inversión , agilidad organizativa e interoperabilidad , así como una mejor alineación entre el negocio y la TI . Se basa en gran medida en paradigmas de diseño anteriores y los mejora con la estandarización, el acoplamiento flexible y la participación empresarial. [4] El paradigma perdió impulso en 2009; [5] desde 2014, se puede observar un interés renovado bajo el nombre de Microservicios . En tecnología, diferentes plataformas SOA de proveedores han utilizado diferentes definiciones de orientación al servicio. Algunos proveedores promueven principios y principios diferentes sobre otros, pero existen bastantes puntos en común. [6]
La orientación al servicio hereda una pequeña cantidad de principios de paradigmas anteriores, incluida la programación orientada a objetos , la ingeniería de software basada en componentes y el procesamiento distribuido abierto. Se reconoce comúnmente que varios principios de orientación a servicios tienen sus raíces en el paradigma del diseño orientado a objetos. Los dos son paradigmas complementarios y siempre habrá necesidad de ambos. [7] Los servicios también heredan una serie de características de los componentes de software, que incluyen
- De uso múltiple
- No específico del contexto
- Composable
- Encapsulado, es decir, no investigable a través de sus interfaces
- Una unidad de implementación y control de versiones independientes
El procesamiento distribuido abierto (ODP) combina los conceptos de sistemas abiertos y computación distribuida, que son características esenciales de la orientación al servicio. Las características clave de ODP son todas heredadas por la orientación al servicio, incluida la federación, la interoperabilidad, la heterogeneidad, la transparencia y el comercio / corretaje.
Características esenciales
Don Box fue uno de los primeros en proporcionar un conjunto de pautas de diseño a las que se hace referencia como sus "cuatro principios de orientación al servicio", que describió principalmente en relación con la plataforma Microsoft Indigo (posteriormente Windows Communication Foundation ) que estaba surgiendo en ese momento. :
- Los límites son explícitos
- Los servicios son autónomos
- Los servicios comparten esquema y contrato, no clase
- La compatibilidad del servicio se basa en la política
Otros proveedores y consultores independientes han publicado sus definiciones de orientación al servicio y SOA, por ejemplo, N. Josuttis en "SOA en la práctica" y D: Krafzig et al. en "Enterprise SOA". Un artículo de la edición de diciembre de 2005 del IBM System Journal [8] titulado "Impacto de la orientación al servicio a nivel empresarial" [9] proporcionó un estudio de cómo el paradigma de la orientación al servicio se relaciona con la componentización fundamental y el Modelo de negocio de componentes de IBM ( CBM).
Paul Allen define la orientación al servicio como un paradigma (empresarial), con tres componentes principales: arquitectura empresarial, arquitectura orientada a servicios y gestión orientada al software. El libro de Allen define siete puntos de vista orientados a servicios (denominados SOV7): Allen, Paul (2006). Orientación al servicio Estrategias y mejores prácticas ganadoras . Prensa de la Universidad de Cambridge. ISBN 978-0521843362.
- Transparencia
- Suavidad de la experiencia del cliente en el uso del servicio.
- Ajuste del cliente
- Capacidad para adaptar las ofertas a las variaciones en las necesidades del cliente.
- Conectividad de socios
- Capacidad de utilizar terceros para realizar servicios básicos
- Capacidad para ofrecer un servicio a diferentes socios.
- Adaptación
- Adaptarse a los cambios del mercado.
- Capacidad multicanal
- Apoyar al cliente de principio a fin a través del proceso, utilizando diferentes canales para lograr la continuidad.
- Ofreciendo el mismo servicio a través de diferentes canales.
- Mejoramiento
- Ofreciendo servicios en tiempo real a altos niveles de desempeño.
- Experiencia única
- Atendiendo a las diferentes necesidades de los clientes a través de un conjunto de servicios.
Allen utiliza los puntos de vista como punto de partida para formular preguntas durante el proceso de diseño.
La orientación al servicio ha seguido recibiendo un mayor reconocimiento como una parte importante del panorama informático orientado al servicio y un enfoque de diseño válido para lograr una arquitectura orientada al servicio .
Ver también
Referencias
- ^ Erl, Thomas. "Principios SOA" .
- ^ "Ingeniería de Software Orientada a Servicios" .
- ^ "Informe especial de Gartner's Hype Cycle para 2005" (PDF) .
- ^ Erl, Thomas. "¿Qué es SOA? - Introducción" .
- ^ "SOA ha muerto; Larga vida a los servicios" . Blog de estrategias de plataforma de aplicaciones .
- ^ Liebhart, Daniel. SOA se vuelve real . Hanser, 2007, pág. 22
- ^ "Elementos de Análisis y Diseño Orientados a Servicios" . www.ibm.com . 2 de junio de 2004.
- ^ "Revista IBM de Investigación y Desarrollo" . www.research.ibm.com . 23 de octubre de 2017.
- ^ "Revista IBM de Investigación y Desarrollo" . www.research.ibm.com . 23 de octubre de 2017.
Otras lecturas
- Allen, Paul (2006). Orientación al servicio, estrategias ganadoras y mejores prácticas . Cambridge, Reino Unido: Cambridge University Press. ISBN 9780521843362.
- Luba Cherbakov y col. (2005). " Impacto de la orientación al servicio a nivel empresarial ". IBM Systems Journal, octubre de 2005
- Josuttis, Nicolai (2007). SOA en la práctica . Sebastopoal, CA, EE.UU .: O'Reilly. ISBN 978-0-596-52955-0.
- Rotem-Gal-Oz, Arnon (2012). Patrones SOA . Publicaciones Mannikng. ISBN 978-1933988269.
- Jenny Ang, Luba Cherbakov, Mamdouh Ibrahim (2005). " Antipatrones SOA ". Artículo de IBM Online, noviembre de 2005.
- Ali Arsanjani (2004). " Arquitectura y modelado orientado a servicios ". Artículo de IBM Online, 09 de noviembre de 2004.