soa

17
NOMBRE: RAFAEL PEÑALOSA VENSES. MATERIA: SOLUCIONES INTEGRALES EN LAS ORGANIZACIONES PROFESOR: DR. CARLOS A. TORRES GASTELÚ TRABAJO DE INVESTIGACIÓN DE LA ARQUITECTURA SOA.

Upload: axelrafael

Post on 17-Jun-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Soa

NOMBRE:

RAFAEL PEÑALOSA VENSES.

MATERIA:

SOLUCIONES INTEGRALES EN LAS ORGANIZACIONES

PROFESOR:

DR. CARLOS A. TORRES GASTELÚ

TRABAJO DE INVESTIGACIÓN DE LA ARQUITECTURA SOA.

Ciudad de Veracruz, Veracruz a 3 de marzo del 2011

Page 2: Soa

Índice.

Pág.

Introducción………………………………………………………………………………………………………………… 2

Fundamentos de SOA……………………………………………………………………………………………………. 3

Como abordar SOA………………………………………………………………………………………………………… 3

Decálogo de la implementación SOA……………………………………………………………………………… 4

Plataformas SOA…………………………………………………………………………………………………………….5

Plataforma Microsoft……………………………………………………………………………………………………….5

Plataforma IBM…………………………………………………………………………………………………………………6

Plataforma SUN…………………………………………………………………………………………………………………6

Plataforma ARTIX .............................................................................................................. 7

Siete claves del éxito de SOA...............................................................................................8

Fuentes…………………………………………………………………………………………………………………………… 11

Page 3: Soa

INTRODUCCIÓN

SOA es un marco de trabajo conceptual, no se trata de hardware, software o de un lenguaje de programación. Es la unión de los objetivos de negocio con la infraestructura tecnológica, integrando la lógica del negocio y los datos de todos sus sistemas, aprovechando la red y los servicios de web. Esta arquitectura describe los aspectos estándares de los servicios para entregar procesos de negocios, desarrollando para ello interfaces entre servicios para que cooperen fácilmente.

“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.

"La Arquitectura SOA establece un marco de diseño para la integración de aplicaciones independientes de manera que desde la red pueda accederse a sus funcionalidades, las cuales se ofrecen como servicios. Permite la creación de sistemas 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:

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 de la capa aplicativa son expuestas en forma de servicios (generalmente como servicios web);

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;

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;

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.

Page 4: Soa

FUNDAMENTOS DE SOA

De manera genérica SOA se fundamente en los siguientes frentes: Ejecutar rápido, adaptarse al mercado, ganar ante la competencia. Reutilizar los componentes de los procesos de negocios. Medir los resultados y tomar acción sobre ellos. Garantizar resultados que sean repetibles y predecibles. Empezar donde sea necesario (área de negocios - área de tecnología).

BENEFICIOS O VENTAJAS DE SOA

Reducir los costos y el tiempo de desarrollo—Los servicios SOA pueden reutilizarse fácilmente y pueden convertirse en nuevas aplicaciones compuestas

Reducir los costos de mantenimiento—Los servicios reutilizables reducen el grado de complejidad interna de los servicios de IT

Aumentar la calidad de los servicios—Una mayor reutilización de servicios crea servicios de mejor calidad en múltiples ciclos de prueba de diferentes consumidores de servicios

Reducir los costos de integración—Los servicios estandarizados pueden trabajar en conjunto, permitiendo que las aplicaciones dispares se conecten con rapidez y facilidad

Reducir el riesgo—Menos servicios reutilizables brindan mayor control sobre las políticas gubernamentales de IT y corporativas, y reducen el riesgo general relacionado con el cumplimiento

CÓMO ABORDAR UN PROYECTO SOA

Para implementar una arquitectura de SOA, las organizaciones deben establecer un grupo que encabece este esfuerzo, quienes serán los responsables de desarrollar un plan de adopción y servirá como el canal de comunicación principal entre el negocio y TI. Para lograr una colaboración real y el éxito de SOA a escala empresarial, los equipos administrativos y de TI tendrán que salir de su dominio de conocimiento y comenzar a trabajar con partes menos conocidas de la organización.

Cuando la mayoría de la gente habla de una arquitectura orientada a servicios están hablando de un juego de servicios residentes en Internet o en una intranet, usando servicios web. Existen diversos estándares relacionados a los servicios web. Incluyen los siguientes:

XML HTTP SOAP

WSDL UDDI

