<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Building Semantic Mashup</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Abdelhamid Malki</string-name>
          <email>abdelhamid.malki@gmail</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sidi Mohammed Benslimane</string-name>
          <email>Benslimane@univ-sba.dz</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>EEDIS Laboratory , University of Djilali Liabes , Sidi Bel Abbes</institution>
          ,
          <addr-line>Algérie</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2012</year>
      </pub-date>
      <fpage>40</fpage>
      <lpage>49</lpage>
      <abstract>
        <p>Mashups allowed a significant advance in the automation of interactions between applications and Web resources. In particular, the combination of Web APIs is seen as a strength, which can meet the complex needs by combining the functionality and data from multiple services within a single Mashup application. Automating the process of building Mashup based mainly on the Semantics Web APIs facilitate to the developer their selection and matching. In this paper, we propose SAWADL (Semantic Annotation for Web Application Description Language), an extension of the WADL language that allows the semantization of the REST Web Service. We introduce a reference architecture with five layers representing the main functional blocks for annotating and combining web APIs, and therefore make the engineering process of Mashup applications more agile and more flexible.</p>
      </abstract>
      <kwd-group>
        <kwd>Semantic Mashup</kwd>
        <kwd>Matching</kwd>
        <kwd>API</kwd>
        <kwd>SOAP</kwd>
        <kwd>REST</kwd>
        <kwd>SAWADL</kwd>
        <kwd>SAWSDL</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Dynamics, agility and efficiency are concepts of the future. The World Wide Web</title>
      <p>
        is undergoing an evolution from a static environment to a dynamic world in which
