Está en la página 1de 21

INGENIERA INFORMTICA

ARQUITECTURA ORIENTADA A SERVICIOS


CURSO: TPICOS EN INGENIERA DE SOFTWARE 1

AUTORES: PAZ CORNEJO RENATO MACEDO DUEAS RICARDO DERLY VIGIL CAROLINA SEMESTRE - IX AO: 2010 Los alumnos declaran haber realizado el presente trabajo de acuerdo a las normas de la Universidad Catlica San Pablo

__________________

__________________

_________________

ARQUITECTURA ORIENTADA A SERVICIOS (SOA)

1. DEFINICIN Los sistemas informticos tradicionales se han organizado en grandes bloques monolticos que contienen tanto los procesos de negocio como sus funciones automatizadas. As por ejemplo, el proceso de contratacin de una pliza de seguro, y las funciones del clculo de la prima y la emisin de los recibos, forman parte del mismo bloque. Estos sistemas han conseguido una gran mejora de productividad en las empresas, automatizando procesos de negocio, pero su concepcin monoltica hace que los cambios y adaptaciones a las nuevas necesidades tiendan a ser ms lentos y costosos de lo deseable. En bastantes organizaciones esto provoca que los sistemas marchen por detrs de las necesidades de negocio. Para conseguir un mayor nivel de agilidad es necesario poder combinar rpidamente los distintos componentes del sistema, algo a lo que la concepcin monoltica tradicional plantea muchas restricciones. La arquitectura SOA separa los procesos de negocio de las funciones automatizadas y organiza estas ltimas en mdulos individuales catalogados en un diccionario de servicios que permiten su utilizacin por parte de toda la organizacin. Pocos avances tecnolgicos han despertado tanto inters como la arquitectura SOA, y es muy importante comprender exactamente el papel que sta puede desempear a la hora de ayudar a las empresas a alcanzar el alto rendimiento. A menudo se suele caer en la tentacin de considerar los nuevos y esperados avances(como la arquitectura SOA) como la varita mgica para mejorar el funcionamiento de la empresa. Las nuevas tecnologas tienden a ser el objeto de este tipo de planteamientos, pero frecuentemente el resultado es decepcionante. Sin embargo, SOA no es solamente una tecnologa, sino una arquitectura que trata de estructurar las aplicaciones de negocio y la tecnologa para responder de forma gil y flexible a las demandas del mercado. No se trata de algo radicalmente nuevo, sino que se debera ver como la ltima fase (aunque muy importante) del proceso de evolucin de la arquitectura tecnolgica y de negocio de toda la empresa. La importancia de la arquitectura SOA, y probablemente la razn por la que despierta tanto inters entre los directores de los departamentos de tecnologa y entre los responsables de desarrollo, es que ofrece una oportunidad real de situar las tecnologas de la informacin en un nuevo nivel, convirtindolas en autnticos habilitadores del negocio. La arquitectura SOA constituye la base que garantiza la

agilidad del negocio, un prerrequisito fundamental para alcanzar el xito en el actual mercado mundial, siempre tan competitivo. Esta agilidad es la capacidad de aadir, modificar y optimizar fcilmente los procesos de negocio mediante el aprovechamiento de las sinergias de servicios o procesos. Este aprovechamiento tiene el fin de crear una nueva gama de capacidades o productos, mediante la combinacin de algunos elementos de los procesos de negocio actuales, y dando soporte as a nuevos segmentos de clientes, canales o mercados. Negocio Oportunidades de crecimiento sostenido, basadas en una estructura de costes estable Mayor facilidad de crecimiento por integracin de nuevas empresas Flexibilidad y personalizacin de los procesos a las necesidades de la organizacin, diferencindose respecto a sus competidores

Tecnologa Independencia de la plataforma tecnolgica Mayor facilidad para la adaptacin de los sistemas a los procesos de negocio Acercamiento entre el lenguaje de negocio y el lenguaje de sistemas

Organizacin Consistencia en los procesos Rapidez de adaptacin al cambio Mejora en la cultura de servicio Explotacin de sinergias y economas de escala