Hay que considerar, sin embargo, que un sistema SOA no necesariamente necesita utilizar estos estándares para ser "orientado a servicios" pero es altamente recomendable su uso. En un ambiente SOA, los nodos de la red hacen disponibles sus recursos a otros participantes en la red como servicios independientes a los que tienen acceso de un modo estandarizado. La mayoría de las definiciones de SOA identifican la utilización de Servicios Web (empleando SOAP y WSDL) en su implementación, no obstante se puede implementar SOA utilizando cualquier tecnología basada en servicios.

Page 5: Soa

DECÁLOGO DE IMPLANTACIÓN SOA

De forma detallada, Ángel Giménez Fumanal, Responsable de Ventas de SOA en IBM propone un detallado decálogo de éxito, basado en la experiencia de IBM en casi 6.000 proyectos:

1. Una única, completa y consistente visión del negocio a lo largo de la organización

2. El CIO debe comprender el negocio de su industria y ser capaz de identificar los líderes de las diferentes áreas de negocio para que apoyen la implantación de una arquitectura SOA

3. Anteponer los beneficios para el negocio e ilustrar con casos de éxito y la visión de consultores.

4. Es importante elegir el primer proyecto. Debe ser un proyecto pequeño, su alcance debe estar bien definido y acotado, de una duración corta .entre 6 y 9 meses. y con un impacto significativo.

5. Una verdadera arquitectura orientada a servicios se crea con un enfoque basado en estándares abiertos y soportando el ciclo de vida de desarrollo de soluciones SOA: modelado, ensamblaje, despliegue y gestión.

6. Utilizar experiencias anteriores y las posibilidades que ofrece el mercado. "Reinventar la rueda" es una actitud anti.SOA.

7. Dotar a su SOA de la infraestructura de conectividad necesaria y facilitar la integración de servicios.

8. Integrar los sistemas tecnológicos existentes e identificar y mantener un repositorio de servicios Web para facilitar la reutilización.

9. Que el gobierno no sea una carga que anule la agilidad del entorno SOA.

10. No descuidar la seguridad, ya que SOA implica un nuevo enfoque.

Page 6: Soa

PLATAFORMAS SOA

Plataforma MICROSOFT

La Arquitectura Orientada a Servicios de Microsoft está basada en todos y cada uno de los elementos de la pila de tecnologías de Microsoft, desde las herramientas de desarrollo para crear servicios Web como .NET a productos de servidor, como BizTalk Server y Microsoft Office SharePoint Server, donde se produce la ejecución posterior de los servicios Web al conectar y orquestar servicios, y finalmente en las aplicaciones compuestas que consumen servicios Web (como pueden ser aplicaciones basadas en Web disponibles en entornos de intranet, extranet o Internet, así como las aplicaciones de cliente avanzadas desarrolladas con tecnologías de Microsoft Office o de cliente avanzado).

Creación de servicios Web

Microsoft mantiene su compromiso de fomentar el desarrollo para la creación y gestión de sistemas interconectados, basando por completo su plataforma de desarrollo de última generación en los servicios Web con Microsoft .NET.

.NET Framework 3.0

Para los desarrolladores de software, .NET Framework es el modelo de programación de código gestionado de Microsoft para la creación de aplicaciones sobre plataforma Windows. proporcionando el soporte necesario para los servicios Web, de manera que los desarrolladores puedan codificar, descubrir, depurar, instalar y consumir servicios Web utilizando cualquiera de los más de 20 lenguajes de programación soportados por este entorno. Los componentes extendidos de .NET Framework 3.0 para la creación y aprovechamiento de los servicios Web son Windows Communication Foundation (WCF), Windows Workflow Foundation (WF),Windows CardSpace, y Windows Presentation foundation.

Visual Studio

Visual Studio el entorno de desarrollo de aplicaciones sobre plataforma Windows, que permite el consumo de servicios Web en aplicaciones Windows, Office, aplicaciones Web, y para dispositivos móviles. Además facilita la publicación y localización de nuevos servicios Web en el seno de la empresa y permite ejecutar tests de carga sobre los servicios Web.

Microsoft dispone de tecnologías habilitadoras para el diseño, automatización, gestión y optimización de los procesos de negocio de una forma flexible. Entre ellos se encuentran:

BizTalk Server

Como complemento a las tecnologías de desarrollo .NET Framework 3.0, BizTalk Server es un producto de servidor orientado a los profesionales de IT y arquitectos, que permite la integración de sistemas, empleados y partners de negocio.

Page 7: Soa

BizTalk Server permite también la integración de aplicaciones y sistemas que no son compatibles con los servicios Web, mediante el empleo de una gran variedad de adaptadores.

