martes, 10 de julio de 2007

SOA - Service Oriented Architecture

SOA es la arquitectura orientada a servicio, o esta es si más no una traducción literal de sus siglas. La arquitectura SOA consiste en la forma en la que unimos los servicios que vamos a ofrecer, en este caso se ofreceria el sistema de sincronización de datos.

Aquí van algunos conceptos - definciones que he encontrado por internet y que quizas me ayuden a sacar mi propia manera de definirlo y quizás abandonar mi estancamiento en la definición de la arquitectura técnica de mi documento de definición.

1. SOA es un concepto de arquitectura software que define la utilización de servicios para dar soporte a los requerimientos de software del usuario. Esta arquitectura se basa en la independencia de plataformas de hardware, de sistemas operativos y de lenguajes de programación. Además,SOA, fortalece la reutilización de los sistemas actuales que se construyeron y se utilizaron durante años; creando un ambiente en el que los negocios y la tecnología de la información pueden interactuar entre sí.

2.

El concepto básico de esta arquitectura es el de servicio. Los nodos de un sistema distribuido ofrecen servicios al resto del sistema de una forma estandarizada. Un servicio es una función autocontenida y sin estado que acepta una o varias peticiones y devuelve una o varias respuestas a través de una interfaz bien definida. Los servicios no dependen del estado de otras funciones o procesos.

Otro concepto básico de la arquitectura es el de orquestación, que permite el desarrollo de procesos secuencializando la ejecución de servicios según una lógica dada.

En la actualizad, se ha identificado la tecnología WebService como implementación de los conceptos expuestos en la arquitectura SOA.

La tecnología Web Service, además de soportar el concepto de servicio, tiene asociados conceptos de caracterización y descubrimiento de servicios a través de la Web Semántica, que junto a la capacidades de orquestación de servicios, definen un entorno de desarrollo de aplicaciones dinámico y flexible. Además, abren un amplio abanico de posibilidades para que dentro de un navegador web, se desarrollen distintas herramientas que permitan el descubrimiento, orquestación e invocación de Web Services de forma dinámica. via morfeo-project.org

3. SOA es un modelo de componentes que interrelaciona las diferentes unidades funcionales de las aplicaciones, denominadas servicios, a través de interfaces y contratos bien definidos entre esos servicios. La interfaz se define de forma neutral, y debería ser independiente de la plataforma hardware, del sistema operativo y del lenguaje de programación utilizado. Esto permite a los servicios, construidos sobre sistemas heterogéneos, interactuar entre ellos de una manera uniforme y universal. via IBM