1.1 SOA desde el punto de vista del negocio La arquitectura SOA, desde el punto de vista del negocio, ayuda a resolver los siguientes requerimientos, largamente reclamados por el rea de negocio: Mejorar la flexibilidad y agilidad de los sistemas. Proporcionar una visin integrada de los distintos silos de la organizacin. Mejorar la cobertura de las necesidades de negocio. Reducir el impacto de la evolucin de la tecnologa en las aplicaciones de negocio.

La arquitectura SOA permite a las organizaciones satisfacer las cambiantes necesidades de la empresa mediante la implantacin de procesos de negocio que utilizan los servicios proporcionados por los sistemas actuales. La arquitectura garantiza la interoperabilidad de los sistemas a pesar de que, en gran parte, hayan sido construidos en distintos momentos, con diferentes intenciones, plataformas y niveles de servicio, y a pesar del hecho de que ahora se encuentren en distintos ciclos de mantenimiento, mejora y presupuesto. Anteriores estrategias de integracin entraban en conflicto con estas realidades, pero ahora la arquitectura SOA ofrece un modo de enfrentarse mejor a ellas y de aumentar los niveles de agilidad y flexibilidad. La arquitectura SOA posibilita la ruptura de los silos internos de una organizacin (a menudo causados por sistemas que pertenecen a departamentos individuales y que no pueden conectarse fcilmente), y prepara el terreno para dar soporte a procesos de negocio automatizados e integrados que eliminan dichos silos. Descubrir las capacidades de negocio en forma de servicios y despus conectar y consumir esos servicios (por ejemplo, a travs de aplicaciones compuestas, procesos automatizados o empresas virtuales) son factores que pueden simplificar enormemente los procesos de una organizacin, al facilitar la ubicacin y reutilizacin de una misma funcionalidad en diferentes partes del negocio. La sencillez interna proporciona a la organizacin la agilidad necesaria para crear nuevos productos y servicios de una forma ms fcil y rpida, y le permite as diferenciarse en el mercado. La diferenciacin competitiva resulta esencial para la mayora de los sectores, y la arquitectura SOA proporciona los elementos necesarios para que las organizaciones alcancen con xito el alto rendimiento. 1.2 SOA desde el punto de vista de la tecnologa La arquitectura orientada a servicios, desde el punto de vista tecnolgico, es el resultado de la constante evolucin hacia un mayor desacoplamiento de las capas de una aplicacin (presentacin, orquestacin de procesos y servicios de negocio) y a un mayor nivel de estandarizacin/interoperabilidad de cada una de estas capas. Con un total desacoplamiento de las capas de las aplicaciones y un muy alto nivel de interoperabilidad, los beneficios desde el punto de vista tecnolgico son claros: Favorece la reutilizacin y la reduccin del time to market: Aumenta el grado de reutilizacin al desacoplar las capas de una aplicacin. Permite reutilizar las aplicacionesexistentes mediante la encapsulacin en servicios. Permite la utilizacin de servicios de terceros.

Permite reaprovechar las plataformas existentes. Aumenta la flexibilidad: Simplifica la adaptacin de los sistemas existentes. Evita el desarrollo de interfaces punto a punto entre los sistemas. Aumenta la interoperabilidad entre sistemas, permitiendo tanto la externalizacin como la prestacin de servicios.

Mejora la productividad de los procesos: Aumenta el nivel de automatizacin de los procesos, reduciendo el nmero de actividades manuales. Permite monitorizar la actividad del negocio (cuadros de mando). Permite realizar un anlisis estadstico de los flujos de negocio reales en base a indicadores clave de negocio, permitiendo la identificacin de puntos de mejora a optimizar. Permite evaluar el impacto y beneficio de variantes en los procesos mediante simulacin. Mejora el proceso de construccin de software: Favorece la industrializacin. Mejora la especificacin de los requerimientos de negocio. Proporciona una filosofa de desarrollo comn a todos los negocios y canales. Mejora la calidad. Desacopla el desarrollo de servicios y de procesos. Mejora el mantenimiento (procesos autodocumentados). Mejora la usabilidad de las aplicaciones: Permite presentar al usuario la informacin dispersa en distintos sistemas y de forma integrada. Permite alcanzar un mayor nivel de automatismo en las aplicaciones en procesos complejos de workflow. Permite utilizar tecnologas de presentacin avanzadas como Web 2.0.