Microsoft Office SharePoint Server

Está diseñado para optimizar la forma en que las personas interactúan con los contenidos y los procesos dentro de las organizaciones y a través de ellas. Proporciona una experiencia de usuario sencilla y consistente, gracias a aplicaciones de cliente muy conocidas y con ello hace que las tareas de iniciación de procesos de negocio de tipo manual, la participación en estos procesos, su seguimiento y la elaboración de informes sea mucho más sencilla y flexible.

PLATAFORMA IBM

IBM presenta una plataforma tecnológica que da soporte a la creación y ejecución de esta clase de componentes modulares y permite crear y ejecutar servicios empresariales denominado WebSphere Business Services Fabric y se centra en el modelado, ensamblaje, despliegue y gestión de estos componentes específicos del dominio y el sector. Fabric es una plataforma tecnológica que pueden utilizar IBM, sus Business Partners y, por supuesto, también sus clientes, como de soporte para las tareas empresariales.

Fabric agrupa algunas funciones clave para utilizar la arquitectura SOA en proyectos empresariales, incluidas las tecnologías Webify, WebSphere Process Server (automatización), WebSphere Integration Developer (integrador) y WebSphere Service Registry and Repository (repositorio de metadatos).

PLATAFORMA SUN

El paquete de software integrado de Sun ayuda a habilitar una arquitectura orientada a servicios (SOA) y aplicaciones compuestas para una mejor visibilidad de la información, mayor agilidad de negocios, y decisiones de negocios más inteligentes.

Sun puede ayudar a evolucionar hacia una SOA, para: Obtener mejor visibilidad de la información a través de toda su organización. Responder a las necesidades de negocios y las oportunidades de mercado. Optimice sus procesos de negocios.

La combinación adecuada de servicios de ciclo de vida puede añadir una potente capa de protección de las inversiones para la solución de SOA empresarial y ayudar a reducir significativamente los costes por exceso de velocidad de despliegue. Se incluye el beneficio de mezclar aprendizaje, profesional, el apoyo y los servicios gestionados por parte se SUN, generando un mayor valor y velocidad del retorno de la inversión. SUN tiene un gran portafolio de soluciones que apalancan la implementación de SOA que se ocupa de las personas, procesos, prácticas, y la plataforma que componen el entorno de TI, todo diseñado para ayudarle a las organizaciones satisfacer sus necesidades de negocios de SOA.

Antes y después de SOA

Antes de SOA

Page 8: Soa

Separado en silos, no integrados Cerrado Monolítico Frágil, vulnerable

En las arquitecturas de TI tradicionales, las actividades del proceso de negocios, las aplicaciones y los datos con frecuencia están encerrados en "silos" independientes e incompatibles que son caros de mantener y dejan a los usuarios la necesidad de navegar entre redes, aplicaciones y bases de datos independientes para realizar tareas de negocios concretas.

Después de SOA

Servicios compartidos Cooperativo Interoperable Integrado

Con una Arquitectura Orientada a Servicios (SOA), los usuarios ya no tienen que iniciar sesión en varios sistemas, buscar los datos relevantes e integrar los resultados manualmente. Los datos de las actividades de los procesos de negocios se entregan como un servicio integrado, en una sola aplicación, en una sola pantalla, con un solo inicio de sesión. Los beneficios que SOA ha apoatado a SUN son: Le ayuda a reducir los costos de TI y la complejidad exceso de velocidad, mientras que el retorno de la inversión permite desplegar y operar previsiblemente segura y eficaz al tiempo que ofrece un alto nivel de servicio a los usuarios y clientes Ayuda a reducir el coste total de propiedad de las operaciones del centro de datos a través de los servicios de gestión de SUN

PLATAFORMA ARTIX (ACUERDO IONA - TECSIDEL)

Durante más de una década, IONA Technologies ha sido líder mundial en despliegue de soluciones de integración de altas prestaciones para los entornos empresariales IT. IONA ha sido pionero en la integración basada en los estándares con su gama de productos Orbix basados en CORBA. La gama de productos Artix, la nueva generación de soluciones SOA de integración de IONA, permite a los sistemas empresariales existentes integrarse en los componentes comunes de infraestructura de la organización adoptando el Standard SOA. Por otro lado, con la familia de productos de SOA FUSE(tm) podrá beneficiarse de las ventajas económicas del software de libre distribución

