Francisco Pérez Sorrosal. Tutores: Ricardo Jiménez Péris y Marta Patiño Martínez



Documentos relacionados
La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

SISTEMAS DE INFORMACIÓN III TEORÍA

ArquitecturaTécnica de TRAVEL OPEN APPS. Breve definición técnica de la plataforma Travel Open Apps

Elementos requeridos para crearlos (ejemplo: el compilador)

Sistemas Distribuidos Sincronización, Concurrencia y Transacciones

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto

Service Oriented Architecture

5.1 Introducción a Servicios Web

Sistema de Información Integrada del Área Social

El presente documento describe la importancia que está tomando el cómputo distribuido en

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web

Una puerta abierta al futuro

ARQUITECTURA ORIENTADA A SERVICIOS (SOA) EN LA JUNTA DE ANDALUCÍA

IAP TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO)

Capítulo 2. Marco Teórico

Servicios Web: Orquestación y coreografías

Ingeniería de Software en SOA

Gestión de la Configuración

El Portal de la Transparencia

Service Oriented Architecture: Con Biztalk?

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Durante los años Gijón participa en el proyecto Soportes de Promoción de

Servicios Web Estándares, Extensiones y Perspectivas de Futuro

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

Enginyeria del Software III

Modelos de los sistemas distribuidos. Jorge Iván Meza Martínez

Tema 6: Comparativa CORBA/Servicios Web

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Introducción a SOA (II) Huibert Aalbers Senior Certified Software IT Architect

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Gestión de Configuración del Software

Desarrollo y servicios web

Unidad II. Interfaz Grafica (continuación ) Basado en clases de Ing. Carlos A. Aguilar

PROTOCOLO DE EVALUACIÓN PARA LA VERIFICACIÓN DE TÍTULOS OFICIALES (GRADO Y MÁSTER)

E-learning: E-learning:

7.1 Java vs.net, la lucha se acrecienta

Mª Luisa Gutiérrez Acebrón División de Informática y Tecnologías de la Información Ministerio de Justicia

Preguntas más frecuentes sobre PROPS

ARQUITECTURAS DE PROCESOS DE NEGOCIOS INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

ICTE NORMAS DE CALIDAD DE AGENCIAS DE VIAJES REGLAS GENERALES DEL SISTEMA DE CALIDAD. Ref-RG Página 1 de 9

Software de Simulación aplicado a entornos de e-learning

Pliego de Prescripciones Técnicas abreviadas aplicables a la contratación de un servicio de desarrollo y mantenimiento de aplicaciones para Regulación

Objetos educativos y estandarización en e-learning: Experiencias en el sistema <e-aula>

Cómo seleccionar el mejor ERP para su empresa Sumario ejecutivo

IAP ENTORNOS INFORMATIZADOS CON SISTEMAS DE BASES DE DATOS

rg.o El l c i c c i l c o l o de d vi v d i a d a cm a l@ rza e de d u n u n si s s i t s e t ma m a de d in i f n or o ma m c a i c ó i n ó b

CONCLUISIONES Y RECOMENDACIONES

CONSTRUCCIÓN DEL PROCESO TRANSACCIONAL Bizagi Process Modeler

Caravel Modernization Tool: Tipos de Proyectos. Caravel Modernization Tool: Tipos de Proyectos

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un

Microsoft SQL Server Conceptos.

3.3.3 Tecnologías Mercados Datos

E-Government con Web Services

App para realizar consultas al Sistema de Información Estadística de Castilla y León

UNIVERSIDAD DE SANTANDER UDES

Factura Electrónica. Un proyecto de facturación electrónica que integra empresas y administraciones

Universidad Nacional Autónoma de México Dirección de Sistemas Dirección General de Personal

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Práctica 5. Curso

Sistemas de Información Gerencial

Integración de AuraPortal con SAP

DE VIDA PARA EL DESARROLLO DE SISTEMAS

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

SCT Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A.

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado

MONITOR. Guía de Apoyo Abreviada