2.-Principios de la orientacin a servicios


Un problema con el que nos podemos encontrar a la hora de construir una aplicacin SOA es si la aplicacin construida realmente es una aplicacin "SOA

Compliant". Para comprobar si una aplicacin lo es, la mejor forma de hacerlo es chequeando que la aplicacin cumpla con los Principios de la Orientacin a Servicios.

No existe una definicin estndar de cuales son los Principios de la Orientacin a Servicios, por lo tanto, lo nico que se puede proporcionar es un conjunto de Principios que estn muy asociados con la Orientacin a Servicios. Estos Principios segn Thomas Erl son:

Los Servicios deben ser reusables: Todo servicio debe ser diseado y construido pensando en su reutilizacin dentro de la misma aplicacin, dentro del dominio de aplicaciones de la empresa o incluso dentro del dominio pblico para su uso masivo.

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 indepencia entre el consumidor y la implementacin del propio servicio. En el caso de los Servicios Web, esto se lograr medienta la definicin de interfaces con WSDL.

Los Servicios deben tener bajo acoplamiento: Es decir, que los servicios tienen que ser independientes los unos de los otros. Para lograr ese bajo acoplamiento, lo que se har es que cada vez que se vaya a ejecutar un servicio, se acceder a l a travs del contrato, logrando as la independencia entre el servicio que se va a ejecutar y el que lo llama. Si conseguimos este bajo acoplamiento, entonces los servicios podrn ser totalmente reutilizables.

Los Servicios deben permitir la composicin: Todo servicio debe ser construido de tal manera que pueda ser utilizado para construir servicios genricos de ms alto nivel, el cual estar compuesto de servicios de ms bajo nivel. En el caso de los Servicios Web, esto se lograr mediante el uso de los protocolos para orquestacin(WS-BPEL) y coreografa (WS-CDL).

Los Servicios deben de ser autnomos: Todo Servicio debe tener su propio entorno de ejecucin. De esta manera el servicio es totalmente independiente y nos podemos asegurar que as podr ser reutilizable desde el punto de vista de la plataforma de ejecucin.

Los Servicios no deben tener estado: Un servicio no debe guardar ningn tipo de informacin. Esto es as porque una aplicacin est formada por un conjunto de servicios, lo que implica que si un servicio almacena algn tipo de informacin, se pueden producir problemas de inconsistencia de datos. La solucin, es que un servicio slo contenga lgica, y que toda informacin est almacenada en algn sistema de informacin sea del tipo que sea.

Los Servicios deben poder ser descubiertos: Todo servicio debe poder ser descubierto de alguna forma para que pueda ser utilizado, consiguiendo as evitar la creacin accidental de servicios que proporcionen las mismas funcionalidades. En el caso de los Servicios Web, el descubrimiento se lograr publicando los interfaces de los servicios en registros UDDI.

Cuando se desarrollan aplicaciones SOA es muy til y necesario tener en cuenta siempre estos principios, ya que nos van a dar las pautas necesarias para tomar ciertas decisiones de diseo complejas. Como se habr podido observar, una caracterstica muy importante de los Principios de la Orientacin a Servicios, es que todos ellos se interrelacionan. El siguiente grfico muestra la inter-relacin de los diferentes principios:

Existen bsicamente tres tipos de servicios, dividos en base a sus funcionalidades: 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. Si analizamos bien este tipo de servicios, nos daremos cuenta de que representan a los procesos de negocio que queremos implementar, ya que un proceso de negocio no es ms que un conjunto de tareas ejecutadas en una determinada secuencia para obtener un objetivo.

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 estn orientados a resolver una tarea muy puntual.

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 tecnolgicos encargados de encapsular una determinada tecnologa y por tanto altamente reutilizables (ej: servicio de acceso a bases de datos relacionales).

con lo cual, una aplicacin SOA la podemos dividir en tres capas. La capa de recepcin de peticiones (servicios controladores), la capa de tareas (servicios de negocio) la capa de lgica reutilizables (servicios de utilidad).

