<?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>0717-5000</journal-id>
<journal-title><![CDATA[CLEI Electronic Journal]]></journal-title>
<abbrev-journal-title><![CDATA[CLEIej]]></abbrev-journal-title>
<issn>0717-5000</issn>
<publisher>
<publisher-name><![CDATA[Centro Latinoamericano de Estudios en Informática]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0717-50002015000200007</article-id>
<title-group>
<article-title xml:lang="en"><![CDATA[A middleware-based platform for the integration of bioinformatic services]]></article-title>
</title-group>
<aff id="A01">
<institution><![CDATA[,Universidad de la República Facultad de Ingeniería ]]></institution>
<addr-line><![CDATA[Montevideo ]]></addr-line>
<country>Uruguay</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>08</month>
<year>2015</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>08</month>
<year>2015</year>
</pub-date>
<volume>18</volume>
<numero>2</numero>
<fpage>7</fpage>
<lpage>7</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.edu.uy/scielo.php?script=sci_arttext&amp;pid=S0717-50002015000200007&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.edu.uy/scielo.php?script=sci_abstract&amp;pid=S0717-50002015000200007&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.edu.uy/scielo.php?script=sci_pdf&amp;pid=S0717-50002015000200007&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="en"><p><![CDATA[Performing Bioinformatic&rsquo;s experiments involve an intensive access to distributed services and information resources through Internet. Although existing tools facilitate the implementation of workflow-oriented applications, they lack of capabilities to integrate services beyond low-scale applications, particularly integrating services with heterogeneous interaction patterns and in a larger scale. This is particularly required to enable a large-scale distributed processing of biological data generated by massive sequencing technologies. On the other hand, such integration mechanisms are provided by middleware products like Enterprise Service Buses (ESB), which enable to integrate distributed systems following a Service Oriented Architecture. This paper proposes an integration platform, based on enterprise middleware, to integrate Bioinformatics services. It presents a multi-level reference architecture and focuses on ESB-based mechanisms to provide asynchronous communications, event-based interactions and data transformation capabilities. The paper presents a formal specification of the platform using the Event-B model.]]></p></abstract>
<abstract abstract-type="short" xml:lang="es"><p><![CDATA[La ejecución de los experimentos bioinformáticos involucra el uso intensivo de servicios y recursos de información distribuidos a través de Internet. Las herramientas existentes facilitan su implementación siguiendo una orientación a flujos de trabajo (workflows), pero carecen de capacidades de integración de servicios con patrones de interacción heterogéneos y a gran escala. Esta integración es especialmente necesaria para permitir a un procesamiento distribuido a gran escala de los datos biológicos generados por las tecnologías de secuenciación masiva. Por otro lado, estos mecanismos de integración ya son proporcionados por productos de middleware como los Enterprise Service Bus (ESB), que permiten integrar sistemas distribuidos siguiendo el paradigma promovido por las Arquitectura Orientada a Servicios (SOA). Este trabajo propone una plataforma de integración basada en middleware empresarial para integrar servicios bioinformáticos. En él se presenta una arquitectura de referencia con varios niveles de abstracción y se describen con mayor detalle los mecanismos basados en ESB para proporcionar comunicaciones asíncronas, interacciones basadas en eventos y capacidades de transformación de datos. En el artículo presenta una especificación formal de la plataforma utilizando el modelo de eventos-B.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[Middleware]]></kwd>
<kwd lng="es"><![CDATA[Bioinformática]]></kwd>
<kwd lng="es"><![CDATA[Plataformas de integración]]></kwd>
<kwd lng="es"><![CDATA[Plataforma como Servicio]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p lang="en-US" class="western" align="center" style="margin-bottom: 0.5cm; line-height: 0.64cm; orphans: 2; widows: 2"> <font face="Verdana, sans-serif"><font size="4" style="font-size: 14pt"><b>A middleware-based platform for the integration of bioinformatic services </b></font></font> </p>     <p lang="en-US" class="western" align="center" style="margin-bottom: 0.5cm; line-height: 0.64cm; orphans: 2; widows: 2"> <font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><b><span style="font-variant: normal"><span lang="es-ES"><span style="font-style: normal">Guzm&aacute;n Llamb&iacute;as and Ra&uacute;l Ruggia</span></span></span></b></font></font></p>     <p lang="es-ES" class="western" align="center" style="margin-bottom: 0.5cm; font-variant: normal; font-style: normal; orphans: 2; widows: 2"> <font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Universidad de la Rep&uacute;blica, Facultad de Ingenier&iacute;a,</font></font></p>     <p lang="en-US" class="western" align="center" style="margin-bottom: 0.5cm; font-variant: normal; font-style: normal; orphans: 2; widows: 2"> <font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Montevideo, Uruguay, 11300</font></font></p>     <p lang="en-US" class="western" align="center" style="margin-bottom: 0.5cm; line-height: 0.64cm; orphans: 2; widows: 2"> <font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><b><i>{<a class="western" href="mailto:gllambi@fing.edu.uy">gllambi</a>, <a class="western" href="mailto:ruggia%7D@fing.edu.uy">ruggia}@fing.edu.uy</a></i></b></font></font></p>     <div id="Seccion3" dir="ltr"> 	    <p lang="en-US" class="western" align="left" style="margin-left: 1.59cm; margin-right: 1.59cm; margin-top: 0.42cm; margin-bottom: 0.21cm; orphans: 0; widows: 0"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><b>Abstract</b></font></font></p> 	    <p lang="en-US" class="western" align="justify" style="margin-left: 1.59cm; margin-right: 1.59cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Performing 	Bioinformatic&rsquo;s experiments involve an intensive access to 	distributed services and information resources through Internet. 	Although existing tools facilitate the implementation of 	workflow-oriented applications, they lack of capabilities to 	integrate services beyond low-scale applications, particularly 	integrating services with heterogeneous interaction patterns and in 	a larger scale. This is particularly required to enable a 	large-scale distributed processing of biological data generated by 	massive sequencing technologies. On the other hand, such integration 	mechanisms are provided by middleware products like Enterprise 	Service Buses (ESB), which enable to integrate distributed systems 	following a Service Oriented Architecture. This paper proposes an 	integration platform, based on enterprise middleware, to integrate 	Bioinformatics services. It presents a multi-level reference 	architecture and focuses on ESB-based mechanisms to provide 	asynchronous communications, event-based interactions and data 	transformation capabilities. The paper presents a formal 	specification of the platform using the Event-B model.</font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="margin-left: 1.59cm; margin-right: 1.59cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><b>Abstract 	in Spanish</b></span> </font></font> 	</p> 	    <p lang="en-US" class="western" align="justify" style="margin-left: 1.59cm; margin-right: 1.59cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">La 	ejecuci&oacute;n de los experimentos bioinform&aacute;ticos 	involucra el uso intensivo de servicios y recursos de informaci&oacute;n 	distribuidos a trav&eacute;s de Internet. Las herramientas 	existentes facilitan su implementaci&oacute;n siguiendo una 	orientaci&oacute;n a flujos de trabajo (workflows), pero carecen de 	capacidades de integraci&oacute;n de servicios con patrones de 	interacci&oacute;n heterog&eacute;neos y a gran escala. Esta 	integraci&oacute;n es especialmente necesaria para permitir a un 	procesamiento distribuido a gran escala de los datos biol&oacute;gicos 	generados por las tecnolog&iacute;as de secuenciaci&oacute;n masiva. 	Por otro lado, estos mecanismos de integraci&oacute;n ya son 	proporcionados por productos de middleware como los Enterprise 	Service Bus (ESB), que permiten integrar sistemas distribuidos 	siguiendo el paradigma promovido por las Arquitectura Orientada a 	Servicios (SOA). Este trabajo propone una plataforma de integraci&oacute;n 	basada en middleware empresarial para integrar servicios 	bioinform&aacute;ticos. En &eacute;l se presenta una arquitectura de 	referencia con varios niveles de abstracci&oacute;n y se describen 	con mayor detalle los mecanismos basados en ESB para proporcionar 	comunicaciones as&iacute;ncronas, interacciones basadas en eventos y 	capacidades de transformaci&oacute;n de datos. En el art&iacute;culo 	presenta una especificaci&oacute;n formal de la plataforma 	utilizando el modelo de eventos-B.</font></font></p> 	<h2 lang="es-ES" class="western" align="left" style="margin-left: 1.59cm; margin-right: 1.59cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">Keywords: 	</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><span style="font-weight: normal">Middleware, 	Bioinformatics, Integration Platforms, Platform as a Service (PaaS).</span></span></font></font></h2> 	    ]]></body>
<body><![CDATA[<p lang="es-ES" class="western" align="left" style="margin-left: 1.59cm; margin-right: 1.59cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><b>Keywords 	in Spanish:</b></span> <span lang="en-US"><span style="font-weight: normal">Middleware, 	Bioinform&aacute;tica, Plataformas de integraci&oacute;n, Plataforma 	como Servicio (PaaS).</span></span></font></font></p> 	    <p lang="en-US" class="western" align="left" style="margin-left: 1.59cm; margin-right: 1.59cm; margin-bottom: 0.5cm; font-weight: normal"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Submitted: 	2014-11-11. Revised: 2015-04-07. Accepted: 2015-07-12.</font></font></p> 	<h1 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<span style="font-variant: normal"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><b>1 	Introduction</b></span></font></font></span></h1> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">Bioinformatics 	is a multidisciplinary area involving Biology and Computer science, 	whose purpose is to get a more clear vision of the organisms&rsquo; 	biology through IT-based tools. The ordered and combined application 	of these constitutes the so-called </span><span lang="en-US"><i>in-silico</i></span> 	<span lang="en-US">bioinformatic experiments.</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">An 	</span><span lang="en-US"><i>in-silico</i></span> <span lang="en-US">experiment 	corresponds to a procedure accessing information repositories and 	applying local and remote analytical tools to show certain 	hypotheses, derive results, and search patterns <a id="br1">[</a><a href="#r1">1</a>]. In turn, 	Bioinformatics repositories may consist of biological databases like 	EBML <a id="br2">[</a><a href="#r2">2</a>] or Swiss-Prot <a id="br3">[</a><a href="#r3">3</a>], while analytical tools may consist of 	the implementation of complex algorithms like BLAST <a id="br4">[</a><a href="#r4">4</a>] and ClustalW 	<a id="br5">[</a><a href="#r5">5</a>]. </span></font></font> 	</p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>In-silico</i></span> 	<span lang="en-US">experiments are nowadays implemented using 	Workflow Management System (WMS) tools specially adapted to the 	biological context. In the last years, scientific workflows have 	revolutionized the way researchers perform their experiments by 	enabling them to use powerful computational tools without needing a 	strong IT background. For instance, these tools allows scientists to 	access external services using Web Services, perform data format 	transformations, execute queries on large databases and even request 	the execution of experiments in the cloud. Among others, Taverna <a id="br6">[</a><a href="#r6">6</a>] 	is one of the most popular scientific workflow tools. Developed in 	the context of the myGrid Project, Taverna provides capabilities to 	model experiments as dataflows, perform implicit communications, 	collect provenance information and integrate with third parties 	(e.g. BioMart).</span></font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Although 	the generalized use of WMS tools is a clear success indicator  <a id="br7">[</a><a href="#r7">7</a>], 	in particular Taverna, it presents important limitations. In 	particular, the polling approach followed by most biological service 	providers and the use of different data formats in services makes 	the logic implemented by workflows to be more complex. Furthermore, 	it doesn&rsquo;t provide asynchronous message-oriented mechanisms 	and quality of services management <a id="br8">[</a><a href="#r8">8</a>] <a id="br9">[</a><a href="#r9">9</a>]. In these scenarios, 	workflow development remains highly complex.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Furthermore, 	such functionalities are required to respond with more powerful 	distributed and collaborative systems to the increasing scale of 	data volumes to be processed, which are generated by &ldquo;High 	Throughput&rdquo; and Next Generation Sequencing (NGS) technologies 	for massive sequencing <a id="br10">[</a><a href="#r10">10</a>]. </font></font> 	</p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">On 	the other side, enterprise middleware technologies, which have been 	evolving during the last years, provide abstractions and solutions 	to increasingly complex integration functionalities (e.g. 	asynchronous interactions and interoperable interactions over the 	internet) related to the construction and integration of distributed 	applications. Particularly, Enterprise Service Buses (ESB) and 	cloud-based Internet Service Buses (ISB) are sophisticated 	middleware technology progressively being leveraged to integrate 	highly distributed and heterogeneous services. ESBs provide 	mediation capabilities (e.g. message transformation and intermediate 	routing) which can be used to address mismatches between 	applications and services regarding communication protocols, message 	formats, interaction styles and quality of service (QoS), among 	others</span> <span lang="en-US"><a id="br11">[</a><a href="#r11">11</a>] <a id="br12">[</a><a href="#r12">12</a>]. </span></font></font> 	</p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">These 	elements lead to the goals of improving the collaboration in 	bioinformatics community by enhancing service-based integration 	capabilities as well as reducing the complexity in the involved 	development by using tools with more advanced mechanisms than the 	ones provided by local Workflows (i.e. enterprise middleware 	technologies). Such enhanced platforms should enable to combine 	bioinformatics Web-based services (e.g. NCBI Web Services), 	experiment-oriented workflow tools (e.g. Taverna) with general 	purpose mediation features (e.g. asynchronous interactions, rules, 	events, data transformation) and other value-added capabilities 	(e.g. service policy compliance). The ultimate goal would be to put 	into practice a Platform as a Service (PaaS) approach in the 	bioinformatics area enabling an active participation not only of 	laboratories and researchers, but also middleware platforms and 	cloud computing services suppliers and developers.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">This 	paper addresses these issues and proposes a reference integration 	platform for the bioinformatics domain which, mediating between WMSs 	(e.g. Taverna, Kepler, Galaxy, etc.) and bioinformatics services, 	provides mechanisms that facilitate the development of distributed 	scientific workflows and solve common challenges that arise when 	performing these tasks. The proposed integration platform leverages 	mediation features of enterprise middleware, particularly ESBs, 	addresses identified integration requirements by improving 	asynchronous interactions, event notification and message 	transformation capabilities, and provides the means to implement 	other value-added services such as service policy compliance. </font></font> 	</p> 	    ]]></body>
<body><![CDATA[<p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">This 	proposal aims at combining Bioinformatic Web Services (e.g. NCBI), 	tools to develop scientific workflows (e.g. Taverna) and mechanisms 	to integrated distributed applications through an integration 	platform based on advanced enterprise middleware. The goal is to 	enable the integration of scientists, laboratories and 	bioinformatics service providers to develop sophisticated 	bioinformatics experiments.</font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">The 	proposed Integration Platform is based on different type of 	middleware technologies (Web Services, Message Queues, ESB) and 	enables to connect workflow tools (e.g. Taverna) and Bioinformatic 	services (e.g. NCBI) in order to solve the requirements related to 	implement </span><span lang="en-US"><i>in-silico</i></span> 	<span lang="en-US">experiments. This Integration Platform takes 	advantage of mediation functions provided by enterprise middleware 	tools (particularly ESB). This paper also includes a formal 	specification of the platform using the Event-B model. This 	Integration Platform, which is specific to the Bioinformatic domain, 	is characterized by three dimensions: (i) functionalities required 	to solve the requirements related to in-silico experiments, (ii) the 	application scenario given by the type of Bioinformatic Laboratory, 	and (iii) the type of middleware technology to be used.</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">This 	paper is based on the Master Thesis <a id="br13">[</a><a href="#r13">13</a>]. A more detailed 	description of the topics may be found in the thesis document.</span></font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	rest of the paper is organized as follow. Section 2 presents 	background on Bioinformatic tools and ESB middleware as well as a 	description of Related Work. Section 3 describes the proposed 	Integration Platform identifying requirements as well as application 	scenarios, and presenting a high-level architecture. Section 4 	presents a use case example of the platform. Section 5 presents a 	formal specification using Event-B model. Section 6 describes an 	ESB-based implementation of the Platform. Section 7 presents 	conclusions and future work.</font></font></p> 	<h1 lang="en-US" class="western" align="justify" style="margin-bottom: 0.21cm; font-variant: normal"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><b>2 	Existing Knowledge and Related Work</b></font></font></h1> 	<h2 lang="en-US" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">2.1 	Bioinformatic Concepts and Project myGrid</font></font></h2> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">Bioinformatics 	is a multidisciplinary area involving Biology and Computer Science, 	which performs the so-called </span><span lang="en-US"><i>in-silico</i></span> 	<span lang="en-US">experiments through a combined application of IT 	tools and by accessing to local and distributed data. For instance, 	an experiment researching on the evolutions of relationships between 	proteins may start acquiring an amino acid sequence from the 	Swiss-Prot repository and afterwards applying to it the ClustalW 	algorithm to align sequences and to identify patterns among these 	last <a id="br1">[</a><a href="#r1">1</a>] <a id="br2">[</a><a href="#r2">2</a>] <a id="br3">[</a><a href="#r3">3</a>] <a id="br4">[</a><a href="#r4">4</a>] <a id="br5">[</a><a href="#r5">5</a>] <a id="br14">[</a><a href="#r14">14</a>].</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">At 	the beginning, performing </span><span lang="en-US"><i>in-silico</i></span> 	<span lang="en-US">experiments was based on &ldquo;copy &amp; paste&rdquo; 	of data in Web-forms, afterwards evolving to Perl and Python scripts 	with screen-scrapping techniques. Later on, the advent of Web 	Services technologies enabled a programmatic-based access to 	services provided by &ldquo;third parties&rdquo;. This approach was 	strengthen with tools like Biological WMS (Workflow Management 	Systems), which enabled biologists to model their experiments as 	workflows composed by multiple Bioinformatic Web Services <a id="br14">[</a><a href="#r14">14</a>].</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">These 	tools provide biologists with required abstractions to implement 	</span><span lang="en-US"><i>in-silico</i></span> <span lang="en-US">experiments 	accessing to databases, using technologies such as Web Services and 	Cloud-based tools <a id="br6">[</a><a href="#r6">6</a>] without needing a high expertise on IT.</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">These 	Bioinformatics techniques and tools have enabled biologists to carry 	out experiments in an alternative way to the traditional </span><span lang="en-US"><i>in-vitro</i></span> 	<span lang="en-US">one, facilitating the reuse of results obtained 	worldwide by reusing through data reuse in </span><span lang="en-US"><i>in-silico</i></span> 	<span lang="en-US">experiments.</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">By 	2005 emerged the Next Generation Sequencing (NGS) technologies, 	which will generate a revolution in sequencing techniques. Among 	others, NGS-based projects include </span><span lang="en-US"><i>de 	novo</i></span> <span lang="en-US">genome sequencing, transcriptome 	analysis, and variability analysis. Equipment performing such 	sequencing, 454 Roche and Illumina among others, generate much 	larger data volumes, in shorter times and with lower costs than the 	preceding High-Throughput technologies. For example, the Illumina 	HiSeq 2000 may produce two hundred millions of &ldquo;paired-end 	reads&rdquo; (200 Gb) in each execution <a id="br10">[</a><a href="#r10">10</a>].</span></font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">In 	this context of very large data volumes, the traditional 	bioinformatics scenarios based on downloading data and processing it 	locally are no longer viable given the limited scalability. For 	instance, executing a BLAST or analysis or even a BWA analysis 	(high-speed mapping algorithm) <a id="br15">[</a><a href="#r15">15</a>] would take several days, which 	is completely unsuitable for scientists. In addition, transferring 	these data constitutes a challenge by itself and it&rsquo;s more 	susceptible to errors, specially due to weaknesses in existing 	protocols to transfer very large data volumes <a id="br16">[</a><a href="#r16">16</a>]. </font></font> 	</p> 	    ]]></body>
<body><![CDATA[<p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">As 	a consequence, this new technology brought notable improvements but 	also involved new challenges, completely different to the ones 	identified in the former generation of experiments <a id="br17">[</a><a href="#r17">17</a>]. </font></font> 	</p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">In 	this new context, applying Cloud Computing approaches appears to be 	promising due to elasticity capabilities to store and process very 	large data volumes. However, these features are not sufficient to 	address these issues, and other problems remain open, such as 	security, data transfer <a id="br18">[</a><a href="#r18">18</a>], in addition to defining the necessary 	abstractions enabling an appropriate use of Cloud-based 	capabilities, as well as to simplify the development of the 	</span><span lang="en-US"><i>in-silico</i></span> <span lang="en-US">experiments 	<a id="br19">[</a><a href="#r19">19</a>].</span></font></font></p> 	<h3 lang="en-GB" class="western" align="justify" style="margin-bottom: 0.21cm; text-decoration: none"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><i>2.1.1 	myGrid Project</i></font></font></h3> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">myGrid 	<a id="br20">[</a><a href="#r20">20</a>] is an e-Sciences project started in 2001 aiming to provide 	workflow-oriented tools using basic middleware mechanisms (i.e. Web 	Services) that can simplify the development of biological and 	bioinformatics experiments. Some of the tools developed by this 	project are:</font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	    <br>     <br>  	</p> 	<ul> 		    <li>     <p lang="en-GB" class="western" align="justify" style="margin-bottom: 0.21cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Taverna: 		a tool that allows scientists to model their experiments as 		composition biological services and build scientific workflows</font></font></p> 		    <li>     <p lang="en-GB" class="western" align="justify" style="margin-bottom: 0.21cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">myExperiment: 		provides a collaborative environment to scientists, enabling the 		publication, &ldquo;curation&rdquo; and search of experiment 		workflows.</font></font></p> 		    ]]></body>
<body><![CDATA[<li>     <p lang="en-GB" class="western" align="justify" style="margin-bottom: 0.21cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">BioCatalogue: 		an open biological Web Service registry to enable the publication, 		classification and search of Web Services for the scientific 		community.</font></font></p> 	    </ul> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">All 	these components were developed following a SOA paradigm and using 	Web Services, Workflows, Web 2.0 and Semantic Web technologies. The 	components follow an open-source approach and may be extended by 	third-parties. Therefore they provide appropriate means to build the 	local platform to be connected to distributed and virtual research 	environments, the so-called e-Labs <a id="br21">[</a><a href="#r21">21</a>].</font></font></p> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	main contribution of Taverna is that allowed scientists with limited 	IT expertise, be capable to develop their experiments using advanced 	technologies such as SOAP Web Services, BioMart, SoapLab, R or SADI 	services.</font></font></p> 	<h2 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">2.2 	Enterprise Middleware and the Enterprise Service Buses</span></font></font></h2> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Generally 	speaking, middleware technologies are general purpose infrastructure 	services positioned between applications and/or platforms, which 	allow their interactions systematically using high productivity 	tools. These technologies have had an impressive evolution in the 	last years, emerging different types of products that enable to 	achieve multi-platform system integration at different scales. The 	most remarkable are the Web Services <a id="br22">[</a><a href="#r22">22</a>], Message Queues and 	Enterprise Service Bus (ESB) <a id="br23">[</a><a href="#r23">23</a>], which will be used in this work.</font></font></p> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	most advanced technologies, especially ESBs, possess mediation 	capacities (e.g. message routing and transformation), which may be 	defined as a &ldquo;layer of intelligent middleware services that 	enable to connect applications and data&rdquo; by solving a number 	of issues related to such integration (e.g. data transformation and 	synthesis) <a id="br24">[</a><a href="#r24">24</a>]. In addition, ESB enable to solve, in a unique tool, 	both synchronic and asynchronous application integration through 	robust and scalable mechanisms.</font></font></p> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">An 	ESB is an environment belonging to the platform middleware systems 	category, which provides sophisticated interconnectivity between 	services and enables to overcome issues related with reliability, 	scalability and communication. Service interaction using an ESB is 	based on a combination of the patterns: Asynchronous Queuing, 	Event-Driven Messaging, Intermediate Routing, Policy Centralization, 	Reliable Messaging, Rules Centralization and Transformation. 	Additionally, there exists a set of interactions styles, which 	defines the way each actor may behave using an ESB <a id="br25">[</a><a href="#r25">25</a>].</font></font></p> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">In 	this section we will briefly review some of the most useful patterns 	and styles for this paper.</font></font></p> 	<h3 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<span style="text-decoration: none"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB"><i>2.2.1 	ESB Design Patterns</i></span></font></font></span></h3> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">Application 	interactions in ESB may be conceptualized through certain design 	patterns <a id="br25">[</a><a href="#r25">25</a>]: </span><span lang="en-GB"><i>Asynchronous Queuing</i></span><span lang="en-GB">, 	</span><span lang="en-GB"><i>Event-Driven Messaging</i></span><span lang="en-GB">, 	</span><span lang="en-GB"><i>Intermediate Routing</i></span><span lang="en-GB">, 	</span><span lang="en-GB"><i>Policy Centralization, Reliable 	Messaging</i></span><span lang="en-GB">, </span><span lang="en-GB"><i>Rules 	Centralization </i></span><span lang="en-GB">and</span> 	<span lang="en-GB"><i>Transformation</i></span><span lang="en-GB">. 	This work mainly applies the following ones:</span></font></font></p> 	<ul> 		    ]]></body>
<body><![CDATA[<li>     <p lang="es-ES" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">Intermediate 		routing patterns dynamically determine the message path according 		to different factors. More concretely, a content-based router 		defines the message path based on its content and a recipient list 		routes the message to a list of dynamically specified recipients. 		Other basic routing patterns include context-based router, load 		balancing router, aggregator, message filter, static router, 		dynamic router, splitter, resequencer and discovery. </span></font></font> 		</p> 		    <li>     <p lang="en-GB" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Transformation 		patterns deal with the runtime transformation of messages. In <a id="br25">[</a><a href="#r25">25</a>] 		the authors identify three types of transformations: data model 		transformations, data format transformations and protocol bridging. 		Additionally, in <a id="br26">[</a><a href="#r26">26</a>] various transformation patterns are 		identified including envelop wrapper, content enrichment, content 		filter, claim check, normalize and canonical data model.</font></font></p> 		    <li>     <p lang="es-ES" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">The 		</span><span lang="en-GB"><i>Asynchronous Queuing</i></span> 		<span lang="en-GB">pattern deals with the interactions of client 		and services where synchronous communication can inhibit 		performance and compromise reliability.</span></font></font></p> 		    <li>     <p lang="es-ES" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB"><i>Event 		driven messaging</i></span> <span lang="en-GB">determines an event 		driven based exchange of messages between systems where the 		receiver receives messages according to the events it is subscribed 		to.</span></font></font></p> 	    </ul> 	<h3 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<span style="text-decoration: none"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB"><i>2.2.2 	Interaction Styles</i></span></font></font></span></h3> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">In 	addition, the &ldquo;interaction style&rdquo; patterns define the 	way actors behave and interact in terms of synchronous/asynchronous 	interfaces, level of assurance of delivery, handling of timeouts, 	late responses, and error handling in an ESB-like middleware <a id="br27">[</a><a href="#r27">27</a>].</font></font></p> 	    ]]></body>
<body><![CDATA[<p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">In 	this work, we will focus on two interactions styles: 1) Synchronous 	update request with acknowledgement using callback operations, and 	2) One-way with status poll for completion.</font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">A 	</span><span lang="en-GB"><i>one-way request with status poll for 	completion</i></span> <span lang="en-GB">consists of an initial 	synchronous response-less request followed by periodic synchronous 	requests from the requester to know the status and result of the 	operation. In turn, a </span><span lang="en-GB"><i>synchronous 	update request with acknowledgement using callback</i></span> 	<span lang="en-GB"><i>operation</i></span> <span lang="en-GB">enables 	the requester to be sure that the request was received and is being 	processed without being blocked. The response is received through 	another synchronous communication from the invoked service (the 	callback).</span></font></font></p> 	<h2 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">2.3 	Domain Specific Middleware Platforms </span></font></font> 	</h2> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Domain-specific 	middleware platforms provide implementation building blocks and 	services adapted for the requirements of a specific domain; they 	provide applications with reusable abstractions of recurring 	patterns and algorithms <a id="br28">[</a><a href="#r28">28</a>]. Therefore they constitute a relevant 	knowledge background in the present work, particularly the ones on 	two domains: Health and geographic-based services in e-Government.</font></font></p> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	Open eHealth Integration Platform (IPF) <a id="br29">[</a><a href="#r29">29</a>] is a platform 	middleware for the e-health domain. It has the goal of providing the 	required integration mechanisms (e.g. HL7 message processing, 	support for the IHE profiles) to enable the integration of 	applications in that domain. </font></font> 	</p> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">In 	<a id="br30">[</a><a href="#r30">30</a>] the authors propose an ESB-based integration platform in the 	context of enterprise geographic information systems. The authors 	propose a series of mediation mechanisms (e.g. SOAP WMS-Wrapper, WMS 	Enricher) to facilitate the integration of geographic Web Services 	and enterprise applications. </font></font> 	</p> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">To 	the best of our knowledge there are not proposal of a 	domain-specific integration platforms in the bioinformatics domain. </font></font> 	</p> 	<h2 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">2.4 	Event-B</span></font></font></h2> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Event-B, 	the evolution of B method, is a formal method including a language 	and a tool to support the verification of properties on the 	specifications <a id="br31">[</a><a href="#r31">31</a>]. In Event-B, systems are formally specified as 	Abstracts Virtual Machines (AVM o MACHINE), which have a structure 	based on the VARIABLES constructor and a dynamic behavior based on 	events (EVENT constructor). In addition, conditions and event 	execution and values of variables may be specified through the 	INVARIANTS constructor.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Among 	a large number of applications, Event-B has been used to formalize 	distributed transactions management systems <a id="br32">[</a><a href="#r32">32</a>] as well as 	middleware software <a id="br33">[</a><a href="#r33">33</a>].</font></font></p> 	<h2 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">2.4 	Related Work </span></font></font> 	</h2> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">This 	section presents related work of Bioinformatic applications aiming 	at providing different integration mechanisms for </span><span lang="en-US"><i>in-silico</i></span> 	<span lang="en-US">experiments.</span></font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	need for asynchronous interactions in the context of scientific 	workflows is not new and there are different proposals which use 	WS-Addressing in order to provide solutions for this requirement. </font></font> 	</p> 	    ]]></body>
<body><![CDATA[<p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	work in <a id="br34">[</a><a href="#r34">34</a>] proposes a middleware for asynchronous interactions 	based on WS-Addressing, which is integrated to Taverna by means of a 	new processor called &ldquo;Generic Web Service Processor&rdquo;. In 	turn, our proposal does not depend on this feature.</font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">The 	proposal in <a id="br35">[</a><a href="#r35">35</a>] follows a similar approach by proposing extensions 	to WS-BPEL for allowing the use of WS-Addressing. Both works have 	the limitation of assuming that biological Web Services has support 	for WS-Addressing which, in practice, is not that frequent. Indeed, 	the main providers (e.g. EBI, EMBL, DDBJ, GenBank) do not yet 	provide Web Services with WS-Addressing support and adopt the 	</span><span lang="en-GB"><i>one-way request with status poll for 	completion</i></span> <span lang="en-US">approach for asynchronous 	interactions. On the contrary, our approach does not require that 	services have WS-Addressing support: it leverages existing services 	and adapts them so they can be invoked using WS-Addressing (e.g. by 	solutions like <a id="br34">[</a><a href="#r34">34</a>] and <a id="br35">[</a><a href="#r35">35</a>]).</span></font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	use of notification mechanisms and events has also been addressed in 	the bioinformatics domain. In <a id="br35">[</a><a href="#r35">35</a>] Apache ODE, a WS-BPEL engine, is 	extended to send notifications according to events of interest in an 	e-science context. Compared to our approach, this solution has the 	limitation to be coupled to the WS-BPEL engine, not allowing it to 	be used in wider scenarios (e.g. the advanced types of laboratories 	of Section 3.3).</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">In 	<a id="br36">[</a><a href="#r36">36</a>] the authors propose a Web Service based message broker, called 	WS-Messenger, with the goal of sending notifications of events 	(logging, monitoring, etc.) among applications, platforms and 	heterogeneous grid environments. Similar to our proposal, 	WS-Messenger is based on standards (e.g. WS-Eventing and 	WS-Notification) and provides some mediation capabilities at the 	transport level. The main difference with our notification mechanism 	is the scale of the solution: while WS-Messenger is a lightweight 	middleware suitable to be integrated in other platforms, our 	mechanism is built on top of an ESB infrastructure. Also, our 	mechanism is part of a wider integration platform for the 	bioinformatics domain which facilitates its integration with the 	rest of the services and infrastructure deployed in the platform for 	this domain.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">In 	<a id="br37">[</a><a href="#r37">37</a>] a WS-Eventing middleware with the goal of improving the 	interoperability between workflows tools is presented. The solution, 	called PS-SWIF, provides the same notification functionality that 	our notification mechanism. However, PS-SWIF only allows synchronous 	subscriptions while our mechanism also support asynchronous 	subscriptions.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">In 	<a id="br38">[</a><a href="#r38">38</a>] the authors propose the use of a notification bus to which all 	components are connected as well as subscribed to one or more 	topics. The main difference with our notification mechanism is that 	ours is based on a service oriented design and it leverages an ESB 	infrastructure, facilitating in this way the interoperability among 	distributed and heterogeneous services.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Format 	transformation has also been addressed in the literature. In <a id="br39">[</a><a href="#r39">39</a>] 	the concept of shim service is introduced and the problem of 	excessive use of shim services is presented and addressed. In 	particular, the authors propose the use of ontologies to describe 	Web Services and, in this way, automatically identify which shim 	services (from an existing library) are required, so that they can 	be included in the workflow. On the contrary, our work propose 	reducing, as much as possible, the use of shim services by 	encapsulating existing services through services which use a 	predefined data model.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">In 	<a id="br40">[</a><a href="#r40">40</a>] the concept of Virtual Data Assembly Lines (VDAL) is presented 	as a way of hiding the use of shim services to scientists. The 	authors propose encapsulating existing domain services in VDAL, 	which include the required configuration to solve syntactic and 	semantic mismatches. Although our proposal is similar, VDALs are 	locally defined in workflows by the workbench, while our proposal 	encapsulates services in new services which are global to all the 	organization.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">A 	set of good practices based on semantic technologies and Web 	Services to reduce format transformation issues are proposed in 	<a id="br41">[</a><a href="#r41">41</a>]. While these practices take advantage of the potential use of 	RDF, they are still limited as very few Bioinformatic services 	include RDF descriptions. </font></font> 	</p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Concerning 	the application of &ldquo;policies of use&rdquo; for services, 	EntrezAjax <a id="br42">[</a><a href="#r42">42</a>] is one of the few systems that enable to consume 	Bioinformatic services applying NCBI&rsquo;s policies, but doesn&rsquo;t 	include similar mechanisms for other providers (e.g. EBI, DDBJ).</font></font></p> 	    ]]></body>
<body><![CDATA[<p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Additionally, 	all the previous described work addresses specific problems when 	developing scientific workflows. In contrast, our approach has the 	goal of providing a comprehensive domain-specific integration 	platform for bioinformatics services, which can be adapted or 	extended (using middleware of different scale) according to the 	particular requirements and capabilities of the specific 	laboratories. </font></font> 	</p> 	<h1 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<span style="font-variant: normal"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><b>3 	A Middleware-based Platform for the Integration of Bioinformatics 	Services</b></span></font></font></span></h1> 	<h2 lang="en-US" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">3.1 	General Description</font></font></h2> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">An 	environment for </span><span lang="en-US"><i>in-silico</i></span> 	<span lang="en-US">bioinformatics experiments includes, on one side, 	local software tools (i.e. Taverna) that enable researchers to 	develop their experiments through the composition of remote 	bioinformatics resources. On the other side, there are 	bioinformatics resources distributed all over the Internet by 	Bioinformatics Web Services providers (i.e. NCBI, EBI, DDBJ) that 	can be accessed through SOAP or REST Web Services APIs.</span></font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Although 	bioinformatics tools like Taverna provide very powerful user 	oriented development features, their lack on mediation mechanisms 	(e.g. asynchronous interactions, event management, declarative data 	transformations, etc.) and platform management capabilities (e.g. 	quality of services, service policy, etc.) limits their integration 	capabilities and delegate advanced computing tasks to the 	scientists.</font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">The 	proposed bioinformatics Integration Platform presented in Fig. 1, 	allows developing </span><span lang="en-US"><i>in-silico</i></span> 	<span lang="en-US">experiments through traditional synchronous 	service composition, and also provides new features to cope with 	advanced requirements that involve asynchronous interactions based 	on request-response patterns and data transformation. </span></font></font> 	</p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Local 	bioinformatics tools may send messages to the Platform, which will 	be routed using content-based routing components and specific 	adapters to forward messages to remote bioinformatics services 	developed with heterogeneous technologies (i.e. SOAP, R, etc.). 	Response messages will be sent back using callbacks invocations or 	notifications mechanisms. In this way, the platform hides 	implementation and physical distribution aspects of the 	bioinformatics services, enabling scientists to focus on business 	aspects of applications and not in infrastructure or technical 	details.</font></font></p> 	    <p lang="es-ES" class="western" align="center" style="margin-top: 0.21cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f1"><img src="/img/revistas/cleiej/v18n2/2a07f1.jpg"></a>    <br><b>Figure 	1</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	Integration Platform for bioinformatics services</span></font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	specification of the integration platform consists of several 	refinement levels, shown in Fig. 2. The highest level of 	specification, is independent of technical approaches or laboratory 	application contexts and specifies the integration platform in an 	abstract way, integrating local bioinformatics tools (i.e. Taverna 	or Kepler) with remote bioinformatics services. The second level of 	specification refines the latter one, introducing refinement 	dimensions to define more specific Platforms, taking into account 	middleware technologies, integration requirements (features) and 	usage contexts scenarios. Finally, the third level of refinement 	introduces middleware specific products and development details to 	complete the specification and allow the definition of a concrete 	instance of the Platform.</font></font></p> 	    <p lang="es-ES" class="western" align="center" style="margin-top: 0.21cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f2"><img src="/img/revistas/cleiej/v18n2/2a07f2.jpg"></a>    <br><b>Figure 	2</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	Specification of the Platform in levels of refinements and 	dimensions for each level </span></font></font> 	</p> 	    ]]></body>
<body><![CDATA[<p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">To 	sum up, refining the top-level specification through refinement 	dimensions enables the specification of a concrete Platform instance 	that includes specific technical characteristics. For example, an 	instantiation of the Platform could cover all functional 	requirements using Web Services, while another instance may cover 	the same functionalities but using another type middleware, for 	example an ESB. </font></font> 	</p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	following subsections will first focus on the new features to solve 	advanced integration requirements and secondly, it will describe the 	usage contexts scenarios. Finally, the refinement process is 	explained in detail using the dimensions explained. A formal 	specification using Event-B is later on described in section 5. </font></font> 	</p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">To 	illustrate the use of local bioinformatics tools, we use Taverna 	Workbench as an example, but the Platform is independent of the 	selected workflow tool and it can be replaced by any other with 	similar features, like Kepler, Triana or Pegasus.</font></font></p> 	<h2 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">3.2 	Integration Requirements</span></font></font></h2> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">After 	analyzing the features required by an environment for bioinformatics 	</span><span lang="en-US"><i>in-silico</i></span> <span lang="en-US">experiments 	and the actual support of this features by bioinformatics workflows 	tools <a id="br8">[</a><a href="#r8">8</a>] <a id="br13">[</a><a href="#r13">13</a>], we conclude that Taverna does not provide adequate 	support for a set of relevant features in advanced integration 	scenarios, namely: asynchronous interactions, event notification, 	message transformation, service composition and service policy 	compliance. </span></font></font> 	</p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Another 	conclusion of this analysis is that the introduction of middleware 	technologies allows implementing these features in a relatively 	straightforward manner.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">In 	this section, we present a resume of the results and a brief 	description of how these features are provided by the Integration 	Platform. </font></font> 	</p> 	<h3 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"><a name="_Ref415737380"></a> 	<span style="text-decoration: none"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>3.2.1 	Asynchronous Interactions</i></span></font></font></span></h3> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">One 	of the objectives of this work is to improve asynchronous 	interactions between bioinformatics services. Nowadays, asynchronous 	interactions are based primarily on a polling model where &ldquo;callers&rdquo; 	invoke services to submit jobs and later on, &ldquo;callers&rdquo; 	periodically invoke the service for the results (Fig. 3). Besides 	this model is effective to provide asynchronous interactions, is not 	the most efficient, as it consumes unnecessary resources for both, 	processing and communication.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">To 	improve this behavior we propose two solutions: 1) a model based on 	Web Services using callback invocations or 2) the usage of message 	queues subscription (topics) to receive the responses of the 	&quot;invoked&quot; services when they are available. Both solutions 	are more efficient regarding processing and communication without 	sacrificing the effectiveness of the interaction (Fig. 4). </font></font> 	</p> </div>     <div id="Seccion5" dir="ltr"> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><a name="f3"><img src="/img/revistas/cleiej/v18n2/2a07f3.jpg"></a>    ]]></body>
<body><![CDATA[<br>Figure 	3: Asynchronous interactions based on a polling to receive 	responses.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><a name="f4"><img src="/img/revistas/cleiej/v18n2/2a07f4.jpg"></a>    <br>Figure 	4: Asynchronous interactions based on callback invocations to 	receive responses.</font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">The 	proposed solution, when instantiating the Platform with an ESB 	middleware (Fig. 5), consists on applying the following design 	patterns: </span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>Asynchronous 	Queuing</i></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="es-ES"> 	</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">(ESB 	message queues), </span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>Intermediate 	Routing</i></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="es-ES"> 	</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">(Content 	Based Router component of the ESB) and </span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>Protocol 	Bridging</i></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="es-ES"> 	</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">(ESB 	Endpoints and Connectors) <a id="br25">[</a><a href="#r25">25</a>].</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="margin-top: 0.21cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f5"><img src="/img/revistas/cleiej/v18n2/2a07f5.jpg"></a>    <br><b>Figure 	5</b></span><span lang="en-US">: Asynchronous interactions in the 	ESB</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">This 	solution includes two message queues in the ESB: one used to receive 	messages from Taverna (</span><span lang="en-US"><i>TavernaQueueIn</i></span><span lang="en-US">) 	and another one, used to send response messages from the ESB to 	Taverna (</span><span lang="en-US"><i>TavernaQueueOut</i></span><span lang="en-US">). 	The unique subscriber of </span><span lang="en-US"><i>TavernaQueueIn</i></span> 	<span lang="en-US">queue is a content based router (CBR), which 	routes messages to its destination according to the message content. 	For this being done, all messages must specify a target service, 	which must be registered with in the Platform&rsquo;s Service 	Registry. The communication between the ESB and the bioinformatics 	service is done using ESB Connectors. </span></font></font> 	</p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">After 	processing the message, the service sends the reply message to the 	</span><span lang="en-US"><i>TavernaQueueOut</i></span> <span lang="en-US">queue, 	whose sole subscriptor (an ESB connector) will re-sent the message 	to Taverna. Since there may be multiple instances of Taverna waiting 	for response messages, a </span><span lang="en-US"><i>replyTo</i></span> 	<span lang="en-US">attribute must be defined in the request messages 	to specify the destination of the response queue.</span></font></font></p> 	<h3 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<span style="text-decoration: none"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>3.2.2 	Events Notification</i></span></font></font></span></h3> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">In 	a bioinformatics </span><span lang="en-US"><i>in-silico</i></span> 	<span lang="en-US">experiments environment, several important events 	may occur and must be detected and used by other bioinformatics 	systems. An experiment that finishes, messages received from 	external services, business timeout events (not communication 	timeouts) and the update notifications of biological databases are 	some examples.</span></font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	proposed ESB-based Integration Platform provides new features to the 	bioinformatics environment to enable event notifications from 	Taverna to external services and vice versa. The middleware allows 	the definition of event topics where services can publish event 	messages they want to notify. </font></font> 	</p> 	    ]]></body>
<body><![CDATA[<p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">On 	the other side, interested services may subscribe to event topics to 	start receiving event messages published on the topic. These 	services are called </span><span lang="en-US"><i>Subscriptors</i></span> 	<span lang="en-US">and may choose between two subscription types: 	synchronous subscription and asynchronous subscription. On 	asynchronous subscription, the middleware will resend event messages 	to the subscriber immediately they are published on the topic, while 	on synchronous subscriptions, event messages are stored by the 	Platform until the subscriptor queries the topic for pending 	messages. </span></font></font> 	</p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Fig. 	6 shows graphically the proposed approach and Fig. 7 shows a UML 	sequence diagram to describe the interaction between participants.</font></font></p> </div>     <div id="Seccion6" dir="ltr"> 	    <p lang="es-ES" class="western" align="center" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f6"><img src="/img/revistas/cleiej/v18n2/2a07f6.jpg"></a>    <br><b>Figure 	6</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	Middleware to notify events</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f7"><img src="/img/revistas/cleiej/v18n2/2a07f7.jpg"></a>    <br><b>Figure 	7</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	Sequence diagram to describe event notifications between Taverna and 	biological services. </span></font></font> 	</p> </div>     <div id="Seccion8" dir="ltr"> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">The 	proposed solution based on an ESB Platform (Fig. 8) is designed 	using two design patterns: </span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>Event 	Driven Messaging</i></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="es-ES"> 	</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">and 	</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>Protocol 	Bridging</i></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="es-ES"> 	</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a id="br25">[</a><a href="#r25">25</a>]. 	For each event of interest, there must be a topic configured in the 	ESB identified using a </span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>topicId</i></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">. 	Each topic may have N Publisher and M Subscriptors, where each 	suscriptor may choose between two subscription models: asynchronous 	or synchronous subscription. </span></font></font> 	</p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">To 	publish an event on the Platform, the Publisher must create an event 	message with &ldquo;business event data&rdquo; and a </span><span lang="en-US"><i>topicId</i></span><span lang="en-US">, 	and send it to the ESB Topic Endpoint. This component places the 	message into the topic according to the </span><span lang="en-US"><i>topicId</i></span> 	<span lang="en-US">and confirms its reception to the Publisher. 	After that, each subscribed service to this topic will receive a 	copy of the message according to its subscription type. </span></font></font> 	</p> 	    ]]></body>
<body><![CDATA[<p lang="es-ES" class="western" align="center" style="margin-top: 0.21cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f8"><img src="/img/revistas/cleiej/v18n2/2a07f8.jpg"></a>    <br><b>Figure 	8</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	Events notification in the ESB</span></font></font></p> 	<h3 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<span style="text-decoration: none"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>3.2.3 	Message Transformation</i></span></font></font></span></h3> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">Scientific 	workflows are usually composed of different third-party services, 	where each service provider uses its own data format to model 	biological data. As a result, data format transformation must be 	solved repeatedly on each workflow. In <a id="br43">[</a><a href="#r43">43</a>] a survey of 415 	workflows registered in </span><span lang="en-US"><i>myExperiment</i></span><span lang="en-US">, 	found that 30% of the tasks involved in the experiment were due to 	format transformations, while just 22% were due to tasks involved in 	the invocation of Web Services. Therefore, the automation of these 	transformations generates significant productivity improvements in 	the development of bioinformatics experiments. The application of 	the Canonical Data Model pattern <a id="br25">[</a><a href="#r25">25</a>] is the preferred solution, but 	in cases where its usage is not possible, the middleware can perform 	message transformations to adapt the client&rsquo;s requests to the 	service data format, and the service&rsquo;s responses to the 	client&rsquo;s expected data format. Fig. 9 shows graphically the 	proposed solution.</span></font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">When 	instantiating the Platform with an ESB middleware (Fig. 10) the 	following design patterns are applied: Content-Based Routing, 	Canonical Data Model and Protocol Bridging <a id="br25">[</a><a href="#r25">25</a>]. The Plaform will 	automatically determine the format of the request messages and 	transform them to the expected data format. To reduce the amount of 	required processing, the Canonical Data Model design pattern may be 	applied to transform the incoming messages to a canonical data model 	and then from the canonical data model to the service data format. 	The Content Based Routing pattern is used to route incoming messages 	to the correct destinations. Native connectors are used to 	communicate the ESB with the biological services.</font></font></p> </div>     <div id="Seccion9" dir="ltr"> 	    <p lang="es-ES" class="western" align="center" style="margin-top: 0.21cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f9"><img src="/img/revistas/cleiej/v18n2/2a07f9.jpg"></a>    <br><b>Figure 	9</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	Middleware for message data format transformation</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="margin-top: 0.21cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f10"><img src="/img/revistas/cleiej/v18n2/2a07f10.jpg"></a>    <br><b>Figure 	10</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	Message data format transformation on the ESB</span></font></font></p> </div>     <div id="Seccion11" dir="ltr"> 	<h3 lang="en-US" class="western" align="justify" style="margin-bottom: 0.21cm; text-decoration: none"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><i>3.2.4 	Service Composition</i></font></font></h3> 	    ]]></body>
<body><![CDATA[<p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	low granularity of biological Web Services as well as the scarcity 	of coarse-grained Web Services adds complexity to the development of 	medium to big-size scientific workflows, as manual compositions must 	be developed each time the composed services are used. This scenario 	envisions the need to provide greater granularity of Web Services 	that allow an easier and fast development of biological experiments.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">As 	in previous requirements, the use of middleware technologies is 	proposed to compose shim and biological services to develop more 	granular services, promoting Web Services composition reuse.</font></font></p> 	<h3 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<span style="text-decoration: none"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>3.2.5 	Service Policy Compliance</i></span></font></font></span></h3> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Nowadays, 	the leading biological web service providers (NCBI, EBI) provide 	their services without charge or fees to the whole scientific 	community, as long as they comply with their service policies. 	Failures to comply with these policies may result on severe 	penalties to consumers as show in Fig. 11 and 12. </font></font> 	</p> 	    <p lang="es-ES" class="western" align="center" style="margin-top: 0.21cm"> 	<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f11"><img src="/img/revistas/cleiej/v18n2/2a07f11.jpg"></a>    <br><b>Figure 	11</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	NCBI service policy </span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">(<a class="western" href="http://www.ncbi.nlm.nih.gov/books/NBK25497/">http://www.ncbi.nlm.nih.gov/books/NBK25497/</a>)</span></font></font></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="margin-top: 0.21cm"> 	<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f12"><img src="/img/revistas/cleiej/v18n2/2a07f12.jpg"></a>    <br><b>Figure 	12</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	EBI service policy 	</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">(<a class="western" href="http://www.ebi.ac.uk/Tools/webservices/help/interproscan">http://www.ebi.ac.uk/Tools/webservices/help/interproscan</a>)</span></font></font></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">Despite 	this service&rsquo;s policies, Taverna provides little support for 	their compliance and enforcement. In this scenarios, scientists must 	develop custom tasks with advanced know how in informatics to comply 	with these policies. To overcome this issue, the Integration 	Platform provides new features to cope with this requirement to free 	the scientist of developing these low-level technical tasks and 	leverage policy compliance to the Platform as much as possible. Fig. 	13 &#8203;&#8203;presents this proposal graphically.</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f13"><img src="/img/revistas/cleiej/v18n2/2a07f13.jpg"></a>    <br><b>Figure 	13</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	Middleware for service policy compliance</span></font></font></p> 	<h2 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">3.3 	Context Usage</span></font></font></h2> 	    ]]></body>
<body><![CDATA[<p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	Integration Platform can be applied in different bioinformatics 	laboratory contexts, which differ on their size and how their 	systems interact among each other, either consuming or providing 	services. Although every type of laboratory may have an Integration 	Platform providing the same functionalities, they may differ on the 	scope as well as on the supporting mechanisms. For example, 	asynchronous interactions features will be more limited in 	small-sized laboratories than in larger sized ones.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Therefore, 	prior to introducing the detailed specification of the Integration 	Platform, it&rsquo;s necessary to define different types of 	laboratories, which characterize different application contexts. 	This typology is not intended to be neither a formal nor a complete 	classification, but as an intuitive categorization of usage contexts 	introduced in this work as any other prior categorization wasn&rsquo;t 	found in the state of the art.</font></font></p> 	<ul> 		    <li>     <p lang="en-US" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Laboratories 		type 1 (L1) use Taverna in a standalone mode, using only its native 		connectors to communicate with external biological services (Web 		Services, R connector, Biomart, etc.). These labs develop their 		experiments composing local and third-party services with Taverna 		as their main tool, and do not integrate with other services whose 		technology is not supported by Taverna.</font></font></p> 		    <li>     <p lang="en-US" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Laboratories 		type 2 (L2) develop their experiments using local and third-party 		services compatible or not with Taverna&rsquo;s native connectors. 		To cope with these incompatibilities they use middleware 		technologies to integrate with the external services. The 		middleware used by these labs is characterized to be peer-to-peer, 		solving each time specific technical integration issues where 		Message Queues and Web Services are the preferred choice. In this 		scenario the number of unsupported integrations is limited and 		small, and most of the integrations are done with Taverna&rsquo;s 		native connectors.</font></font></p> 		    <li>     <p lang="en-US" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Laboratories 		type 3 (L3) are characterized by large number of invocations to 		services not compliant with Taverna&rsquo;s native connectors. The 		use of peer to peer middleware is no longer the most adequate 		solution and they require more sophisticated middleware Platforms 		to avoid its limitations and to improve the overall management and 		maintenance. An example of a middleware platform type is the 		Enterprise Service Bus (ESB). </font></font> 		</p> 		    <li>     <p lang="en-US" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Laboratories 		type 4 (L4) are service providers for laboratories of type 1, 2 or 		3. One of the main requirements of these laboratories is to provide 		services with high levels of interoperability and accessibility. 		The type of middleware used by these laboratories will strongly 		depend on the quantity of services they provide. Laboratories with 		a small supply of services are characterized to use peer-to-peer 		middleware, while laboratories of large size with a great number of 		services, will use platform type middleware to avoid the 		limitations of point to point middleware.</font></font></p> 		    ]]></body>
<body><![CDATA[<li>     <p lang="en-US" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Laboratories 		type 5 (L5) provide Platforms as a Service (PaaS). This type of lab 		does not provide nor consumes bioinformatics services. The provided 		services may be used by smaller sized laboratories with limited 		capacity to develop experiments based on the use of advanced 		infrastructure or large size middleware platforms. Amazon SWF is an 		example of such platforms.</font></font></p> 	    </ul> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">As 	explained in Section 3.1 and Figure 2, in addition to the provided 	functionalities and the used middleware technologies, the context of 	usage constitutes a third dimension to characterize specific 	Integration Platforms. </span></font></font> 	</p> 	<h2 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">3.4 	Refining Process of the Specification</span></font></font></h2> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	process of refining the specification follows a top down approach 	starting with a first abstract level which is refined based on the 	three dimensions: usage contexts, functional requirements and 	middleware technologies. The combination of these dimensions enables 	to define a specific Integration Platform for a given usage context, 	satisfying a set of requirements and using certain middleware 	technologies.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">It 	is possible to refine the model according to any of the three 	defined dimensions obtaining a first sublevel of refinement. For 	example, within the context of use dimension, it is possible to 	refine the model according to any of the five application scenarios: 	L1, L2, L3, L4 or L5. This dimension determines what usage the 	laboratory will give to the Platform. While type 2 (L2) labs will 	use the Platform to resolve the inconsistencies in the use of 	services, type 5 (L5) labs will use it to provide Platforms as a 	Service (PaaS). It is possible to further refine the model using one 	of the other two dimensions. For example, the middleware 	technologies dimension (Message Queues, Web Services and ESB). Using 	Web Services or Message Queues will provide point to point 	integrations following a given communication model, while using an 	ESB, introduces a bus-based integration of heterogeneous services 	and communication mechanisms.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">However, 	there are restrictions on how the middleware dimension can be 	combined with the context of use dimension. For example, the 	combination (L2, ESB) is not acceptable, since it is impractical to 	use an ESB when the number of integrations is low. The same applies 	to the combination (L5, Web Services). It makes little sense to 	offer Web Services as a service, since its use is applied within an 	organization and not outside of it.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Finally, 	the model may be instantiated using the functional requirements 	dimension. Following with the previous example, the allowed values 	to refine the Platform are: asynchronous interactions, event 	notification, etc. This latter dimension provides a more detailed 	design of the Platform than the one provided by the middleware 	dimension, showing its behavior in a lower level design. Again, 	there are restrictions on the combination of dimensions, given that 	not in every case it is possible to combine the values &#8203;&#8203;of 	this dimension with the values of the middleware dimension. For 	example, message data format transformations are not directly 	supported by Web Service middleware. </font></font> 	</p> 	<h1 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<span style="font-variant: normal"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><b>4 	Case example</b></span></font></font></span></h1> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">After 	describing the Integration Platform and its features, this section 	presents a case example of the Integration Platform using a 	workflow-based experiment. The goal is to show the capabilities of 	the Platform through a realistic case taken from the </span><span lang="en-US"><i>myExperiment</i></span> 	<span lang="en-US">site.</span></font></font></p> 	<h2 lang="es-ES" class="western" align="left" style="margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">4.1 	Workflow-based experiment sample</span></font></font></h2> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">The 	workflow-based experiment builds a phylogenetic tree from a protein 	sequence input data 	</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">(<a class="western" href="http://www.myexperiment.org/workflows/3369.html">http://www.myexperiment.org/workflows/3369.html</a>)</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">. 	Fig. 14 shows a graphical view of the experiment and the workflow 	description provided by myExperiment site is the following:</span></font></font></font></font></p> 	    ]]></body>
<body><![CDATA[<p lang="es-ES" class="western" align="justify" style="margin-left: 1.25cm; text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>This 	workflow accepts a protein sequence as input. This sequence is 	compared to others in the Uniprot database, using the NCBI BLAST Web 	Service from the EBI (WSDL), and the top 10 hits are returned 	(Nested workflow:EBI_NCBI_BLast). For each extracted hit, the 	Uniprot REST service returns the protein sequence in FASTA format. 	The workflow concatenates the 10 protein sequences and submits them 	as input to the EBI CLustalw service (Nested workflow 	EMBL_EBI_clustalw2_SOAP). These sequences are aligned and returned 	as results. Finally, the alignment is submitted to the EBI 	Clustalw_phylogeny service (Nested Workflow: clustalw_phylogeny), 	and a phylogenetic tree in phylip format is retuned. The workflow 	returned a list of protein sequences in FASTA format, a Clustalw 	alignment, and a phylogenetic tree.</i></span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">Implementing 	this experiment in Taverna requires using nested workflows in order 	to apply the </span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>submitJob-getStatus-getResult</i></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="es-ES"> 	</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">pattern 	(described in section 3.2.1). As NCBI&rsquo;s Web Services lack of 	asynchronous callback capabilities the experiment workflow has to 	perform a continuous checking of the job status before querying for 	the result. Scientists using Taverna have to implement this pattern 	each time they need to use this kind of service.</span></font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	workflow experiment case was adapted to better show the features of 	the Integration Platform. Instead of using a remote NCBI BLAST Web 	Service the experiment uses a local version of Blast Service, which 	can be downloaded and updated from the NCBI&rsquo;s site. A 	laboratory may have a local version in order to avoid penalties due 	to overloading the public service and because some specific data 	quality processes are performed periodically. Fig. 15 shows the 	information flow between organizations and systems. In this case, 	this would be a Laboratory L3, as it has local services and is a 	mass service remote consumer.</font></font></p> 	    <p lang="es-ES" class="western" align="center" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f14"><img src="/img/revistas/cleiej/v18n2/2a07f14.jpg"></a>    <br><b>Figure 	14</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	Experiment use case example</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f15"><img src="/img/revistas/cleiej/v18n2/2a07f15.jpg"></a>    <br><b>Figure 	15</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	Workflow interactions and organizational boundaries</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">Finally, 	an extra requirement was introduced: every time the local BLAST 	database is updated (i. e. after data quality process or new NCBI 	data) it&rsquo;s required to rerun the experiment in order to search 	for new results that can arise after the analysis of the new data. 	Nowadays, this must be done manually with Taverna.</span></font></font></p> 	<h2 lang="es-ES" class="western" align="left" style="margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">4.2. 	Identified issues</span></font></font></h2> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">This 	use case example poses three main issues for using Taverna as a 	standalone tool in large scale scenarios:</font></font></p> 	<ul> 		    <li>     ]]></body>
<body><![CDATA[<p lang="es-ES" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">Workflow 		complexity: In order to achieve asynchronous interactions, NCBI 		developed their web services following the </span><span lang="en-GB"><i>one-way 		request with status poll for completion</i></span> <span lang="en-US">interaction 		style (see Section 2.2.2). This adds a development complexity on 		every workflow that must use this type of services and promotes a 		misuse of computational resources. </span></font></font> 		</p> 		    <li>     <p lang="en-US" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Missing 		event based notifications: Re-running a workflow when new data is 		available must be a manual task, as Taverna does not have support 		for event based notifications that could react to. </font></font> 		</p> 		    <li>     <p lang="en-US" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">No 		global service policy enforcement: To avoid penalties using NCBI 		Web Services (according to its terms of use), specific local 		development must be done in each workflow. In addition, a special 		coordination must be carried out by the scientific team as 		unexpected misuse can arise when using the same web service due to 		no central policy enforcer is available. </font></font> 		</p> 	    </ul> 	<h2 lang="es-ES" class="western" align="left" style="margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">4.3. 	Integration Platform usage</span></font></font></h2> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">In 	this use case example, the Integration Platform will provide 	callback asynchronous interactions, event based notifications, 	service composition and a global service policy enforcement support. 	</font></font> 	</p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>4.3.1 	Asynchronous interactions</i></span></font></font></p> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Fig. 	16 shows the interactions between Taverna, the Integration Platform 	and the NCBI&rsquo;s Web Services. Original asynchronous polling 	interactions where changed for asynchronous callbacks interactions. 	Every time Taverna must invoke Blast, ClustalW or the Pyhilogenetic 	web service, it must send a message to the Platform and wait for the 	callback response. The Platform is responsible for submitting the 	job, checking for the job status and querying for the results. This 	is done through a web service composition as it will be described 	later on in section 4.3.2.</font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">For 	synchronous invocations like Uniprot web service, a web service 	proxy is defined in the Platform in order to resend request and 	responses synchronously.</span></font></font></p> 	    ]]></body>
<body><![CDATA[<p lang="es-ES" class="western" align="center" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB"><a name="f16"><img src="/img/revistas/cleiej/v18n2/2a07f16.jpg"></a>    <br><b>Figure 	16</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">: 	Asynchronous interactions between Taverna, the Integration Platform 	and the Web Services</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">When 	the Platform receives a message, internally it is sent to a request 	message queue (Taverna Queue In) for further processing and an 	acknowledge response is sent to Taverna. A service composition is 	subscribed to the queue which takes care of all the interactions 	with the NCBI service. Responses generated by the service 	composition are sent to a response message queue (Taverna Queue Out) 	and later on sent to Taverna. Fig. 17 shows this behaviour.</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB"><a name="f17"><img src="/img/revistas/cleiej/v18n2/2a07f17.jpg"></a>    <br><b>Figure 	17</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">: 	Integration Platform internal mechanisms</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>4.3.2 	Service composition</i></span></font></font></p> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">In 	order to achieve callback asynchronous interactions, services 	compositions are needed to take care of the interactions between the 	Platform and the NCBI web services. Fig. 18 shows the service 	composition example usage for the NCBI services.</font></font></p> 	    <p lang="es-ES" class="western" align="center" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f18"><img src="/img/revistas/cleiej/v18n2/2a07f18.jpg"></a>    <br><b>Figure 	18</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	Service composition example usage</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>4.3.3 	Event based notifications</i></span></font></font></p> 	    ]]></body>
<body><![CDATA[<p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">To 	achieve event based notifications, it is necessary to define a new 	topic (</span><span lang="en-GB"><i>Blast update topic</i></span><span lang="en-GB">) 	on the Integration Platform and add </span><span lang="en-GB"><i>Taverna 	Runner</i></span> <span lang="en-GB">to one of its subscribers. 	Every time an update is done to the local BLAST database, an updated 	notification is sent to the topic. When the </span><span lang="en-GB"><i>Taverna 	Runner</i></span> <span lang="en-GB">receives the notification it re 	runs the experiment defined in Taverna. Fig 19 shows this behaviour.</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f19"><img src="/img/revistas/cleiej/v18n2/2a07f19.jpg"></a>    <br><b>Figure 	19</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	Event based notifications example</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>4.3.4 	Service policy enforcement</i></span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">In 	order to cope with this requirement, we restrict the number of 	subscribers of the </span><span lang="en-GB"><i>Taverna Queue In</i></span> 	<span lang="en-GB">message queue of the solution described in 	section 4.3.1. As every call to the NCBI service (even from 	different scientific teams) will be sent to the Integration 	Platform, restricting the number of subscribers allows to guarantee 	that no more than N jobs are submitted concurrently to NCBI. Besides 	further work must be done to accomplish full policy enforcement 	configuration, this is a step forward example to achieve this goal. 	Fig. 20 shows graphically this solution.</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f20"><img src="/img/revistas/cleiej/v18n2/2a07f20.jpg"></a>    <br><b>Figure 	20</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	Service policy compliance</span></font></font></p> 	<h2 lang="es-ES" class="western" align="left" style="margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">4.4 	Evaluation</span></font></font></h2> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">The 	presented a case example, a phylogentic tree analysis borrowed from 	the </span><span lang="en-US"><i>myExperiment</i></span> <span lang="en-US">site, 	enabled to show the Integration Platform capabilities in four areas: 	asynchronous interactions, service composition, event based 	notifications and service policy compliance. </span></font></font> 	</p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">We 	can conclude, firstly, that asynchronous interactions and the 	service composition capabilities provided by the Integration 	Platform reduced the development effort to develop bioinformatics 	experiments using NCBI&rsquo;s services. This results in smaller 	tasks to accomplish the same experiment. In addition, event based 	notifications provide new ways of automation, looking forward to 	production chain experiments that could not be performed by Taverna 	standalone. Finally, service policy compliance capabilities provided 	better support to comply with NCBI&rsquo;s terms of usage. Taverna&rsquo;s 	capabilities are local by each experiment and require special 	coordination with team members in order to not misuse the services 	when running more than one experiment at the same time. </font></font> 	</p> 	<h1 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<span style="font-variant: normal"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><b>5 	Formal Specification</b></span></font></font></span></h1> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">The 	Integration Platform is formally specified using Event-B models </span><span lang="en-GB"><a id="br31">[</a><a href="#r31">31</a>] 	<a id="br32">[</a><a href="#r32">32</a>] <a id="br33">[</a><a href="#r33">33</a>]. Event-B allows the formal definition of the components of 	a system, the relations between them and the specification of their 	behaviour. The main objectives of using Event-B in this work are</span><span lang="en-US">:</span></font></font></p> 	<ul> 		    ]]></body>
<body><![CDATA[<li>     <p lang="es-ES" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">Provide 		precision to the system description: Event-B allows specifying 		precisely and unambiguously the behavior of the Platform.</span></font></font></p> 		    <li>     <p lang="en-US" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 		concept of virtual machine as system specification: Event-B allows 		the specification of a complete system, defining components, 		relationships and behavior.</font></font></p> 		    <li>     <p lang="en-US" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Platform&rsquo;s 		functionalities are event-based: The event-based nature of the 		Platform functionalities (notifications, asynchronism, etc.) 		motivates the use of this language as it is specific to model this 		type of systems.</font></font></p> 		    <li>     <p lang="en-US" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Model 		refinements: Natively, Event-B provides the refinement concept, to 		model systems with different levels of abstraction, which is 		naturally applied to our needs on this work.</font></font></p> 	    </ul> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">Therefore, 	the formal specification of the Platform will follow a hierarchical 	refinement defined by its levels of abstraction. In this paper, we 	model the first two levels of refinement of the specification. The 	UML-B tool was used to aid the specification development <a id="br44">[</a><a href="#r44">44</a>].</span></font></font></p> 	<h2 lang="es-ES" class="western" align="left" style="margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">5.1 	First Level of Refinement</span></font></font></h2> 	    ]]></body>
<body><![CDATA[<p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">At 	the highest level, a &quot;virtual machine&quot; is specified for 	the first level of abstraction (Fig. 21). The components of the 	system are represented by variables (</span><span lang="en-US"><i>BioPlatform</i></span><span lang="en-US">, 	</span><span lang="en-US"><i>Taverna</i></span><span lang="en-US">, 	</span><span lang="en-US"><i>Service</i></span><span lang="en-US">, 	etc.) as well as the relationships between them (consume, uses, 	etc.). Restrictions on components and relationships are presented in 	Fig. 22. The complete specification of this level can be found in 	<a id="br13">[</a><a href="#r13">13</a>].</span></font></font></p> </div>     <div id="Seccion12" dir="ltr"> 	    <p lang="es-ES" class="western" align="center" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f21"><img src="/img/revistas/cleiej/v18n2/2a07f21.jpg"></a>    <br><b>Figure 	21</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	Formal specification of the virtual machine on the first level of 	the specification</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f22"><img src="/img/revistas/cleiej/v18n2/2a07f22.jpg"></a>    <br><b>Figure 	22</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	Invariant of the virtual machine BioP_mac</span></font></font></p> </div>     <div id="Seccion13" dir="ltr"> 	<h2 lang="en-US" class="western" align="left" style="margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">5.2 	Second Level of Refinement</font></font></h2> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">In 	a second level of refinement (Fig. 23), the dimensions of middleware 	and functionalities are introduced, instantiated with an Enterprise 	Service Bus middleware and the &quot;asynchronous interactions&quot; 	functionality (section 3.2.1). The Machine defined in this level 	refines the Machine presented in Fig. 21, ensuring the solution is 	backward compatible and inherits its variables, invariants and 	events. The new variables introduced in this new second-level are 	variables related to subscriptions to the Platform (for receiving 	responses) and the necessary elements to specify its behavior. The 	</span><span lang="en-US"><i>BioPlatform</i></span> <span lang="en-US">element 	is used to model the ESB and its behavior.</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB"><a name="f23"><img src="/img/revistas/cleiej/v18n2/2a07f23.jpg"></a>    <br><b>Figure 	23</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">: 	Second level refinement introducing an ESB middleware and the 	asynchronous interactions functionality</span></font></font></p> 	    ]]></body>
<body><![CDATA[<p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	restrictions defined in this level of refinement are: 1) &quot;all 	received messages must specify a destination which must be one of 	the services registered on the Platform&quot; and 2) &quot;all 	request messages must provide a response address where to send the 	related responses&quot;. In Fig. 24 these restrictions are modeled 	using Event-B.</font></font></p> 	    <p lang="es-ES" class="western" align="center" style="margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f24"><img src="/img/revistas/cleiej/v18n2/2a07f24.jpg"></a>    <br><b>Figure 	24</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	New invariants defined in the second level refinement</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">Fig. 	25 and Fig. 26 provide a partial specification on Event-B of two 	events that reflect the behavior of the Platform when receiving a 	request and response message. In particular, the content-based 	router component of the Platform is modeled.</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">Every 	time a request message arrives to the Platform the </span><span lang="en-US"><i>processRequestMsg</i></span> 	<span lang="en-US">event is fired and the Platform will forward the 	message to the service specified in the </span><span lang="en-US"><i>to</i></span> 	<span lang="en-US">attribute. The event&rsquo;s precondition is that 	the received message has specified its destination in the </span><span lang="en-US"><i>to</i></span> 	<span lang="en-US">message attribute and the service is registered 	in the Platform&rsquo;s service registry (exists a &ldquo;</span><span lang="en-US"><i>consumes&rdquo;</i></span> 	<span lang="en-US">relationship between the Platform and the 	service). The </span><span lang="en-US"><i>pendingRequestMsgs</i></span> 	<span lang="en-US">relationship used by the event, models the 	received but not yet processed messages and the </span><span lang="en-US"><i>serviceRequests</i></span> 	<span lang="en-US">relationship, models the service&rsquo;s received 	messages. Both relationships were specified in the first level of 	refinement and no further refinement was necessary. The 	</span><span lang="en-US"><i>processRequestMsg</i></span> <span lang="en-US">event 	refines the original event specified in the first level, as a new 	behavior is expected by this ESB-based platform instance.</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB"><a name="f25"><img src="/img/revistas/cleiej/v18n2/2a07f25.jpg"></a>    <br><b>Figure 	25</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">: 	processResquestMsg event modeled using Event-B.</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">Every 	time a response message arrives to the Platform the 	</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>processResponseMsg</i></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="es-ES"> 	</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">event 	is fired and will forward the message to an instance of Taverna 	assuming the following preconditions are met:</span></font></font></p> 	<ol> 		    <li>     <p lang="en-US" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">A 		Taverna instance is subscribed to the Platform using the 		asynchronous mode. </font></font> 		</p> 		    ]]></body>
<body><![CDATA[<li>     <p lang="es-ES" class="western" align="justify" style="margin-bottom: 0.5cm"> 		<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">The 		Platform received a request message related to this response 		message and the relationship </span><span lang="en-US"><i>replyTo</i></span> 		<span lang="en-US">related to the request message has the Taverna 		instance as its value.</span></font></font></p> 	    </ol> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">The 	first condition is modeled using two new relationships defined in 	this second level of refinement: </span><span lang="en-GB"><i>tavernaHasSubscription</i></span> 	<span lang="en-GB">and </span><span lang="en-GB"><i>subscripionType</i></span><span lang="en-GB">. 	The first relationship represents the subscriptions Taverna has 	registered on the Platform, while the second one models the type of 	subscription it has (synchronous or asynchronous). The 	</span><span lang="en-GB"><i>pendingResponseMsgs</i></span> 	<span lang="en-GB">relationship models the response messages 	received by the Platform but not processed yet, while the 	</span><span lang="en-GB"><i>tavernaReceives</i></span> <span lang="en-GB">relationship 	models the response messages received by Taverna. Both relationships 	were specified in the first level of refinement and unchanged in 	this second level. </span><span lang="en-US">The </span><span lang="en-US"><i>processResponseMsg</i></span> 	<span lang="en-US">event refines the original event specified in the 	first level, as a new behavior is expected by this ESB-based 	platform instance.</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f26"><img src="/img/revistas/cleiej/v18n2/2a07f26.jpg"></a>    <br><b>Figure 	26</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>processResponseMsg</i></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="es-ES"> 	</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">modeled 	using Event-B</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">Fig. 	27 presents the </span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>tavernaSubscribe</i></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="es-ES"> 	</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">event 	which models the process of registering a subscription for Taverna 	on the Platform to start receiving response messages. The 	subscription mode (synchronous or asynchronous) is defined by the 	subscription type (</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>Subscription</i></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">).</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB"><a name="f27"><img src="/img/revistas/cleiej/v18n2/2a07f27.jpg"></a>    <br><b>Figure 	27</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">: 	tavernaSubscribe event modeled using Event-B.</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB"><b>5.3 	Specification Example</b></span></font></font></p> 	    ]]></body>
<body><![CDATA[<p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Let&rsquo;s 	consider a simple example of the Platform&rsquo;s behavior specified 	in the previous sections. This Platform is instanced using an ESB 	middleware, the &ldquo;asynchronous interactions&rdquo; 	functionality and a laboratory of type 3. In this use case, Taverna 	is owned by a laboratory of type 1, consumes biological services 	registered on the Integration Platform and has an asynchronous 	subscription to receive response messages.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Fig. 	28 presents a sequence of events specified in Event-B representing 	the use case example. This is an illustrative representation and 	does not intend to be a formal specification of the events of the 	whole use case. </font></font> 	</p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">The 	first events that occur on the Platform are the registration of the 	biological services and the subscription of Taverna to receive 	response messages, which are modeled by the </span><span lang="en-US"><i>addService</i></span> 	<span lang="en-US">and </span><span lang="en-US"><i>tavernaSubscribe</i></span> 	<span lang="en-US">events. The process that models Taverna creating 	a request message and sending it to the Platform is modeled with the 	</span><span lang="en-US"><i>tavernaCreateMsgs</i></span> <span lang="en-US">and 	</span><span lang="en-US"><i>tavernaSendsMsgs</i></span> <span lang="en-US">events. 	The first event creates a message with the business data and the 	routing information to allow the Platform route the message to its 	final destination, and the second one, represents the act of sending 	the message to the Platform. Every request message is built with the 	</span><span lang="en-US"><i>to </i></span><span lang="en-US">attribute 	having the destination service&rsquo;s name and the </span><span lang="en-US"><i>replyTo</i></span> 	<span lang="en-US">attribute, to identify to which instance of 	Taverna the response must be sent to. </span></font></font> 	</p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">When 	the request message arrives to the Platform the event 	</span><span lang="en-US"><i>processRequestMsg</i></span> <span lang="en-US">is 	fired if the preconditions are met and the message is routed to the 	target service according to the message contents. After the service 	receives and processes the message (events </span><span lang="en-US"><i>serviceProcessMsg</i></span> 	<span lang="en-US">and </span><span lang="en-US"><i>serviceSendResponseMsg</i></span><span lang="en-US">), 	it sends a response to the Platorm. The </span><span lang="en-US"><i>processResponseMsgs</i></span> 	<span lang="en-US">event is fired and the integration Platform will 	search for a related request message, read it&rsquo;s </span><span lang="en-US"><i>replyTo</i></span> 	<span lang="en-US">attribute and identify the Taverna instance the 	message must be routed to. Before routing the message, the Platform 	will check this instance has a registered asynchronous subscription 	and only in that case, it will forward the response message to 	Taverna.</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB"><a name="f28"><img src="/img/revistas/cleiej/v18n2/2a07f28.jpg"></a>    <br><b>Figure 	28</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">: 	A specification example described using events modelled with 	Event-B. </span></font></font> 	</p> 	<h1 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<span style="font-variant: normal"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><b>6 	Implementation</b></span></font></font></span></h1> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">This 	article focuses on the ESB-based platform, which enables to 	implement the largest set of functionalities as well as to support 	the needs of the most complex application contexts (Laboratories 	type L3, L4, and L5). A description of implementations using the 	other middleware technologies (e.g. Web Services and Message Queues) 	can be found in <a id="br12">[</a><a href="#r12">12</a>].</font></font></p> 	<h2 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">6.1 	ESB-based Implementation</font></font></h2> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">The 	ESB-based Integration Platform was implemented entirely using the 	JBoss ESB product (version 4.10), Java 6 Update 20 and Web Services 	from the NCBI (Blast, </span></font></font><a class="western" href="https://www.biocatalogue.org/services/1930"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">https://www.biocatalogue.org/services/1930</span></font></font></a><sup><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB"> 	</span></font></font></sup> <font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">and 	ClustalW </span></font></font><a class="western" href="https://www.biocatalogue.org/services/3117"><font color="#0000ff"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><u>https://www.biocatalogue.org/services/3117</u></font></font></font></a><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">), 	DDBJ (Blast </span></font></font><a class="western" href="https://www.biocatalogue.org/services/8"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">https://www.biocatalogue.org/services/8</span></font></font></a> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">and 	ClustalW </span></font></font><a class="western" href="https://www.biocatalogue.org/services/7"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">https://www.biocatalogue.org/services/7</span></font></font></a><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">) 	and BCCS (Blast </span></font></font><a class="western" href="https://www.biocatalogue.org/services/49"><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">https://www.biocatalogue.org/services/49</span></font></font></a><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">).</span></font></font></font></font></p> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Fig. 	29 shows the main components of the platform, identifying the ESB 	services with white rectangles. Each ESB service is composed of: 1) 	one or more providers to receive and respond message, represented as 	blue rectangles; 2) actions that perform the service implementation, 	represented as green (ESB native actions) and orange (custom 	actions) rectangles.</font></font></p> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Most 	of the development was based on native ESB actions and a few 	specific custom actions where developed for those unsupported 	features by the ESB. The specification of the routing rules was 	necessary for each of the content-based routers and it was necessary 	to develop XSL transformations for those ESB services that required 	so.</font></font></p> 	    ]]></body>
<body><![CDATA[<p lang="es-ES" class="western" align="center" style="margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f29"><img src="/img/revistas/cleiej/v18n2/2a07f29.jpg"></a>    <br><b>Figure 	29</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	ESB-based Integration Platform components</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>6.1.1 	Asynchronous Interactions</i></span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">Asynchronous 	interactions based on message queues were implemented using native 	and custom actions of the ESB (Fig. 30). The native actions used 	were the Content Based Router and </span><span lang="en-GB"><i>SOAPProxy</i></span><span lang="en-GB">, 	while a </span><span lang="en-GB"><i>Jms-Provider</i></span> <span lang="en-GB">was 	configured as the service provider (Fig. 31). It was necessary to 	develop a custom action for the management of specific http headers 	to integrate with SOAP Web Services, due to the </span><span lang="en-GB"><i>SOAPProxy</i></span> 	<span lang="en-GB">did not provide this feature.</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f30"><img src="/img/revistas/cleiej/v18n2/2a07f30.jpg"></a>    <br><b>Figure 	30</b></span><span lang="en-US">: ESB Service for asynchronous 	interactions</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">This 	prototype did not include the components in Taverna to send and 	receive messages from ESB queues using the asynchronous and 	synchronous subscription modes. In turn, a Java client was developed 	to simulate Taverna&rsquo;s behaviour.</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f31"><img src="/img/revistas/cleiej/v18n2/2a07f31.jpg"></a>    <br><b>Figure 	31</b></span><span lang="en-US">: ESB JMS-Providers for asynchronous 	interactions</span></font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><i>6.1.2 	Events Notification</i></font></font></p> 	    ]]></body>
<body><![CDATA[<p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">The 	events notification feature is fully implemented using ESB native 	components, particularly using the </span><span lang="en-GB"><i>Jms-provider</i></span> 	<span lang="en-GB">provider, which implements required features in 	the topic (Fig 32 and Fig 33).</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="text-indent: 0.64cm; margin-bottom: 0.5cm"><a name="_Ref369902991"></a> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f32"><img src="/img/revistas/cleiej/v18n2/2a07f32.jpg"></a>    <br><b>Figure 	32</b></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">: 	JMS Provider to implement events notification on the ESB</span></font></font></p> 	    <p lang="es-ES" class="western" align="center" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><a name="f33"><img src="/img/revistas/cleiej/v18n2/2a07f33.jpg"></a>    <br><b>Figure 	33</b></span><span lang="en-US">: ESB-service simulating the real 	biological subscriptor</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">This 	prototype did not include the necessary components in Taverna to 	send and receive event messages from and to the ESB and neither real 	bioinformatics services subscribed to the event topics were used. 	These services were simulated using ESB-services subscribed using 	asynchronous subscriptions. Event messages where published on the 	Platform using a Java Client simulating the use of Taverna. The 	subscription process is done manually configuring the ESB services. 	APIs to perform this task programmatically were not implemented yet.</span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>6.1.3 	Message Transformation</i></span></font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">This 	functionality was implemented with native and custom components of 	the ESB. Native components were the </span><span lang="en-US"><i>SOAPProxy</i></span> 	<span lang="en-US">and </span><span lang="en-US"><i>XsltAction</i></span> 	<span lang="en-US">actions and the http-provider. As in section 	5.1.1, the development of a custom action was needed to manage 	specific http headers during the integration with biological Web 	Services because the </span><span lang="en-US"><i>SOAPProxy</i></span> 	<span lang="en-US">did not provide this feature.</span></font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">To 	implement this prototype sample XSL transformations were developed 	as a proof of concept and validation of the proposed solution 	design, staying out of scope a complete implementation of the 	canonical data model. Transformations were only applied on the 	request messages, leaving response messages transformations to 	future work. Although this point is missing, the technical aspects 	to validate the solution were covered as the application of data 	transformation of the responses is similar as data transformation of 	the requests. Finally, transformations were applied to transform the 	message, but no changes were done on the published WSDL registered 	on the ESB to reflect the new format accepted by the service. The 	ESB service has the original WSDL published by the biological 	service but only accepts transformed messages. Changes to the ESB 	service WSDL is part of the future work.</font></font></p> 	<h2 lang="es-ES" class="western" align="justify" style="margin-bottom: 0.21cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">6.2 	Summary and Implementation Conclusions</span></font></font></h2> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	implementation allowed, first, to demonstrate the technical 	feasibility of the proposal, and secondly, to know in detail the 	technical issues involved while refining the Integration Platform on 	its third level of specification. </font></font> 	</p> 	    ]]></body>
<body><![CDATA[<p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">It 	also enabled to confirm that the selection of middleware technology 	to implement the Platform is strongly related to the type of 	laboratory. It is not reasonable to use ESB-based Platforms for 	laboratories of type 1 and 2 (L1 and L2 of section 3.3), nor the 	usage of Web Services for laboratories of type 3 (L3). </font></font> 	</p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">The 	cost/result varies according to the different choices. Experience 	after this work showed that using ESB middleware requires a high 	initial cost, both in learning and implementation for the initial 	configuration of the platform, which becomes marginal for each new 	service added to it. In turn, Web Services and message queues have 	short-term results given the shorter learning curve and 	implementation. In this type of middleware, the development cost is 	linear and constant for each service that you want to integrate to 	the platform. It&rsquo;s also relevant to point out that 	laboratories which are not decided to use ESB as a first option may 	start with an implementation based on Web Services or Queues and to 	migrate afterwards to an ESB-based Platform, which does not 	constitute a complex task (using for example </span><span lang="en-US"><i>SOAPProxy</i></span> 	<span lang="en-US">or </span><span lang="en-US"><i>JMSRouter</i></span> 	<span lang="en-US">actions).</span></font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Some 	concrete development costs for integrating a service into the 	Platform using different middleware technologies are shown in Fig. 	34 and Fig. 35. These figures were obtained from an 	engineering-degree project that involved the development of 	prototypes using Web Services and Messages Queues on one side, and 	an ESB on the other side. The results show the convenience of using 	Web Services and Message Queues-based Platforms for small size 	services environments, and ESB middleware type for medium to large 	size environments.</font></font></p> </div>     <div id="Seccion15" dir="ltr"> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB"><a name="f34"><img src="/img/revistas/cleiej/v18n2/2a07f34.jpg"></a>    <br>Figure 	34: Platform development cost per service using Web Services or 	Message Queues as middleware.</span></font></font></p> 	    <p lang="en-GB" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><a name="f35"><img src="/img/revistas/cleiej/v18n2/2a07f35.jpg"></a>    <br>Figure 	35: Platform development cost per service using ESB as middleware. </font></font> 	</p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">Furthermore, 	the implementation allowed us to know the state of the art on the 	products used, finding some gaps in some of them, particularly in 	the JBoss ESB. Specifically, it was necessary to develop custom 	actions to complement the use of native actions, due to shortcomings 	in some operations. For example, the SOAP Proxy did not specify the 	needed http header </span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US"><i>SoapAction</i></span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="es-ES"> 	</span></font></font><font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">to 	connect to a Web Service. Also, the lack of powerful development 	tools adds one step of complexity to development. The existing 	development tools were very poor (Eclipse plug-ins for JBoss Tools 	had few support for JBossESB features and some bugs where found) to 	the point that it was not used most of the functionality they 	provide. In contrast to this, Web services and message queues were 	found to be very mature technologies, with the expected behavior and 	supported enough by the development tools.</span></font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Finally, 	it was not possible in all cases to have a native integration 	between Taverna and the Middleware-based Platforms due to the lack 	of specific connectors for it. For example, Taverna lacks 	integration support with JMS Message Queues. However, implementation 	of such connectors would not be a problem because of extensible 	design Taverna provides for this purpose.</font></font></p> 	<h1 lang="en-US" class="western" align="justify" style="margin-bottom: 0.21cm; font-variant: normal"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><b>7 	Conclusions and Future Work</b></font></font></h1> 	    ]]></body>
<body><![CDATA[<p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">This 	work addresses the issues of improving Bioinformatics laboratory 	collaboration and proposes a reference domain specific integration 	platform, which provides enhanced capabilities to implement 	distributed and service-based systems. This proposal aims at 	strengthening integration capabilities as well as reducing the 	complexity of application development by providing meaningful 	built-in mechanisms in the platform.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	implementation approach, based on enterprise middleware technologies 	(WS, ESB, etc.), shown to be capable of addressing the main 	requirements of providing advanced integration features and 	adequately connecting Taverna and other bioinformatics services. 	Nevertheless, functionalities like processing very large data sets 	require further work.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Although 	the proposed solution focuses on asynchronous interactions, event 	notifications and message transformation capabilities, it would also 	enable to improve process composition as well as the specification 	of service policy compliance.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">The 	main contributions of this work consist of: (i) the context analysis 	and identification of relevant features to be provided in an 	advanced Bioinformatics integration platform, (ii) the proposed 	solution that can be applied to different laboratory contexts, (iii) 	the formal specification using Event-B which enables to perform a 	rigorous treatment of the platform features on its different 	refinement levels, and (iv) the implementation of prototypes that 	enabled to validate technologies and implementation approach.</font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-US">The 	results obtained, based on an on-going research, enable to show the 	advantages and challenges of using middleware-based integration 	platforms to improve quality and scalability of </span><span lang="en-US"><i>in-silico</i></span> 	<span lang="en-US">bioinformatic experiments especially medium and 	large-scale ones. In any case, they show the feasibility of 	implementing a refinement-based approach, which would enable 	laboratories to incrementally adopt these solutions. </span></font></font> 	</p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">In 	addition, the work constitutes a step forward on carrying out a 	Platform as a Service (PaaS) approach for Bioinformatics. While the 	three-dimension framework (functionalities, scenarios, 	implementation platform) provides an extensible model, the design 	and implementation of specific mechanisms shows the feasibility of 	implementing such platforms and provides a highly useful practical 	experience.</font></font></p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Furthermore, 	the formal specification using Event-B, although it had a limited 	scope in this work, enables not only to provide a rigorous 	specification of this platform but also to incrementally build a 	specifications&rsquo; library for integration platform, and sets up 	the foundations for a formal treatment of this kind of systems.</font></font></p> 	    <p lang="es-ES" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><span lang="en-GB">This 	work opens several lines of future work, not only related to 	bioinformatics and the proposed platform, but also to the 	application in other domains. A first line consists of further 	implementation of </span><span lang="en-US"><i>in-silico</i></span> 	<span lang="en-US">experiments using the Integration Platform as 	well as to </span><span lang="en-GB">extend the provided 	functionalities and services, notably with service composition and 	service policy compliance management, and covering the transmission 	and processing of large data volumes and including connectors to 	languages often used in the Bioinformatic area (e.g. language R). A 	second line consists of developing a </span><span lang="en-US">Platform 	as a Service (PaaS) approach for the proposed Platform, taking 	advantage of Cloud computing features to address Big Data scenarios 	related with the Next Generation Sequencing technologies. Third, 	future work would also extend the Event-B formal specification 	covering more features and including demonstrations of properties. 	This would enable to further conceptualize the integration platform 	and to provide a solid ground to extend functionalities. </span></font></font> 	</p> 	    <p lang="en-US" class="western" align="justify" style="text-indent: 0.64cm; margin-bottom: 0.5cm"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt">Finally, 	conceptualizing Domain Specific integration platforms, beyond the 	Bioinformatics context, appears to be highly promising, as could 	enable to benefit from the conceptualization done in this work as 	well as parts of the technology platform to solve other integration 	requirements. The dimensions-based model may be replicated in 	different areas, parts of the Event-B specification could be reused 	and many of the ESB-based pattern implementation may be reused in 	other similar integration scenarios.</font></font></p> 	    <p lang="en-US" class="western" align="left" style="margin-right: 0.02cm; margin-top: 0.42cm; margin-bottom: 0.21cm; page-break-inside: avoid; orphans: 0; widows: 0; page-break-after: avoid"> 	<font face="Verdana, sans-serif"><font size="2" style="font-size: 10pt"><b>References</b></font></font></p> 	    ]]></body>
<body><![CDATA[<p lang="en-US" class="western"><a id="r1">[</a><a href="#br1">1</a>] R. Stevens, K. Glover, C. 	Greenhalgh, C. Jennings, S. Pearce, P. Li, M. Radenkovic, y A. 	Wipat, Performing in silico Experiments on the Grid: A Users&rsquo; 	Perspective. 2003.</p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r2">[</a><a href="#br2">2</a>] T. Kulikova, P. Aldebert, N. 	Althorpe, W. Baker, K. Bates, P. Browne, A. van den Broek, G. 	Cochrane, K. Duggan, R. Eberhardt, N. Faruque, M. Garcia-Pastor, N. 	Harte, C. Kanz, R. Leinonen, Q. Lin, V. Lombard, R. Lopez, R. 	Mancuso, M. McHale, F. Nardone, V. Silventoinen, P. Stoehr, G. 	Stoesser, M. A. Tuli, K. Tzouvara, R. Vaughan, D. Wu, W. Zhu, y R. 	Apweiler, &laquo;The EMBL Nucleotide Sequence Database&raquo;, 	Nucleic Acids Res., vol. 32, n.o Database issue, pp. D27-30, ene. 	2004.    </p> 	    <p lang="en-US" class="western"><a id="r3">[</a><a href="#br3">3</a>] B. Boeckmann, A. Bairoch, R. 	Apweiler, M.-C. Blatter, A. Estreicher, E. Gasteiger, M. J. Martin, 	K. Michoud, C. O&rsquo;Donovan, I. Phan, S. Pilbout, y M. Schneider, 	&laquo;The SWISS-PROT protein knowledgebase and its supplement 	TrEMBL in 2003&raquo;, Nucleic Acids Res., vol. 31, n.o 1, pp. 	365-370, ene. 2003.</p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r4">[</a><a href="#br4">4</a>] S. F. Altschul, W. Gish, W. 	Miller, E. W. Myers, y D. J. Lipman, &laquo;Basic local alignment 	search tool&raquo;, J. Mol. Biol., vol. 215, n.o 3, pp. 403-410, 	oct. 1990.    </p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r5">[</a><a href="#br5">5</a>] J. D. Thompson, D. G. Higgins, y 	T. J. Gibson, &laquo;CLUSTAL W: improving the sensitivity of 	progressive multiple sequence alignment through sequence weighting, 	position-specific gap penalties and weight matrix choice&raquo;, 	Nucleic Acids Res., vol. 22, n.o 22, pp. 4673-4680, nov. 1994.    </p> 	    <p lang="en-US" class="western"><a id="r6">[</a><a href="#br6">6</a>] K. Wolstencroft, R. Haines, D. 	Fellows, A. Williams, D. Withers, S. Owen, S. Soiland-Reyes, I. 	Dunlop, A. Nenadic, P. Fisher, J. Bhagat, K. Belhajjame, F. Bacall, 	A. Hardisty, A. Nieva de la Hidalga, M. P. Balcazar Vargas, S. Sufi, 	y C. Goble, &laquo;The Taverna workflow suite: designing and 	executing workflows of Web Services on the desktop, web or in the 	cloud&raquo;, Nucleic Acids Research, vol. 41, n.o W1, pp. 	W557&ndash;W561, jul. 2013.</p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r7">[</a><a href="#br7">7</a>] &laquo;Taverna in use | 	Taverna&raquo;. [En l&iacute;nea]. Disponible en: 	<a class="western" href="http://www.taverna.org.uk/introduction/taverna-in-use/">http://www.taverna.org.uk/introduction/taverna-in-use/</a> 	. [Accedido: 03-nov-2014].    </p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r8">[</a><a href="#br8">8</a>] G. Llamb&iacute;as y R. Ruggia, 	&laquo;Taverna: un ambiente para el desarrollo experimentos 	cient&iacute;ficos&raquo;, Pedeciba Inform&aacute;tica, RT 10-11.    </p> 	    <p lang="en-US" class="western"><a id="r9">[</a><a href="#br9">9</a>] G. Llamb&iacute;as, L. Gonz&aacute;lez, 	R. Ruggia, &ldquo;Towards an Integration Platform for Bioinformatics 	Services&rdquo;, Service-Oriented Computing &ndash; ICSOC 2013 	Workshops, Vol. 8377, pp. 445-456, 2014.</p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r10">[</a><a href="#br10">10</a>] P. J. Hurd y C. J. Nelson, 	&laquo;Advantages of next-generation sequencing versus the 	microarray in epigenetic research&raquo;, Brief Funct Genomic 	Proteomic, vol. 8, n.o 3, pp. 174-183, may 2009.    </p> 	    <p lang="en-US" class="western"><a id="r11">[</a><a href="#br11">11</a>] M.-T. Schmidt, B. Hutchison, P. 	Lambros, R. Phippen, &ldquo;The enterprise service bus: making 	service-oriented architecture real&rdquo;, IBM Systems Journal, Vol. 	44, n&ordm; 4, pp. 781&ndash;797, 2005.</p> 	    <p lang="en-US" class="western"><a id="r12">[</a><a href="#br12">12</a>] G. Wiederhold, &ldquo;Mediators 	in the architecture of future information systems&rdquo;, Computer, 	Vol. 25, n&ordm; 3, 38&ndash;49, 1992.</p> 	    <p lang="en-US" class="western"><a id="r13">[</a><a href="#br13">13</a>] G. Llamb&iacute;as, &ldquo;Hacia 	una Plataforma de Integraci&oacute;n de Servicios Bioinform&aacute;ticos&rdquo;, 	Tesis de Maestr&iacute;a. Pedeciba Inform&aacute;tica. Uruguay, 	2013.</p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r14">[</a><a href="#br14">14</a>] D. Hull, K. Wolstencroft, R. 	Stevens, C. Goble, M. R. Pocock, P. Li, y T. Oinn, &laquo;Taverna: a 	tool for building and running workflows of services&raquo;, Nucleic 	Acids Res, vol. 34, n.o Web Server issue, pp. W729-W732, jul, 2006.    </p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r15">[</a><a href="#br15">15</a>] B. Langmead, C. Trapnell, M. 	Pop, y S. L. Salzberg, &laquo;Ultrafast and memory-efficient 	alignment of short DNA sequences to the human genome&raquo;, Genome 	Biology, vol. 10, n.o 3, p. R25, mar, 2009.    </p> 	    <p lang="en-US" class="western"><a id="r16">[</a><a href="#br16">16</a>] A. Falk, T. Faber, J. 	Bannister, A. Chien, R. Grossman, y J. Leigh, &laquo;Transport 	protocols for high performance&raquo;, Commun. ACM, vol. 46, n.o 11, 	pp. 42&ndash;49, nov. 2003.</p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r17">[</a><a href="#br17">17</a>] T. Disz, M. Kubal, R. Olson, R. 	Overbeek, y R. Stevens, &laquo;Challenges in large scale distributed 	computing: bioinformatics&raquo;, en Challenges of Large 	Applications in Distributed Environments, 2005. CLADE 2005. 	Proceedings, 2005, pp. 57-65.    </p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r18">[</a><a href="#br18">18</a>] L. D. Stein, &laquo;The case 	for cloud computing in genome informatics&raquo;, Genome Biology, 	vol. 11, n.o 5, p. 207, may, 2010.    </p> 	    <p lang="en-US" class="western"><a id="r19">[</a><a href="#br19">19</a>] I. Altintas, J. Wang, D. Crawl, 	y W. Li, &laquo;Challenges and approaches for distributed 	workflow-driven analysis of large-scale biological data: vision 	paper&raquo;, Proceedings of the 2012 Joint EDBT/ICDT Workshops, New 	York, NY, USA, 2012, pp. 73&ndash;78.</p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r20">[</a><a href="#br20">20</a>] R. D. Stevens, A. J. Robinson, 	y C. A. Goble, &laquo;myGrid: personalised bioinformatics on the 	information grid&raquo;, Bioinformatics, vol. 19, n.o suppl 1, pp. 	i302-i304, mar. 2003.    </p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r21">[</a><a href="#br21">21</a>] S. Bechhofer, J. Ainsworth, J. 	Bhagat, I. Buchan, P. Couch, D. Cruickshank, M. Delderfield, I. 	Dunlop, M. Gamble, C. Goble, D. Michaelides, P. Missier, S. Owen, D. 	Newman, D. De Roure, y S. Sufi, &laquo;Why Linked Data is Not Enough 	for Scientists&raquo;, ESCIENCE '10 Proceedings of the 2010 IEEE 	Sixth International Conference on e-Science, 2010, pp. 300-307.    </p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r22">[</a><a href="#br22">22</a>] &laquo;Web Service Definition 	Language (WSDL)&raquo;. [En l&iacute;nea]. Disponible en: 	<a class="western" href="http://www.w3.org/TR/wsdl">http://www.w3.org/TR/wsdl</a> 	. [Accedido: 03-nov-2014].    </p> 	    <p lang="en-US" class="western"><a id="r23">[</a><a href="#br23">23</a>] D. A. Chappell, Enterprise 	service bus. Beijing; Cambridge: O&rsquo;Reilly, 2004.</p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r24">[</a><a href="#br24">24</a>] C. H&eacute;rault, G. Thomas, y 	U. J. Fourier, &laquo;Mediation and Enterprise Service Bus: A 	position paper&raquo;, en Proceedings of the First International 	Workshop on Mediation in Semantic Web Services (MEDIATE), 2005<!-- ref --><p lang="en-US" class="western"><a id="r25">[</a><a href="#br25">25</a>] Erl, T.: SOA design patterns. 	Prentice Hall, Upper Saddle River, NJ (2009).    </p> 	    <p lang="en-US" class="western"><a id="r26">[</a><a href="#br26">26</a>] G. Hohpe, B. Woolf, &ldquo;Enterprise 	Integration Patterns: Designing, Building and Deploying Messaging 	Solutions&rdquo;, Addison-Wesley Professional, 2003.</p> 	    ]]></body>
<body><![CDATA[<p lang="en-US" class="western"><a id="r27">[</a><a href="#br27">27</a>] Enterprise Connectivity 	Patterns: Implementing integration solutions with IBM&rsquo;s 	Enterprise Service Bus products, 	<a class="western" href="http://www.ibm.com/developerworks/library/ws-enterpriseconnectivitypatterns/">http://www.ibm.com/developerworks/library/ws-enterpriseconnectivitypatterns/</a>, 	[Accedido: 03-nov-2014].</p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r28">[</a><a href="#br28">28</a>] G. Edwards y N. Medvidovic, &laquo;A 	Methodology and Framework for Creating Domain-Specific Development 	Infrastructures&raquo;, en 23rd IEEE/ACM International Conference on 	Automated Software Engineering, 2008, pp. 168-177.    </p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r29">[</a><a href="#br29">29</a>] &laquo;IPF Overview - Open 	eHealth Integration Platform 2.x - Confluence&raquo;. [En l&iacute;nea]. 	Disponible en: <a class="western" href="http://www.openehealth.org/display/ipf2/IPF+Overview">http://www.openehealth.org/display/ipf2/IPF+Overview</a>. 	[Accedido: 03-nov-2014].    </p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r30">[</a><a href="#br30">30</a>] B. Rienzi, L. Gonz&aacute;lez, 	y R. Ruggia, &laquo;Towards an ESB-Based Enterprise Integration 	Platform for Geospatial Web Services&raquo;, GEOProcessing 2013, The 	Fifth International Conference on Advanced Geographic Information 	Systems, Applications, and Services, 2013, pp. 39-45.    </p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r31">[</a><a href="#br31">31</a>] C. M&eacute;tayer, J. R. 	Abrial, L. Voisin, Rigorous Open Development Environment for Complex 	Systems: Event B language. 2005.    </p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r32">[</a><a href="#br32">32</a>] D. Yadav y M. Butler, &laquo;Rigorous 	Design of Fault-Tolerant Transactions for Replicated Database 	Systems using Event B&raquo;, Rigorous Development of Complex 	Fault-Tolerant Systems, Lecture Notes in Computer Science, Springer 	, 2006, 2006, pp. 343-363.    </p> 	    <p lang="en-US" class="western"><a id="r33">[</a><a href="#br33">33</a>] J. Bryans, J. Fitzgerald, A. 	Romanovsky, y A. Roth, &laquo;Formal Modelling and Analysis of 	Business Information Applications with Fault Tolerant Middleware&raquo;, 	Proceedings of the 2009 14th IEEE International Conference on 	Engineering of Complex Computer Systems, Washington, DC, USA, 2009, 	pp. 68&ndash;77.</p> 	    <p lang="en-US" class="western"><a id="r34">[</a><a href="#br34">34</a>] S. Perera, D. Gannon, &ldquo;Enabling 	Web Service extensions for scientific workflows&rdquo;, WORKS &rsquo;06, 	Workshop on Workflows in Support of Large-Scale Science, 2006. pp. 	1&ndash;10.</p> 	    <p lang="en-US" class="western"><a id="r35">[</a><a href="#br35">35</a>] T. Gunarathne, C. Herath, E. 	Chinthaka, S. Marru, &ldquo;Experience with adapting a WS-BPEL 	runtime for eScience workflows&rdquo;, Proceedings of the 5th Grid 	Computing Environments Workshop, 2009, pp. 7.</p> 	    <p lang="en-US" class="western"><a id="r36">[</a><a href="#br36">36</a>] Y. Huang, E. Slominski, C. 	Herath, D. Gannon, &ldquo;Wsmessenger: A web services-based 	messaging system for service-oriented grid computing&rdquo;, Sixth 	IEEE International Symposium on Cluster Computing and the Grid 	(CCGRID 06), vol 1, n&ordm; 8, pp 173, 2006.</p> 	    <p lang="en-US" class="western"><a id="r37">[</a><a href="#br37">37</a>] A. Alqaoud, I. Taylor, A. 	Jones, &ldquo;Publish/subscribe as a model for scientific workflow 	interoperability&rdquo;, Proceedings of the 4th Workshop on 	Workflows in Support of Large-Scale Science (WORKS&rsquo;09), 2009, 	pp. 1.</p> 	    <p lang="en-US" class="western"><a id="r38">[</a><a href="#br38">38</a>] D. Gannon, M. Christie, S. 	Marru, S. Shirasuna, A. Slominski, &ldquo;Programming Paradigms for 	Scientific Problem Solving Environments&rdquo;, Gaffney, P.W. and 	Pool, J.C.T. (eds.) Grid-Based Problem Solving Environments. pp. 	3&ndash;15. Springer US (2007).</p> 	    <p lang="en-US" class="western"><a id="r39">[</a><a href="#br39">39</a>] D. Hull, R. Stevens, P. Lord, 	C. Wroe, C. Goble, &ldquo;Treating shimantic web syndrome with 	ontologies&rdquo;, University, Milton Keynes, UK (2004).</p> 	    <p lang="en-US" class="western"><a id="r40">[</a><a href="#br40">40</a>] D. Zinn, S. Bowers, T. 	McPhillips, B. Lud&auml;scher, &ldquo;Scientific workflow design 	with data assembly lines&rdquo;, Proceedings of the 4th Workshop on 	Workflows in Support of Large-Scale Science, 2009, pp. 14.</p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r41">[</a><a href="#br41">41</a>] M. Wilkinson, B Vandervalk, L. 	McCarthy, The Semantic Automated Discovery and Integration (SADI) 	Web service Design-Pattern, API and Reference Implementation, 	Journal of Biomedical Semantics, Vol. 2, No. 1. (2011)<!-- ref --><p lang="en-US" class="western"><a id="r42">[</a><a href="#br42">42</a>] N. J. Loman y M. J. Pallen, 	&laquo;EntrezAJAX: direct web browser access to the Entrez 	Programming Utilities&raquo;, Source Code Biol Med, vol. 5, p. 6, 	2010.    </p> 	    <!-- ref --><p lang="en-US" class="western"><a id="r43">[</a><a href="#br43">43</a>] Wassink, I., Vet, P.E. van der, 	Wolstencroft, K., Neerincx, P.B.T., Roos, M., Rauwerda, H., Breit, 	T.M.: Analysing Scientific Workflows: Why Workflows Not Only Connect 	Web Services. Presented at the July (2009).    </p> 	    <p lang="en-US" class="western"><a id="r44">[</a><a href="#br44">44</a>] Snook, C. and Butler, M., U2B, 	&ldquo;A tool for translating UML-B models into B&rdquo;, UML-B 	Specification for Proven Embedded Systems Design, chapter 6. 	Springer-Verlag (2004).</p> 	    <p lang="en-US" class="western">    <br>  	</p> </div>      ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Stevens]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Glover]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
<name>
<surname><![CDATA[Greenhalgh]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Jennings]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Pearce]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Li]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Radenkovic]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Wipat]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<source><![CDATA[Performing in silico Experiments on the Grid: A Users&rsquo; Perspective]]></source>
<year>2003</year>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kulikova]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
<name>
<surname><![CDATA[Aldebert]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Althorpe]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
<name>
<surname><![CDATA[Baker]]></surname>
<given-names><![CDATA[W.]]></given-names>
</name>
<name>
<surname><![CDATA[Bates]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
<name>
<surname><![CDATA[Browne]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Broek]]></surname>
<given-names><![CDATA[A. van den]]></given-names>
</name>
<name>
<surname><![CDATA[Cochrane]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[Duggan]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
<name>
<surname><![CDATA[Eberhardt]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Faruque]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
<name>
<surname><![CDATA[Garcia-Pastor]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Harte]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
<name>
<surname><![CDATA[Kanz]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Leinonen]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Lin]]></surname>
<given-names><![CDATA[Q.]]></given-names>
</name>
<name>
<surname><![CDATA[Lombard]]></surname>
<given-names><![CDATA[V.]]></given-names>
</name>
<name>
<surname><![CDATA[Lopez]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Mancuso]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[McHale]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Nardone]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
<name>
<surname><![CDATA[Silventoinen]]></surname>
<given-names><![CDATA[V.]]></given-names>
</name>
<name>
<surname><![CDATA[Stoehr]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Stoesser]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[Tuli]]></surname>
<given-names><![CDATA[M. A.]]></given-names>
</name>
<name>
<surname><![CDATA[Tzouvara]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
<name>
<surname><![CDATA[Vaughan]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Wu]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Zhu]]></surname>
<given-names><![CDATA[W.]]></given-names>
</name>
<name>
<surname><![CDATA[Apweiler]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The EMBL Nucleotide Sequence Database]]></article-title>
<source><![CDATA[Nucleic Acids Res]]></source>
<year>ene.</year>
<month> 2</month>
<day>00</day>
<volume>32</volume>
<page-range>D27-30</page-range></nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Boeckmann]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
<name>
<surname><![CDATA[Bairoch]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Apweiler]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Blatter]]></surname>
<given-names><![CDATA[M.-C.]]></given-names>
</name>
<name>
<surname><![CDATA[Estreicher]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Gasteiger]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
<name>
<surname><![CDATA[Martin]]></surname>
<given-names><![CDATA[M. J.]]></given-names>
</name>
<name>
<surname><![CDATA[Michoud]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
<name>
<surname><![CDATA[O&rsquo;Donovan]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Phan]]></surname>
<given-names><![CDATA[I.]]></given-names>
</name>
<name>
<surname><![CDATA[Pilbout]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Schneider]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The SWISS-PROT protein knowledgebase and its supplement TrEMBL in 2003]]></article-title>
<source><![CDATA[Nucleic Acids Res]]></source>
<year>ene.</year>
<month> 2</month>
<day>00</day>
<volume>31</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>365-370</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Altschul]]></surname>
<given-names><![CDATA[S. F.]]></given-names>
</name>
<name>
<surname><![CDATA[Gish]]></surname>
<given-names><![CDATA[W.]]></given-names>
</name>
<name>
<surname><![CDATA[Miller]]></surname>
<given-names><![CDATA[W.]]></given-names>
</name>
<name>
<surname><![CDATA[Myers]]></surname>
<given-names><![CDATA[E. W.]]></given-names>
</name>
<name>
<surname><![CDATA[Lipman]]></surname>
<given-names><![CDATA[D. J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Basic local alignment search tool]]></article-title>
<source><![CDATA[J. Mol. Biol]]></source>
<year>oct.</year>
<month> 1</month>
<day>99</day>
<volume>215</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>403-410</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Thompson]]></surname>
<given-names><![CDATA[J. D.]]></given-names>
</name>
<name>
<surname><![CDATA[Higgins]]></surname>
<given-names><![CDATA[D. G.]]></given-names>
</name>
<name>
<surname><![CDATA[Gibson]]></surname>
<given-names><![CDATA[T. J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[CLUSTAL W: improving the sensitivity of progressive multiple sequence alignment through sequence weighting, position-specific gap penalties and weight matrix choice]]></article-title>
<source><![CDATA[Nucleic Acids Res]]></source>
<year>nov.</year>
<month> 1</month>
<day>99</day>
<volume>22</volume>
<numero>22</numero>
<issue>22</issue>
<page-range>4673-4680</page-range></nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wolstencroft]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
<name>
<surname><![CDATA[Haines]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Fellows]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Williams]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Withers]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Owen]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Soiland-Reyes]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Dunlop]]></surname>
<given-names><![CDATA[I.]]></given-names>
</name>
<name>
<surname><![CDATA[Nenadic]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Fisher]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Bhagat]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Belhajjame]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
<name>
<surname><![CDATA[Bacall]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
<name>
<surname><![CDATA[Hardisty]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Nieva de la Hidalga]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Vargas]]></surname>
<given-names><![CDATA[M. P. Balcazar]]></given-names>
</name>
<name>
<surname><![CDATA[Sufi]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Goble]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The Taverna workflow suite: designing and executing workflows of Web Services on the desktop, web or in the cloud]]></article-title>
<source><![CDATA[Nucleic Acids Research]]></source>
<year>jul.</year>
<month> 2</month>
<day>01</day>
<volume>41</volume>
<numero>W1</numero>
<issue>W1</issue>
<page-range>W557-W561</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="">
<source><![CDATA[Taverna in use Taverna]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Llambías]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[Ruggia]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Taverna: un ambiente para el desarrollo experimentos científicos]]></article-title>
<source><![CDATA[Pedeciba Informática]]></source>
<year></year>
<page-range>10-11</page-range></nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Llambías]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[González]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
<name>
<surname><![CDATA[Ruggia]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Towards an Integration Platform for Bioinformatics Services]]></article-title>
<source><![CDATA[Service-Oriented Computing - ICSOC]]></source>
<year>2013</year>
<month>20</month>
<day>14</day>
<volume>8377</volume>
<page-range>445-456</page-range></nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hurd]]></surname>
<given-names><![CDATA[P. J.]]></given-names>
</name>
<name>
<surname><![CDATA[Nelson]]></surname>
<given-names><![CDATA[C. J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Advantages of next-generation sequencing versus the microarray in epigenetic research]]></article-title>
<source><![CDATA[Brief Funct Genomic Proteomic]]></source>
<year>may </year>
<month>20</month>
<day>09</day>
<volume>8</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>174-183</page-range></nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Schmidt]]></surname>
<given-names><![CDATA[M.-T.]]></given-names>
</name>
<name>
<surname><![CDATA[Hutchison]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
<name>
<surname><![CDATA[Lambros]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Phippen]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The enterprise service bus: making service-oriented architecture real]]></article-title>
<source><![CDATA[IBM Systems Journal]]></source>
<year>2005</year>
<volume>44</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>781-797</page-range></nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wiederhold]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Mediators in the architecture of future information systems]]></article-title>
<source><![CDATA[Computer]]></source>
<year>1992</year>
<volume>25</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>38-49</page-range></nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Llambías]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Hacia una Plataforma de Integración de Servicios Bioinformáticos]]></article-title>
<source><![CDATA[Tesis de Maestría: Pedeciba Informática]]></source>
<year>2013</year>
</nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hull]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Wolstencroft]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
<name>
<surname><![CDATA[Stevens]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Goble]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Pocock]]></surname>
<given-names><![CDATA[M. R.]]></given-names>
</name>
<name>
<surname><![CDATA[Li]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Oinn]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Taverna: a tool for building and running workflows of services]]></article-title>
<source><![CDATA[Nucleic Acids Res]]></source>
<year>jul,</year>
<month> 2</month>
<day>00</day>
<volume>34</volume>
<page-range>W729-W732</page-range></nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Langmead]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
<name>
<surname><![CDATA[Trapnell]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Pop]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Salzberg]]></surname>
<given-names><![CDATA[S. L.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Ultrafast and memory-efficient alignment of short DNA sequences to the human genome]]></article-title>
<source><![CDATA[Genome Biology]]></source>
<year>mar,</year>
<month> 2</month>
<day>00</day>
<volume>10</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>R25</page-range></nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Falk]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Faber]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
<name>
<surname><![CDATA[Bannister]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Chien]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Grossman]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Leigh]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Transport protocols for high performance]]></article-title>
<source><![CDATA[Commun. ACM]]></source>
<year></year>
<volume>46</volume>
<numero>11</numero>
<issue>11</issue>
<page-range>42-49</page-range></nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Disz]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
<name>
<surname><![CDATA[Kubal]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Olson]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Overbeek]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Stevens]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Challenges in large scale distributed computing: bioinformatics]]></article-title>
<source><![CDATA[Challenges of Large Applications in Distributed Environments]]></source>
<year>2005</year>
<page-range>57-65</page-range></nlm-citation>
</ref>
<ref id="B18">
<label>18</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Stein]]></surname>
<given-names><![CDATA[L. D.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The case for cloud computing in genome informatics]]></article-title>
<source><![CDATA[Genome Biology]]></source>
<year>may,</year>
<month> 2</month>
<day>01</day>
<volume>11</volume>
<numero>5</numero>
<issue>5</issue>
<page-range>207</page-range></nlm-citation>
</ref>
<ref id="B19">
<label>19</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Altintas]]></surname>
<given-names><![CDATA[I.]]></given-names>
</name>
<name>
<surname><![CDATA[Wang]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Crawl]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Li]]></surname>
<given-names><![CDATA[W.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Challenges and approaches for distributed workflow-driven analysis of large-scale biological data: vision paper]]></article-title>
<source><![CDATA[Proceedings of the 2012 Joint EDBT/ICDT Workshops]]></source>
<year>2012</year>
<page-range>73-78</page-range><publisher-loc><![CDATA[New York ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B20">
<label>20</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Stevens]]></surname>
<given-names><![CDATA[R. D.]]></given-names>
</name>
<name>
<surname><![CDATA[Robinson]]></surname>
<given-names><![CDATA[A. J.]]></given-names>
</name>
<name>
<surname><![CDATA[Goble]]></surname>
<given-names><![CDATA[C. A.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[myGrid: personalised bioinformatics on the information grid]]></article-title>
<source><![CDATA[Bioinformatics]]></source>
<year>mar.</year>
<month> 2</month>
<day>00</day>
<volume>19</volume>
<numero>^s1</numero>
<issue>^s1</issue>
<supplement>1</supplement>
<page-range>i302-i304</page-range></nlm-citation>
</ref>
<ref id="B21">
<label>21</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bechhofer]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Ainsworth]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Bhagat]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Buchan]]></surname>
<given-names><![CDATA[I.]]></given-names>
</name>
<name>
<surname><![CDATA[Couch]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Cruickshank]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Delderfield]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Dunlop]]></surname>
<given-names><![CDATA[I.]]></given-names>
</name>
<name>
<surname><![CDATA[Gamble]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Goble]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Michaelides]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Missier]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Owen]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Newman]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Roure]]></surname>
<given-names><![CDATA[D. De]]></given-names>
</name>
<name>
<surname><![CDATA[Sufi]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Why Linked Data is Not Enough for Scientists]]></article-title>
<source><![CDATA[ESCIENCE '10 Proceedings of the 2010 IEEE Sixth International Conference on e-Science]]></source>
<year>2010</year>
<page-range>300-307</page-range></nlm-citation>
</ref>
<ref id="B22">
<label>22</label><nlm-citation citation-type="">
<source><![CDATA[Web Service Definition Language: WSDL]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B23">
<label>23</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Chappell]]></surname>
<given-names><![CDATA[D. A.]]></given-names>
</name>
</person-group>
<source><![CDATA[Enterprise service bus]]></source>
<year>2004</year>
<publisher-loc><![CDATA[Beijing^eCambridge Cambridge]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B24">
<label>24</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hérault]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Thomas]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[Fourier]]></surname>
<given-names><![CDATA[U. J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Mediation and Enterprise Service Bus: A position paper]]></article-title>
<source><![CDATA[Proceedings of the First International Workshop on Mediation in Semantic Web Services: MEDIATE]]></source>
<year>2005</year>
</nlm-citation>
</ref>
<ref id="B25">
<label>25</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Erl]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
</person-group>
<source><![CDATA[SOA design patterns]]></source>
<year>2009</year>
<publisher-loc><![CDATA[NJ ]]></publisher-loc>
<publisher-name><![CDATA[Prentice Hall]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B26">
<label>26</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hohpe]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[Woolf]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
</person-group>
<source><![CDATA[Enterprise Integration Patterns: Designing, Building and Deploying Messaging Solutions]]></source>
<year>2003</year>
<publisher-name><![CDATA[Addison-Wesley Professional]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B27">
<label>27</label><nlm-citation citation-type="">
<source><![CDATA[Enterprise Connectivity Patterns: Implementing integration solutions with IBM&rsquo;s Enterprise Service Bus products]]></source>
<year>03-n</year>
<month>ov</month>
<day>-2</day>
</nlm-citation>
</ref>
<ref id="B28">
<label>28</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Edwards]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[Medvidovic]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A Methodology and Framework for Creating Domain-Specific Development Infrastructures]]></article-title>
<source><![CDATA[23rd IEEE/ACM International Conference on Automated Software Engineering]]></source>
<year>2008</year>
<page-range>168-177</page-range></nlm-citation>
</ref>
<ref id="B29">
<label>29</label><nlm-citation citation-type="">
<source><![CDATA[IPF Overview - Open eHealth Integration Platform 2.x: Confluence]]></source>
<year>03-n</year>
<month>ov</month>
<day>-2</day>
</nlm-citation>
</ref>
<ref id="B30">
<label>30</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Rienzi]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
<name>
<surname><![CDATA[González]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
<name>
<surname><![CDATA[Ruggia]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Towards an ESB-Based Enterprise Integration Platform for Geospatial Web Services]]></article-title>
<source><![CDATA[GEOProcessing 2013: The Fifth International Conference on Advanced Geographic Information Systems, Applications, and Services]]></source>
<year>2013</year>
<page-range>39-45</page-range></nlm-citation>
</ref>
<ref id="B31">
<label>31</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Métayer]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Abrial]]></surname>
<given-names><![CDATA[J. R.]]></given-names>
</name>
<name>
<surname><![CDATA[Voisin]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
</person-group>
<source><![CDATA[Rigorous Open Development Environment for Complex Systems: Event B language]]></source>
<year>2005</year>
</nlm-citation>
</ref>
<ref id="B32">
<label>32</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Yadav]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Butler]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Rigorous Design of Fault-Tolerant Transactions for Replicated Database Systems using Event B]]></article-title>
<source><![CDATA[Rigorous Development of Complex Fault-Tolerant Systems: Lecture Notes in Computer Science]]></source>
<year>2006</year>
<page-range>343-363</page-range><publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B33">
<label>33</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bryans]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Fitzgerald]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Romanovsky]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Roth]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Formal Modelling and Analysis of Business Information Applications with Fault Tolerant Middleware]]></article-title>
<source><![CDATA[Proceedings of the 2009 14th IEEE International Conference on Engineering of Complex Computer Systems]]></source>
<year>2009</year>
<page-range>68-77</page-range><publisher-loc><![CDATA[Washington^eDC DC]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B34">
<label>34</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Perera]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Gannon]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Enabling Web Service extensions for scientific workflows]]></article-title>
<source><![CDATA[WORKS &rsquo;06: Workshop on Workflows in Support of Large-Scale Science]]></source>
<year></year>
<page-range>1-10</page-range></nlm-citation>
</ref>
<ref id="B35">
<label>35</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Gunarathne]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
<name>
<surname><![CDATA[Herath]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Chinthaka]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
<name>
<surname><![CDATA[Marru]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Experience with adapting a WS-BPEL runtime for eScience workflows]]></article-title>
<source><![CDATA[Proceedings of the 5th Grid Computing Environments Workshop]]></source>
<year>2009</year>
<page-range>7</page-range></nlm-citation>
</ref>
<ref id="B36">
<label>36</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Huang]]></surname>
<given-names><![CDATA[Y.]]></given-names>
</name>
<name>
<surname><![CDATA[Slominski]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
<name>
<surname><![CDATA[Herath]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Gannon]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Wsmessenger: A web services-based messaging system for service-oriented grid computing]]></article-title>
<source><![CDATA[Sixth IEEE International Symposium on Cluster Computing and the Grid]]></source>
<year>2006</year>
<volume>1</volume>
<page-range>173</page-range></nlm-citation>
</ref>
<ref id="B37">
<label>37</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Alqaoud]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Taylor]]></surname>
<given-names><![CDATA[I.]]></given-names>
</name>
<name>
<surname><![CDATA[Jones]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Publish/subscribe as a model for scientific workflow interoperability]]></article-title>
<source><![CDATA[Proceedings of the 4th Workshop on Workflows in Support of Large-Scale Science: WORKS&rsquo;09]]></source>
<year>2009</year>
<page-range>1</page-range></nlm-citation>
</ref>
<ref id="B38">
<label>38</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Gannon]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Christie]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Marru]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Shirasuna]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Slominski]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Programming Paradigms for Scientific Problem Solving Environments]]></article-title>
<person-group person-group-type="editor">
<name>
<surname><![CDATA[Gaffney]]></surname>
<given-names><![CDATA[P.W.]]></given-names>
</name>
<name>
<surname><![CDATA[Pool]]></surname>
<given-names><![CDATA[J.C.T.]]></given-names>
</name>
</person-group>
<source><![CDATA[Grid-Based Problem Solving Environments]]></source>
<year></year>
<page-range>3-15</page-range><publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B39">
<label>39</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hull]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Stevens]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Lord]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Wroe]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Goble]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
</person-group>
<source><![CDATA[Treating shimantic web syndrome with ontologies]]></source>
<year></year>
<publisher-loc><![CDATA[Milton Keynes ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B40">
<label>40</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Zinn]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Bowers]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[McPhillips]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
<name>
<surname><![CDATA[Ludäscher]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Scientific workflow design with data assembly lines]]></article-title>
<source><![CDATA[Proceedings of the 4th Workshop on Workflows in Support of Large-Scale Science]]></source>
<year>2009</year>
<page-range>14</page-range></nlm-citation>
</ref>
<ref id="B41">
<label>41</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wilkinson]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Vandervalk]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[McCarthy]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The Semantic Automated Discovery and Integration (SADI) Web service Design-Pattern, API and Reference Implementation]]></article-title>
<source><![CDATA[Journal of Biomedical Semantics]]></source>
<year>2011</year>
<volume>2</volume>
<numero>1</numero>
<issue>1</issue>
</nlm-citation>
</ref>
<ref id="B42">
<label>42</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Loman]]></surname>
<given-names><![CDATA[N. J.]]></given-names>
</name>
<name>
<surname><![CDATA[Pallen]]></surname>
<given-names><![CDATA[M. J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[EntrezAJAX: direct web browser access to the Entrez Programming Utilities]]></article-title>
<source><![CDATA[Source Code Biol Med]]></source>
<year>2010</year>
<volume>5</volume>
<page-range>6</page-range></nlm-citation>
</ref>
<ref id="B43">
<label>43</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wassink]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
<name>
<surname><![CDATA[Vet]]></surname>
<given-names><![CDATA[P.E. van der]]></given-names>
</name>
<name>
<surname><![CDATA[Wolstencroft]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
<name>
<surname><![CDATA[Neerincx]]></surname>
<given-names><![CDATA[P.B.T.]]></given-names>
</name>
<name>
<surname><![CDATA[Roos]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Rauwerda]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[Breit]]></surname>
<given-names><![CDATA[T.M.]]></given-names>
</name>
</person-group>
<source><![CDATA[]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B44">
<label>44</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Snook]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[Butler]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A tool for translating UML-B models into B]]></article-title>
<source><![CDATA[UML-B Specification for Proven Embedded Systems Design]]></source>
<year>2004</year>
<publisher-name><![CDATA[Springer-Verlag]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