Ventajas del software del SIGOB para las instituciones

Sistema de Gestión de la Seguridad de la Información, UNE-ISO/IEC 27001

Capítulo 1 Introducción

Navidian Oferta de Servicios GL7

IDEA DE NEGOCIO EDUGER LOGISTIC GERMAN EDUARDO BALSERO MORALES PROFESOR: GERARDO ANDRES ARCOS CELIS

5.2. PROYECTO RODA. (6/07/04).

Unidad III. Software para la administración de proyectos.

Capítulo 5: METODOLOGÍA APLICABLE A LAS NORMAS NE AI

Sistema de Mensajería Empresarial para generación Masiva de DTE

La Intranet Gubernamental como elemento clave de la Interoperabilidad

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

PRESENTACIÓN M. EN C. ALEJANDRO BOTELLO CASTILLO

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta

2 EL DOCUMENTO DE ESPECIFICACIONES

Una Estrategia de Movilización basada en la Reutilización

OLIMPO Servidor Universal

Arquitectura automatizada de comercio electrónico

1. INTRODUCCIÓN 1.1 INGENIERÍA

Sistema informatizado de Trazabilidad alimentaria

Servidores Donantonio

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

FUNDACIÓN MAPFRE 2015 QUÉ ES EL SEGURO? 11.4 Comprar un seguro

Master en Gestion de la Calidad

Sistemas de Gestión de Calidad. Control documental

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

Arquitectura cliente/servidor

Boletín de Asesoría Gerencial SOA: enfoque técnico orientado a procesos

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

Transcripción:

Francisco Pérez Sorrosal Tutores: Ricardo Jiménez Péris y Marta Patiño Martínez Introducción Con la irrupción y gradual implantación de Internet en la sociedad, la visión empresarial de los negocios ha sufrido un gran cambio. La web ha abierto nuevas posibilidades de negocio y se necesitan nuevas herramientas y tecnologías para ponerlas en marcha. Las recientemente surgidas plataformas orientadas al desarrollo de software de negocios para la web como J2EE de SUN Microsystems y.net de Microsoft (ambas ya con una amplia difusión y aceptación en el mundo empresarial), son sólo dos ejemplos de tecnologías propietarias que confirman el interés y la competencia existente en la industria del software en este sector. Dentro del software para negocios, las relaciones B2B son la parte que más interés está suscitando actualmente en las empresas y la que, por lo tanto, más atención está recibiendo por parte de los grandes desarrolladores de software. Inicialmente, el B2B surgío para hacer referencia a las relaciones de compra-venta de productos entre empresas a través de la red. Sin embargo, el concepto ha evolucionado hasta representar hoy en día la gestión de toda la cadena de proveedores de las empresas. Aunque es posible realizar aplicaciones B2B basándose en tecnologías propietarias, es una solución poco flexible. Por ejemplo, para participar en una composición de servicios que represente una relacion B2B, los servicios ofrecidos por las distintas empresas deben estar implementados con la misma tecnología. Este hecho, además, puede acabar siendo demasiado costoso para las empresas, ya que el servicio necesitará tener tantos interfaces como clientes con tecnologías distintas vayan a utilizarlo. Para intentar paliar estas restricciones, la tecnología de servicios web (web services) ha sido una de las últimas en incorporarse al mundo de las aplicaciones de negocio orientadas al B2B. A diferencia de J2EE o.net, esta tecnología no es propietaria. Un servicio web proporciona una interfaz definida de manera estándar para que pueda accederse de manera homogénea a los servicios que ofertan las empresas a través de la web. WSDL [4] es el lenguaje mediante el cual se definen las interfaces de los servicios web. Un servicio web puede invocar a otros servicios web (formando lo que se denomina un servicio web compuesto) con lo que se pueden modelar relaciones B2B complejas. Las invocaciones a servicios web se realizan utilizando un protocolo basado en XML denominado SOAP [5]. Por lo tanto, las empresas pueden aprovechar la potencia ofrecida por los servicios web para interelacionar sus propios procesos de negocio o integrarlos con servicios complementarios de otras empresas de una manera totalmente homogénea e independiente de la tecnología subyacente con la que están implementados dichos servicios.