3.- Beneficios de una Arquitectura Orientada a Servicios (SOA) Existen cinco factores importantes que aumentan el inters del equipo ejecutivo y sobre todo, de los responsables de desarrollo, por la arquitectura SOA: 1. La arquitectura SOA ayuda a mejorar la agilidad y flexibilidad de las organizaciones 2. La arquitectura SOA permite una personalizacin masiva de las tecnologas de la informacin 3. La arquitectura SOA permite la simplificacin del desarrollo de soluciones mediante la utilizacin de estndares de la industria y capacidades comunes de industrializacin 4. La arquitectura SOA permite aislar mejor a los sistemas frente a los cambios generados por otras partes de la organizacin (proteccin de las inversiones realizadas) 5. La arquitectura SOA permite alinear y acercar las reas de tecnologa y negocio 1. La arquitectura SOA ayuda a mejorar la agilidad y flexibilidad de las Organizaciones Las empresas deben ser capaces de crear y producir nuevos productos y servicios para unos clientes y ciudadanos que son cada vez ms exigentes. El aumento de la colaboracin con los clientes y proveedores, y la mayor capacidad para interpretar los datos de los clientes, proporcionan a las organizaciones los medios necesarios para interpretar los cambios del mercado de una forma ms precisa y rpida. Lo que necesitan en estos momentos es conseguir que sus procesos de negocio sean capaces de ser adaptados al menos al mismo

ritmo. Este dinamismo exige un nuevo conjunto de capacidades tecnolgicas que permitan adaptar rpidamente los sistemas informticos. El pensamiento tecnolgico tradicional, que normalmente intentaba crear una aplicacin nueva para cada proceso nuevo, nunca ha sido capaz de generar tal agilidad. Las aplicaciones se desarrollaban normalmente en momentos diferentes, con diferentes intenciones, plataformas, conjuntos de usuarios y niveles de servicio, y suponan diferentes ciclos de mantenimiento, mejoras y presupuestos. Haciendo un anlisis retrospectivo, no nos sorprende que los esfuerzos por integrar las aplicaciones y los sistemas de una organizacin pudieran ser tan laboriosos y costosos de implantar y mantener. Por el contrario, la arquitectura SOA se centra en las capacidades, no en las aplicaciones. SOA contempla la arquitectura de toda la empresa, incluidos los procesos de negocio y las tecnologas de la informacin. Adems, el alto nivel de desacoplamiento e interoperabilidad proporcionado por la arquitectura SOA permite un alto grado de reutilizacin (interno y externo) y de parametrizacin. Todo ello redunda en una mayor facilidad y flexibilidad para adaptar y mejorar los procesos de las organizaciones segn los cambios de prioridad del negocio. 2. La arquitectura SOA permite una personalizacin masiva de las tecnologas de la informacin La personalizacin masiva es un concepto que se ha tomado prestado de los procesos de fabricacin, donde al combinar de distinta manera los mdulos estndar, se puede dar forma a un producto individualizado dentro de la infraestructura masiva de produccin. Mediante la arquitectura SOA se puede aplicar el mismo principio a la tecnologa de una organizacin y, como consecuencia, a los procesos de negocio habilitados por dicha tecnologa. As por ejemplo, en una gran compaa de telecomunicaciones, la arquitectura SOA ha permitido acelerar el proceso de creacin e integracin de nuevos servicios, y abaratar sus costes, lo que ha permitido desarrollar complejas polticas de precios y contratacin mejor adaptadas a segmentos especficos de clientes. Frecuentemente, la informacin necesaria para desarrollar nuevos servicios o productos ya existe dentro de los sistemas de la organizacin, y la arquitectura SOA crea una forma ms fcil y rpida (y ms barata) de acceder a ella que en el pasado, y de utilizarla en la unidad que gestiona los clientes.sta es, en efecto, la capacidad de personalizar productos y servicios a gran escala, mientras se utiliza la misma infraestructura servidora o transaccional.