mashups will play a central role. The Mashups are web applications developed by the
combination of data, business logic, and/or user interfaces of web sources published
and reused via APIs [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Thus, Mashups are designed to reduce the cost and
development time of web applications.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Despite these advantages, engineering of Mashups applications requires the inter</title>
      <p>vention of the developer which needs not only programming skills but also to
understand the structure and semantics of APIs that wants to integrate. Currently, several
tools Mashup (e.g. IBM WebSphere1, Yahoo-pipes2, etc.) are used by end-users (i.e.
with less programming skills) to facilitate the building of Mashup applications.
However, the intervention of the professional developer is required when the application</p>
    </sec>
    <sec id="sec-3">
      <title>Mashup is complex, thing that has prompted researchers to find effective solutions for</title>
      <p>creating Mashups, So that end users can build an application with a tool Mashup that
guarantees the discovery, selection, and automatic or dynamic superposition of APIs
based on the semantic approach, the so-called ‘‘Semantic Mashups’’. The semantic</p>
    </sec>
    <sec id="sec-4">
      <title>Mashups is a Mashup whose combined APIs are supported (or annotated) by a seman</title>
      <p>tic layer that allows to select and compose them in an automatic way (unambiguous).</p>
    </sec>
    <sec id="sec-5">
      <title>We propose in this work SAWADL, a novel language for the semantization of</title>
      <sec id="sec-5-1">
        <title>REST web services [1]. SAWADL uses WADL3 description to enrich RESTful APIs</title>
        <p>
          with a semantic layer that allows the discovery and automatic superposition of APIs
in order to automatically build Mashup applications. SAWADL is more flexible and
adaptive with respect to other approaches of semantization such as SAWSDL [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]
which is used to annotate the WSDL4 description of SOAP web services with
ontological concepts.
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>The rest of the paper is organized as follows. Section 2 presents briefly the seman</title>
      <p>tic Mashup, and presents some related work for the semantization of REST web
services. In Section 3, we introduce SAWADL, a semantic annotation language for</p>
    </sec>
    <sec id="sec-7">
      <title>REST APIs. Our approach to build Semantic Mashup is described in Section 4. Finally we conclude and give some perspectives in Section 5.</title>
      <p>2</p>
      <sec id="sec-7-1">
        <title>Related Works</title>
        <p>Web services enable applications to call remote procedures and to exchange data
by passing well-defined messages. This can easily be used for Mashup application as
a way to orchestrate different web applications. For instance, Amazon Web Service5
allows users to access most of the features of Amazon.com by using SOAP-based
web services and REST-based web services. The semantic Mashup is Mashup whose
combined APIs are annotated by a semantic layer that allows to select and compose
them in an automatic way. In order to build an automatic Mashup, it is necessary to
semanticize these APIs.</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>For SOAP-based Web services there are two types of semantization approaches.</title>
    </sec>
    <sec id="sec-9">
      <title>The first (service ontology) consists of developing a complete language that describes</title>
    </sec>
    <sec id="sec-10">
      <title>Web services and their semantics in a single block (e.g. OWL-S, WSMO, etc.). The second approach (semantic annotation) consists of annotating existing web services with semantic information. WSDL-S, SAWSDL used to manually annotate a WSDL description with elements referring to ontologies.</title>
    </sec>
    <sec id="sec-11">
      <title>As SOAP-based Web services, semantic REST-based Web services can be</title>
      <p>classified in two approaches. The first approach consists of developing an ontology
that describes the REST-based Web services and their semantics in a single block.</p>
    </sec>
    <sec id="sec-12">
      <title>The second approach consists of annotating existing languages with semantic information. In the following, we present different propositions for the second approach.</title>
      <p>• SOOWL-S advertisements (a social-oriented version of OWL-S advertisements)</p>
    </sec>
    <sec id="sec-13">
      <title>The SOOWL-S advertisements [6] proposes an extension of the OWL-S ontology in order to semanticizes the different types of APIs (e.g. SOAP, REST, JS, RSS, etc.) used in the construction of Mashup applications.</title>
    </sec>
    <sec id="sec-14">
      <title>SOOWL-S ontology annotates just the I/O parameters and non-functional proper</title>
      <p>ties of a Web service (using the service-Profile module of the OWL-S ontology).</p>
    </sec>
    <sec id="sec-15">
      <title>3 http://www.w3.org/Submission/wadl/</title>
    </sec>
    <sec id="sec-16">
      <title>4 http://www.w3.org/TR/wsdl</title>
    </sec>
    <sec id="sec-17">
      <title>5http://aws.amazon.com/</title>
    </sec>
    <sec id="sec-18">
      <title>Thus, SOOWL-S ontology allows searching and automatic selection of APIs, but not their combination owing to the absence of the extension of service-Model module of the ontology OWL-S.</title>
      <p>• SA-REST(semantic annotation for REST)</p>
      <p>
        According to J. Lathem [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], most of RESTful web services use HTML pages to
describe to users what the service does and how to invoke it. However, HTML is
designed to be human legible but not machine readable. In order to solve this
problem, [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] have used the RDFa micro formats10 which allows the integration of RDF
triples above HTML description in order to add semantics to REST service and
make it visible and interpretable by the machine.
• SWEET (Semantic Web Services Editing Tool)
      </p>
    </sec>
    <sec id="sec-19">
      <title>Maleshkova et al [5] propose an integrated approach to formally describe the se</title>
      <p>
        mantics of RESTful web services. The approach enables both the creation of
machine-readable RESTful service descriptions using the hRESTS (HTML for
RESTful Services) Microformat [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], and the addition of semantic annotations by the
      </p>
      <sec id="sec-19-1">
        <title>MicroWSMO Microformat6, in order to better support discovering services, creat</title>
        <p>ing mashups, and invoking them.</p>
        <p>Table 1. shows a comparison between the different approaches of semantics REST
web services.</p>
      </sec>
    </sec>
    <sec id="sec-20">
      <title>In this section we propose an annotation language that allows the semantization of</title>
    </sec>
    <sec id="sec-21">
      <title>RESTful web services to strengthen the selection and superposition of these services</title>
      <p>in Mashups applications.</p>
      <p>SAWADL, the extension of WADL language that we propose is part of those
approaches that add semantic annotations above the service description while most
approaches are based on a semantic annotation above a description based on HTML
which gives less homogeneity between semanticized REST web services. SAWADL
does not specify a language for representation of semantic models. Rather, it provides
mechanisms for referencing ontological concepts defined in the external of WADL
document.</p>
    </sec>
    <sec id="sec-22">
      <title>6 http://www.w3.org/TR/rdfa-syntax/</title>
    </sec>
    <sec id="sec-23">
      <title>The methods of annotation in SAWADL are summarized in two mechanisms:</title>
      <p>modelReference and SchemesMapping. This is done by the attribute "sawadl"
followed by the appropriate extension.</p>
      <p>ModelReference attribute used to associate a WADL's component to a concept
of a semantic model. The items annotated a REST web service described by WADL
description are the methods (&lt;method id="method1" name="GET"&gt;) and
parameters of input / output (&lt;param name = "name" type="xsdtype"/&gt;) of the
service. The semantic concept (ontological) associated to elements of WADL through
the modelReference attribute is represented by zero or more URLs separated by
spaces, which are references to ontological concepts.</p>
      <p>The mechanism of schemesMapping is achieved through two other attributes
liftingSchemesMapping and loweringSchemesMapping. These attributes are
used to specify the mappings between semantic data and WADL elements. The
mechanism of schemaMapping is very interesting to understand. In fact, we employ the
loweringSchemesMapping attribute when an element annotated in the WADL
description matches more than one ontological concepts, and the URIs of the
loweringSchemesMapping attribute point to files containing SPARQL7 queries and
XSLT8 transformations. While we use liftingSchemesMapping when several
elements annotated in the WADL description represent a single ontological concept,
and URIs can point to files that contain XQuery9 queries or XSLT transformations.
3.1</p>
      <p>Annotation of methods</p>
    </sec>
    <sec id="sec-24">
      <title>SAWADL provides mechanisms to annotate methods in a WADL documents. To</title>
      <p>illustrate these mechanisms, we use a domain ontology of tourism TravelOnto
(which we implemented in OWL) to annotate the BookFlight operation of Flight</p>
    </sec>
    <sec id="sec-25">
      <title>API. Although traditionally the inputs and outputs provide an intuitive semantics of</title>
      <p>an operation, a simple semantic annotation can be helpful. Thus we will annotate the</p>
      <sec id="sec-25-1">
        <title>BookFlight operation by associating through the modelReference attribute with a</title>
      </sec>
      <sec id="sec-25-2">
        <title>BookFlight concept in the TravelOnto ontology (Figure.1).</title>
        <p>3.2</p>
        <p>Annotation of Inputs/Outputs parameters</p>
      </sec>
    </sec>
    <sec id="sec-26">
      <title>In SAWADL, the Input/Output parameters annotation is done in two different ways:</title>
      <p>Internal Annotation. This annotation consists in associating each parameter
input/output “&lt;param…&gt;”of a method to a concept in an ontology. This supposes that
for each parameter input/output of a method there exist a corresponding concept in the
ontology. For example, the input of the operation BookFlight is composed of name
and age of the passenger, and the number and class of Flight. We suppose that for
each attribute, there exists a concept that corresponds to it in the TravelOnto
ontology. In the case where there is no match, the semantics of the input/output parameters
is not specified. Figure 2 show an example of internal annotation.</p>
    </sec>
    <sec id="sec-27">
      <title>7 http://www.w3.org/TR/rdf-sparql-query/</title>
    </sec>
    <sec id="sec-28">
      <title>8 http://www.w3.org/TR/xslt</title>
    </sec>
    <sec id="sec-29">
      <title>9 http://www.w3.org/TR/xquery</title>
      <p>1 &lt;resources base="http://localhost/ApiRest/Flight"&gt;
2 &lt;method id="BookFlight" name="GET"
3 sawadl:modelReference=TravelOnto#BookFlight"&gt;
4 &lt;request&gt;
5 &lt;param name="la_Name" type="xsd:string"/&gt;
6 &lt;param name="fi_name" type="xsd:string"/&gt;
7 &lt;param name="Age" type="xsd:int"/&gt;……
1 &lt;resources base=" http://localhost/ApiRest/Flight "&gt;
2 &lt;method id="BookFlight" name="GET"&gt;
3 &lt;request&gt;
4 &lt;param name="la_name" type="xsd:string" sawadl:modelReference=”TravelOnto#LastName"/&gt;
5 &lt;param name="fi_name" type="xsd:string" sawadl:modelReference="TravelOnto#FirstName"/&gt;
6 &lt;param name="Age" type="xsd:int" sawadl:modelReference=”TravelOnto#Age"/&gt;
7 &lt;param name="NFlight" type="xsd:string" sawadl:modelReference=” TravelOnto#Flight" /&gt;
8 &lt;param name="Class" type="xsd:String" sawadl:modelReference=”TravelOnto#ClassType"/&gt;
9 &lt;/request&gt;…</p>
    </sec>
    <sec id="sec-30">
      <title>External Annotation. In this case, the parameters are annotated globally via the</title>
      <p>tag ‘‘&lt;request&gt;’’, however, it must create a schémaMaping for specifying the
transformation rules between the input’s/output’s parameters and the domain ontology.</p>
      <sec id="sec-30-1">
        <title>As an illustration, we take the example of credit card defines in WADL and the</title>
      </sec>
      <sec id="sec-30-2">
        <title>OWL ontology TravelOnto (see Figure 3). In this ontology there is no individual</title>
        <p>correspondence for the two attributes last_name and first_name. However, the
Owner concept of ontology is the merger of these two attributes. To establish the
correspondence between the inputs of the credit card API and CreditCard
concept, it must first associate using sawadl:modleReference and then define a
transformation scheme using an XSL style sheet via the attribute
sawadl:liftingSchemaMapping (see Figure 4).</p>
        <p>1 &lt;resources base="http://localhost/ApiRest/Billet"&gt;
2 &lt;method id="buyBilletOp " name="GET"&gt;
3 &lt;request sawadl:modelReference=TravelOnto#CreditCard"
4 sawadl:liftingSchemaMapping=http://localhost/Mapping.xsl/&gt;
6 &lt;param name="La_name" type="xsd:string"/&gt;
7 &lt;param name="Fi_name" type="xsd:string/&gt;
8 &lt;param name="Number"</p>
        <p>type="xsd:int"/&gt;
9 &lt;param name="Type"</p>
        <p>type="xsd:string"/&gt;
10&lt;param name="ExpirDate" type="xsd:date"/&gt;
&lt;xsl:transform version="2.0"
xmlns:Travel=http://localhost/ApiRest/Billet# xmlns:TravelOnto="http://localhost/TavelOnto#&gt;
&lt;xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/&gt;
&lt;xsl:template match="/"&gt;
&lt;rdf:RDF&gt;
&lt;TravelOnto:CreditCard&gt;
&lt;hasOwner rdf:resource="#Owner"&gt;
&lt;hasCardNumber rdf:datatype="xs:Int"&gt;&lt;xsl:value-of select="Travel:./param[@name='Number']"&gt;
&lt;/hasCardNumber&gt;
&lt;hasType rdf:datatype="xs:string"&gt; &lt;xsl:value-of select="Travel:./param[@name='Type']"&gt;
&lt;/hasType&gt;
&lt;hasExpritionDate rdf:datatype="xs:Date"&gt; &lt;xsl:value-of select="Travel:./param[@name='ExpirDate']"&gt;
&lt;/hasExpritiondate&gt;
&lt;/TravelOnto:CreditCard&gt;
&lt;/rdf:RDF&gt;
&lt;/xsl:template&gt;
&lt;/xsl:transform&gt;</p>
      </sec>
    </sec>
    <sec id="sec-31">
      <title>The construction of automatic Mashups necessarily requires a semantic layer on</title>
      <p>top of APIs (web services). As the dynamic composition of standard web services, the
semantic Mashup allows a more rapid development and transparent composition to
the user. But unlike to that of traditional web services, the Mashups are composed of</p>
    </sec>
    <sec id="sec-32">
      <title>APIs of different nature which makes their combination process more difficult.</title>
      <p>Figure 5 shows reference architecture for Semantic Mashup. This architecture
consists of five layers. The layers represent the main functional blocks for automatic
generation of Mashup. The ontology is used to enrich the engineering process by a
semantic layer that allows him an automatic selection and a combination of APIs
included in the Mashup application.</p>
    </sec>
    <sec id="sec-33">
      <title>At this level several types of APIs are concerned. In particular APIs based on</title>
    </sec>
    <sec id="sec-34">
      <title>SOAP and RESTful which are the most widely used in engineering applications</title>
    </sec>
    <sec id="sec-35">
      <title>Mashups.</title>
      <p>4.2</p>
      <p>Description Layer:</p>
    </sec>
    <sec id="sec-36">
      <title>At this layer, WADL and WSDL languages are used respectively to describe</title>
      <sec id="sec-36-1">
        <title>SOAP and REST APIs. </title>
        <p>4.3</p>
        <p>Annotation Layer:</p>
      </sec>
    </sec>
    <sec id="sec-37">
      <title>In addition to the SAWADL language that we propose in this paper, several lan</title>
      <p>guages of web services annotation are considered at this level. In particular,</p>
    </sec>
    <sec id="sec-38">
      <title>SAWSDL which is used to semanticize SOAP-based web services by annotating the</title>
      <p>input/output of WSDL file with ontological concepts. This layer will be used in the
automatic construction of Mashups, by allowing discovery, selection and combination
of unambiguous way of the various APIs. 
4.4</p>
      <p>Matching Layer:</p>
    </sec>
    <sec id="sec-39">
      <title>The heterogeneities between different annotation languages are resolved at this</title>
      <p>layer. In the following, we propose four rules to match SAWSDL and SAWADL
annotation languages. </p>
      <sec id="sec-39-1">
        <title>Rules1. A method described by the tag "&lt;method&gt;" of a resource or a sub</title>
        <p>resource "&lt;resource&gt;" of a SAWADL file corresponds to an operation described by
the tag "&lt;operation&gt;" of a SAWSDL file. </p>
      </sec>
      <sec id="sec-39-2">
        <title>Rules2. An input described by the tag "&lt;param&gt;" for a set of inputs "&lt;request&gt;"</title>
        <p>of a SAWADL file corresponds to an entry described in the web service’s XML
schema by the tag "&lt;element&gt; " of a "&lt;complexType&gt;" of an operation's Input
described in SAWSDL file.</p>
      </sec>
      <sec id="sec-39-3">
        <title>Rules3. An output described by the tag "&lt;response&gt;" of a SAWADL file corresponds to an output described in the web service’s XML schema by the tag "&lt;element&gt;" of a "&lt;complexType&gt;" of an operation’s output described in SAWSDL file.</title>
        <p>Rules4. The "modelReference", "liftingSchemaMapping",
"loweringSchemaMappin" attributes of a SAWADL file correspond to the
"modelReference", "liftingSchemaMapping", "loweringSchemaMapping"
attributes of a SAWSDL file.</p>
      </sec>
    </sec>
    <sec id="sec-40">
      <title>Correspondences between APIs are established based on of semantic similarity [7]</title>
      <p>which allows calculating a distance between the ontological concepts of Input/Output.</p>
    </sec>
    <sec id="sec-41">
      <title>This distance will be compared with a predefined threshold in order to know if an API</title>
      <p>could be combined with another or not.</p>
      <p>The matching score between a pair of matching services
using the following formula:
  is calculated
,
∑  
,
  /
 
and
   </p>
      <p>Where   is the number of query attributes of the service  And is the
number of annotated attributes present in service  , is the number of annotated
attributes of services   that have been matched out of    , and finally ,  
is the ontological distance score between the jth term in service  and a
corresponding query term.
4.5</p>
      <p>Mashup Layer</p>
    </sec>
    <sec id="sec-42">
      <title>At this layer, an application mashup is really created based on the results obtained by matching layer. The Mashup layer integrates APIs that have a matching value greater than or equal to a threshold predefined by domain experts. The combination of APIs can be made using different technologies (e.g. Ajax, PHP, JSP, etc.).</title>
      <p>5</p>
      <sec id="sec-42-1">
        <title>Conclusion and perspective</title>
      </sec>
    </sec>
    <sec id="sec-43">
      <title>The Mashups are web applications developed by combining data, business process</title>
      <p>es, and/or user interfaces of web sources published and reused via APIs. Thus,</p>
    </sec>
    <sec id="sec-44">
      <title>Mashups aimed at reducing the cost and development time of web applications. However in order to address the shortcomings of existing languages and protocols established by the IT community, we saw that the work related to engineering the Mashups applications are particularly oriented towards the semantic level.</title>
    </sec>
    <sec id="sec-45">
      <title>The aim through the use of semantics is to enable machines to interpret the pro</title>
      <p>cessed data and seize their significance in an automatic way in order to automate the
selection and combination of APIs used to build the Mashup application.</p>
    </sec>
    <sec id="sec-46">
      <title>Many languages and semantic annotations have been proposed for the semantic de</title>
      <p>scription of RESTful APIs. However, they did not give a great success and are not
simple to implement. For example, SA-REST and SWEET approaches require an</p>
    </sec>
    <sec id="sec-47">
      <title>HTML web page that describes the API and that will be later transformed into a ma</title>
      <p>chine readable description to add semantic annotations. One thing that is not always
true and that makes it more difficult especially if the REST API does not have a web
page that describes it. In order to respond to these problems, that we conducted our
research. Our work focuses on the semantics, and more particularly towards a
proposal for an annotation language for semantic REST Web services. Our language</p>
    </sec>
    <sec id="sec-48">
      <title>SAWADL is one of the approaches that add semantic annotations on top of the ser</title>
      <p>vice description. Unlike approaches that annotate on top of an HTML description, we
use the WADL description which is used to describe syntactically REST web
services. Semantization APIs is not sufficient to design and implement an automatic</p>
    </sec>
    <sec id="sec-49">
      <title>Mashup. Thus a process of matching is necessary to find correspondences between</title>
      <p>the different APIs, and to discover automatically the Mashable components followed
the needs of users.</p>
      <p>Finally, several perspectives can be considered in order to contribute more to the
agility and flexibility of the semantic Mashup building. We cite as an examples:
• The Semantization of other Web APIs such as javascript or RSS / ATOM that
represent Mashable components widely used in the development of Mashups.
However, the absence of a structured and modular description of these APIs makes this
task a big challenge.
• The use of ontological resource and service like OWL-S and WSMO.
• The use of the semantic approach in the construction of process-oriented enterprise</p>
    </sec>
    <sec id="sec-50">
      <title>Mashups that allows a user to automate her tasks.</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>R.</given-names>
            <surname>Fielding</surname>
          </string-name>
          ,
          <article-title>Architectural Styles and the Design of Network-based Software Architectures</article-title>
          ,
          <source>PhD thesis</source>
          , University of California,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J.</given-names>
            <surname>Kopecký</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Vitvar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bournez</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Farrell: SAWSDL: Semantic Annotations for WSDL and XML Schema, IEEE Internet Computing</article-title>
          , vol.
          <volume>11</volume>
          , no.
          <issue>6</issue>
          , pp.
          <fpage>60</fpage>
          -
          <lpage>70</lpage>
          , November-December
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J.</given-names>
            <surname>Kopecky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Gomadam</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.</surname>
          </string-name>
          <article-title>Vitvar: hRESTS: an HTML Microformat for Describing RESTful Web Services</article-title>
          ,
          <source>Proceedings of the 2008 IEEE/WIC/ACM Inter-national Conference on Web Intelligence (WI-08)</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J.</given-names>
            <surname>Lathem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Gomadam</surname>
          </string-name>
          ,
          <string-name>
            <surname>P.</surname>
          </string-name>
          <article-title>Sheth; SA-REST and (S)mashups Adding Semantics to RESTful Services</article-title>
          ,
          <source>Proceedings of the First IEEE International Conference on Semantic Computing (ICSC</source>
          <year>2007</year>
          ),
          <source>September 17-19</source>
          ,
          <year>2007</year>
          , Irvine, California, USA. IEEE Computer Society
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Maleshkova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Pedrinaci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Domingue</surname>
          </string-name>
          ,
          <source>Supporting the Creation of Semantic RESTful Service Descriptions</source>
          ,
          <year>2009</year>
          , In: 8th
          <source>International Semantic Web Conference (ISWC</source>
          <year>2009</year>
          ),
          <fpage>25</fpage>
          -
          <lpage>29</lpage>
          Oct 2009, Washington D.C., USA.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Meditskos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Bassiliades</surname>
          </string-name>
          ,
          <article-title>A combinatory framework of Web 2.0 mashup tools, OWL-S and UDDI</article-title>
          ,
          <source>Expert Systems with Applications</source>
          , vol.
          <volume>38</volume>
          , no.
          <issue>6</issue>
          , pp.
          <fpage>6657</fpage>
          -
          <lpage>6668</lpage>
          ,
          <year>June 2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>H.</given-names>
            <surname>Ngu Anne</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Carlson Michael</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.Quan</given-names>
            <surname>Sheng</surname>
          </string-name>
          .
          <article-title>Semantic-based Mashup of Composite Applications</article-title>
          ,
          <source>IEEE Internet Computing</source>
          , vol.
          <volume>3</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>2</fpage>
          -
          <lpage>15</lpage>
          ,January-March
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Benatallah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Casati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Daniel</surname>
          </string-name>
          .
          <article-title>Understanding Mashup Development and its Differences with Traditional Integration,</article-title>
          ,
          <source>IEEE Internet Computing</source>
          , vol.
          <volume>12</volume>
          , no.
          <issue>5</issue>
          , pp.
          <fpage>44</fpage>
          -
          <lpage>52</lpage>
          ,September-October
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>