IONA ofrece un alternativa a la inversión en costosas infraestructuras SOA, propietarias y centralizadas. La suite SOA de IONA, IONA Artix, ofrece una aproximación única al despliegue de SOA que reutiliza los activos existentes exponiéndolos como servicios sin requisitos de hardware adicionales. Convierte en comodities los despliegues propietarios centralizados de middleware, permitiendo que SOA se adapte a las necesidades de las empresas, IONA Artix aporta agilidad al negocio, una mejora del ROI de las inversiones en TI y una reducción de costes operacionales.

IONA Artix está formado por un conjunto de productos distribuidos, neutrales a la tecnología de la infraestructura de SOA que trabajan juntos o independientemente, aportando a los clientes flexibilidad en la adopción de SOA. IONA Artix se basa en una ligera arquitectura de microkernel que provee a las organizaciones la capacidad para la adopción incremental de SOA según sus necesidades: paso a paso

Page 9: Soa

LAS SIETE CLAVES DEL EXITO SOA

1 Demandar la rentabilidad de la inversión en cada servicio

Incorpore cada servicio en un proceso de negocio activo que genere rentabilidad de la inversión (ROI). Este enfoque puede apoyar una inversión sostenida en el desarrollo de servicios al cubrir los costes a corto plazo, a la vez que establece el escenario para un retorno de la inversión a mas a largo plazo. También se puede obtener un retorno de la inversión basado en atributos específicos y características de servicios individuales. Además de la función esencial del servicio, puede que desee tener control sobre quién accede a ese servicio, llevar un registro de quién lo utiliza y de qué manera, encriptar o aceptar datos o transacciones, o asegurar el cumplimiento de la normativa a nivel de servicio. En ocasiones, funciones complementarias pueden proporcionar un retorno de la inversión más cuantificable que la función principal en sí.

2 Definir un Comité de Gestión de Servicios

Recuerde que la mayor parte de los servicios tienen un origen orgánico, algunas veces casi involuntario: un equipo de desarrollo puede advertir la creación de una función que se podría utilizar en otros procesos de negocio. Sin embargo, puede que estos desarrolladores carezcan de la experiencia para decidir si dicha función tendría sentido como servicio y de la perspectiva necesaria para especificar y crear el servicio para su reutilización. Un comité de gestión podría encargarse de esta tarea. El comité debería estar formado por arquitectos de procesos de negocio que estén familiarizados con el diseño de los procesos actuales y por expertos arquitectos de sistemas que entiendan cómo los componentes tecnológicos soportan esos procesos de negocio. El comité de gestión de SOA será el responsable de identificar los escenarios de uso de los servicios potenciales y evaluarlos para saber si la utilización, las medidas y los acuerdos a nivel de servicio son lo bastante similares entre las aplicaciones potenciales como para justificar la transformación de una función en un servicio. En caso de ser así, el comité de gestión necesita especificar el servicio para asegurarse de que se utilizará y tendrá valor en diferentes contextos.

3 Organizar adecuadamente los comités de gestión

La clave para un control eficaz es que se ajuste perfectamente a su organización. Un posible enfoque consiste en centralizar el comité de gestión por completo, es decir, designar un único grupo que realice la evaluación, especificación y control de todos los servicios. Esta solución es adecuada para aquellas empresas con organizaciones de desarrollo centralizado. Otro enfoque consiste en crear comités de gestión en torno a aplicaciones principales en los que participen tanto usuarios como proveedores de dichas aplicaciones. Este enfoque es apropiado para empresas con un modelo de desarrollo distribuido.

Con independencia de cuál sea la perspectiva que más se ajuste a su situación, deberá establecer un modelo de compromiso y nivel de servicio que, en primer lugar, facilite el flujo de ideas al comité de gestión pero que también garantice una acción rápida. Una vez que se haya especificado un servicio, un

Page 10: Soa

equipo de proyecto puede ser el propietario y el que implemente ese servicio pero, a menos que el comité de gestión esté completamente involucrado en el proceso, los servicios no serán reutilizables.

4 Crear y especificar tareas y responsabilidades

Normalmente, los procesos de negocio unidos por servicios abarcan varias aplicaciones y, muy frecuentemente, varias plataformas y organizaciones. Por eso resulta de vital importancia definir a los participantes clave y aclarar sus funciones. Existen cinco funciones clave que se deben convenir y cubrir:

• Un gestor de proyecto que disponga de una visión amplia de todo el proceso de negocio y gestione todo lo relacionado con su creación o modificación.

• Un arquitecto de procesos de negocio que determine los cambios de proceso de negocio necesarios para alcanzar los beneficios de negocio esperados.

• Un arquitecto de sistemas que establezca la tecnología necesaria para respaldar el proceso de negocio y sus objetivos.