Sin embargo, a pesar de que los servicios web consiguen homogeneizar la implementación de relaciones B2B, todavía existe otro problema importante a solucionar de cara a componer servicios en general y es el aspecto transaccional que caracteriza a la mayoría de los servicios que ofertan las empresas. Problemática de las Transaciones en B2B Las transacciones a nivel de servicios (también llamadas transacciones de negocio o actividades de larga duración) presentan características distintas a las transacciones clásicas ligadas tradicionalmente al área de las bases de datos y que cumplen las conocidas propiedades ACID (atomicidad, consistencia, aislamiento y durabilidad) [10]. Las propiedades ACID se presentan a priori como demasiado restrictivas para las aplicaciones de negocio que involucran servicios de distintas empresas y por lo tanto no es factible su uso en este tipo de aplicaciones. Las principales características y diferencias de las transacciones de negocio con respecto a las transacciones clásicas son las siguientes: una mayor duración. Una transacción de negocio puede durar varios días e incluso semanas o meses. Por su parte, las transacciones atómicas están consideradas de corta duración. Este hecho hace que no sea factible el bloqueo de todos los recursos usados por la transacción durante tanto tiempo. las aplicaciones de negocio modelan su funcionalidad mediante el concepto de actividad. Una actividad representa una parte del negocio. La estructura de una actividad puede contener ninguna, una o varias transacciones de corta duración, conformando de manera lógica lo que se ha denominado una transacción de negocio o de larga duración. Además, una actividad puede componerse de varias subactividades cada una de ellas asociada a su vez o no con transacciones de corta duración. El anidamiento no aparece como una característica en las transacciones ACID aunque sí se contempla en varios modelos de transacciones avanzados. las actividades de negocio pueden involucrar servicios de varias organizaciones y por lo tanto con características transaccionales que pueden ser heterogéneas. los requisitos para el compromiso de una transacción de negocio pueden ir variando durante el ciclo de vida de la transacción, compromentiendo parcialmente y/o deshaciendo algunos cambios que son visibles para otras transacciones o aplicaciones en el sistema. Las transacciones ACID por su parte siempre ejecutan cambios consistentes en los sistemas. Las diferencias que se acaban de señalar han hecho que surjan distintas propuestas para proporcionar transacciones de negocio flexibles en las aplicaciones B2B. Básicamente se distinguen dos enfoques en estas propuestas. El primero se centra en definir un modelo avanzado de transacciones para modelar los procesos de negocio. El problema que plantea esta solución es que un sólo modelo quizá no es suficiente para recoger todas las posibles circunstancias y escenarios que surgen al componer servicios. El protocolo BTP (Business Transaction Protocol) [1] de OASIS es un ejemplo de este tipo de modelos avanzados orientados a B2B sobre