3.- La arquitectura SOA permite la simplificacin del desarrollo de soluciones mediante la utilizacin de estndares de la industria y capacidades comunes de industrializacin La arquitectura SOA desacopla los tres componentes de una aplicacin: presentacin, orquestacin de procesos y lgica de negocio, a la vez que estandariza la comunicacin entre cada una de las capas. Todo ello favorece a que el proceso de construccin se pueda dividir y por lo tanto industrializar ms facilmente. Adems, las empresas se pueden focalizar en los componentes de mayor valor como los procesos y externalizar o comprar el resto de componentes. Por ejemplo, una gran entidad bancaria ha decidido concentrarse en la definicin de los procesos de la entidad, delegando la construccin(o compra) de los componentes, presentacin y servicios, a factoras de software. 4. La arquitectura SOA permite aislar los sistemas frente a cambios generados por otras partes de la organizacin (proteccin de las inversiones realizadas) Al organizar los sistemas en mdulos ms pequeos (servicios) se reduce notablemente el impacto de los cambios. Por otra parte, durante las ltimas dcadas, las organizaciones han realizado fuertes inversiones en sus infraestructuras tecnolgicas. A travs de la creacin de un modelo flexible que pueda reconfigurarse en funcin de las necesidades del negocio, la arquitectura SOA reutiliza, de un modo efectivo, los distintos sistemas tecnolgicos actuales, por ejemplo, identificando la funcionalidad bajo los sistemas tecnolgicos actuales y encapsulndolos en servicios que pueden ser utilizados por diferentes aplicaciones y procesos. Al respecto, las principales compaas que ofrecen herramientas de discovery estn reorientando sus productos para ofrecer la identificacin de reglas de negocio y servicios de los sistemas actuales, para facilitar su evolucin hacia SOA. 5. La arquitectura SOA permite alinear y acercar las reas de tecnologa y negocio SOA cubre la brecha entre la visin del negocio y la de sistemas, estableciendo un marco de dilogo con un lenguaje comn: los procesos de negocio. Las reas de negocio se centran en la definicin de los procesos de acuerdo a la estrategia y el modelo de negocio de la compaa. El rea de tecnologa implementa los procesos a partir de la utilizacin de servicios existentes y la creacin de nuevos cuando es necesario

Cuando el negocio requiere cambios en los procesos existentes, stos se realizan de forma flexible y gil, pues estn implementados mediante tecnologa estndar y servicios reutilizables. Adems, por primera vez, hay una definicin comn de las aplicaciones: los procesos, que tanto el rea de tecnologa como el rea de negocio comparten y entienden.

4.- La revolucin de SOA en los paquetes de software de aplicacin Una de las principales controversias que aparecen a la hora de renovar las aplicaciones de una empresa es la decisin de implantar una solucin a medida o acudir a un paquete de software de aplicacin. Aunque cada caso es distinto, en lneas generales la opcin de paquete de software de aplicacin tiene un menor TCO (Total Cost of Ownership), pero por otra parte se pierde capacidad de diferenciacin y adaptacin. SOA resuelve este problema permitiendo mejorar la capacidad de diferenciacin de las soluciones a travs de la configuracin de los procesos y la libertad de acudir a cualquier tipo de servicio. De esta manera los paquetes de software de aplicacin estn empezando a evolucionar desde un modelo cerrado, con mayor o menor grado de parametrizacin, a un modelo abierto donde se ofrece una librera de servicios y

