Masters y MBA online y a distancia

¿Qué es SOA?

¿Qué es SOA?

La integración de las distintas herramientas de la compañía, conlleva la definición clara de los servicios para dar soporte a las aplicaciones entre sí, brindando una forma clara de hacerlo.

SOA o la Arquitectura Orientada a Servicios nos va a permitir la creación de sistemas de información que se aproximen a los criterios de la empresa:

  1. La arquitectura orientada a servicios de cliente (en inglés Service Oriented Architecture), es un concepto de arquitectura de software que define la utilización de servicios para dar soporte a los requisitos del negocio.
  2. Permite la creación de sistemas de información altamente escalables que reflejan el negocio de la organización, a su vez brinda una forma bien definida de exposición e invocación de servicios (comúnmente pero no exclusivamente servicios web), lo cual facilita la interacción entre diferentes sistemas propios o de terceros.

SOA define las siguientes capas de software:

  1. Aplicaciones básicas: Sistemas desarrollados bajo cualquier arquitectura o tecnología, geográficamente dispersos y bajo cualquier figura de propiedad.
  2. De exposición de funcionalidades: Donde las funcionalidades de la capa aplicativa son expuestas en forma de servicios (generalmente como servicios web).
  3. De integración de servicios: Facilitan el intercambio de datos entre elementos de la capa aplicativa orientada a procesos empresariales internos o en colaboración.
  4. De composición de procesos: Que define el proceso en términos del negocio y sus necesidades, y que varía en función del negocio.
  5. De entrega: Donde los servicios son desplegados a los usuarios finales.

SOA proporciona una metodología y un marco de trabajo para documentar las capacidades de negocio y puede dar soporte a las actividades de integración y consolidación.

Por lo tanto, si tenemos generada una arquitectura SOA, lo que nos plantea es la posibilidad de facilitar la integración entre las distintas aplicaciones para conseguir maximizar el beneficio obtenido con nuestra infraestructura.

Servicios

Para poder llegar a la evolución completa, se requiere de un diseño estructurado que permita a pequeños servicios, ofertados por individuos, coordinarse para ofrecer un servicio conjunto y de mayor envergadura.

Así, en un trabajo de manufactura, muchas veces no interviene una única persona, sino que por ejemplo si hablamos de una silla de madera, entrará quien tale el árbol, quien extraiga la madera, quien la corte para prepararla, quien realice el encolado y quien la barnice. Todos ellos están realizando un servicio, pero al hacerlo de forma conjunta nos ofrecen un servicio mayor o más completo, como será la fabricación de una silla.

Para que todos estos pasos o servicios puedan dar lugar a un servicio o producto final se requiere de ese diseño estructurado en el que cada uno sabe qué tarea ha de realizar y que parámetros de salida son necesarios y válidos.

Por lo tanto, el diseño de esa arquitectura orientada a servicios es uno de los elementos principales en cualquier estructura orientada a servicios.

Arquitectura SOA

La computación orientada a servicios representa una nueva generación de sistemas que utilizan una plataforma de desarrollo que involucra múltiples componentes, pero que tiene sus propios elementos de diseño, con patrones de lenguajes, diseños de arquitectura, conceptos, tecnologías y entornos de relación de los sistemas.

SOA o arquitectura orientada a servicios establece un modelo de arquitectura que ayuda a mejorar la eficiencia, efectividad y productividad de una empresa, posicionando los servicios como lo primero que debemos de tener en cuenta cuando queremos presentar una lógica de solución de un problema, o para la consecución de los objetivos estratégicos de la compañía, asociado a la programación orientada a servicios.

Dentro de esta arquitectura por lo tanto podemos decir que SOA estará formada por la combinación de tecnologías, productos, API’s (Interfaces relacionales de aplicaciones) extensiones de la tecnología de soporte y otras partes varias.

Sin embargo, muchas veces el SOA viene asociado a la introducción de nuevas herramientas o tecnologías dentro de la empresa que den soporte a la creación, ejecución, y evolución de las soluciones dentro de la misma.

Por lo tanto, una solución orientada a servicios dentro de una empresa dará como resultado una arquitectura orientada a servicios, basándose en unos principios de diseño orientado al servicio.

Cada servicio tendrá su propio conjunto de capacidades de acuerdo al entorno donde se encuentre. Estas capacidades serán susceptibles de ser invocadas desde fuera (por otros servicios) para lo que se deberán de publicitar de manera expresa la manera de invocar estas capacidades, esto se puede hacer de manera equivalente a lo que sería una API.

Beneficios de SOA

