<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>2227-1899</journal-id>
<journal-title><![CDATA[Revista Cubana de Ciencias Informáticas]]></journal-title>
<abbrev-journal-title><![CDATA[Rev cuba cienc informat]]></abbrev-journal-title>
<issn>2227-1899</issn>
<publisher>
<publisher-name><![CDATA[Editorial Ediciones Futuro]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S2227-18992015000100006</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Implementación de lenguajes de contrato electrónico en Oracle Service Bus]]></article-title>
<article-title xml:lang="en"><![CDATA[Implementation of electronic contract languages in Oracle Service Bus]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Flores Valdés]]></surname>
<given-names><![CDATA[Eva]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Instituto Superior Politécnico José Antonio Echevarría  ]]></institution>
<addr-line><![CDATA[Marianao La Habana]]></addr-line>
<country>Cuba</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>03</month>
<year>2015</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>03</month>
<year>2015</year>
</pub-date>
<volume>9</volume>
<numero>1</numero>
<fpage>63</fpage>
<lpage>77</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_arttext&amp;pid=S2227-18992015000100006&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_abstract&amp;pid=S2227-18992015000100006&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_pdf&amp;pid=S2227-18992015000100006&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[En el desarrollo e implementación de escenarios de integración han intervenido servicios que provienen de fuentes diversas, donde la atención se ha centrado en las operaciones que brindan y pocas veces se han tenido en cuenta sus requisitos no funcionales que incluyen aspectos como el tiempo de respuesta y la disponibilidad. Esto ha provocado la necesidad de establecer políticas automáticas de negociación entre las partes que interactúan con el servicio para tener en cuenta los aspectos anteriores. Para solucionar este problema se han utilizado los Acuerdos de Nivel de Servicio que son especificaciones no formales de los acuerdos entre las partes relativos a los requisitos no funcionales del servicio. Los lenguajes de contrato electrónico para la gestión de calidad de servicio se especificaron con el objetivo de formalizar estos acuerdos utilizando especificaciones estándares. Por otra parte, la herramienta Oracle Service Bus implementa la tecnología Bus de Servicios Empresariales que actúa como mediadora en la comunicación entre aplicaciones y tiene soporte para la definición de Acuerdos de Nivel de Servicio, para los servicios web que se conectan a esta. Este artículo tiene como objetivo principal verificar el soporte explícito de los lenguajes en Oracle Service Bus y se llegó a la conclusión de que no lo hace pero se propone una estrategia para implementar los aspectos fundamentales de los lenguajes utilizando componentes de la herramienta.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[In the development and implementation of integration scenarios have involved services from various sources, where attention has focused on the operations they provide and have rarely been taken into account its non-functional requirements which include aspects such as response time and availability. This has caused the need for automated policy negotiation between the parties that interact with the service to consider those aspects. To solve this problem we have used the Service Level Agreements that are not formal specification of the agreements between the parties relating to the non-functional service requirements. Electronic contract languages for quality of service management were specified in order to formalize these agreements using standard specifications. Oracle Service Bus implements the Enterprise Service Bus technology that mediates communication between applications technology and has support for defining Service Level Agreements for Web Services that connect to it. This article has the main objective of verifying the explicit support of the languages &#8203;&#8203;in Oracle Service Bus and concluded that it does not, but a strategy is proposed to implement the fundamental aspects of the languages &#8203;&#8203;used tool components.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[acuerdos de nivel de servicio]]></kwd>
<kwd lng="es"><![CDATA[lenguajes de contrato electrónico]]></kwd>
<kwd lng="es"><![CDATA[servicios web]]></kwd>
<kwd lng="es"><![CDATA[tecnología Bus de Servicios Empresariales]]></kwd>
<kwd lng="en"><![CDATA[electronic contract languages]]></kwd>
<kwd lng="en"><![CDATA[Enterprise Service Bus technology]]></kwd>
<kwd lng="en"><![CDATA[service level agreements]]></kwd>
<kwd lng="en"><![CDATA[web services]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B> ART&Iacute;CULO  ORIGINAL</B></font></p>     <p>&nbsp;</p>     <p><font size="4" face="Verdana, Arial, Helvetica, sans-serif"><strong>Implementaci&oacute;n de  lenguajes de contrato electr&oacute;nico en Oracle  Service Bus</strong></font></p>     <p>&nbsp;</p>     <p><font size="3"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Implementation of electronic contract languages in Oracle Service  Bus</font></strong></font></p>     <p>&nbsp;</p>     <p>&nbsp;</p>     <P><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Eva Flores Vald&eacute;s<strong><strong><strong><strong><sup>1*</sup></strong></strong></strong></strong></font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><sup> 1 </sup>Instituto  Superior Polit&eacute;cnico Jos&eacute; Antonio Echevarr&iacute;a. Calle 114 No 11901 e/ Ciclov&iacute;a y  Rotonda, Marianao, La Habana, Cuba. Correo-e: <a href="mailto:eflores@ceis.cujae.edu.cu">eflores@ceis.cujae.edu.cu</a></font><font size="2"></font></p>     <P><font face="Verdana, Arial, Helvetica, sans-serif"><span class="class"><font size="2">*Autor para la correspondencia: </font></span></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="mailto:eflores@ceis.cujae.edu.cu">eflores@ceis.cujae.edu.cu</a></font><font size="2"></font>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p>&nbsp;</p> <hr>     <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>RESUMEN</b> </font>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En el desarrollo e implementaci&oacute;n de  escenarios de integraci&oacute;n han intervenido servicios que provienen de fuentes  diversas, donde la atenci&oacute;n se ha centrado en las operaciones que brindan y  pocas veces se han tenido en cuenta sus requisitos no funcionales que incluyen  aspectos como el tiempo de respuesta y la disponibilidad. Esto ha provocado la  necesidad de establecer pol&iacute;ticas autom&aacute;ticas de negociaci&oacute;n entre las partes  que interact&uacute;an con el servicio para tener en cuenta los aspectos anteriores. Para  solucionar este problema se han utilizado los Acuerdos de Nivel de Servicio que  son especificaciones no formales de los acuerdos entre las partes relativos a  los requisitos no funcionales del servicio. Los lenguajes de contrato  electr&oacute;nico para la gesti&oacute;n de calidad de servicio se especificaron con el  objetivo de formalizar estos acuerdos utilizando especificaciones est&aacute;ndares.  Por otra parte, la herramienta <em>Oracle  Service Bus</em> implementa la tecnolog&iacute;a Bus de Servicios Empresariales que  act&uacute;a como mediadora en la comunicaci&oacute;n entre aplicaciones&nbsp; y tiene soporte para la definici&oacute;n de  Acuerdos de Nivel de Servicio, para los servicios web que se conectan a esta.  Este art&iacute;culo tiene como objetivo principal verificar el soporte expl&iacute;cito de  los lenguajes en <em>Oracle Service Bus </em>y  se lleg&oacute; a la conclusi&oacute;n de que no lo hace pero se propone una estrategia para  implementar los aspectos fundamentales de los lenguajes utilizando componentes  de la herramienta. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>Palabras clave: </span></b>acuerdos de nivel de servicio, lenguajes de contrato electr&oacute;nico,  servicios web, tecnolog&iacute;a Bus de Servicios Empresariales.</font></p> <hr>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>ABSTRACT</span></b> </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">In the  development and implementation of integration scenarios have involved services  from various sources, where attention has focused on the operations they  provide and have rarely been taken into account its non-functional requirements  which include aspects such as response time and availability. This has caused  the need for automated policy negotiation between the parties that interact  with the service to consider those aspects. To solve this problem we have used the Service Level Agreements that are  not formal specification of the agreements between the parties relating to the  non-functional service requirements. Electronic contract languages for quality  of service management were specified in order to formalize these agreements  using standard specifications. Oracle  Service Bus implements the Enterprise Service Bus technology that mediates  communication between applications technology and has support for defining  Service Level Agreements for Web Services that connect to it. This article has  the main objective of verifying the explicit support of the languages &#8203;&#8203;in  Oracle Service Bus and concluded that it does not, but a strategy is proposed  to implement the fundamental aspects of the languages &#8203;&#8203;used tool components.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>Key words: </span></b>electronic contract languages,  Enterprise Service Bus technology, service level agreements, web services.</font></p> <hr>     <p>&nbsp;</p>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>INTRODUCCI&Oacute;N</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La gesti&oacute;n de la informaci&oacute;n se ha convertido en un  factor fundamental para el desempe&ntilde;o &oacute;ptimo del sector empresarial. Es muy  frecuente que los sistemas implantados deban evolucionar en conjunto con la  organizaci&oacute;n en la que se encuentran funcionando, con el objetivo de satisfacer  los nuevos requerimientos que surgen en la misma. En este proceso de  crecimiento se ve la necesidad de que estos sistemas compartan informaci&oacute;n y se  trabaje con esta de manera automatizada para dar soporte a los dis&iacute;miles  procesos de negocio definidos en la empresa.     <br>       <br>   Para que las aplicaciones se comuniquen, existen varios  mecanismos, siendo uno de los m&aacute;s utilizados los servicios web, por la  facilidad que brindan al estar basados en est&aacute;ndares abiertos y ser soportados  por una gran cantidad de lenguajes de programaci&oacute;n (D&iacute;az,  2010). En  entornos donde se adoptan estas soluciones se tiene que diferentes aplicaciones  exponen sus funciones a trav&eacute;s de servicios y otras los utilizan de la forma  que vienen o los componen con otros con el objetivo de obtener nuevas  funcionalidades.&nbsp; Con frecuencia, cuando  los sistemas clientes adquieren estos servicios, obtienen solo los requisitos  funcionales de este, y no tienen noci&oacute;n de los no funcionales como su tiempo de  respuesta, su disponibilidad o el tiempo promedio de recuperaci&oacute;n en caso de  fallo; como consecuencia, estos sistemas tienen que  predecir el comportamiento de los servicios en la medida que los utilicen.     <br>       <br>   Las SLA (Acuerdos de Nivel de Servicio)  constituyen una soluci&oacute;n a este problema y no son m&aacute;s que  contratos bilaterales entre un proveedor y un consumidor de servicios. En estos  acuerdos se definen las propiedades del servicio y las garant&iacute;as que ofrece el  proveedor de entregar el servicio con una calidad definida, capacidades para  monitorear las propiedades en un tiempo proporcionado y acciones a realizar en  caso de que el servicio no se provea con la calidad acordada (Waeldrich,  2011). Estos  contratos se pueden especificar de manera est&aacute;tica mediante un documento o de  manera din&aacute;mica a trav&eacute;s de lenguajes formales basados en est&aacute;ndares.     <br>       <br> Por otra parte han evolucionado tecnolog&iacute;as que apoyan el  proceso de implementar escenarios de integraci&oacute;n, una de estas es ESB (Bus de  Servicios Empresariales) definida como una plataforma de integraci&oacute;n basada en  est&aacute;ndares que combina mensajer&iacute;a, servicios web, transformaci&oacute;n de datos y  enrutamiento inteligente, conecta de forma fiable y coordinada la interacci&oacute;n  de un n&uacute;mero importante de aplicaciones diversas a trav&eacute;s empresas extendidas  con integridad transaccional (Chapell,  2004). <em>Oracle Service Bus</em> es una herramienta  que pertenece a la compa&ntilde;&iacute;a Oracle e implementa las capacidades de la  tecnolog&iacute;a ESB. Al actuar como intermediario entre la comunicaci&oacute;n entre  sistemas, ser&iacute;a vital evaluar el soporte de esta para gestionar contratos de  calidad del servicio (SLA).&nbsp; Este trabajo  tiene el objetivo de hacer una valoraci&oacute;n acerca del soporte de la herramienta  para gestionar calidad de servicio a trav&eacute;s de lenguajes de contrato  electr&oacute;nico.</font></p>     <p>&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="3">MATERIALES Y M&Eacute;TODOS </font></strong></font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La investigaci&oacute;n realizada se enmarca en  la gesti&oacute;n de calidad de servicios vista desde la herramienta <em>Oracle Service Bus</em> la que implementa la  tecnolog&iacute;a ESB. En esta secci&oacute;n se expone el estado del arte de los elementos  tecnol&oacute;gicos que constituyen la base de la investigaci&oacute;n.    <br>       <br>     <strong>Contratos  electr&oacute;nicos para gesti&oacute;n de calidad de servicio </strong>    <br>       <br> En el  desarrollo e implementaci&oacute;n de escenarios de integraci&oacute;n intervienen servicios  de varias partes por lo que se hace necesario establecer pol&iacute;ticas autom&aacute;ticas  de negociaci&oacute;n entre estas. Varios autores han acordado que, en ambientes de  servicios electr&oacute;nicos los contratos son importantes para alcanzar la  interoperabilidad de los procesos de negocio y reforzar su comportamiento (Fern&aacute;ndez, 2007). La  idea fundamental de la definici&oacute;n de contratos es la declaraci&oacute;n expl&iacute;cita de  los t&eacute;rminos bajo los cuales los servicios web van a interactuar; estos  incluyen:</font></p> <ul type="disc">       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La especificaci&oacute;n del contexto en el cual el       contrato es ejecutado.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La especificaci&oacute;n de los actores y sus roles en el       sistema.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las especificaciones de las acciones de las partes       involucradas, estas son actividades que son ejecutadas y pueden cambiar       sin afectar el funcionamiento del sistema </font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La especificaci&oacute;n de m&eacute;tricas para evaluar la       calidad de servicio (QoS) asociada a la ejecuci&oacute;n de las acciones       correspondientes.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La especificaci&oacute;n de mecanismos para medir las       m&eacute;tricas, es decir el establecimiento de v&iacute;nculos entre la definici&oacute;n de       m&eacute;tricas y las acciones para medirlas (Fern&aacute;ndez, 2007).</font></li>     ]]></body>
<body><![CDATA[</ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Desde hace  a&ntilde;os se han propuesto mecanismos para formalizar los acuerdos entre partes que  intervienen en la automatizaci&oacute;n de procesos. En 1988 surgi&oacute; una idea para  declarar, de manera expl&iacute;cita, las relaciones entre las partes con roles de  consumidor y proveedor; la que fue propuesta por Meyer para mejorar el dise&ntilde;o  de aplicaciones orientadas a objeto y se aplic&oacute; en el lenguaje de programaci&oacute;n  Eiffel. En esta propuesta un contrato se entiende por la especificaci&oacute;n de <em>acciones</em> comenzando con algunas <em>precondiciones</em> y obteniendo resultados  definidos en <em>poscondiciones </em>(Meyer, 1997).     <br>       <br> Una expresi&oacute;n  formada por una <em>precondici&oacute;n</em> m&aacute;s una <em>condici&oacute;n</em> m&aacute;s una <em>postcondici&oacute;n</em> es considerada una <em>afirmaci&oacute;n</em>. Esta representa una expresi&oacute;n que abarca entidades del  software y las propiedades que esas entidades deben satisfacer en etapas de la  ejecuci&oacute;n del software. La utilizaci&oacute;n de estas tienen varias aplicaciones en:</font></p> <ul type="disc">       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Escribir software correcto</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Facilitar la documentaci&oacute;n.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Soporte para hacer pruebas, corregir errores en el       c&oacute;digo y asegurar su calidad.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Soporte para la tolerancia a fallos (Meyer, 1997).</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Otro enfoque es<em> Electronic Business XML (ebXML)</em> que es resultado  de un proyecto desarrollado por la Organizaci&oacute;n para el Avance de los  Est&aacute;ndares para la Informaci&oacute;n Estructurada (OASIS siglas en ingl&eacute;s) y por  United Nation&acute;s Center for Trade Facilitation and  Electronic Business (UN/CEFACT) en el a&ntilde;o 1997. ebXml provee una  infraestructura est&aacute;ndar para los negocios electr&oacute;nicos que permite el  intercambio de informaci&oacute;n entre estos. Como parte de su especificaci&oacute;n se  defini&oacute; adem&aacute;s ebXML Collaboration Protocol Profile and Agreement (CPPA) que  define un esquema XML para controlar los acuerdos entre las partes involucradas  en los negocios (Schonberger, 2010).    ]]></body>
<body><![CDATA[<br>       <br>   <strong>Lenguajes  de contrato electr&oacute;nico    <br>   </strong>    <br>   Los servicios  web han emergido como el mecanismo m&aacute;s utilizado para hacer que las  aplicaciones se cominiquen entre s&iacute; y se definen como un componente de  software&nbsp; que se comunica con otras  aplicaciones codificando los mensajes en lenguaje de marcado extensible (eXtensible  Markup Language, XML siglas en ingl&eacute;s) y enviando estos mensajes a trav&eacute;s de  protocolos est&aacute;ndares de Internet tales como el protocolo de transferencia de  hipertexto (Hypertext Transfer Protocol, HTTP, siglas en ingl&eacute;s) (Rosales, 2010).     <br>       <br>   Los servicios  web exponen las funcionalidades de las aplicaciones sobre las que est&aacute;n  definidos y son consumidos por otras aplicaciones de acuerdo de sus necesidades,  por lo que es de gran importancia que estos servicios est&eacute;n disponibles y  funcionen con la m&aacute;xima calidad posible. La tecnolog&iacute;a de servicios web provee  una plataforma de integraci&oacute;n basada en el Lenguaje de Descripci&oacute;n de Servicios  Web (WSDL, siglas en ingl&eacute;s) para la descripci&oacute;n de estos, en Universal  Description, Discovery and Integration (UDDI, siglas en ingl&eacute;s) para su  persistencia y descubrimiento; y en el Protocolo Simple de Acceso a Objetos  (SOAP, siglas en ingl&eacute;s) como mecanismo de comunicaci&oacute;n. Estos proveen la  oportunidad de enlazarse din&aacute;micamente con otros servicios en tiempo de  ejecuci&oacute;n y de establecer o eliminar conexi&oacute;n con un proveedor de servicios (Rosales, 2010). Los  contratos electr&oacute;nicos especifican la forma en que las interacciones  proveedor-cliente son llevadas a cabo y qu&eacute; partes contractuales intervienen en  estas (Jones, 2010).    <br>       <br>   En t&eacute;rminos  generales se define la calidad de servicio como &ldquo;<em>Cuan bien se ejecutan las operaciones de un servicio&rdquo; </em>(Tosic, 2010) adem&aacute;s  se plantea que este concepto existe a&uacute;n sin que se especifique o se mida. Por  otra parte se define la gesti&oacute;n de calidad de servicio como la capacidad de  determinar el estado de un servicio(definido como monitoreo) m&aacute;s la capacidad  de mantener este en el estado deseado (definida como control) (Tosic, 2010).     <br>       <br> Las  especificaciones de calidad de servicio deben establecer el momento, el lugar y  c&oacute;mo van a monitorear y controlar m&eacute;tricas QoS establecidas para este; estas  especificaciones se pueden clasificar en: </font></p> <ul type="disc">       ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Impl&iacute;citas: Son construidas en la implementaci&oacute;n del       servicio, por lo que carecen de flexibilidad y no se pueden reutilizar.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Contratos: Representan acuerdos formales.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Pol&iacute;ticas: Objetivos y/o reglas para la gesti&oacute;n de       alto nivel para la seguridad, QoS, etc.</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Con el  objetivo de formalizar estas ideas se han hecho varias propuestas; una de ellas  es extender los lenguajes WSDL, UDDI o WS-BPEL para dar soporte, adem&aacute;s,&nbsp; a los contratos para gestionar QoS. Este  acercamiento tiene la ventaja de que es simple y se puede asociar el  descubrimiento de la gesti&oacute;n QoS con el descubrimiento de&nbsp; servicios web. Por otra parte tiene la  desventaja de que al tener un lenguaje con dos objetivos, cualquier cambio en  tiempo de ejecuci&oacute;n que ocurra relativo a alguno de ellos implica modificar  todos los ficheros afectados de uno de esos tipos, lo que constituye un proceso  muy complejo.    <br>       <br>   Otra idea de  formalizaci&oacute;n la constituyen los Acuerdos de Nivel de Servicio (<em>Service Level Agreement</em>, SLA siglas en  ingl&eacute;s) que constituyen un conjunto de garant&iacute;as de calidad de servicio y  obligaciones de las partes involucradas (Keller, 2007). En un  entorno de sistemas orientados a servicios estas pueden adoptarse de forma  est&aacute;tica mediante la especificaci&oacute;n del contrato SLA en un documento y de forma  din&aacute;mica; a trav&eacute;s de su representaci&oacute;n en lenguajes formales.     <br>       <br>   Los lenguajes  de contrato electr&oacute;nico surgen como alternativa para estandarizar los acuerdos  entre las partes que intervienen en la comunicaci&oacute;n de servicios web y as&iacute;  tratar el procesamiento SLA de manera din&aacute;mica. Actualmente existen varias  propuestas de este tipo, en este art&iacute;culo se van a analizar dos de las m&aacute;s  representativas (Tosic, 2010).</font></p>     <blockquote>       ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>1. Web Service Level Agreements </strong></font></p> </blockquote>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">WSLA es una especificaci&oacute;n desarrollada por la compa&ntilde;&iacute;a IBM en 2003 y  provee un marco de trabajo para definir y monitorear SLA de servicios web. Esta  especificaci&oacute;n incluye un lenguaje WSLA basado en XML.     <br>   De manera general esta especificaci&oacute;n tiene tres componentes fundamentales:</font></p> <ul type="disc">       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La descripci&oacute;n de las partes involucradas que       incluye los roles que desempe&ntilde;an, as&iacute; como las interfaces con las acciones       que exponen hacia otras partes del contrato.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La definici&oacute;n del servicio, las m&eacute;tricas a gestionar       y como se va a realizar esta gesti&oacute;n.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La representaci&oacute;n de las obligaciones de las partes       de realizar alguna acci&oacute;n en caso de que no se cumpla alguna garant&iacute;a       acordada.</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El  diagrama de clases correspondiente a la <a href="/img/revistas/rcci/v9n1/f0601115.jpg" target="_blank">figura 1</a>, ilustra detalladamente los conceptos y&nbsp; su relaci&oacute;n que conforman la estructura de un  documento WSLA.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para las partes (Parties en la <a href="/img/revistas/rcci/v9n1/f0601115.jpg" target="_blank">figura 1</a>) involucradas definidas en WSLA se  pueden especificar dos roles; el primero: <em>SignatoryParty</em> que representan al proveedor y el consumidor de un servicio; es necesario  puntualizar que en este lenguaje se puede definir un contrato entre solo dos  partes de este tipo. El otro rol <em>SupportingParty </em>lo desempe&ntilde;an aquellas partes encargadas de medir y computar las m&eacute;tricas  para el rendimiento de las operaciones del servicio.    <br>       ]]></body>
<body><![CDATA[<br>   En la definici&oacute;n del servicio (<em>ServiceDefinition</em> en la figura) se especifican los par&aacute;metros SLA (<em>SLAParameter</em> en la figura) que describen una propiedad observable  del servicio cuyo valor puede ser obtenido a trav&eacute;s de una medici&oacute;n (Ludwing, 2003). Las m&eacute;tricas son definiciones de valores de propiedades  del servicio que son medidas desde un sistema u otras m&eacute;tricas o constantes.     <br>       <br> En las obligaciones se encuentran los <em>ServiceLevelObjective</em> y las <em>ActionGuarantee</em>; el primero  expresa el compromiso de mantener un estado particular del servicio en un  per&iacute;odo de tiempo dado. Este estado es definido como una expresi&oacute;n que incluye  a un par&aacute;metro SLA definido. Por otra parte las ActionGuarantee especifican el  compromiso de ejecutar un conjunto de actividades si se cumplen algunas  precondiciones definidas.</font></p>     <blockquote>       <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">2. WS-Agreeement</font></strong></font></p> </blockquote>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Es una  especificaci&oacute;n de la Open Grid Forum (OGF) que provee un protocolo para definir  acuerdos entre un cliente de servicios y un proveedor. Esta utiliza un lenguaje  basado en XML para especificar los acuerdos el cual incluye:</font></p> <ul type="disc">       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Un esquema para especificar un acuerdo</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Un esquema para especificar plantillas de acuerdo       con el objetivo de descubrir otras partes compatibles</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Un conjunto de <em>port       types</em> y operaciones para la gesti&oacute;n del ciclo de vida de un acuerdo,       el cual incluye la creaci&oacute;n, expiraci&oacute;n y estados del monitoreo de       acuerdos (Tang, 2013).</font></li>     </ul>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La estructura  general de un acuerdo en la especificaci&oacute;n consiste en la descripci&oacute;n del  contexto en el que el este es establecido, el propio servicio y los t&eacute;rminos de  garant&iacute;a. La  <a href="#f02">figura 2</a> ilustra los componentes principales de un  documento este tipo.</font></p>     <p align="center"><a name="f02"></a><img src="/img/revistas/rcci/v9n1/f0602115.jpg" width="477" height="320"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la  definici&oacute;n de un contrato con WS-Agreement se especifican tres atributos  fundamentales:</font></p> <ul type="disc">       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Nombre del contrato.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Contexto: Se define la informaci&oacute;n acerca del       documento, la que se encuentra conformada por el iniciador del acuerdo, el       proveedor del servicio, el tiempo de expiraci&oacute;n, entre otras (Waeldrich, 2008).</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">T&eacute;rminos: este a su vez est&aacute; formado por los       t&eacute;rminos del servicio que describe sus caracter&iacute;sticas principales y los       T&eacute;rminos de Garant&iacute;a que expresan acciones y penalizaciones (Fern&aacute;ndez, 2007).</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">WS-Agreement  define plantillas de acuerdos para especificar tipos de acuerdos en un dominio  espec&iacute;fico de aplicaci&oacute;n, donde una plantilla de acuerdo no es m&aacute;s que un  acuerdo (definici&oacute;n de su nombre, tiempo de terminaci&oacute;n, contexto y t&eacute;rminos) y  la especificaci&oacute;n de un conjunto de condiciones a ser cumplidas.    <br>       <br>   Una vez que se  define un acuerdo entre un proveedor y cliente de servicio web, el contrato  entra en la etapa de gesti&oacute;n, donde se establece su monitoreo hasta que se  acabe el tiempo de vida definido para este (Fern&aacute;ndez, 2007).    ]]></body>
<body><![CDATA[<br>       <br>   <strong>Vistazo  de la tecnolog&iacute;a Bus de Servicios Empresariales.</strong>    <br>       <br>   El ESB ocupa la  capa de abstracci&oacute;n intermedia entre los distintos sistemas de una o varias  organizaciones, proporcionando mecanismos de comunicaci&oacute;n y transformaci&oacute;n de  mensajes basados en est&aacute;ndares. Este debe sustituir toda interacci&oacute;n directa  entre aplicaciones con el prop&oacute;sito de que estas se comuniquen a trav&eacute;s del  bus. Otra de sus caracter&iacute;sticas es que proporciona un sistema de mensajer&iacute;a,  lo que se realiza a trav&eacute;s de adaptadores. Adem&aacute;s, el intercambio de mensajes  debe ser independiente de la plataforma, lo que permite al ESB integrar  aplicaciones que se ejecutan en diversos sistemas operativos (Chapell, 2004; Martiniano, 2009).     <br>       <br>   En el sitio de  ayuda de Microsoft MSDN &ldquo;El t&eacute;rmino ESB (Enterprise Service Bus) se usa  corrientemente en el contexto de implementaci&oacute;n de capacidades de mensajer&iacute;a en  una infraestructura orientada a servicios&rdquo; &nbsp;(Microsoft, 2012).     <br>       <br>   En libro  &ldquo;Enterprise Service Bus&rdquo; se refleja c&oacute;mo &ldquo;Una plataforma de integraci&oacute;n basada  en est&aacute;ndares que combina mensajer&iacute;a, servicios web, transformaci&oacute;n de datos y  enrutamiento inteligente, conecta de forma fiable y coordinada la interacci&oacute;n  de un n&uacute;mero importante de aplicaciones diversas a trav&eacute;s empresas extendidas  con integridad transaccional&rdquo; (Chapell, 2004).     <br>       <br>   Lo esencial de  esta tecnolog&iacute;a es que est&aacute; dise&ntilde;ada para actuar como mediadora en la capa  (middleware) entre distintos sistemas o aplicaciones sin importar en qu&eacute;  tecnolog&iacute;a se hayan desarrollado y si est&aacute;n dispersas por la red. Para lograr esto  utiliza est&aacute;ndares que le garanticen la interoperabilidad y un conjunto de  adaptadores para comunicarse con las mismas. </font></p>     ]]></body>
<body><![CDATA[<p><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="2">Arquitectura  funcional y conceptos fundamentales de la herramienta <em>Oracle Service Bus.</em></font></strong><font size="2">    <br>       <br>   Existen varias maneras de enfrentarse a  la implementaci&oacute;n de escenarios de integraci&oacute;n, una de estas es programando  interfaces de comunicaci&oacute;n entre las mismas, esta integraci&oacute;n conecta punto a  punto las aplicaciones; es particular para cada escenario de integraci&oacute;n, es  decir&nbsp; no se pueden reutilizar el c&oacute;digo  o los componentes realizados si se desea utilizar las mismas aplicaciones en  otro escenario. Otro enfoque es utilizar la tecnolog&iacute;a ESB que se basa en la  implementaci&oacute;n de un bus al cual se conectan las aplicaciones y soluciona los  problemas del primer enfoque, para lo que propone varias capacidades. Estas son  implementadas por la herramienta <em>Oracle  Service Bus</em>, que tiene un conjunto de funcionalidades agrupadas en cuatro  capas.    <br>       <br>   Capa de Mensajer&iacute;a: Se proveen las  funcionalidades para conectar servicios y/o aplicaciones con OSB, lo que se  realiza mediante el aprovechamiento de las normas de transporte de servicio  web, de los protocolos tradicionales de mensajer&iacute;a y de la configuraci&oacute;n de  transportes personalizados para la empresa (ORACLE, 2010).    <br>       <br> Capa de Seguridad: Se realizan las  configuraciones relacionadas con la seguridad de los mensajes y con los  protocolos de transporte relacionados (ORACLE, 2010).    <br>     <br> Capa de Composici&oacute;n: Se encuentran&nbsp; un conjunto de componentes que permiten la  configuraci&oacute;n de servicios y el modelado del flujo de mensajes. Estos permiten  enrutar de forma l&oacute;gica los mensajes entre los diferentes servicios,  abstray&eacute;ndolos de la complejidad de conocer sus protocolos de comunicaci&oacute;n sus requisitos  de seguridad y su estructura. Adem&aacute;s, en esta capa se&nbsp; incluyen capacidades para el descubrimiento  de servicios, la para la importaci&oacute;n autom&aacute;tica y la sincronizaci&oacute;n de los  servicios con registros UDDI (ORACLE, 2010).    <br>     ]]></body>
<body><![CDATA[<br> Capa de Gesti&oacute;n: OSB ofrece capacidades  de gesti&oacute;n de servicios integrados, lo que posibilita optimizar el control de  todos los mensajes. La capa de gesti&oacute;n proporciona un entorno de gesti&oacute;n de  servicios que incluye un sistema din&aacute;mico de configuraci&oacute;n para las pol&iacute;ticas y  servicios(ORACLE, 2010).    <br>     <br> Por su rol como intermediario, la  herramienta OSB define dos conceptos fundamentales que intervienen  verticalmente en todas las capas de su arquitectura funcional.    <br> Servicio de Negocio: Son la  representaci&oacute;n de los servicios de las aplicaciones desplegadas con las cuales  se desea intercambiar informaci&oacute;n, en OSB. Este recurso permite realizar  configuraciones como el transporte a utilizar con la aplicaci&oacute;n destino,  pol&iacute;ticas de seguridad, entre otras (Jones, 2010).    <br>     <br> Servicios Proxy: Constituye uno de los  principales elementos dentro de la arquitectura de OSB. Estos se convierten en  la interfaz que utilizan los consumidores para conectarse con los proveedores  de servicios. Una de las ventajas que posee, es que permite definir flujos de  mensajes, en el cual se puede implementar l&oacute;gica para encaminar los mensajes a  m&uacute;ltiples servicios de negocios (Jones, 2010).     <br>     <br> De manera general los dos tipo de  servicio colaboran entre s&iacute; en la implementaci&oacute;n de un escenario de integraci&oacute;n  determinado los primeros representando a los servicios de las aplicaciones que  tienen el rol de proveedor y los segundos construyendo, a trav&eacute;s de la  configuraci&oacute;n de un flujo de mensaje donde se invocan a los servicios de  negocio, las funcionalidades que requieren las aplicaciones con el rol de  clientes. La  <a href="#f03">figura 3</a> ilustra esta relaci&oacute;n.</font></font></p>     <p align="center"><a name="f03"></a><img src="/img/revistas/rcci/v9n1/f0603115.jpg" width="413" height="289"></p>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="3">RESULTADOS Y DISCUSI&Oacute;N </font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Una de las  funciones que realiza OSB como intermediario entre los proveedores de servicios  y los clientes, es garantizar la definici&oacute;n y gesti&oacute;n de alertas de servicio.  Una alerta es una notificaci&oacute;n que se env&iacute;a cuando se cumple una condici&oacute;n  determinada, estas alertas se establecen para informar al equipo de operaciones  sobre las cuestiones relacionadas con el estado de los servicios proxy y  servicios de negocio, o la calidad del servicio prestado. Se pueden configurar  con m&uacute;ltiples niveles de relevancia: advertencia, normal, menor, mayor,  cr&iacute;tica, y fatal. Esto posibilita que el usuario pueda establecer en una alerta  el nivel de atenci&oacute;n que debe darle a un servicio determinado. Las reglas de alertas  son las condiciones que se definen para dispararlas.     <br>       <br> En la reglas  de alertas se pueden combinar m&uacute;ltiples condiciones para cada servicio de  negocio o servicio proxy. Las condiciones de las alertas se pueden basar en  par&aacute;metros (tasa de &eacute;xito, proporci&oacute;n de &eacute;xito, proporci&oacute;n de fracaso, cantidad  de mensajes, cantidad de errores, tiempo de respuesta, tiempo m&iacute;nimo de  respuesta, tiempo m&aacute;ximo de respuesta, etc.) para crear las reglas. OSB  posibilita establecer dichas reglas basadas en SLA sobre servicios de negocio y  servicios proxy. Estas definen el nivel de precisi&oacute;n y calidad que se espera de  los servicios de negocio y los servicios proxy y est&aacute;n agrupadas bajo las  siguientes categor&iacute;as:</font></p> <ul type="disc">       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Contador: Las reglas de alertas clasificadas bajo       este concepto realizan un seguimiento del conteo de los eventos en tiempo       de ejecuci&oacute;n de OSB, tales como el n&uacute;mero de mensajes, el n&uacute;mero de       fallos, etc.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Intervalo: Las reglas de alerta con esta       clasificaci&oacute;n realizan un seguimiento del tiempo transcurrido entre dos eventos       bien definidos. En este intervalo se calculan, el total, promedio, m&iacute;nimo       y m&aacute;ximo de tales eventos en OSB.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Estado de la URI del servicio: Las reglas de alerta       asociadas realizan un seguimiento del estado de un servicio, si este est&aacute;       en l&iacute;nea o fuera de l&iacute;nea por ejemplo.</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la   <a href="/img/revistas/rcci/v9n1/t0601115.jpg" target="_blank">tabla 1</a> se muestran las m&eacute;tricas definidas para cada clasificaci&oacute;n.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Un recurso de  gran importancia para la definici&oacute;n de las alertas SLA es el destino de alerta.  Este contiene una lista de recipientes que pueden recibir notificaciones de  alerta desde Oracle Service Bus. Adem&aacute;s de definir los recipientes JMS y Correo  electr&oacute;nico, las notificaciones pueden ser enviadas como SNMP traps y ser  procesadas por otros sistemas de monitoreo empresariales; o ser enviadas hacia  el m&oacute;dulo de reportes de Oracle Service Bus y ser procesadas por un proveedor  de reportes propio desarrollado utilizando las APIs de reporte que brinda OSB.     ]]></body>
<body><![CDATA[<br>       <br> Un recipiente  JMS representa la configuraci&oacute;n para enviar el destino de una alerta hacia una  cola JMS. Para este se especifican la direcci&oacute;n de la cola JMS hacia donde se  va a enviar la alerta, el tipo de cola hacia, el formato del mensaje y el tipo  de codificaci&oacute;n de caracteres para este. Para el recipiente E-mail se  configuran los correos electr&oacute;nicos de las personas que ser&aacute;n notificadas con  un alerta y un servidor SMTP que va a representar la conexi&oacute;n a un servidor de  correo que se va a utilizar para enviar la notificaci&oacute;n. El siguiente diagrama  de clases especifica la relaci&oacute;n entre los conceptos descritos anteriormente (ver <a href="#f04">figura 4</a>).</font></p>     <p align="center"><a name="f04"></a><img src="/img/revistas/rcci/v9n1/f0604115.jpg" width="495" height="358"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para el  procesamiento de las alertas SLA que se pueden definir en <em>Oracle Service Bus</em> se utiliza la especificaci&oacute;n <em>Java Message Service</em> (JMS) como posible  destino de esta con vistas a un futuro procesamiento. JMS es una especificaci&oacute;n  que define un API est&aacute;ndar para acceder a sistemas de mensajer&iacute;a. Esta permite  a las aplicaciones consumir y enviar mensajes hacia cualquier servidor de  mensajer&iacute;a que tenga soporte para esta. JMS presenta dos modelos de mensajer&iacute;a:    <br>   Modelo punto a  punto: El productor del mensaje lo crea y lo env&iacute;a a un destino llamado cola. Los  consumidores de este mensaje se comunican con esta, obtiene el mensaje y lo  procesa. Cada mensaje puede ser procesado por un consumidor y son entregados en  el mismo orden en que se almacenaron en la cola siguiendo el patr&oacute;n Primero en  llegar Primero en salir (First In First Out, FIFO siglas en ingl&eacute;s) (Schmutz, 2012).    <br>       <br>   Modelo  publicador-subscriptor: El productor del mensaje lo crea y lo env&iacute;a a un  destino llamado t&oacute;pico. Estos son entregados a consumidores activos conocidos  como suscriptores, los que tienen la opci&oacute;n de suscribirse a un t&oacute;pico  determinado y as&iacute; buscar solo los mensajes que le interesan. Estas  suscripciones pueden clasificarse en durables o no durables; la primeras est&aacute;n  siempre vigentes ya sea que el consumidor est&eacute; conectado y desconectado al servidor  JMS y las no durables solo se establecen mientras el consumidor est&eacute; conectado  al servidor (Schmutz, 2012).    <br>       <br>   <strong>Lenguajes  de contrato electr&oacute;nico en Oracle Service Bus.</strong>    <br>       ]]></body>
<body><![CDATA[<br> La capacidad  de monitoreo de servicios en <em>Oracle  Service Bus</em> est&aacute; basada en la definici&oacute;n de alertas que utilizan el  concepto SLA como n&uacute;cleo. Muchas veces estas se configuran con el objetivo de  detectar fallos en los servicios, sin conocer que adem&aacute;s de esta funci&oacute;n, las  SLA permiten ser configuradas para determinar el estado del rendimiento de  servicios, es decir, no solo se utilizan para detectar fallos sino que su  objetivo tiene un mayor alcance y es el de la prevenci&oacute;n de estos.    <br> <em>Oracle Service Bus</em> no implementa de manera expl&iacute;cita  ninguno de los lenguajes de contrato electr&oacute;nico analizados en este art&iacute;culo,  aunque se ha visto que estos constituyen una representaci&oacute;n formal de las SLA  que s&iacute; tienen soporte en la herramienta; por lo que la base de estos lenguajes  tiene una representaci&oacute;n en componentes funcionales de <em>Oracle Service Bus</em>. A continuaci&oacute;n se har&aacute; una propuesta de c&oacute;mo  utilizar estos y su relaci&oacute;n con los elementos de los lenguajes WS-Agreement y  WSLA para gestionar la calidad de servicio en la herramienta. Suponer que se  tiene la premisa de que cada servicio web que exponga una aplicaci&oacute;n debe tener  definido un contrato utilizando uno de los lenguajes vistos.</font></p> <ul>    <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Crear servicios de negocio: Para  cada servicio de las aplicaciones proveedoras se crea un servicio de negocio en  OSB con el objetivo de hacer las configuraciones de monitoreo sobre este.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Establecer las configuraciones  operacionales: En estas se definen las propiedades generales de monitoreo para  el servicio de negocio como, la habilitaci&oacute;n de este, el intervalo de  agregaci&oacute;n en el que se van a chequear las condiciones de las alertas, entre  otros.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Determinar las m&eacute;tricas: Estas se  obtienen a trav&eacute;s del an&aacute;lisis de los contratos WSLA o WS-Agreement definidos  por las aplicaciones proveedoras. En el caso del primero las m&eacute;tricas se  determinan por los par&aacute;metros SLA (secci&oacute;n SLAParameter en el contrato) y en  WS-Agreement por los T&eacute;rminos de Garant&iacute;a (GuaranteeTerms en el documento de  contrato).</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Determinar las reglas de alerta:  Estas especifican las condiciones acordadas para el comportamiento de  propiedades del servicio. En los contratos WSLA y WS-Agreement se determinan a  trav&eacute;s de los SLO ya que es un concepto presente en ambos.&nbsp;&nbsp;&nbsp; </font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Determinar Acciones: Las acciones  especifican qu&eacute; hacer en caso de que no se cumplan las condiciones acordadas.  En el contrato WSLA se determinan a trav&eacute;s de las Acciones de Garant&iacute;a  (ActionGuarantee en el documento) y en WS-Agreement a trav&eacute;s de las  Penalizaciones (Penalty en el documento) o Recompensa (Reward en el documento  del contrato).</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Crear Destino de Alerta: En este  componente se configuran los destinos de una alerta en caso que se disparen. Si  en las acciones determinadas solo se incluye establecer una notificaci&oacute;n por  correo electr&oacute;nico, solo se configura para el destino de alerta recipientes de  correo electr&oacute;nico; informaci&oacute;n que se obtiene contactando a las partes  definidas en los contratos WSLA y WS-Agreement; si no est&aacute; especificado en el  documento. En caso de que se incluyan acciones&nbsp;  que puedan ser procesadas por un flujo de mensaje, tal como la  invocaci&oacute;n a un servicio web, se configuran recipientes JMS, estableciendo la  direcci&oacute;n de la cola JMS hacia d&oacute;nde va a ser enviada la alerta en caso de que  se dispare. </font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Crear alerta SLA: Despu&eacute;s de  obtenida toda la informaci&oacute;n del contrato, se procede a crear la alerta, donde  se configuran sus propiedades generales como el intervalo de agregaci&oacute;n, la  severidad de la alerta, el destino de alerta que va a utilizar, entre otras.  Con las m&eacute;tricas definidas se determina y configura que propiedad se va a  monitorear y se determinan las expresiones bas&aacute;ndose en las reglas de alerta  obtenidas de los contratos</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Crear servicio proxy de escucha:  si se configur&oacute; un recipiente JMS en el destino de alerta utilizado entonces se  debe crear un servicio proxy que est&eacute; monitoreando la cola JMS especificada  para capturar las alertas que entren a la cola y procesarlas.</font></li>       ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Configurar acciones en el flujo  de mensaje: Se configura de acuerdo a las pautas de las acciones determinadas  en el contrato.</font></li>       </ul>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La <a href="#f05">figura 5</a> muestra un diagrama con las actividades descritas:</font></p>     <p align="center"><a name="f05"></a><img src="/img/revistas/rcci/v9n1/f0605115.jpg" width="574" height="778"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En el Complejo de Investigaciones de  Tecnolog&iacute;as Integradas (CITI) se est&aacute; desarrollando un proyecto de  investigaci&oacute;n llamado Integraci&oacute;n de Informaci&oacute;n basada en la Descripci&oacute;n  Sem&aacute;ntica de Fuentes de Datos Heterog&eacute;neas (SEMANTINFO), donde se utiliza la  tecnolog&iacute;a ESB para integrar aplicaciones utilizadas en el &aacute;mbito de la CUJAE.  Espec&iacute;ficamente, se integraron los sistemas SIGENU, Cop&eacute;rnico y Directorio  CUJAE, mediante la composici&oacute;n de varios de los servicios web que exponen.  Estos no tienen definido ninguna garant&iacute;a acerca de su comportamiento.  Espec&iacute;ficamente es de&nbsp; inter&eacute;s, en el  proyecto,&nbsp; monitorear el tiempo de  respuesta de los servicios; por lo que, en vistas de que no hab&iacute;a informaci&oacute;n  al respecto, se decidi&oacute; estimar los valores de tiempo de respuesta utilizando  herramientas de prueba y aplicar el flujo anterior con los resultados. Como  acci&oacute;n solo se tom&oacute; la notificaci&oacute;n por correo electr&oacute;nico al administrador de  integraci&oacute;n debido a que se estaba trabajando con valores estimados. Una vez  configurados los componentes, siguiendo la propuesta anterior, se pudo  monitorear el comportamiento de esos servicios respecto a la m&eacute;trica definida.  Durante el proceso hubo cambios en los valores asociados al tiempo de respuesta  debido a que el comportamiento no fue uniforme, hecho provocado, en algunas  ocasiones, por inestabilidad en la red y en otras, por el aumento del flujo de  informaci&oacute;n a trav&eacute;s de esta. Durante el intervalo de tiempo que se estuvieron  monitoreando los servicios, se observ&oacute; de forma indirecta, que estos estuvieron  fuera de servicio por algunos d&iacute;as, debido a fallos en los servidores en que  est&aacute;n publicados, hecho que se repiti&oacute; con posteridad, por lo que se decidi&oacute;  incorporar la m&eacute;trica disponibilidad de servicios al proceso de monitorizaci&oacute;n  con lo que se logr&oacute; identificar en tiempo este tipo de fallo.</font></p>     <p align="left">&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><B>CONCLUSIONES</B></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En un ambiente de desarrollo de  escenarios de integraci&oacute;n donde las aplicaciones intercambian informaci&oacute;n  utilizando como interfaces de comunicaci&oacute;n a los servicios web; es com&uacute;n  brindar m&aacute;s importancia a los requisitos funcionales del servicio. Este  ambiente al estar enteramente basado en tecnolog&iacute;as de redes y en arquitecturas  distribuidas es m&aacute;s vulnerable a fallos externos por lo que es de suma  importancia tomar en cuenta estos aspectos para brindar estos servicios con una  calidad bien definida.    <br>       <br>   Los lenguajes de contrato electr&oacute;nico  vistos en este trabajo son intuitivamente aplicados a arquitecturas de conexi&oacute;n  punto a punto, es decir que una aplicaci&oacute;n cliente se conecte a una proveedora  de servicios directamente. La tecnolog&iacute;a ESB forma parte de una arquitectura de  integraci&oacute;n m&aacute;s compleja donde act&uacute;a como intermediaria entre la comunicaci&oacute;n,  eliminando las desventajas de la conexi&oacute;n punto a punto. Debido a que los  lenguajes de contrato electr&oacute;nico permiten especificar cu&aacute;n buena ser&aacute; la  ejecuci&oacute;n de las operaciones de este, a trav&eacute;s de la definici&oacute;n formal de  acuerdos de garant&iacute;a y calidad; en este art&iacute;culo se definieron los lenguajes de  contrato electr&oacute;nico como v&iacute;a para lograr una gesti&oacute;n de calidad de servicio y  c&oacute;mo podr&iacute;an ser implementados por la herramienta <em>Oracle Service Bus</em> basada en la tecnolog&iacute;a ESB; con el objetivo de  valorar la utilizaci&oacute;n de estos contratos a arquitecturas m&aacute;s complejas. Del  estudio realizado se puede concluir que la herramienta Oracle Service Bus  permite la gesti&oacute;n de calidad de servicio por tener soporte a la creaci&oacute;n de  Acuerdos de Nivel de Servicio (SLA), donde se especifican las propiedades que  se van medir y las acciones a realizar si estas propiedades no se cumplen. Por  otra parte la herramienta no tiene soporte expl&iacute;cito para adoptar contratos  realizados en los lenguajes vistos aunque s&iacute; cuenta con componentes que tienen  la misma responsabilidad que los elementos del contrato. Adem&aacute;s, s&oacute;lo se pueden  adoptar en su totalidad aquellos que especifiquen las mismas m&eacute;tricas que  vienen definidas en la herramienta y definan acciones que puedan ser procesadas  autom&aacute;ticamente, como son notificaciones por correo electr&oacute;nico o ejecuci&oacute;n de  un servicio web como penalizaci&oacute;n o recompensa.     ]]></body>
<body><![CDATA[<br>       <br> Otro aspecto a considerar es que, como  se ha visto en este trabajo, en un contrato para gestionar <em>QoS</em>, las propiedades y acciones a realizar en caso que no se  cumplan las garant&iacute;as son definidas por el proveedor de un servicio. Oracle  Service Bus al actuar como intermediario; adquiere el rol de proveedor y aunque  la herramienta permite establecer alertas SLA sobre los servicios proxy, que  son el componente utilizado para la comunicaci&oacute;n con el cliente, esta no tiene  soporte para formalizar los acuerdos establecidos entre OSB como proveedor de  servicio y los clientes de estos, utilizando lenguajes de contrato electr&oacute;nico.  Por &uacute;ltimo es importante resaltar que las experiencias con respecto al proceso  descrito no son muy abarcadoras debido a que, en el entorno en que se aplic&oacute;,  el conocimiento acerca de la contrataci&oacute;n electr&oacute;nica para gestionar calidad de  servicio es muy poco. Por parte de los proveedores de servicios no exist&iacute;a  ning&uacute;n tipo de conclusi&oacute;n acerca del comportamiento de estos, por lo que, para  probar el modelo, se tuvieron que simular, dentro del equipo de trabajo, las  partes que intervinieron, las garant&iacute;as con respecto al comportamiento de los  servicios y las acciones&nbsp; acordadas en  caso de que las garant&iacute;as no se cumplan.</font></p>     <p>&nbsp;</p>     <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><B>REFERENCIAS    BIBLIOGR&Aacute;FICAS</B></font>       <br>       <!-- ref --><br> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">ANDRIKOPOULOS, V. QoS Contract Formation and Evolution. En:  Buccafurri, F. y Semeraro, G.E-Commerce and Web Technologies. Berlin: Springer  Berlin Heidelberg, 2010, 61, p.119-130.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">CHAPELL, D. Enterprise Service Bus. Sebastopol, O&acute;Reilly  Media Inc, 2004.276 </font><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">D&Iacute;AZ, M. Comparaci&oacute;n de tecnolog&iacute;as de servicios web  Axis, Xfire y Jax-WS. En: 15 Convenci&oacute;n Cient&iacute;fica de Ingenier&iacute;a y  Arquitectura. Memorias de la 15 Convenci&oacute;n Cient&iacute;fica de Ingenier&iacute;a y Arquitectura.  La Habana: Comit&eacute; Cient&iacute;fico del evento, 2010, 10.    </font></p>     ]]></body>
<body><![CDATA[<!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">FERN&Aacute;NDEZ, F. Towards a contract based interoperation model. [En l&iacute;nea] 2007.  [Consultado el: 12 de mayo de 2014]. Disponible en: [<a href="http://www.lsi.upc.edu/~techreps/files/R07-35.zip%5d">http://www.lsi.upc.edu/~techreps/files/R07-35.zip]</a>.     </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">JONES, F. Oracle Fussion Middleware  Developer&acute;s Guide for Oracle Service Bus. [En l&iacute;nea] 2010. [Consultado el: 12 de  diciembre de 2014]. Disponible en:[ http://docs.oracle.com/cd/E28280_01/ doc.1111/e15866.pdf]</font><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">KELLER, A. The WSLA Framework: Specifying and Monitoring  Service Level Agreements for Web Services. [En l&iacute;nea] Journal of Network and  Systems Management, 2007. [Consultado el: 10 de marzo de 2014]. Disponible en: http://clip.dia.fi.upm.es/Projects/S-CUBE/papers/keller03:wsla_framework.pdf</font><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">LUDWING, H. Web Service Level Agreement (WSLA) Language  Specification. [En l&iacute;nea] IBM, 2003. [Consultado el: 12 de febrero de  2014]. Disponible en: http://www.research.ibm.com/people/a/akeller/Data/WSLASpecV1-20030128.pdf </font><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">MARTINIANO, D. Implementando un Bus de Servicios  Empresariales. [En l&iacute;nea] 2009. [Consultado el: 16 de febrero de 2014.</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">MEYER, B. Object Oriented Software Construction SECOND EDITION. Santa  B&aacute;rbara, ISE INC, 1997.1254 </font><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">MICROSOFT. MSDN [En l&iacute;nea] 2012. [Consultado el: 15 de  febrero de 2014]. Disponible en: [<a href="http://msdn.microsoft.com/es-ES/library/dd257004%28v=bts.10%29.aspx%5d">http://msdn.microsoft.com/es-ES/library/dd257004%28v=bts.10%29.aspx]</a>.     </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">ORACLE. Concepts and architecture for Oracle Service Bus. [En l&iacute;nea] 2010.  [Consultado el: 13 de mayo de 2014]. Disponible en: [http://docs.oracle.com/cd/E28280_01/doc.1111/e15020.pdf] </font><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">ROSALES, M. D. Comparaci&oacute;n de tecnolog&iacute;as de servicios  web Axis, XFire y JAX-WS En: 15 Convenci&oacute;n Cient&iacute;fica de Ingenier&iacute;a y  Arquitectura. Memorias de la 15 Convenci&oacute;n Cient&iacute;fica de Ingenier&iacute;a y  Arquitectura. La Habana: Comit&eacute; Cient&iacute;fico del Evento, 2010, 9.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">SCHMUTZ, G. Oracle Service Bus11g Development Cookbook.  Birmingham, Packt Publishing, 2012. 620.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">SCHONBERGER, A. Translating shared state based ebXML BPSS  models to WS-BPEL. International Journal of Business Intelligence and Data  Mining, 2010, 5(4): 398-442.    </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">TANG, L. SLA-Aware Enterprise Service Computing. [En l&iacute;nea] 2013.  [Consultado el: 16 de mayo de 14]. Disponible en: [<a href="http://www.servicetechmag.com/system/application/views/I75/0813-4.pdf%5d">http://www.servicetechmag.com/system/application/views/I75/0813-4.pdf]</a>.</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">TOSIC, V. Contract-Based Quality of Service (QoS) Monitoring  and Control of XML Web Services. [En l&iacute;nea] 2010. [Consultado el: 14 de  mayo de 2014]. Disponible en: [<a href="http://www.nicta.com.au/pub?doc=1628%5d">http://www.nicta.com.au/pub?doc=1628]</a>.     </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">WAELDRICH, O. From WS-Agreement to SLA negotiation. [En l&iacute;nea] 2008.  [Consultado el:13 de mayo de 2014]. Disponible en: [<a href="http://coregrid.ercim.eu/mambo/images/stories/Meetings/wp6_march-2008_waeldrich.pdf%5d">http://coregrid.ercim.eu/mambo/images/stories/Meetings/wp6_march-2008_waeldrich.pdf]</a>.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">WAELDRICH, O. WS-Agreement Negotiation. [En l&iacute;nea] 2011.  [Consultado el: 16 de mayo de 2014]. &nbsp;Disponible en: [http://<a href="http://www.ogf.org/documents/GFD.107.pdf%5d">www.ogf.org/documents/GFD.107.pdf]</a>.     </font></p>     <p><strong>&nbsp;</strong></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>&nbsp;</strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Recibido: 14/11/2014      <br> Aceptado: 19/01/2015 </font></p>      ]]></body><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="book">
<collab>ANDRIKOPOULOS</collab>
<article-title xml:lang="en"><![CDATA[QoS Contract Formation and Evolution]]></article-title>
<source><![CDATA[]]></source>
<year>2010</year>
<volume>61</volume>
<page-range>119-130</page-range><publisher-loc><![CDATA[^eBerlin Berlin]]></publisher-loc>
<publisher-name><![CDATA[Springer Berlin Heidelberg]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[CHAPELL]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<source><![CDATA[Enterprise Service Bus]]></source>
<year>2004</year>
<page-range>276</page-range><publisher-name><![CDATA[Sebastopol, O´Reilly Media Inc]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[DÍAZ]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[Comparación de tecnologías de servicios web Axis, Xfire y Jax-WS.]]></source>
<year>2010</year>
<page-range>10</page-range><publisher-loc><![CDATA[La Habana ]]></publisher-loc>
<publisher-name><![CDATA[En: 15 Convención Científica de Ingeniería y Arquitectura. Memorias de la 15 Convención Científica de Ingeniería y Arquitectura.]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[FERNÁNDEZ]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<source><![CDATA[Towards a contract based interoperation model.]]></source>
<year>2007</year>
</nlm-citation>
</ref>
<ref id="B5">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[JONES]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<source><![CDATA[Oracle Fussion Middleware Developer´s Guide for Oracle Service Bus.]]></source>
<year>2010</year>
</nlm-citation>
</ref>
<ref id="B6">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[KELLER]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[The WSLA Framework: Specifying and Monitoring Service Level Agreements for Web Services]]></source>
<year>2007</year>
<publisher-name><![CDATA[Journal of Network and Systems Management]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B7">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[LUDWING]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
</person-group>
<source><![CDATA[Web Service Level Agreement (WSLA) Language Specification.]]></source>
<year>2003</year>
</nlm-citation>
</ref>
<ref id="B8">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MARTINIANO]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<source><![CDATA[Implementando un Bus de Servicios Empresariales]]></source>
<year>2009</year>
</nlm-citation>
</ref>
<ref id="B9">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MEYER]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
</person-group>
<source><![CDATA[Object Oriented Software Construction SECOND EDITION]]></source>
<year>1997</year>
<page-range>1254</page-range><publisher-name><![CDATA[Santa Bárbara]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B10">
<nlm-citation citation-type="">
<source><![CDATA[MICROSOFT. MSDN]]></source>
<year>2012</year>
</nlm-citation>
</ref>
<ref id="B11">
<nlm-citation citation-type="">
<collab>ORACLE</collab>
<source><![CDATA[Concepts and architecture for Oracle Service Bus.]]></source>
<year>2010</year>
</nlm-citation>
</ref>
<ref id="B12">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ROSALES]]></surname>
<given-names><![CDATA[M. D]]></given-names>
</name>
</person-group>
<source><![CDATA[Comparación de tecnologías de servicios web Axis, XFire y JAX-WS]]></source>
<year>2010</year>
<page-range>9</page-range><publisher-name><![CDATA[En: 15 Convención Científica de Ingeniería y Arquitectura. Memorias de la 15 Convención Científica de Ingeniería y Arquitectura. La Habana: Comité Científico del Evento]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B13">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SCHMUTZ]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<source><![CDATA[Oracle Service Bus11g Development Cookbook]]></source>
<year>2012</year>
<page-range>620</page-range><publisher-name><![CDATA[Birmingham, Packt Publishing]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B14">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SCHONBERGER]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Translating shared state based ebXML BPSS models to WS-BPEL.]]></article-title>
<source><![CDATA[]]></source>
<year>2010</year>
<volume>5</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>398-442</page-range></nlm-citation>
</ref>
<ref id="B15">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[TANG]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<source><![CDATA[SLA-Aware Enterprise Service Computing.]]></source>
<year>2013</year>
</nlm-citation>
</ref>
<ref id="B16">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[TOSIC]]></surname>
<given-names><![CDATA[V]]></given-names>
</name>
</person-group>
<source><![CDATA[Contract-Based Quality of Service (QoS) Monitoring and Control of XML Web Services.]]></source>
<year>2010</year>
</nlm-citation>
</ref>
<ref id="B17">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[WAELDRICH]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
</person-group>
<source><![CDATA[From WS-Agreement to SLA negotiation]]></source>
<year>2008</year>
</nlm-citation>
</ref>
<ref id="B18">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[WAELDRICH]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
</person-group>
<source><![CDATA[WS-Agreement Negotiation]]></source>
<year>2011</year>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
