Get Started. It's Free
or sign up with your email address
Rocket clouds
SOA by Mind Map: SOA

1. ¿Qué es?

1.1. Es un estilo de arquitectura para crear y usar procesos de negocio, embalados como servicios, a través de su ciclo de vida.

2. ¿Qué significa?

2.1. Arquitectura orientada a Servicios (SOA, Service Oriented Architecture).

3. ¿Cómo surge?

3.1. En los años 80 aparecieron los modelos orientados a objetos, en los 90 aparecieron los modelos basados en componentes y en la actualidad han aparecido los modelos orientados a servicios.

3.2. Aunque la arquitectura orientada a servicios no es un concepto nuevo (si bien fue descrita por primera vez por Gartner hasta en 1996), sí se ha visto incrementada su presencia en la actualidad, en gran medida debido al aumento de uso de servicios web.

3.3. Con la llegada de éstos, la arquitectura SOA ha hecho que el desarrollo de software orientado a servicios sea factible. Aunque los servicios web usan con frecuencia SOA, SOA es neutral e independiente de la tecnología utilizada y por tanto no depende de los servicios web, aunque estos no popularizan.

4. ¿Qué servicios abarca?

4.1. Modernizar aplicaciones obsoletas.

4.2. Mejora en la gestión de procesos.

4.3. Mejora en la toma de decisiones.

4.4. Necesidad de trabajar en diferentes aplicaciones.

5. ¿Cómo se implementa hoy en día?

5.1. Servicios de utlidad

5.1.1. Son aquellos que encapsulan una funcionalidad multi-propósito. Son servicios que no cubren una necesidad concreta de negocio. Estos servicios contienen un alto potencial de reusabilidad (uno de los principios básicos en el diseño de servicios).

5.2. Servicios de entidad

5.2.1. Son aquellos que están centrados en el contexto de las entidades de negocio. Del mismo modo que ocurre con los servicios de utilidad, no son servicios destinados a resolver un problema concreto por lo que son altamente reutilizables. Muchas de las operaciones que exponen este tipo de servicios son las típicas de un CRUD (Create, Read, Update, Delete).

5.3. Servicios de tareas

5.3.1. Son aquellos que engloban un proceso de negocio apoyándose (normalmente) en servicios de más bajo nivel como los servicios de utilidad o de entidad. Suelen consistir en una serie de pasos para completar una tarea específica. Esto último es muy interesante ya que, debido a las necesidades de negocio tan concretas que resuelven, no suelen ser servicios con un grado de reutilización tan alto como los servicios de entidad o utilidad.

6. Ejemplo

6.1. Servicios de utlidad

6.1.1. Este tipo de servicios podrían ser: un servicio de gestión de tokens de seguridad de acceso a aplicaciones o servicios de la plataforma, un servicio de envío de correos o un servicio para grabar la actividad que se produce en la plataforma (trazas de auditoría).

6.2. Servicios de entidad

6.2.1. Estos servicios variarán en función del negocio concreto y las entidades que representen su actividad. Algunos ejemplos podrían ser: póliza (sector seguros), cuenta corriente (sector bancario), cliente, etc, etc, etc…

6.3. Servicios de tareas

6.3.1. Podría ser un servicio de autorización de prestación de servicio (caso muy típico en compañías aseguradoras). Supongamos el caso en que un cliente de una aseguradora va al médico a pasar consulta. Podríamos tener un servicio que validase que el cliente puede ir a ese médico a pasar consulta.