<?xml version="1.0" encoding="utf-8"?>
<!-- $Id: soc-dsrch.xml 7996 2008-07-13 23:08:49Z ellefj $ -->
<book>
  <bookinfo>
    <graphic fileref="logo.jpg"/>
    <productname>Distributed Search for eXist</productname>
    <title>GSoC 2008: Distributed Search for eXist</title>
    <author>
      <firstname>Sergej</firstname>
      <surname>Rinc</surname>
      <affiliation>
	<address format="linespecific">
	  <email>Sergej.Rinc@gmail.com</email>
	</address>
      </affiliation>
    </author>
  </bookinfo>
  <ci:include xmlns:ci="http://apache.org/cocoon/include/1.0" src="sidebar.xml"/>
  <chapter>
    <title>Distributed Search for eXist – Statement of Work</title>
    <para>Author/Student: <b>Sergej Rinc</b><br/>
    Mentor: Leif-Jöran Olsson</para>
    <section>            
      <title>Distributed Search for eXist (GSoC 2008)</title>
      <para>Hi everybody,</para>
      <para>I would like to introduce myself and give an overview for one of two
      accepted Google Summer of Code projects for eXist this year (<a href="http://code.google.com/soc/2008/exist/about.html">http://code.google.com/soc/2008/exist/about.html</a>).</para>
      <para>I'm postgraduate student, attending Master programme of Computer and
      Information Science at Faculty of Electrical Engineering and Computer
      Science in Maribor, Slovenia. My interests and courses are in
      multimedia (and) databases. My diploma (degree) work last year would
      not be possible without eXist, using two other open source tools for
      practical "semantic" application.
      I have 12 years of working experience in network security, system
      engineering, web mastering and application development. Several open
      source projects were translated to my native language by small team or
      me only (most known are Drupal and Claroline) and now a chance to
      participate in open source code development is both a challenge and a
      (hopefully long) commitment.</para>
      <para>Distributed search project abstract (to start discussion) is here:
      <a href="http://code.google.com/soc/2008/exist/appinfo.html?csaid=B4609CD935485A3">http://code.google.com/soc/2008/exist/appinfo.html?csaid=B4609CD935485A3</a></para>
      <para>Shortly: eXist's XQuery expression engine can fetch XML documents
      from local database instance (server) and from remote URLs but it
      would be good to "spawn" search to several - local or remote -
      database instances at the same time and merge already parsed retrieved
      results to final result tree before sending it to client. So eXist
      would not retrieve XML document from remote URL first and then
      parse&amp;merge etc.
      In this context let me state two things more. Distributed databases
      are databases which have parts of the data located in several database
      instances. Imagine adding additional server for better reliability,
      scalability, upgrading etc. Distributed search facility must find all
      results from distributed database (having same schema) but we should
      also think on different databases.</para>
      <para>The other thing is that W3C hasn't recommended yet how this
      "execute" XQuery expression should be done. Future XQuery 1.1
      proposals mention only referencing nodes which will be done
      practically during this project (so for example we can use reference
      and get further data from its database instance where it resides)
      while most academic papers declare new, non-standard XQuery language
      construct. Since parsing URLs in XQuery expression can distinguish
      remote and local URLs such construct is really not needed so the aim
      here is to add proper code logic to efficiently retrieve and combine
      query results.</para>
      <para>Thanks for reading, more when I start working with my mentor
      (Leif-Jöran Olsson) and other eXist developers, provide requested
      forms to Google and - continue to read great community feedback (now
      nearly one year for me) in this list!</para>
      <para>Sergej M. Rinc</para>
    </section>
  </chapter>
</book>