servicios web. El segundo enfoque consiste en desarrollar un mecanismo transaccional genérico capaz de adaptarse a la variedad de situaciones y requisitos que surgen al combinar los distintos servicios participantes en una composición. Las adaptaciones concretas del mecanismo las realizan protocolos de coordinación específicos que pueden conectarse a este motor genérico. Como ejemplos de este tipo de enfoque pueden citarse los siguientes: en los entornos CORBA y J2EE la especificación Activity Service [2][3], mientras que en el mundo de los servicios web las especificaciones WS-Coordination/WS-Transaction [7][8] de Microsoft, IBM y BEA y WS-CAF (Web Service-Composite Application Framework) [6] de OASIS son los principales exponentes. Motivación y Descripción del Trabajo de Investigación El trabajo de investigación desarrollado a lo largo del curso 2003-2004 está enmarcado dentro del proyecto europeo Adapt (IST-2001-37126) y se ha centrado en la problemática que se acaba de comentar a la hora de adaptar las transacciones al mundo de las nuevas aplicaciones B2B. El principal objetivo ha sido estudiar qué modelos de transaciones son adecuados para el B2B a través del estudio de las espeficicaciones más recientes relacionadas con el tema (la mayoría de las cuales están todavía en estado de borrador) para adquirir los conocimientos necesarios para identificar problemas en dicha área e intentar solventar aquellos ya identificados. En el aspecto teórico del trabajo de investigación primeramente se ha llevado a cabo un estudio de las transacciones clásicas y de sus características. Posteriormente se han examinado varios modelos teóricos de transacciones extendidas propuestos en la literatura [9][12][14] (SAGAS, transacciones anidadas, FLEX, S-Transactions, Contract...) para extraer de ellos conocimiento e ideas aplicables al mundo de las transacciones B2B. Por último se han examinado varias propuestas recientemente surgidas de modelos de transacciones y frameworks orientados a B2B (Activity Service, BTP, WS- Cordination/WS-Transaction y WS-CAF). Desde el punto de vista práctico se ha llevado a cabo la implementación de dos de las especificaciones relativas a transacciones en B2B estudiadas en la parte teórica y que están relacionadas con dos tecnologías distintas: Activity Service en el entorno J2EE y WS-CAF en servicios web. El J2EE Activity Service está propuesto como especificación JSR-095 dentro del programa Java Community Process de SUN Microsystems, que tiene como objetivo extender y mejorar el lenguaje Java y la plataforma J2EE. J2EE es una de las plataformas propietarias más extendidas para el desarrollo de aplicaciones empresariales basadas en la web. La especificación Activity Service propone un framework orientado a la implementación de modelos avanzados de transacciones para esta plataforma. Este framework implementa la base de un motor transaccional avanzado lo suficientemente flexible para que en capas superiores se desarrollen modelos avanzados de transacciones específicos. Para comprobar el funcionamiento de este motor genérico se ha implementado un

ejemplo de modelo transaccional avanzado ampliamente conocido como es el open nested transaction (ONT) [3][13], así como una aplicación de ejemplo basada en tecnología J2EE (servlets y EJBs). La aplicación proporciona un servicio de reservas de paquetes de viaje (vuelo + hotel) para los clientes de una agencia de viajes. La agencia se encarga de contactar con los respectivos servicios de reserva tanto de la línea aérea como del hotel. El usuario introduce su nombre y el número de billetes y habitaciones que desea reservar. Si la disponibilidad de tickets o habitaciones es menor que el número demandado, la reserva se anulará y sus efectos serán compensados. En la parte relativa a los servicios web, se ha implementado el framework propuesto en las especificaciones que componen el WS-CAF. El estar libre de royalties ha sido el principal motivo por el que se ha elegido WS-CAF frente a las especificaciones WS-Coordination/WS-Transaction de Microsoft de IBM. WS-CAF está compuesto por tres especificaciones relacionadas: Web Services Context (WS-CTX), Web Services Coordination Framework (WS-CF) y Web Services Transactions (WS-TXM). Las tres especificaciones en conjunto proporcionan una pila de funcionalidad para soportar aplicaciones o procesos de negocio que hacen uso de múltiples servicios web y que necesitan soporte transaccional. A continuación se describe brevemente el propósito de cada una de ellas: 1. WS-CTX es la especificación base. Permite compartir una estructura común denominada contexto entre varios servicios web. Un contexto es utilizado para representar una actividad de negocio. La información que contiene el contexto es extensible por los niveles superiores si así lo requieren. 2. WS-CF complementa a WS-CTX definiendo un elemento de coordinación que garantiza la notificación de los mensajes de los protocolos a los servicios web que comparten un contexto concreto. Los protocolos específicos son definidos por niveles superiores y son conectados en este nivel. 3. WS-TXM define tres protocolos transaccionales (Atomic Transactions, Long Running Activities y Business Processes) para asegurar que se obtiene un resultado común para todos los servicios web que participan en el proceso de negocio. Esta especificación está abierta a la definición de nuevos protocolos. La implementación de la especificación WS-CTX se ha hecho utilizando como base el motor genérico implementado por el J2EE Activity Service para representar los contextos de las actividades de negocio. De entre los tres protocolos propuestos por la especificación WS-TXM se ha elegido el Long Running Activities por ser bastante parecido semánticamente al modelo avanzado ONT implementado anteriormente para el J2EE Activity Service. Como ejemplo de uso se ha implementado la misma aplicación de la agencia de viajes descrita en el J2EE Activity Service, basada esta vez en servicios web. Por último se ha realizado una evaluación empírica del coste de las transacciones a nivel de servicios web que utilizan WS-CAF. Para ello se ha realizado una

