Arquitectura Orientada A Servicios
cfrasta23 de Marzo de 2014
782 Palabras (4 Páginas)1.097 Visitas
Arquitectura Orientada a Servicios (SOA, siglas en inglés)
I. INTRODUCCIÓN
La Arquitectura orientada a Servicios tiende a ser un marco de trabajo para el desarrollo de software como un marco de trabajo para la implementación, SOA se ha convertido más en un conjunto de patrones para el desarrollo de aplicaciones menos dependientes y más dinámicas.
SOA organiza en módulos individuales las funciones automatizadas y separa los procesos de negocio de las mismas, permitiendo l utilización de los módulos por parte de toda la organización.
II. DESARROLLO
Este tipo de arquitectura del software propone una forma bien definida de exposición e invocación de servicios lo cual facilita la interacción entre diferentes sistemas propios o de terceros.
Para el modelado y diseño de aplicaciones SOA se utiliza una metodología denominada análisis y orientados a servicios. El éxito de un proyecto SOA radica en la orientación de los desarrolladores a crear servicios comunes para q sean dirigidos por clientes o middleware para implementar los procesos de negocio. El desarrollo de sistemas usando SOA requiere un compromiso con este modelo en términos de planificación, herramientas e infraestructura.
Para una mejor comprensión de las Arquitecturas orientadas a los servicios vamos analizar sus principios:
Contratos de servicio estandarizados: entiéndase por contrato a la interfaz de entrada y salida con la que el cliente tienes contacto, esta debe estar explícitamente declarada, sus campos correctamente tipificados y ser conocidos; pueden ser guiados por los estándares como WSDL (Web Services Description Language / lenguaje de descripción de servicios web)y XSD (XML Schema Definition / definición de esquema XML).
2
Servicios con bajo acoplamiento: trata básicamente de la dependencia entre proveedor y cliente, entre menos acoplamiento mayor independencia y flexibilidad a evolucionar
Abstracción: El servicio debe ocultar sus detalles internos, únicamente definido por su interfaz, que a su vez es el mínimo acoplamiento posible con el consumidor del mismo.
Reusabilidad: como es conocido, la arquitectura SOA no busca la sustitución de las lógicas de negocio actuales sino que proporciona una forma de reaprovechar todos estos activos encapsulándolos en servicios para que a su vez puedan ser reutilizados por otros servicios.
Autonomía: El servicio tiene un alto grado de control sobre su entorno de ejecución y sobre la lógica que encapsula.
Sin 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.
Capacidad de descubrimiento: 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.
Composición: Capacidad de un servicio para formar parte de un servicio más complejo. A medida de que la arquitectura SOA se consolide, los nuevos servicios (de más alto nivel) podrán implementarse a partir de los servicios de más bajo nivel ya existentes
Interoperabilidad: Más que un principio es una propiedad de cada principio antes mencionado. Hay que tener en cuenta que muchos de los servicios que intervienen se implementan con una tecnología diferente, incluso con un sistema operativo distinto.
SOA define las siguientes capas de software:
Aplicaciones básicas - Sistemas desarrollados bajo cualquier arquitectura o tecnología, geográficamente dispersos y bajo cualquier figura de propiedad.
De exposición de funcionalidades - Donde las funcionalidades
...