El SOA hace un especial hincapié en la reutilización de sus componentes, la idea que tenemos detrás de estas arquitecturas o tecnologías orientadas a servicios es que podamos reaprovechar los desarrollos de servicios que se realizan en un momento dado para la creación de otros servicios y por tanto tener mayores servicios.

Los servicios que creamos o desarrollamos deben seguir una serie de premisas, o estar desarrollado de una forma tal que seamos capaces de identificar quién y cómo podrá acceder a los mismos, para que así nuestro catálogo sea comprensible y reutilizable.

La consecuencia por lo tanto es que tendemos a alejarnos de las infraestructuras basadas en silos, en entornos únicos que funcionaban de manera completamente independiente y nos movemos a los sistemas que están formados por la suma de múltiples servicios que dan como resultado un servicio final que nos permita dar respuesta a las necesidades de la empresa en cuestión.

A medida que crezcamos sobre este método de creación e implantación de sistemas, los anteriores conceptos basados en aplicaciones y en entornos de silos que funcionan de manera independiente irán poco a poco desapareciendo para dar paso a arquitecturas basadas en servicios.

Las aplicaciones en los entornos de SOA carecen de sentido individual, ya que o bien es un conjunto de servicios, o bien es en sí mismo un servicio para otro sistema mayor.

Ejemplo

Si llegamos a una compañía que ha ido creciendo de forma clásica a través tanto del crecimiento orgánico de la misma como por la adquisición de diferentes compañías, en multitud de ocasiones nos podemos encontrar entornos complejos de manejar.

Así, si vemos una estructura en la cual priman aplicaciones propietarias, diseñadas en un momento dado para dar respuesta a los problemas de la compañía en ese momento, sumado a múltiples cambios o adquisiciones de diferentes compañías a lo largo de la historia (podemos pensar en un gran banco, que crece de manera propia y al mismo tiempo por la adquisición de otros bancos en otros países).

Si planteamos su situación en un momento dado, tendremos un conjunto de aplicaciones y sistemas, que, si bien dan servicio puntual a cada unidad en el momento de su creación, en el momento de pasar por la integración con otros sistemas, perdemos esta facilidad.

En estos casos, si no disponemos de una arquitectura orientada a servicio, cada vez que se quiera ofertar un nuevo servicio, se ha de desarrollar una aplicación a medida para cada servicio, con los costes que ello tiene, no solo desde el punto de vista económico para el desarrollo, sino desde el punto de vista estratégico por el tiempo necesario para llevar a cabo este desarrollo.

Si por el otro lado, nos encontramos en una empresa con una estructura y arquitectura orientada a servicios, donde los desarrollos de cada servicio, sistema o aplicación se ha realizado pensando que este se debe de integrar con otros, por ejemplo, siguiendo en el entorno bancario, con las aplicaciones prexistentes, con herramientas de uso, con los diferentes departamentos, etc.

Tendremos distintos módulos que podremos reutilizar para lanzar el nuevo servicio, pues en muchos aspectos tendrá elementos comunes con los servicios ya existentes dentro del sistema.

Si lo que hablamos es de integrar otra entidad recién adquirida, en el caso de la primera adquisición, posiblemente deberemos desarrollar una aplicación a medida para poder acceder a los datos del sistema, pero según vamos reutilizando la entrada de datos a nuestros entornos será siempre igual, por lo que lo único que deberíamos rehacer será la conexión con los datos antiguos.

Esto cada vez nos dará más servicios a reutilizar y por lo tanto menos entornos a desarrollar, por lo que podremos necesitar menos tiempo en la integración o creación de nuevos servicios y tendremos mayores beneficios.

Estos cambios estructurales pueden ayudar nuevamente a cambiar la sensación que existe en muchas organizaciones de que los departamentos de TI son frenos para las compañías y muchas veces un gasto necesario, para ser ayuda en transformar el departamento en motores de innovación y de desarrollo dentro de la compañía al ser capaces de realizar y ofrecer servicios cada vez con mayor rapidez.

Elaboración de proyecciones financieras
La contabilidad financiera: tipos, características...
 

Comentarios

No hay comentarios por el momento. Se el primero en enviar un comentario.
Invitado
Lunes, 18 Febrero 2019

ESCUELA INTERNACIONAL

Proyección Internacional, con alumnos y antiguos alumnos residentes en más de 38 países y sedes en América Latina

AYUDAS DIRECTAS AL ESTUDIO

Plan Internacional de Ayudas Global Learning con una dotación anual superior al millón de euros repartidas entre 1.000 alumnos

PROFESORADO UNIVERSITARIO Y DIRECTIVO

Contamos con un claustro de profesores de alto nivel académico y directivo, con más de 15 años de experiencia docente y profesional
CEUPE - Centro Europeo de Postgrado y Empresa