un conjunto de procesos base con un alto grado de parametrizacin mediante motores de reglas. Las empresas, partiendo del modelo de procesos/reglas base, pueden diferenciarse frente a la competencia ajustando los procesos/reglas o definiendo nuevos procesos especficos. Adicionalmente podrn ampliar la librera de servicios construyendo, comprando o acudiendo a nuevos servicios. Todo ello con un TCO menorque el desarrollo a medida, con un grado de flexibilidad y diferenciacin mayor que las opciones actuales y sin necesidad de alterar el cdigo base de los paquetes. SOA tambin facilita la convergencia de los desarrollos a medida y los paquetes de software de aplicacin, ya que si ambos estn desarrollados segn los principios de SOA no deberan existir problemas de interoperabilidad e incluso deberan complementarse entre s. De esta manera, se dota de un mayor grado de flexibilidad a las empresas al no tener que decantarse exclusivamente por una de las opciones. 5.- Estrategias de adopcin de SOA Al insistir en que la tecnologa de la informacin sea parte de una arquitectura corporativa ms amplia, es evidente que la arquitectura SOA cuenta con un enorme potencial para maximizar el valor de la tecnologa como habilitadora de ventajas competitivas. Los estudios realizados por Accenture demuestran que esta capacidad de utilizar la tecnologa para impulsar la agilidad y la innovacin en el negocio, constituye un elemento fundamental para el alto rendimiento y tener xito. Como siempre, la cuestin principal es encontrar la forma de alcanzar las ventajas deseadas. La experiencia acumulada por Accenture, trabajando con clientes de todo el mundo en busca del alto rendimiento, indica que es necesario abordar la implantacin de SOA en cuatro fases, realizando varias iteraciones en cada una de ellas antes de pasar a la siguiente : Fase 1. Organizacin y estrategia Esta es la fase de toma de contacto con SOA, donde la compaa se centrar en la evaluacin de la situacin actual y en el plan para definir el alcance de la transformacin hacia SOA, asegurando una base slida de servicios y una hoja de ruta para obtener todos los beneficios de SOA. Tradicionalmente, esta fase se compone de cuatro tareas secuenciales: Comprensin de la estrategia de negocio y procesos. Anlisis de la situacin actual de los sistemas. Definicin del modelo objetivo de referencia SOA. Creacin de la hoja de ruta SOA.

Adicionalmente, en est fase (o en la siguiente) se pueden realizar algunos pilotos con los proveedores de infraestructura y software.

Fase 2. Implantaciones tcticas En esta fase se realizarn las primeras implantaciones tcticas de SOA, con el objetivo de que sirva tambin para familiarizarse tanto con la tecnologa usada como con los procedimientos de gobierno y organizacin. Adems, durante la fase 2 se crear la infraestructura base de SOA y se iniciar el catlogo de procesos y servicios. Es recomendable que en la fase e elijan las aplicaciones con un alto componente de workflow para obtener el mximo beneficio de la tecnologa SOA y permitir probar dicha tecnologa en su mxima extensin. Tambin en esta fase se suele iniciar el proceso de identificacin y reutilizacin de los servicios existentes, as como su publicacin en el catlogo. Fase 3. Plataforma SOA En la fase 3 se consolidar la implantacin de SOA, tanto desde el punto de vista tecnolgico como desde el punto de vista organizativo y de gobierno. En esta fase, adems de consolidar la infraestructura base de SOA, se profundizar en la monitorizacin de procesos y se dispondr de un catlogo operativo de procesos y servicios. Desde el punto de vista de negocio se realizar la implantacin de los servicios/procesos estructurales (core). Fase 4. SOA industrializado Durante la ltima fase se obtendrn todos los beneficios de la filosofa SOA. Se alcanzar un alto grado de reutilizacin de servicios y se impondr el modelo de factora SOA, donde la organizacin se centrar en disear los procesos, y tanto la construccin de los mismos como los servicios requeridos (que no existan en el catlogo) se externalizarn en factoras. Por otra parte, se alcanzar un mayor grado de sofisticacin en la gestin de SOA, como en la automatizacin de las reglas de negocio al modelo operativo, en la automatizacin del gobierno, en la implantacin de un cuadro de mando de procesos y en la federacin(ubicuidad) de los servicios. Por otra parte en funcin de los factores que dirigan la adopcin de SOA la adopcin de SOA, las empresas pueden abordar la implantacin de SOA segn tres posibles enfoques dependiendo del peso en la prioridad en la construccin de servicios o procesos .

6.- SOA y Web Services Web services: Diferentes definiciones en W3C Web Services Architecture Working Group W3C: Una aplicacin identificada por un URI, cuyas interfaces y binding se pueden definir, describir y descubrir mediante artefactos XML, que soporta interacciones usando mensajes basados en XML via protocolos de web SOA es histricamente anterior (no por mucho) Un web service es SOA si: Las interfaces se basan en protocolos de web (HTTP, SMTP, FTP) A excepcin de los attachments, los mensajes se basan en XML Dos estilos de web service: SOAP y REST REST es anti-RPC SOAP puede interpretarse en trminos de mensajes o de RPC (Don Box) CBDI: SOA es ms amplio. Los web services son slo una interface programtica en conformidad con los protocolos WS-* Puede haber SOA sin WS (ej. REST) Los web services proporcionan independencia de plataforma, bajo acoplamiento, auto-descripcin y descubrimiento