aplicación basada en una aplicación propuesta por el consorcio WS-I (Web Services Interoperability). La aplicación propuesta por el WS-I en [11], ha sido adaptada para utilizar WS-CAF en la demarcación de las actividades de negocio identificadas y se ha medido el tiempo de respuesta y rendimiento del sistema variando el número de clientes simultáneos y otros parámetros relacionados con la aplicación. Conclusiones y Resultados Por lo estudiado en la bibliografía del área se deduce que no existe un único modelo de transacciones que se ajuste perfectamente a cualquier aplicación B2B. Por ello la industria está teniendo muy en cuenta los frameworks que proponen motores de transacciones adaptables a las aplicaciones B2B frente a protocolos específicos como BTP. Las especificaciones Activity Service, WS-Coordination/WS- Transaction y WS-CAF proponen este tipo de frameworks, lo suficientemente genéricos como para poder adaptarse a cualquier escenario ya que permiten el uso y la coordinación de modelos extendidos de transacciones ya existentes así como la definición de otros nuevos que se ajusten a requerimientos específicos. El resultado obtenido con las pruebas realizadas con la aplicación de ejemplo sobre WS-CAF, ofrece unos tiempos de respuesta y un rendimiento razonables para un entorno transaccional basado en la web, a pesar de que la implementación del sistema no está optimizada y de que el protocolo SOAP en el que se basan las comunicaciones entre los servicios web tiene una latencia bastante alta. Bibliografía [1] OASIS Consortium. Business Transaction Protocol (BTP). http://www.oasisopen.org/committees/documents.php?wg_abbrev=business-transaction [2] OMG. Additional Structuring Mechanisms for the OTS Specification 1.0. September 2002. [3] Sun. J2EE Activity Service Specification Draft 0.1. June 2003. [4] W3C. Web Services Description Language (WSDL) 1.1 http://www.w3.org/tr/wsdl [5] W3C. Simple Object Access Protocol (SOAP) 1.2 http://www.w3.org/tr/soap12 [6] OASIS Consortium. Web Service-Composite Application Framework (WS- CAF). http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=ws-caf [7]Microsoft, BEA, IBM. Web Services Coordination (WS-Coordination). http://www-106.ibm.com/developerworks/library/ws-coor/ [8] Microsoft, BEA, IBM. Web Services Transaction (WS-Transaction).

http://www.106.ibm.com/developerworks/webservices/library/ws-transpec/ [9] A. K. Elmagarmid (Editor). Database Transaction Models. Morgan Kaufmann Publishers, San Mateo, CA, 1992. [10] J. Gray and A. Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann Publishers, 1993. [11] WS-I Organization. Supply Chain Management Sample Architecture. http://www.ws-i.org/documents.aspx [12] H. García-Molina and K. Salem. SAGAS. In Proc. Of the ACM SIGMOD Conference on Management Data), pp. 249 259, San Francisco, California, 1987. [13] G. Weikum and H. J. Schek. Concepts and Applications of Multilevel Transactions and Open Nested Transactions. In A. K. Elmagarmid, editor, Database Transaction Models, chapter 13, pages 515 554. Morgan Kaufmann Publishers, San Mateo, CA, 1992. [14] J. E. B. Moss. Nested Transactions: An Approach to Reliable Distributed Computing. MIT Press, Cambridge, MA, 1985.