Arquitectura Orientada a Servicios (SOA)
Definición <ul><li>El acrónimo SOA proviene del inglés Service-Oriented Architecture. Se trata de un modelo de arquitectur...
<ul><li>Sus funcionalidades están implementadas como servicios reutilizables, independientes y con un grado mínimo de acop...
Elementos del SOA más importantes para su éxito   <ul><li>Flexibilidad : Se puede reemplazar un servicio sin tener que pre...
<ul><li>Relevancia para el negocio : SOA es TI expresada a un nivel que tiene un significado importante para la colaboraci...
Barreras a vencer para obtener el éxito de SOA <ul><li>Administración : Servicios compartidos es lo principal para utiliza...
<ul><li>Desarrollo cultural : Al utilizar SOA se requiere un cambio significativo en el estilo de programar. Muchos desarr...
Elementos de SOA <ul><li>Esta arquitectura presenta un modelo de construcción sistemas distribuidos en el que la funcional...
Elementos de SOA: Funciones <ul><ul><li>Transporte : es el mecanismo utilizado para llevar las demandas de servicio desde ...
Elementos de SOA: Funciones <ul><ul><li>Servicio : describe un servicio actual que está disponible para utilizar. </li></u...
Elementos de SOA: Calidad de servicio <ul><ul><li>Política : es un conjunto de condiciones o reglas bajo las cuales un pro...
Tipos de servicios <ul><li>Servicios controladores:  Son los encargados de recibir las peticiones de los clientes y realiz...
<ul><li>Servicios de negocio:  Son los servicios que representan una tarea de negocio, y que forman parte de un proceso de...
<ul><li>Servicios de utilidad:  Son aquellos servicios que se caracterizan por representar una tarea altamente reutilizabl...
<ul><li>Una aplicación SOA la podemos dividir en tres capas: </li></ul><ul><li>la capa de recepción de peticiones (servici...
Principios de la Orientación a Servicios  <ul><li>Estos Principios según Thomas Erl son: </li></ul><ul><li>Los Servicios d...
<ul><li>Los Servicios deben proporcionar un contrato formal:  Todo servicio desarrollado, debe proporcionar un contrato en...
<ul><li>Los Servicios deben tener bajo acoplamiento:  Es decir, que los servicios tienen que ser independientes los unos d...
<ul><li>Los Servicios deben de ser autónomos:  Todo Servicio debe tener su propio entorno de ejecución.  </li></ul><ul><li...
<ul><li>Los Servicios deben poder ser descubiertos:  Todo servicio debe poder ser descubierto de alguna forma para que pue...
<ul><li>Como se puede observar en el gráfico, el objetivo de la Orientación a Servicios es obtener software totalmente reu...
Beneficios desde la perspectiva de tecnología <ul><li>Una arquitectura más flexible y robusta. </li></ul><ul><li>Mejor int...
Beneficios desde la perspectiva del negocio <ul><li>Mayor efectividad en la integración con socios de negocio a través del...
Upcoming SlideShare
Loading in …5
×

SOA

914 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
914
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
32
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

SOA

  1. 1. Arquitectura Orientada a Servicios (SOA)
  2. 2. Definición <ul><li>El acrónimo SOA proviene del inglés Service-Oriented Architecture. Se trata de un modelo de arquitectura que caracteriza el procedimiento para crear y usar los diversos procesos, reunidos en forma de servicios, que configuran un determinado Proceso de Negocio (Un proceso de negocio se puede ver como un conjunto estructurado de tareas, que contribuyen colectivamente a lograr los objetivos de una organización). </li></ul>
  3. 3. <ul><li>Sus funcionalidades están implementadas como servicios reutilizables, independientes y con un grado mínimo de acople. Estos servicios serán invocados mediante interfaces previamente definidas, que deben ser independientes del hardware, del sistema operativo y del lenguaje de programación. Asimismo, la información es habilitada por medio de componentes atómicos e independientes, cuya comunicación se da gracias a mecanismos estandarizados. </li></ul>
  4. 4. Elementos del SOA más importantes para su éxito   <ul><li>Flexibilidad : Se puede reemplazar un servicio sin tener que preocuparse por la tecnología fundamental; la interfaz es lo que importa, y está definida en un estándar universal en servicios Web y XML. Esto es flexibilidad a través de la interoperabilidad. También es la habilidad de asegurar los activos existentes, aplicaciones y bases de datos legales y hacerlos parte de las soluciones empresariales extendiéndolos al SOA en vez de reemplazarlos. </li></ul>
  5. 5. <ul><li>Relevancia para el negocio : SOA es TI expresada a un nivel que tiene un significado importante para la colaboración del negocio y profesionales del área. Sus servicios actuales pueden coordinar unidades de trabajo muy cercanas a las actividades del negocio. Los negocios y las TI se enfocan en la lógica del negocio y la comunicación; finalmente comparten el lenguaje de servicios. </li></ul>
  6. 6. Barreras a vencer para obtener el éxito de SOA <ul><li>Administración : Servicios compartidos es lo principal para utilizar SOA. La habilidad para ensamblar rápidamente aplicaciones o procesos está basada en la disponibilidad de algunos servicios que pueden ser compartidos. Hacer esto, por definición, requiere administración. </li></ul>
  7. 7. <ul><li>Desarrollo cultural : Al utilizar SOA se requiere un cambio significativo en el estilo de programar. Muchos desarrolladores utilizan equipos diferentes para resolver problemas de manera independiente para cada aplicación. En SOA necesitarán escribir aplicaciones para ser reutilizadas en mente, usando códigos existentes, a los cuales se podrá tener acceso constantemente. </li></ul>
  8. 8. Elementos de SOA <ul><li>Esta arquitectura presenta un modelo de construcción sistemas distribuidos en el que la funcionalidad demandada será entregada a la aplicación a través de servicios. </li></ul>
  9. 9. Elementos de SOA: Funciones <ul><ul><li>Transporte : es el mecanismo utilizado para llevar las demandas de servicio desde un consumidor de servicio hacia un proveedor de servicio, y las respuestas desde el proveedor hacia el consumidor. </li></ul></ul><ul><ul><li>Protocolo de comunicación de servicios : es un mecanismo acordado a través del cual un proveedor de servicios y un consumidor de servicios comunican qué está siendo solicitado y qué está siendo respondido. </li></ul></ul><ul><ul><li>Descripción de servicio : es un esquema acordado para describir qué es el servicio, cómo debe invocarse, y qué datos requiere el servicio para invocarse con éxito. </li></ul></ul>
  10. 10. Elementos de SOA: Funciones <ul><ul><li>Servicio : describe un servicio actual que está disponible para utilizar. </li></ul></ul><ul><ul><li>Procesos de Negocio : es una colección de servicios, invocados en una secuencia particular con un conjunto específico de reglas, para satisfacer un requisito de negocio. </li></ul></ul><ul><ul><li>Registro de Servicios : es un repositorio de descripciones de servicios y datos que pueden utilizar los proveedores de servicios para publicar sus servicios, así como los consumidores de servicios para descubrir o hallar servicios disponibles. </li></ul></ul>
  11. 11. Elementos de SOA: Calidad de servicio <ul><ul><li>Política : es un conjunto de condiciones o reglas bajo las cuales un proveedor de servicio hace el servicio disponible para consumidores. </li></ul></ul><ul><ul><li>Seguridad : es un conjunto de reglas que pueden aplicarse para la identificación, autorización y control de acceso a consumidores de servicios. </li></ul></ul><ul><ul><li>Transacciones : es el conjunto de atributos que podrían aplicarse a un grupo de servicios para entregar un resultado consistente. </li></ul></ul><ul><ul><li>Administración : es el conjunto de atributos que podrían aplicarse para manejar los servicios proporcionados o consumidos. </li></ul></ul>
  12. 12. Tipos de servicios <ul><li>Servicios controladores: Son los encargados de recibir las peticiones de los clientes y realizar las llamadas necesarias a otros servicios (en la secuencia adecuada) para devolver una respuesta. Es decir, son los servicios encargados de coordinar al resto de servicios. Representan a los procesos de negocio que queremos implementar, ya que un proceso de negocio no es más que un conjunto de tareas ejecutadas en una determinada secuencia para obtener un objetivo. </li></ul>
  13. 13. <ul><li>Servicios de negocio: Son los servicios que representan una tarea de negocio, y que forman parte de un proceso de negocio. Este tipo de servicios suelen ser poco reutilizables porque están orientados a resolver una tarea muy puntual. </li></ul>
  14. 14. <ul><li>Servicios de utilidad: Son aquellos servicios que se caracterizan por representar una tarea altamente reutilizable. Existen dos tipos, los servicios orientados al negocio que representan una tarea de negocio altamente reutilizable entre aplicaciones y los servicios tecnológicos encargados de encapsular una determinada tecnología y por tanto altamente reutilizables (ej: servicio de acceso a bases de datos relacionales). </li></ul>
  15. 15. <ul><li>Una aplicación SOA la podemos dividir en tres capas: </li></ul><ul><li>la capa de recepción de peticiones (servicios controladores), </li></ul><ul><li>la capa de tareas </li></ul><ul><li>(servicios de negocio) </li></ul><ul><li>la capa de lógica </li></ul><ul><li>reutilizables (servicios </li></ul><ul><li> de utilidad) </li></ul>
  16. 16. Principios de la Orientación a Servicios <ul><li>Estos Principios según Thomas Erl son: </li></ul><ul><li>Los Servicios deben ser reusables: Todo servicio debe ser diseñado y construido pensando en su reutilización dentro de la misma aplicación, dentro del dominio de aplicaciones de la empresa o incluso dentro del dominio público para su uso masivo. </li></ul>
  17. 17. <ul><li>Los Servicios deben proporcionar un contrato formal: Todo servicio desarrollado, debe proporcionar un contrato en el cual figuren: el nombre del servicio, su forma de acceso, las funcionales que ofrece, los datos de entrada de cada una de las funcionalidades y los datos de salida. De esta manera, todo consumidor del servicio, accederá a este mediante el contrato, logrando así la independencia entre el consumidor y la implementación del propio servicio. </li></ul>
  18. 18. <ul><li>Los Servicios deben tener bajo acoplamiento: Es decir, que los servicios tienen que ser independientes los unos de los otros. </li></ul><ul><li>Los Servicios deben permitir la composición: Todo servicio debe ser construido de tal manera que pueda ser utilizado para construir servicios genéricos de más alto nivel, el cual estará compuesto de servicios de más bajo nivel. </li></ul>
  19. 19. <ul><li>Los Servicios deben de ser autónomos: Todo Servicio debe tener su propio entorno de ejecución. </li></ul><ul><li>Los Servicios no deben tener estado: Un servicio no debe guardar ningún tipo de información. Esto es así porque una aplicación está formada por un conjunto de servicios, lo que implica que si un servicio almacena algún tipo de información, se pueden producir problemas de inconsistencia de datos. </li></ul>
  20. 20. <ul><li>Los Servicios deben poder ser descubiertos: Todo servicio debe poder ser descubierto de alguna forma para que pueda ser utilizado, consiguiendo así evitar la creación accidental de servicios que proporcionen las mismas funcionalidades. </li></ul>
  21. 21. <ul><li>Como se puede observar en el gráfico, el objetivo de la Orientación a Servicios es obtener software totalmente reutilizable a través de un conjunto de técnicas y principios como los descritos anteriormente. </li></ul>
  22. 22. Beneficios desde la perspectiva de tecnología <ul><li>Una arquitectura más flexible y robusta. </li></ul><ul><li>Mejor integración de aplicaciones existentes. </li></ul><ul><li>Mejora en la integración de datos. </li></ul><ul><li>Soporte para la gestión de procesos de negocio. </li></ul><ul><li>Facilidades para las iniciativas de desarrollo de portales. </li></ul><ul><li>Aceleración en los tiempos de desarrollo de aplicaciones. </li></ul>
  23. 23. Beneficios desde la perspectiva del negocio <ul><li>Mayor efectividad en la integración con socios de negocio a través del acceso a sus servicios de forma estándar e integración con los propios. </li></ul><ul><li>Soporte para iniciativas de servicios de usuarios. </li></ul><ul><li>Modernización de la cadena de suministros. </li></ul><ul><li>Un uso más efectivo de los servicios de proveedores. </li></ul><ul><li>Se facilita la contratación externa y la compra de productos a proveedores. </li></ul><ul><li>Mejor respuesta a cambios en el mercado, a través de una mayor agilidad en el desarrollo y configuración de aplicaciones que soporten el negocio. </li></ul>

×