Los web services no son parte obligatoria de SOA, pero son una implementacin adecuada

Es el tipo utilizado actualmente, porque est basado en el SOA tradicional, aadiendo lo necesario para cubrir sus carencias. Es decir, proporciona los elementos necesarios para cumplir con todos los principios de la orientacin a objetos.

Como se puede observar, una SOA est formada por un conjunto de Funciones y por la Calidad del Servicio.

La Funciones estn formadas por: Transporte: Mecanismo utilizado para trasladar las peticiones desde el cliente, hasta el proveedor del servicio, y viceversa. Protocolo de comunicacin: Es el sistema de comunicacin entre el cliente y el proveedor de servicios. Descripcin del servicio: Es un esquema utilizado para describir qu servicio es, como se le puede invocar, y cuales son los datos necesarios para realizar su invocacin. Servicio: Es la implementacin del servicio.

Proceso de negocio: Es una coleccin de servicios, invocados en una determinada secuencia, con un conjunto particular de reglas para satisfaces un requisito de negocio. Registro de servicios: Es un repositorio de servicios y datos, usado por los proveedores de servicio y publicar los servicios, y para los clientes, donde buscarlos.

La calidad del servicio por: Poltica: Son un conjunto de reglas bajo las cuales, un proveedor de servicio hace que el servicio est disponible para los clientes (WS-Policy). Seguridad: Son un conjunto de reglas que podran ser aplicadas en la identificacin, autorizacin y control de acceso a los servicios, por parte del cliente (WS-Security). Transaccin: Conjunto de atributos que podran ser aplicados sobre un grupo de servicios para devolver un conjunto de datos consistentes (WSTransaction, WS-Coordination). Gestin: Conjunto de atributos que podran ser aplicados para gestionar los servicios proporcionados (WS-Manageability).

Es decir, las SOA de segunda generacin se basan en ampliar su funcionalidad mediante el uso de los estndares WS, que proporcionan funcionalidades como gestin de transacciones, seguridad, etc.. 7.- Modelo REST Una aplicacin REST transfiere representaciones entre componentes usando conectores Componentes: incluyen agentes de usuario (Mozilla, cURL) y servidores de origen (Apache, IIS) Los componentes de REST obedecen estas restricciones: las interaciones son stateless los recursos se identifican mediante URIs no hay tal cosa como servicios ni objetos, slo recursos no se permite el paso de cookies y se propone el reemplazo de MIME (Multipurpose Internet Mail Extensions) por su discrepancia arquitectnica con la semntica de HTTP hypermedia es la mquina de estado de la aplicacin no hay necesidad de toolkits: slo URIs y XML

8.- Cmo se est implementando SOA en las organizaciones actuales Inicialmente las empresas abordaban la implantacin de SOA solamente como un elemento de integracin (sin percibir las ventajas de la orientacin de procesos). Hasta el momento, no existe ninguna empresa que haya alcanzado la fase 4, ni completado la fase 3, en gran medida por las limitaciones de las herramientas, por no haber abordado la implantacin por fases de forma estructurada y sobre todo, por no haber entendido el foco de SOA. Actualmente, este escenario est cambiando; Las herramientas e infraestructura SOA estn alcanzado un nivel de madurez aceptable. Cada vez ms, las organizaciones entienden que el valor de SOA se encuentra en la orientacin a procesos (y no slo en la capacidad de integracin). Aunque las herramientas e infraestructura SOA hayan madurado, las organizaciones han entendido que la aproximacin a SOA se debe realizar por fases y de forma iterativa. Todo ello est provocando una avalancha de iniciativas de evolucin a SOA centradas principalmente en los procesos de mayor complejidad, con funcionalidades cambiantes o que requieren una gestin especial. Sin embargo, todo el mundo es consciente que el camino no es fcil, sobre todo porque requiere que las personas y las organizaciones se adapten a una nueva forma de hacer las cosas. Dnde puede aportar ms valor SOA? Procesos de negocio complejos. Requerimientos y funcionalidades cambiantes y/o necesidades de rpido time-to-market. Usuarios que necesitan trabajar con diferentes aplicaciones (silos). Aplicaciones obsoletas que necesitan ser actualizadas o modernizadas. Necesidades de integracin con servicios externos. Necesidades de mejora en la gestin de los procesos. Necesidades de mejora en la gestin de excepciones. Etc. Cmo las organizaciones se orientan a SOA? Assesments. Prototipos y pilotos. Business case. Formacin. Definicin del mapa de ruta SOA.