• Un responsable de TI que se ocupe de garantizar la cooperación activa de todos los silos mantenidos dentro del grupo de TI.

• Un responsable de negocio que garantice la cooperación de todas las unidades de negocio afectadas por el proceso.

5 Ir más allá de la solicitud-respuesta

Mucha de la atención en SOA se ha centrado en los servicios bajo demanda o de solicitud-respuesta pero no se pueden crear procesos de negocios reales únicamente con los servicios de solicitud-respuesta. Mientras que la mayoría de procesos de negocio se inician con una solicitud, en realidad constan de secuencias de tareas y decisiones que inician automáticamente el siguiente paso del proceso de forma proactiva en función de los eventos. Tiene que tener presente la necesidad de servicios dirigidos por eventos cuando establezca la capa de transporte de servicio de su infraestructura.

Lo mejor es utilizar HTTP para interacciones fuera de la empresa y JMS para interacciones dentro de la empresa. La razón es que el transporte HTTP no soporta la mensajería asíncrona ni con las notificaciones dirigidas por eventos, mientras que JMS sí. Cree el nivel de transporte de servicio para la infraestructura con HTTP y JMS de forma que pueda satisfacer las necesidades delos procesos de negocio del mundo real con una combinación de servicios dirigidos por solicitudes y eventos.

6 Tener en cuenta los estándares emergentes

Si un estándar específico se ha desarrollado y es válido para desempeñar la tarea que está realizando, debe adoptarlo. No obstante, muchos de los estándares relacionados con SOA todavía están evolucionando. Si tiene que tomar una decisión sobre un estándar que se encuentra en proceso de formación, debe solucionar el problema inmediato con la tecnología disponible pero considerar el estado y planificar la futura incorporación de estándares emergentes. De ese modo, cuando un

Page 11: Soa

estándar se haya desarrollado, evitará quebraderos de cabeza a la hora de acometer los cambios. WS-eventing y WS-notification son buenos ejemplos de estándares emergentes que debemos observar atentamente. Mientras se establecen los estándares, debe realizar el trabajo preliminar necesario para cumplir la normativa adoptando una estructura sobre de SOAP para las estructuras de datos de mensajería, incluso si no está utilizando otras características SOAP para la implementación de esos servicios. Este procedimiento allanará el camino para una migración posterior a los servicios SOAP completamente desarrollados sin tener impactos en las aplicaciones que acceden a los datos de esas estructuras.

7 Desarrollar para expandir y soportar todas las tecnologías y plataformas

Una de las mayores potenciales ventajas de SOA es que facilita el crecimiento de su infraestructura TI con el de su compañía. Y como tal, la infraestructura podrá incorporar cualquier plataforma, tecnología, lenguaje de programación y distribución geográfica que sea necesario. Por lo tanto, evite crear su infraestructura con enfoques SOA o soluciones que limiten sus opciones a plataformas, servidores de aplicación o lenguajes de programación específicos.

Conclusiones:

Si bien SOA es aceptado ampliamente como “la forma adecuada” de construir aplicaciones moderna, la adopción en grandes empresas a menudo es inhibida por la inercia cultural. A pesar de esto, muchas compañías están experimentando un éxito importante y ahorros sustanciales, incluso en las primeras etapas de la madurez de SOA. Las empresas que instituyen SOA con éxito han trabajado para cambiar su mentalidad. La metodología de modelado y diseño para aplicaciones SOA se conoce como análisis y diseño orientado a servicios. La arquitectura orientada a servicios es tanto un marco de trabajo para el desarrollo de software como un marco de trabajo de implementación. Para que un proyecto SOA tenga éxito los desarrolladores de software deben orientarse ellos mismos a esta mentalidad de crear servicios comunes que son orquestados 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.

SOA no solo es un marco de trabajo para el desarrollo de sistemas sino que es la alternativa para que toda empresa que busca siempre estar a la vanguardia para dar servicios de alta calidad, facilitando que la empresa que lo adopte como estrategia vea un crecimiento en su infrestrutura.

Page 12: Soa

Fuentes:

http://www.microsoft.com/soa/

http://es.wikipedia.org/wiki/Arquitectura_orientada_a_servicios

http://sigc.wikidot.com/system:soa

http://www01.ibm.com/software/es/soa/launch/servicesfabric.html?S_TACT=106AJ04W&S_CMP.

http://www.oracle.com/global/lad/technologies/soa/soa-suite.html

http://www.sun.com/service/soa

Page 13: Soa

RAFAEL PEÑALOSA VENSES

LIC. INFORMATICA