<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tomas's Blog</title>
	<atom:link href="http://blog.vitvar.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.vitvar.com</link>
	<description>Research in Semantic Web, Web Services, SOA, Web 2.0 and other related stuff.</description>
	<lastBuildDate>Wed, 18 May 2011 23:00:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Boxee Plugin for i-vysílání České televize (Czech TV)</title>
		<link>http://blog.vitvar.com/?p=181</link>
		<comments>http://blog.vitvar.com/?p=181#comments</comments>
		<pubDate>Thu, 03 Mar 2011 04:17:52 +0000</pubDate>
		<dc:creator>Tomas</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Boxee]]></category>

		<guid isPermaLink="false">http://blog.vitvar.com/?p=181</guid>
		<description><![CDATA[The Czech TV has a great amount of TV shows available on the Web called i-vysílání. Not only you can watch the life TV over the Web but you can also watch most of the TV shows including news, documentaries, or sports over 5 years back. Accessing TV content through Web browsers where you need [...]]]></description>
			<content:encoded><![CDATA[<p>The Czech TV has a great amount of TV shows available on the Web called <a href="http://www.ceskatelevize.cz/ivysilani">i-vysílání</a>. Not only you can watch the life TV over the Web but you can also watch most of the TV shows including news, documentaries, or sports over 5 years back. Accessing TV content through Web browsers where you need to do a sequence of clicks through pages full of flash is not very convenient though. This makes the TV experience pretty bad and you often rather do not open the browser to watch the TV. Fortunately, there are technologies such as <a href="http://www.boxee.tv">Boxee</a>.</p>
<p style="margin-bottom: 20px">Boxee is a media center based on <a href="http://xmbc.org">XMBC media center</a> with plugin architecture for custom apps. The embedded video below shows such an app for the Czech TV&#8217;s iVysilani.</p>
<p><center><iframe style="margin-bottom: 30px" class="youtube-player" type="text/html" width="640" height="385" src="http://www.youtube.com/embed/SqN1Ap8n2Ws" frameborder="0"><br />
</iframe></center></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vitvar.com/?feed=rss2&#038;p=181</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Our Book on Semantic Technologies for E-Government</title>
		<link>http://blog.vitvar.com/?p=158</link>
		<comments>http://blog.vitvar.com/?p=158#comments</comments>
		<pubDate>Mon, 08 Mar 2010 12:43:47 +0000</pubDate>
		<dc:creator>Tomas</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[e-government]]></category>
		<category><![CDATA[Semantic Web]]></category>

		<guid isPermaLink="false">http://blog.vitvar.com/?p=158</guid>
		<description><![CDATA[Our book on Semantic Technologies for E-Government, co-edited by me, Vassilios Peristeras and Konstantinos Tarabanis, has finally been published by Springer Germany. It has over 30 contributing authors working on semantic technologies applied to e-government mainly as part of EU FP6 and FP7 funded projects. The book is divided into three major parts, namely Architectures [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" style="float: left; padding-top: 5px; padding-right: 10px; padding-bottom: 5px; padding-left: 0px;" title="Semantic Technologies for E-Government" src="http://images.springer.com/cda/content/image/cda_displayimage.jpg?SGWID=0-0-16-636097-0" alt="" width="102" height="156" />Our book on Semantic Technologies for E-Government, co-edited by me, Vassilios Peristeras and Konstantinos Tarabanis, has finally been published by Springer Germany. It has over 30 contributing authors working on semantic technologies applied to e-government mainly as part of EU FP6 and FP7 funded projects. The book is divided into three major parts, namely Architectures and Process Integration, Ontologies and Interoperability, and Portals and User Interaction, giving details on how semantic technologies can effectively solve core integration problems as well as how they can facilitate emerging e-government trends such as one-stop-shopping,  cross-border e-government, or participation of citizens.</p>
<p style="padding-top: 10px; clear: both">The book is now available at <a href="http://www.amazon.co.uk/Semantic-Technologies-E-Government-Tomas-Vitvar/dp/364203506X">Amazon</a> or <a href="http://www.springer.com/computer/database+management+&amp;+information+retrieval/book/978-3-642-03506-7">Springer</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vitvar.com/?feed=rss2&#038;p=158</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Scholar Metadata: Monitoring Papers with Google Spreadsheets</title>
		<link>http://blog.vitvar.com/?p=132</link>
		<comments>http://blog.vitvar.com/?p=132#comments</comments>
		<pubDate>Fri, 10 Jul 2009 19:39:25 +0000</pubDate>
		<dc:creator>Tomas</dc:creator>
				<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[Google Scholar]]></category>
		<category><![CDATA[Google Spreadsheets]]></category>

		<guid isPermaLink="false">http://blog.vitvar.com/?p=132</guid>
		<description><![CDATA[Google Scholar is a great thing which you can use to monitor citations of (your) papers. The major problem I have with Google Scholar, though, is that it does not expose any metadata about papers and citations. I have thus created a simple solution that allows you to extract papers&#8217; titles and their citation counts [...]]]></description>
			<content:encoded><![CDATA[<p>Google Scholar is a great thing which you can use to monitor citations of (your) papers. The major problem I have with Google Scholar, though, is that it does not expose any metadata about papers and citations. I have thus created a simple solution that allows you to extract papers&#8217; titles and their citation counts and expose them in an atom feed. A nice thing is that all you need for that is Google Spreadsheets.</p>
<p>See my <a href="http://spreadsheets.google.com/ccc?key=tnBz-2-6z9i8o5kxSpyIq3A&amp;hl=en#">citation spreadsheet</a> and the related <a href="http://spreadsheets.google.com/feeds/list/tnBz-2-6z9i8o5kxSpyIq3A/od4/public/basic">atom feed</a> for more details. In case you want to have your own, just create a copy of the spreahsheet (File/Make a Copy), change the value of the name field or change the Google Scholar URL as you like (on the <em>input</em> sheet), and share the <em>citations</em> sheet as Atom feed (Share/Publish as a Web Page and then select the citations sheet and the ATOM format). After that just add the feed as a new subscription in your favorite feed reader. Note that the feed gets updated every 5 minutes (this is what you cannot influence).</p>
<p><strong>UPDATE: </strong>I am now displaying the citations of my papers on <a href="http://www.vitvar.com/publications/#t=citations">citations tab</a> in my publications page. I only parsed the XML atom feed in JavaScript and rendered it in HTML. However, due to the current XHR cross-domain restrictions I had to create a proxy in Apache serving my vitvar.com domain to access the atom feed URL on google domain.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vitvar.com/?feed=rss2&#038;p=132</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Context-aware Computing for Mac</title>
		<link>http://blog.vitvar.com/?p=127</link>
		<comments>http://blog.vitvar.com/?p=127#comments</comments>
		<pubDate>Thu, 09 Jul 2009 15:58:17 +0000</pubDate>
		<dc:creator>Tomas</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[context]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://blog.vitvar.com/?p=127</guid>
		<description><![CDATA[A while ago I wrote a blog post about mounting a network file system in Ubuntu based on a specific network you are connected to. After I switched to Mac I was missing this feature a lot, until now. I have just discovered a great tool for a Mac, called MarcoPolo, which does much more [...]]]></description>
			<content:encoded><![CDATA[<p>A while ago I wrote a blog post about <a href="http://blog.vitvar.com/?p=12">mounting a network file system in Ubuntu based on a specific network you are connected to</a>. After I switched to Mac I was missing this feature a lot, until now. I have just discovered a great tool for a Mac, called <a href="http://www.symonds.id.au/marcopolo/">MarcoPolo</a>, which does much more than that. You can specify rules based on various contextual information (such as time, type of network connection you are using, devices connected to your computer over USB, etc.) and actions that should execute when you are in a certain context. Another nice thing is that MarcoPolo is a free software. It is really worth to install if you are on a Mac.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vitvar.com/?feed=rss2&#038;p=127</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Advances in Computers Chapter</title>
		<link>http://blog.vitvar.com/?p=117</link>
		<comments>http://blog.vitvar.com/?p=117#comments</comments>
		<pubDate>Tue, 28 Apr 2009 11:44:31 +0000</pubDate>
		<dc:creator>Tomas</dc:creator>
				<category><![CDATA[Publications]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[WSMO-Lite]]></category>

		<guid isPermaLink="false">http://blog.vitvar.com/?p=117</guid>
		<description><![CDATA[Elsevier published our work on Semantic Web Services with Lightweight Descriptions of Services in its Advances in Computers, volume 76 (co-authored by me, Jacek Kopecky, Jana Viskova, Adrian Mocan, Mick Kerrigan and Dieter Fensel). In order to publish in this book, authors need to receive an invitation from Elsevier and we were glad to receive [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.elsevier.com">Elsevier</a> published our work on Semantic Web Services with Lightweight Descriptions of Services in its <a href="http://www.elsevier.com/wps/find/bookdescription.cws_home/718525/description">Advances in Computers, volume 76</a> (co-authored by me,  <a href="http://jacek.cz">Jacek Kopecky</a>, Jana Viskova, <a href="http://adrian-mocan.com">Adrian Mocan</a>, <a href="http://see.sti2.at/mick/">Mick Kerrigan</a> and <a href="http://www.fensel.com">Dieter Fensel</a>). In order to publish in this book, authors need to receive an invitation from Elsevier and we were glad to receive this invitation in 2008. This book&#8217;s edition is in general about semantic web, its foundations and applications such as social web.</p>
<p>It is nice to see that apart from our contribution, there is also a chapter from my former collegues from <a href="http://www.deri.ie">DERI Galway</a>, <a href="http://www.johnbreslin.com/">John Breslin</a> et al., on The Future of Social Websites: Sharing Data and Trusted Applications  with Semantics.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vitvar.com/?feed=rss2&#038;p=117</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google&#8217;s Plans on Semantics</title>
		<link>http://blog.vitvar.com/?p=107</link>
		<comments>http://blog.vitvar.com/?p=107#comments</comments>
		<pubDate>Fri, 17 Apr 2009 20:21:22 +0000</pubDate>
		<dc:creator>Tomas</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Semantic Web]]></category>

		<guid isPermaLink="false">http://blog.vitvar.com/?p=107</guid>
		<description><![CDATA[Google&#8217;s VP research, Alfred Spector, reveals plans on exploiting the huge amount of data for building a &#8220;database of concepts and relationships between them&#8221; for better search results. He envisions that Google should be able to learn such information from interactions and a very large of information, a different approach to a traditional AI where [...]]]></description>
			<content:encoded><![CDATA[<p>Google&#8217;s VP research, Alfred Spector, <a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;taxonomyName=Networking+and+Internet&amp;articleId=334936&amp;taxonomyId=16&amp;pageNumber=1">reveals plans</a> on exploiting the huge amount of data for building a &#8220;database of concepts and relationships between them&#8221; for better search results. He envisions that Google should be able to learn such information from interactions and a very large of information, a different approach to a traditional AI where such an ontology is usually imposed to a system and controlled by an expert.</p>
<p>The use of such ontology is then quite obvious:</p>
<p style="margin-left: 25px; margin-right: 25px; font-style: italic">Let&#8217;s imagine our search software is responding to a query on pets, but we find articles on dogs and cats, but without the word <em>pets</em>. This database of relationships would let Google know that the article is probably about pets because there are multiple instances of a subcategory of &#8220;pet.&#8221; The database would enable much better search and better language translation because there&#8217;d be a better understanding of the meaning of the words.</p>
<p>From this interview it is clear that Google recognizes the importance of semantics for search, however, the major challenge is in construction of ontologies describing a huge and a dynamic environment on which such intelligent search would reliably operate.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vitvar.com/?feed=rss2&#038;p=107</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Our Innovative B2B SOA Solution Wins €700 Prize</title>
		<link>http://blog.vitvar.com/?p=97</link>
		<comments>http://blog.vitvar.com/?p=97#comments</comments>
		<pubDate>Fri, 06 Feb 2009 12:05:30 +0000</pubDate>
		<dc:creator>Tomas</dc:creator>
				<category><![CDATA[Publications]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[B2B]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[SWS Challenge]]></category>
		<category><![CDATA[WSMX]]></category>

		<guid isPermaLink="false">http://blog.vitvar.com/?p=97</guid>
		<description><![CDATA[Our solution, an innovative SOA technology that we apply to solve various B2B real-world scenarios wins the prize of 700€ at the industrial track of the ASWC in Bangkok, Thailand. The development of the underlying technology (called WSMX) started in early 2004 as part of the DERI and STI R&#38;D activities, and starting from 2006 [...]]]></description>
			<content:encoded><![CDATA[<p>Our solution, an innovative SOA technology that we apply to solve various B2B real-world scenarios wins the prize of 700€ at the industrial track of the <a href="http://aswc2008.ait.ac.th">ASWC</a> in Bangkok, Thailand. The development of the underlying technology (called <a href="http://www.wsmx.org">WSMX</a>) started in early 2004 as part of the DERI and STI R&amp;D activities, and starting from 2006 we significantly improved the technology by solving various real-world scenarios from B2B as defined by the <a href="http://www.sws-challenge.org">SWS Challenge</a> initiative. Apart from implementation and showcasing the benefits of the technology applied to the B2B (see details <a href="http://sws-challenge.org/wiki/index.php/Solution_DERI">here</a>), we also have a significant number of research papers that came out from this activity:</p>
<ul>
<li><span class="pub-title"><em><a href="http://www.vitvar.com/doc/ISWC2008-VitvarMZ.pdf">Formal Model for Semantic-Driven Service Execution</a></em>, International Semantic Web Conference (Karlsruhe, Germany, 2008) (se my <a href="http://videolectures.net/iswc08_vitvar_fmfsd/">talk</a> and my previous <a href="http://feeds.feedburner.com/~r/TomasVitvar/~3/359302274/">post</a>)<br />
</span></li>
<li><span class="pub-title"><em>WSMX Middleware for Dynamic Discovery in B2B Integration (demo)</em>, </span><span class="pub-booktitle">IEEE International Conference on Semantic Computing (Santa Clara, USA, 2008),</span></li>
<li><span class="pub-title"><em><a href="http://www.vitvar.com/doc/ESWC2008-ZarembaV.pdf">WSMX: a Solution for B2B Mediaion and Discovery Scenarios (demo)</a></em>, European Semantic Web Conference (Teneriffe, Spain, 2008),<br />
</span></li>
<li><span class="pub-title"><em>Execution Model for Heterogenoues Web Services</em>, </span><span class="pub-booktitle">IEEE Congress on Services (Honolulu, Hawaii, USA, 2008),</span></li>
<li><span class="pub-title"><em><a href="http://www.vitvar.com/doc/SerComp2007-MoranVZ.pdf">Towards Constraint-Based Composition With Incomplete Service Descriptions</a></em>, </span><span class="pub-booktitle">Workshop on Service Composition at the IEEE International Conferences                on Web Intelligence (San Francisco, 2007, USA), </span></li>
<li><span class="pub-title"> <em><a href="http://www.vitvar.com/doc/ECOWS2007-ZarembaVM.pdf">Towards Optimized Data Fetching for Service Discovery</a></em>, </span><span class="pub-booktitle">IEEE European Conference on Web Services (Halle, Germany, 2007),</span></li>
<li><span class="pub-title"><em><a href="http://www.vitvar.com/doc/ICEIS2007-ZarembaVMBCCVFT.pdf">Towards Semantic Interoperability: In-depth Comparison of Two Approaches to Solving Semantic Web Service Challenge Mediation                Tasks</a></em>, </span><span class="pub-booktitle">Conference on Enterprise Information Systems (Madeira, Portugal, 2007),<br />
</span></li>
<li><span class="pub-title"><em><a href="http://www.vitvar.com/doc/IEEESoftware2007-VitvarZMZF.pdf">SESA: Emerging Technology for Service-Centric Environments</a></em>, IEEE Software magazine (2007),</span></li>
<li><span class="pub-title"><em><a href="http://www.vitvar.com/doc/SOCA2007-VitvarMKZZMCHF.pdf">Semantically-enabled Service Oriented Architecture</a><a href="http://www.vitvar.com/doc/SOCA2007-VitvarMKZZMCHF.pdf"> : Concepts, Technology and Application</a></em>, Service Oriented Computing and Applications Journal (2007),</span></li>
<li><span class="pub-title"><em><a href="http://www.vitvar.com/doc/EEE2007-VitvarMZHK.pdf">Semantic SOA to Promote Integration of Heterogeneous B2B Services</a></em>, IEEE Conference on Enterprise Computing (Tokyo, Japan, 2007),</span></li>
<li><span class="pub-title"><em><a href="http://www.vitvar.com/doc/ESWC2007-VitvarZM.pdf">Dynamic Service Discovery through Meta-Interatctions with Service Providers</a></em>, European Semantic Web Conference (Innsbruck, Austria, 2007),</span></li>
<li><span class="pub-title"><em><a href="http://www.vitvar.com/doc/ICSOC2006-HaselwanterKMVZ.pdf">WSMX: a Semantic Service Oriented Middleware for B2B Integration</a></em>, International Conference on Service Oriented Computing (Chicago, USA, 2006),</span></li>
</ul>
<p>My collaboration with Maciej Zaremba, co-architect and software engineer of the solution, turned out to be very successful: we managed not only to build the working solution for the B2B challenge scenarios but also publish the significant number of articles in very competitive research environments (acceptance rates  usually range from 15 to 20 percent).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vitvar.com/?feed=rss2&#038;p=97</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exclude Self-traffic from your Website&#8217;s Access Reports</title>
		<link>http://blog.vitvar.com/?p=77</link>
		<comments>http://blog.vitvar.com/?p=77#comments</comments>
		<pubDate>Tue, 13 Jan 2009 11:40:57 +0000</pubDate>
		<dc:creator>Tomas</dc:creator>
				<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://blog.vitvar.com/?p=77</guid>
		<description><![CDATA[I use Google Analytics to track my website&#8217;s traffic. Since I also often use information on my website to quickly search for a paper I wrote and refer to it, I access my website quite often. From this reason I need to exclude my own traffic from reports generated by Goolge Analytics. Google Analytics comes [...]]]></description>
			<content:encoded><![CDATA[<p>I use <a href="http://www.google.com/analytics">Google Analytics</a> to track my website&#8217;s traffic. Since I also often use information on my website to quickly search for a paper I wrote and refer to it, I access my website quite often. From this reason I need to exclude my own traffic from reports generated by Goolge Analytics. Google Analytics comes with <a href="http://www.google.com/support/analytics/bin/answer.py?answer=55481&amp;cbid=y09hio17vi9e&amp;src=cb&amp;lev=answer">two suggestions</a> how to do this, however, neither of them is really suitable for me. The first option is to exclude all traffic based on one or more IPs. I can set a filter to exclude a traffic from my work as well as home networks, however, I do not really want to exclude a traffic from my colleagues which such a filter would do too (my work place has a single public IP shared by all outgoing connections). The other option is to set a variable (cookie) on all pages you want to exclude and create a filter based on that variable. This option is not any better as I would need to always set such variable on every new page I create, that is, call a specific javascript method when page loads, deploy the page to my web server, access the page to set the cookie for my own access, and then remove the javascript method call and redeploy the new page for public access.</p>
<p>Fortunately, a very simple solution came into my mind (currently only works on Firefox). First, I create a custom variable in the Firefox configuration settings called <strong>general.useragent.extra.private </strong>and set its value to <em>&#8220;</em>my_agent&#8221; (please use your own unique identification, type about:config in your browser&#8217;s address bar to create and set such variable). This will add the &#8220;my_agent&#8221; string to the browser&#8217;s agent identification that you can read from within the javascript in the browser by <strong>userAgent</strong> property of the <strong>navigator</strong> object (<em>navigator.userAgent</em>). After that you can just add a simple condition to your page&#8217;s javascript code that calls Google Analytics methods to track your page&#8217;s traffic. The script could look like:</p>
<pre id="line36">&lt;<span class="start-tag">script</span><span class="attribute-name"> type</span>=<span class="attribute-value">"text/javascript"</span>&gt;
    if (navigator.userAgent.indexOf('my_agent') == -1) {
        var pageTracker = _gat._getTracker("UA-xxx");
        pageTracker._trackPageview();
    }
&lt;/<span class="end-tag">script</span>&gt;</pre>
<pre id="line36"><span style="font-family: 'Lucida Grande'; line-height: 19px; white-space: normal;"><strong>Update: </strong>In Safari, you can set a custom user agent string by enabling Develop menu (goto "Preferences-&gt;Advanced-&gt;Show Develop Menu in Menu Bar") and in the develop menu "User Agent-&gt;Other..." set the user agent string.    </span></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.vitvar.com/?feed=rss2&#038;p=77</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>hRESTS &#8212; a Microformat for RESTful Services</title>
		<link>http://blog.vitvar.com/?p=64</link>
		<comments>http://blog.vitvar.com/?p=64#comments</comments>
		<pubDate>Mon, 01 Dec 2008 20:46:07 +0000</pubDate>
		<dc:creator>Tomas</dc:creator>
				<category><![CDATA[Publications]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[hRESTS]]></category>
		<category><![CDATA[microformats]]></category>
		<category><![CDATA[REST]]></category>

		<guid isPermaLink="false">http://blog.vitvar.com/?p=64</guid>
		<description><![CDATA[Our work on hRESTS, a microformat to describe RESTful services (co-authored by Jacek Kopecky, Karthik Gomadam and me) has been accepted to a Web Intelligence conference to be held in Sydney, Australia this year in December (the acceptance rate was around 18%). You can download the full paper here. The value of today&#8217;s Web applications [...]]]></description>
			<content:encoded><![CDATA[<p>Our work on hRESTS, a <a href="http://en.wikipedia.org/wiki/Microformat">microformat</a> to describe <a href="http://en.wikipedia.org/wiki/RESTful">RESTful services</a> (co-authored by <a href="http://www.jacek.cz/">Jacek Kopecky</a>, <a href="http://knoesis.wright.edu/researchers/gomadam/">Karthik Gomadam</a> and me) has been accepted to a <a href="http://datamining.it.uts.edu.au/conferences/wi08/">Web Intelligence conference</a> to be held in Sydney, Australia this year in December (the acceptance rate was around 18%). You can download the full paper <a href="http://www.vitvar.com/doc/WI2008-KopeckyGV.pdf">here</a>.</p>
<p>The value of today&#8217;s Web applications is no longer only in providing content to consumers but also in exposing functionality through public <a href="http://en.wikipedia.org/wiki/Application_programming_interface">APIs</a> designed for machine consumption. Typically, both Web applications and APIs today follow the Web architecture style called REST, and public APIs on the Web are often called “RESTful Web services”. The major problem with today&#8217;s RESTful APIs is that they are usually only described in a plain, unstructured HTML documentation useful only to a human developer. From this reason, finding suitable services, composing them (“mashing them up”), mediating between different data formats etc. are currently completely manual tasks.</p>
<p>hRESTS is a <a href="http://en.wikipedia.org/wiki/Microformat">microformat</a> for machine-readable descriptions of Web APIs, backed by a simple service model. In general, a microformat is an approach for annotating human-oriented Web pages so that key information is machine-readable. On top of microformats, <a href="http://en.wikipedia.org/wiki/GRDDL">GRDDL</a> is a mechanism for extracting <a href="http://en.wikipedia.org/wiki/Resource_Description_Framework">RDF</a> information from Web pages, particularly suitable for processing microformats. There are already microformats for <a href="http://en.wikipedia.org/wiki/HCard">contact information</a>, <a href="http://en.wikipedia.org/wiki/Geo_(microformat)#Extensions">geographic coordinates</a>, <a href="http://en.wikipedia.org/wiki/HCalendar">calendar events</a>, etc.</p>
<p style="text-align: center;"><img class="aligncenter" title="hRESTS Model" src="http://www.vitvar.com/misc/hRESTS-model.png " alt="" width="321" height="220" /></p>
<p style="text-align: justify;">Figure above depicts the model that the hRESTS uses for HTML annotation. It is derived from the fact that every web application using hyperlinks for linking application&#8217;s pages can be seen as a service. Obviously, not every web application can be considered as a RESTful service as it does not necessarily follow the REST architecture style. There are a lot of examples of badly designed RESTful architectures, such as <a href="http://www.infoq.com/articles/rest-anti-patterns">here</a>. We use RDF to represent the model that can be further extended with additional information such as WSMO-Lite service ontology (see my previous post and our paper about <a href="http://blog.vitvar.com/?p=20">WSMO-Lite</a>). In its basic form, the hRESTS annotation for a hotel service is shown below.</p>
<p style="text-align: center;"><img class="aligncenter" title="hRESTS Example" src="http://www.vitvar.com/misc/hRESTS-example.png " alt="" width="398" height="205" /></p>
<p>In order to extract the meta-data from the annotated HTML document using hRESTS, one needs to know the hRESTS annotation mechanism. For this purpose and in accordance with GRDDL we also provide a XSLT stylesheet that extracts the meta-data in RDF from XHTML pages. You can download the XSLT stylesheet <a href="  http://members.sti2.at/˜jacekk/hrests/hrests.xslt ">here</a>.</p>
<p>Once the hRESTS is used by RESTful service providers, one can easily build a focused search engine for RESTful services, for example by using <a href="http://developer.yahoo.com/search/boss/">Yahoo! BOSS web search</a> in analogical way like BOSS web search can be used for e.g. <a href="http://developer.yahoo.net/blog/archives/2008/10/boss_is_the_gre.html">searching LinkedIn public profiles</a> annotated with <a href="http://microformats.org/wiki/hresume">hResume</a> microformat. We further plan to submit the hRESTS microformat to <a href="http://microformats.org/">microformats.org</a> as well as build extenisions towards semantic annotations which we call MicroWSMO.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vitvar.com/?feed=rss2&#038;p=64</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Formal Model for Semantic-Driven Service Execution</title>
		<link>http://blog.vitvar.com/?p=37</link>
		<comments>http://blog.vitvar.com/?p=37#comments</comments>
		<pubDate>Fri, 08 Aug 2008 10:23:16 +0000</pubDate>
		<dc:creator>Tomas</dc:creator>
				<category><![CDATA[Publications]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[ASM]]></category>
		<category><![CDATA[Interoperability]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[WSMO]]></category>
		<category><![CDATA[WSMX]]></category>

		<guid isPermaLink="false">http://blog.vitvar.com/?p=37</guid>
		<description><![CDATA[Our work on formal model for semantic-driven service execution (co-authored by me, Adrian Mocan, and Maciej Zaremba) will be published in proceedings of the 7th International Semantic Web Conference (ISWC) to be held in Karlsruhe, Germany in November this year (acceptance rate 16%). You can access the full paper here. In this work we define [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justified;">Our work on formal model for semantic-driven service execution (co-authored by me, <a href="http://www.adrian-mocan.com/">Adrian Mocan</a>, and <a href="http://www.deri.ie/about/team/member/maciej_zaremba/">Maciej Zaremba</a>) will be published in proceedings of <a href="http://iswc2008.semanticweb.org">the 7th International Semantic Web Conference (ISWC)</a> to be held in <a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=Karlsruhe&amp;mrt=all&amp;ie=UTF8&amp;ll=49.027063,8.403854&amp;spn=13.954269,38.496094&amp;z=5">Karlsruhe, Germany</a> in November this year (acceptance rate 16%). You can access the full paper <a href="http://www.vitvar.com/doc/ISWC2008-VitvarMZ.pdf">here</a>.</p>
<p style="text-align: justified;">In this work we define a model and an algorithm for execution of services which interfaces are modeled using <a href="http://en.wikipedia.org/wiki/Abstract_state_machines">Abstract State Machines</a> (ASM) that use ontological concepts for their vocabularies (we call this description a choreography). Ontologically-enhanced ASM allows to model services&#8217; interfaces with more descriptive information (as opposed to e.g. interfaces in <a href="http://en.wikipedia.org/wiki/Web_Services_Description_Language">WSDL</a> only defining a set of operations with input and output messages and <a href="http://en.wikipedia.org/wiki/Message_Exchange_Pattern">message exchange patterns</a> for those operations). In this work we build additional layer of ASM descriptions on top of WSDL descriptions (<a href="http://en.wikipedia.org/wiki/XML_Schema">XML Schema</a> and Interface) and show how a conversation between two services can be executed.</p>
<p style="text-align: justified;">The important aspect of service execution is to maintain services&#8217; interoperability at the data and process levels. Data interoperability needs to be ensured when services use different information models used to define services&#8217; input and output messages, and process interoperability needs to be ensured when one service expects to exchange messages in an order that is not directly matching the order of the other service. We illustrate the usage of the execution model on the case scenario implemented on our WSMO, WSML, and WSMX technologies as the figure below depicts.</p>
<p style="text-align: center; padding: 4px 0px 4px 0px;"><img class="alignnone" title="Mediation Scenario" src="http://www.vitvar.com/misc/mediation-scenario.png" alt="" width="509" height="269" /></p>
<p style="text-align: justified;">The scenario describes a mediation problem defined by the <a href="http://www.sws-challenge.org">SWS Challenge</a> initiative. In the scenario, a trading company, called Moon, uses a Customer Relationship Management system (CRM) and an Order Management System (OMS) to manage its order processing. Moon has signed agreements to exchange Purchase Order (PO) messages with a company called Blue using the <a href="http://www.rosettanet.org/">RosettaNet</a> standard PIP3A4. There are two interoperability problems in the scenario: At the data level, the Blue uses PIP3A4 to deﬁne the PO request and conﬁrmation messages while Moon uses a proprietary XML Schema for its OMS and CRM systems. At the process level, the Blue follows PIP3A4 Partner Interface Protocol (PIP), i.e. it sends out a PIP3A4 PO message, including all items to be ordered, and expects to receive a PIP3A4 PO conﬁrmation message. On the other hand, various interactions with the CRM and OMS systems must be performed in Moon in order to process the order, i.e. get the internal ID for the customer from the CRM system, create the order in the OMS system, add line items into the order, close the order, and send back the PO conﬁrmation.</p>
<p style="text-align: justified;">By using ASMs and ontologies we automatically adjust the order of messages conforming to both services&#8217; descriptions while at the same time we resolve data interoperability conflicts by using ontology alignments between services&#8217; information models. The following Figure depicts the model in a form of a <a href="http://en.wikipedia.org/wiki/State_diagram">state diagram</a>.</p>
<p style="text-align: center;"><img class="aligncenter" title="Formal Model for Semantic-Driven Service Execution" src="http://www.vitvar.com/misc/execution-model-CSD.png" alt="" width="516" height="280" /></p>
<p style="text-align: justified;">In our paper we describe in detail the algorithm for services execution operating according to the model depicted in the figure above. The input for the algorithm are two services both having defined their choreographies as ontologized ASMs over WSDL interface operations (in addition, a grounding between ASM rules and underlying WSDL interface operations is also defined), and ontology alignments between both services&#8217; ontologies. In a nuthshell, when a message is available from one service, the algorithm process the message, that is, it transforms the message to the others service&#8217;s ontology and places the message for evaluation by its choreography.</p>
<p style="text-align: justified;">It is important to note, that our algorithm works well in cases when the two choreographies are compatible, that is, interoperability can be achieved by adjusting the order of messages. The algorithm in its current form will not work when there is a message requested by one service that the other service never sends. In such cases, the message would have to be created on the fly based on some background knowledge that the algorithm should posses while at the same time solutions for such problems would need to build on a concrete semantics of messages. For example, the algorithm should know that a message is an acknowledgment message, etc. These questions remain open for our future research.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vitvar.com/?feed=rss2&#038;p=37</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