Cmo las organizaciones implementan SOA? Redisean procesos e interfaces de usuario de forma SOA. Seleccionan, construyen y despliegan infraestructura y suites SOA. Construyen aplicaciones compuestas (SOA ligth) y aplicaciones puramente SOA. Implementan el gobierno SOA y la gestin de IT. La industria de IT se basa en SOA para construir una nueva generacin de sistemas de negocio. Los modelos organizativos del futuro estn basados en sistemas SOA . 9.-Facilitadores tecnolgicos clave de SOA Hay 6 facilitadores tecnolgicos principales que permiten, desde el punto de vista tecnolgico, la implantacin de SOA. No es imprescindible el uso de todos los facilitadores, pero cada de ellos es importante para alcanzar plenamente todos los beneficios esperados. 1. BPM o Business Process Management

Es el principal facilitador que recoge las tecnologas para permitir la definicin/ejecucin de los procesos tanto en su componente de modelado (BPA) como de implantacin (BPO). Adicionalmente, es aconsejable contar con un motor de reglas (BRE) que permita externalizar las reglas de decisin que requieren ser modificadas frecuentemente. 2. La tecnologa de Web Services

Permite encapsular los servicios mediante un estndar ampliamente aceptado por todos los fabricantes y proveedores. Este estndar proporciona ventajas claras para proveer y consumir servicios al exterior, pero no es obligatoria su implementacin en entornos cerrados. 3. El ESB o Enterprise Service Bus Facilita la conexin entre sistemas/servicios heterogneos, resolviendo deficiencias de la tecnologa de web services como la garanta de entrega, localizacin, seguridad, transaccionalidad, etc. Dependiendo de la heterogeneidad de una instalacin, su uso puede ser imprescindible o no ser requerido.

4. BAM o Business Activity Monitoring Proporciona una monitorizacin de los procesos (con una visin de negocio) en tiempo real y con capacidad de actuacin. 5. El Gobierno de desarrollo El ESR o Enterprise Service Repositorio, es el catlogo de servicios y procesos (tanto desde el punto de vista tcnico como de negocio) y es fundamental para la gestin de los servicios y procesos tanto desarrollados como comprados. 6. El Gobierno de ejecucin Es un conjunto de herramientas y utilidades que permiten el gobierno de los servicios y procesos en ejecucin, generando cuadros de mando de niveles de servicio y aplicando polticas de actuacin automticas. Bajo este facilitador tambin se suelen cubrir todos los aspectos de seguridad en SOA.

Bibliografa:

http://www.google.com.pe/url? sa=t&source=web&ct=res&cd=2&ved=0CBMQFjAB&url=http%3A%2F %2Fwww.accenture.com%2FNR%2Frdonlyres%2F4EDB1C67-F7374FCD-B6DA-E14E665F1E0F %2F0%2FSOA.pdf&ei=g4_YS9eYIpDY8QT_6PWhBw&usg=AFQjCNHI PCOkTHkPRCLPcjmjNrlct4c6CQ&sig2=leG3HdKP1goqwWPHCdz8Sg http://www.google.com.pe/url? sa=t&source=web&ct=res&cd=6&ved=0CCYQFjAF&url=http%3A%2F %2Fdownload.microsoft.com%2Fdownload%2F4%2FF%2FF %2F4FF88340-43CC-4C5B-8E50-09002969D0DD%2F20051129-ARCBA.ppt&ei=g4_YS9eYIpDY8QT_6PWhBw&usg=AFQjCNGh1q5j8fdzOXjRSGcJpVUYujvWQ&sig2=30V67t2lHTxFVwUn3S205A http://www.mastermagazine.info/articulo/3391.php http://arquitecturaorientadaaservicios.blogspot.com/

También podría gustarte