blob: a86acb1803f18f06f8456691cf7a1e92c4c887a8 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="SMILA/Specifications/Management Of The Smila Components,SMILA/Project Concepts/CrawlerController Remote Management,SMILA/Workflow Overview" />
<link rel="shortcut icon" href="http://wiki.eclipse.org/SMILA/Specifications/favicon.ico" />
<link rel="search" type="application/opensearchdescription+xml" href="http://wiki.eclipse.org/opensearch_desc.php" title="Eclipsepedia (English)" />
<link rel="alternate" type="application/rss+xml" title="Eclipsepedia RSS Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=rss" />
<link rel="alternate" type="application/atom+xml" title="Eclipsepedia Atom Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=atom" />
<title>SMILA/Specifications/Management Of The Smila Components - Eclipsepedia</title>
<style type="text/css" media="screen,projection">/*<![CDATA[*/ @import "http://wiki.eclipse.org/skins/eclipsenova/novaWide.css?116"; /*]]>*/</style>
<link rel="stylesheet" type="text/css" media="print" href="http://wiki.eclipse.org/skins/eclipsenova/eclipsenovaPrint.css?116" />
<link rel="stylesheet" type="text/css" media="handheld" href="http://wiki.eclipse.org/skins/eclipsenova/handheld.css?116" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/header.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/tabs.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/visual.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/layout.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/footer.css" media="screen" />
<!--[if IE]><link rel="stylesheet" type="text/css" href="/skins/eclipsenova/IEpngfix.css" media="screen" /><![endif]-->
<!--[if lt IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE50Fixes.css?116";</style> <![endif]-->
<!--[if IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE55Fixes.css?116";</style><![endif]-->
<!--[if IE 6]><style type="text/css">@import "/skins/eclipsenova/IE60Fixes.css?116";</style><![endif]-->
<!--[if IE 7]><style type="text/css">@import "/skins/eclipsenova/IE70Fixes.css?116";</style><![endif]-->
<!--[if lt IE 7]><script type="text/javascript" src="/skins/common/IEFixes.js?116"></script>
<meta http-equiv="imagetoolbar" content="no" /><![endif]-->
<script type= "text/javascript">/*<![CDATA[*/
var skin = "eclipsenova";
var stylepath = "/skins";
var wgArticlePath = "/$1";
var wgScriptPath = "";
var wgScript = "/index.php";
var wgServer = "http://wiki.eclipse.org";
var wgCanonicalNamespace = "";
var wgCanonicalSpecialPageName = false;
var wgNamespaceNumber = 0;
var wgPageName = "SMILA/Specifications/Management_Of_The_Smila_Components";
var wgTitle = "SMILA/Specifications/Management Of The Smila Components";
var wgAction = "view";
var wgRestrictionEdit = [];
var wgRestrictionMove = [];
var wgArticleId = "16837";
var wgIsArticle = true;
var wgUserName = null;
var wgUserGroups = null;
var wgUserLanguage = "en";
var wgContentLanguage = "en";
var wgBreakFrames = false;
var wgCurRevisionId = "151848";
var wgVersion = "1.12.0";
var wgEnableAPI = true;
var wgEnableWriteAPI = false;
/*]]>*/</script>
<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/wikibits.js?116"><!-- wikibits js --></script>
<!-- Performance mods similar to those for bug 166401 -->
<script type="text/javascript" src="http://wiki.eclipse.org/index.php?title=-&amp;action=raw&amp;gen=js&amp;useskin=eclipsenova"><!-- site js --></script>
<!-- Head Scripts -->
<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/ajax.js?116"></script>
<style type="text/css">/*<![CDATA[*/
.source-java {line-height: normal; font-size: medium;}
.source-java li {line-height: normal;}
/**
* GeSHi Dynamically Generated Stylesheet
* --------------------------------------
* Dynamically generated stylesheet for java
* CSS class: source-java, CSS id:
* GeSHi (C) 2004 - 2007 Nigel McNie (http://qbnz.com/highlighter)
*/
.source-java .de1, .source-java .de2 {font-family: 'Courier New', Courier, monospace; font-weight: normal;}
.source-java {}
.source-java .head {}
.source-java .foot {}
.source-java .imp {font-weight: bold; color: red;}
.source-java .ln-xtra {color: #cc0; background-color: #ffc;}
.source-java li {font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;}
.source-java li.li2 {font-weight: bold;}
.source-java .kw1 {color: #7F0055; font-weight: bold;}
.source-java .kw2 {color: #7F0055; font-weight: bold;}
.source-java .kw3 {color: #000000; font-weight: normal}
.source-java .kw4 {color: #7F0055; font-weight: bold;}
.source-java .co1 {color: #3F7F5F; font-style: italic;}
.source-java .co2 {color: #3F7F5F;}
.source-java .co3 {color: #3F7F5F; font-style: italic; font-weight: bold;}
.source-java .coMULTI {color: #3F5FBF; font-style: italic;}
.source-java .es0 {color: #000000;}
.source-java .br0 {color: #000000;}
.source-java .st0 {color: #2A00ff;}
.source-java .nu0 {color: #000000;}
.source-java .me1 {color: #000000;}
.source-java .me2 {color: #000000;}
/*]]>*/
</style>
<style type="text/css">/*<![CDATA[*/
@import "http://wiki.eclipse.org/index.php?title=MediaWiki:Geshi.css&usemsgcache=yes&action=raw&ctype=text/css&smaxage=18000";
/*]]>*/
</style><style type="text/css">/*<![CDATA[*/
.source-xml {line-height: normal; font-size: medium;}
.source-xml li {line-height: normal;}
/**
* GeSHi Dynamically Generated Stylesheet
* --------------------------------------
* Dynamically generated stylesheet for xml
* CSS class: source-xml, CSS id:
* GeSHi (C) 2004 - 2007 Nigel McNie (http://qbnz.com/highlighter)
*/
.source-xml .de1, .source-xml .de2 {font-family: 'Courier New', Courier, monospace; font-weight: normal;}
.source-xml {}
.source-xml .head {}
.source-xml .foot {}
.source-xml .imp {font-weight: bold; color: red;}
.source-xml .ln-xtra {color: #cc0; background-color: #ffc;}
.source-xml li {font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;}
.source-xml li.li2 {font-weight: bold;}
.source-xml .coMULTI {color: #808080; font-style: italic;}
.source-xml .es0 {color: #000099; font-weight: bold;}
.source-xml .br0 {color: #66cc66;}
.source-xml .st0 {color: #ff0000;}
.source-xml .nu0 {color: #cc66cc;}
.source-xml .sc0 {color: #00bbdd;}
.source-xml .sc1 {color: #ddbb00;}
.source-xml .sc2 {color: #339933;}
.source-xml .sc3 {color: #009900;}
.source-xml .re0 {color: #000066;}
.source-xml .re1 {font-weight: bold; color: black;}
.source-xml .re2 {font-weight: bold; color: black;}
/*]]>*/
</style>
<style type="text/css">/*<![CDATA[*/
@import "http://wiki.eclipse.org/index.php?title=MediaWiki:Geshi.css&usemsgcache=yes&action=raw&ctype=text/css&smaxage=18000";
/*]]>*/
</style><link rel="stylesheet" type="text/css" href="Management_Of_The_Smila_Components.html" /> </head>
<body class="mediawiki ns-0 ltr page-SMILA_Specifications_Management_Of_The_Smila_Components">
<div id="globalWrapper">
<div id="column-one">
<!-- Eclipse Additions for the Top Nav start here M. Ward-->
<div id="header">
<div id="header-graphic">
<img src="http://wiki.eclipse.org/skins/eclipsenova/eclipse.png" alt="Eclipse Wiki">
</div>
<!-- Pulled 101409 Mward -->
<div class="portlet" id="p-personal">
<div class="pBody">
<ul>
<li id="pt-login"><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Specifications/Management_Of_The_Smila_Components">Log in</a></li>
</ul>
</div>
</div>
<div id="header-icons">
<div id="sites">
<ul id="sitesUL">
<li><a href="http://www.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/eclipseIcon.png" width="28" height="28" alt="Eclipse Foundation" title="Eclipse Foundation" /><div>Eclipse Foundation</div></a></li>
<li><a href="http://marketplace.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/marketplace.png" width="28" height="28" alt="Eclipse Marketplace" title="Eclipse Marketplace" /><div>Eclipse Marketplace</div></a></li>
<li><a href="https://bugs.eclipse.org/bugs"><img src="http://dev.eclipse.org/custom_icons/system-search-bw.png" width="28" height="28" alt="Bugzilla" title="Bugzilla" /><div>Bugzilla</div></a></li>
<li><a href="http://live.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/audio-input-microphone-bw.png" width="28" height="28" alt="Live" title="Live" /><div>Eclipse Live</div></a></li>
<li><a href="http://planeteclipse.org"><img src="http://dev.eclipse.org/large_icons/devices/audio-card.png" width="28" height="28" alt="PlanetEclipse" title="Planet" /><div>Planet Eclipse</div></a></li>
<li><a href="http://portal.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/preferences-system-network-proxy-bw.png" width="28" height="28" alt="Portal" title="Portal" /><div>My Foundation Portal</div></a></li>
</ul>
</div>
</div>
</div>
<!-- NEW HEADER STUFF HERE -->
<div id="header-menu">
<div id="header-nav">
<ul> <li><a class="first_one" href="http://wiki.eclipse.org/" target="_self">Home</a></li> <li><a href="http://www.eclipse.org/downloads/" target="_self">Downloads</a></li>
<li><a href="http://www.eclipse.org/users/" target="_self">Users</a></li>
<li><a href="http://www.eclipse.org/membership/" target="_self">Members</a></li>
<li><a href="http://wiki.eclipse.org/index.php/Development_Resources" target="_self">Committers</a></li>
<li><a href="http://www.eclipse.org/resources/" target="_self">Resources</a></li>
<li><a href="http://www.eclipse.org/projects/" target="_self">Projects</a></li>
<li><a href="http://www.eclipse.org/org/" target="_self">About Us</a></li>
</ul>
</div>
<div id="header-utils">
<!-- moved the search window here -->
<form action="http://wiki.eclipse.org/Special:Search" >
<input class="input" name="search" type="text" accesskey="f" value="" />
<input type='submit' onclick="this.submit();" name="go" id="searchGoButton" class="button" title="Go to a page with this exact name if one exists" value="Go" />&nbsp;
<input type='submit' onclick="this.submit();" name="fulltext" class="button" id="mw-searchButton" title="Search Eclipsepedia for this text" value="Search" />
</form>
</div>
</div>
<!-- Eclipse Additions for the Header stop here -->
<!-- Additions and mods for leftside nav Start here -->
<!--Started nav rip here-->
<!-- these are the nav controls main page, changes etc -->
<div id="novaContent" class="faux">
<div id="leftcol">
<ul id="leftnav">
<!-- these are the page controls, edit history etc -->
<li class="separator"><a class="separator">Navigation &#160;&#160;</li>
<li id="n-mainpage"><a href="http://wiki.eclipse.org/Main_Page">Main Page</a></li>
<li id="n-portal"><a href="http://wiki.eclipse.org/Eclipsepedia:Community_Portal">Community portal</a></li>
<li id="n-currentevents"><a href="http://wiki.eclipse.org/Eclipsepedia:Current_events">Current events</a></li>
<li id="n-recentchanges"><a href="http://wiki.eclipse.org/Special:Recentchanges">Recent changes</a></li>
<li id="n-randompage"><a href="http://wiki.eclipse.org/Special:Random">Random page</a></li>
<li id="n-help"><a href="http://wiki.eclipse.org/Help:Contents">Help</a></li>
<li class="separator"><a class="separator">Toolbox &#160;&#160;</a></li>
<li id="t-whatlinkshere"><a href="http://wiki.eclipse.org/Special:Whatlinkshere/SMILA/Specifications/Management_Of_The_Smila_Components">What links here</a></li>
<li id="t-recentchangeslinked"><a href="http://wiki.eclipse.org/Special:Recentchangeslinked/SMILA/Specifications/Management_Of_The_Smila_Components">Related changes</a></li>
<!-- This is the toolbox section -->
<li id="t-upload"><a href="http://wiki.eclipse.org/Special:Upload">Upload file</a></li>
<li id="t-specialpages"><a href="http://wiki.eclipse.org/Special:Specialpages">Special pages</a></li>
<li id="t-print"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Specifications/Management_Of_The_Smila_Components&amp;printable=yes">Printable version</a></li> <li id="t-permalink"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Specifications/Management_Of_The_Smila_Components&amp;oldid=151848">Permanent link</a></li> </ul>
</div>
<!-- Additions and mods for leftside nav End here -->
<div id="column-content">
<div id="content">
<a name="top" id="top"></a>
<div id="tabs">
<ul class="primary">
<li class="active"><a href="Management_Of_The_Smila_Components.html"><span class="tab">Page</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=Talk:SMILA/Specifications/Management_Of_The_Smila_Components&amp;action=edit"><span class="tab">Discussion</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Specifications/Management_Of_The_Smila_Components&amp;action=edit"><span class="tab">View source</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Specifications/Management_Of_The_Smila_Components&amp;action=history"><span class="tab">History</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Specifications/Management&#32;Of&#32;The&#32;Smila&#32;Components"><span class="tab">Edit</span></a></li>
</ul>
</div>
<script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
<h1 class="firstHeading">SMILA/Specifications/Management Of The Smila Components</h1>
<div id="bodyContent">
<h3 id="siteSub">From Eclipsepedia</h3>
<div id="contentSub"><span class="subpages">&lt; <a href="../../SMILA.html" title="SMILA">SMILA</a> | <a href="../Specifications.1.html" title="SMILA/Specifications">Specifications</a></span></div>
<div id="jump-to-nav">Jump to: <a href="Management_Of_The_Smila_Components.html#column-one">navigation</a>, <a href="Management_Of_The_Smila_Components.html#searchInput">search</a></div> <!-- start content -->
<table id="toc" class="toc" summary="Contents"><tr><td><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1"><a href="Management_Of_The_Smila_Components.html#Use_case"><span class="tocnumber">1</span> <span class="toctext">Use case</span></a></li>
<li class="toclevel-1"><a href="Management_Of_The_Smila_Components.html#Description"><span class="tocnumber">2</span> <span class="toctext">Description</span></a></li>
<li class="toclevel-1"><a href="Management_Of_The_Smila_Components.html#Technical_Proposal"><span class="tocnumber">3</span> <span class="toctext">Technical Proposal</span></a>
<ul>
<li class="toclevel-2"><a href="Management_Of_The_Smila_Components.html#Management_by_the_pseudo_records"><span class="tocnumber">3.1</span> <span class="toctext">Management by the pseudo records</span></a>
<ul>
<li class="toclevel-3"><a href="Management_Of_The_Smila_Components.html#The_possible_realization"><span class="tocnumber">3.1.1</span> <span class="toctext">The possible realization</span></a></li>
<li class="toclevel-3"><a href="Management_Of_The_Smila_Components.html#Advantages_of_the_given_approach"><span class="tocnumber">3.1.2</span> <span class="toctext">Advantages of the given approach</span></a></li>
</ul>
</li>
<li class="toclevel-2"><a href="Management_Of_The_Smila_Components.html#Directly_by_the_LuceneIndexService"><span class="tocnumber">3.2</span> <span class="toctext">Directly by the LuceneIndexService</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="Management_Of_The_Smila_Components.html#Solution_choosen"><span class="tocnumber">4</span> <span class="toctext">Solution choosen</span></a></li>
</ul>
</li>
</ul>
</td></tr></table><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); } </script>
<a name="Use_case"></a><h2> <span class="mw-headline">Use case</span></h2>
<p>Some Smila components have to be managed.
</p><p>The Lucene index should be managed by means of JMX agent. Operations for deleting, renaming and creating indexes should be accessible. For XMLStorage operations for deleting and renaming partitions should be accessible.
</p><p><br />
</p><p>This article is written on the basis of discussions with Dmitriy Hazin and Ivan Churkin.
</p>
<a name="Description"></a><h2> <span class="mw-headline">Description</span></h2>
<p>Let's discuss a problem on an example of management of an index.
</p><p>See <a href="../Workflow_Overview.html" class="mw-redirect" title="SMILA/Workflow Overview">Workflow Smila</a>.
</p><p>The core of the SMILA system – consisting of <b>Router -&gt; JMS queue -&gt; Listener -&gt; BPEL processor</b> - works with Record objects. Or in other words the record connects all components of the system.
</p><p>The Router pushes the record in the JMS message queue ( ActiveMQ). The records are collected in the queue where they await further processing. The Listener orders the queue and invokes the respective pipeline for each record. Currently Smila has 2 pipelines: The AddPipeline and the DeletePipeline, which invoke several services and one pipelet to process a record.
</p><p><br />
</p><p><a href="http://wiki.eclipse.org/Image:Pipeline5.jpg" class="image" title="Image:pipeline5.jpg"><img alt="Image:pipeline5.jpg" src="http://wiki.eclipse.org/images/6/6b/Pipeline5.jpg" width="398" height="402" border="0" /></a>
</p><p><i>Figure 1. Add pipeline (see addpipeline.bpel). Delete pipeline (see deletepipeline.bpel).</i>
</p><p>As shown in Figure 1, the AddPipeline invokes the SimplemimeTypeIdentifier service and the pipelet HtmlTotextPipelet which prepare the record for adding it to an index, and then the LuceneIndexService which directly accesses the index for the adding of the record to the index.
</p><p>The DeletePipeline invokes the LuceneIndexService for deleting a record from the index.
</p><p>LuceneIndexService accesses an index by means of two methods:
</p>
<div dir="ltr" style="text-align: left;"><pre class="source-java"><span class="kw1">private</span> <span class="kw4">void</span> addRecord<span class="br0">&#40;</span><span class="kw1">final</span> Blackboard blackboard, <span class="kw1">final</span> Id id, <span class="kw3">String</span> indexName<span class="br0">&#41;</span> ...
&nbsp;
<span class="kw1">private</span> <span class="kw4">void</span> deleteRecord<span class="br0">&#40;</span><span class="kw1">final</span> Id id, <span class="kw3">String</span> indexName<span class="br0">&#41;</span> ...
&nbsp;
&nbsp;
<span class="me1">IndexConnection</span> indexConnection = IndexManager.<span class="me1">getInstance</span><span class="br0">&#40;</span>indexName<span class="br0">&#41;</span>;</pre></div>
<p>Thus the system has no direct reference to the Lucene index implementation as such. All indexing operations are carried out by calling methods of the LuceneIndexService.
</p><p>On this basis there are two ways of implementation of the index management:
</p>
<ul><li> Natural way - Management by pseudo records which contain the index command.
</li><li> Surgical way – Direct Lucence API access by the LuceneIndexService.
</li></ul>
<a name="Technical_Proposal"></a><h2> <span class="mw-headline">Technical Proposal</span></h2>
<a name="Management_by_the_pseudo_records"></a><h3> <span class="mw-headline">Management by the pseudo records</span></h3>
<p>A pseudo record does not contain any data apart from the index command as part of its meta-data. Its sole purpose is to tell the LuceneIndexService which operation is required: deleting, renaming or creating of an index.
</p><p><br />
</p>
<a name="The_possible_realization"></a><h4> <span class="mw-headline">The possible realization</span></h4>
<p>Create an additional pipeline “IndexManagementPipeline” to send pseudo records to.
For this pipeline
</p>
<ul><li> Create a set of pipelets, one for each operation
</li></ul>
<p>or
</p>
<ul><li> Invoke LuceneIndexService directly from the “IndexManagementPipeline”. In this case the LuceneIndexService has to be enriched with a new method for each of the required operations
</li></ul>
<p><br />
<a href="http://wiki.eclipse.org/Image:NewPipeline1.jpg" class="image" title="Image:newPipeline1.jpg"><img alt="Image:newPipeline1.jpg" src="http://wiki.eclipse.org/images/2/2c/NewPipeline1.jpg" width="391" height="401" border="0" /></a>
</p><p><i>Figure 2. Posible realization IndexManagementPipeline.</i>
</p><p>Configuration file for IndexManagementPipeline <i>indexmanagementpipeline.bpel</i> can consist:
</p>
<div dir="ltr" style="text-align: left;"><pre class="source-xml"><span class="sc3"><span class="re1">&lt;proc:invokeService<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;proc:service</span> <span class="re0">name</span>=<span class="st0">&quot;LuceneIndexService&quot;</span> <span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;proc:variables</span> <span class="re0">input</span>=<span class="st0">&quot;request&quot;</span> <span class="re0">output</span>=<span class="st0">&quot;request&quot;</span> <span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;proc:setAnnotations<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;rec:An</span> <span class="re0">n</span>=<span class="st0">&quot;org.eclipse.smila.lucene.LuceneIndexService&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;rec:V</span> <span class="re0">n</span>=<span class="st0">&quot;indexName&quot;</span><span class="re2">&gt;</span></span>test_index<span class="sc3"><span class="re1">&lt;/rec:V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;rec:V</span> <span class="re0">n</span>=<span class="st0">&quot;executionMode&quot;</span><span class="re2">&gt;</span></span>DELETE_INDEX<span class="sc3"><span class="re1">&lt;/rec:V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/rec:An<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/proc:setAnnotations<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/proc:invokeService<span class="re2">&gt;</span></span></span></pre></div>
<a name="Advantages_of_the_given_approach"></a><h4> <span class="mw-headline">Advantages of the given approach</span></h4>
<ul><li> A new mechanism for the execution of the index commands is not necessary
</li></ul>
<p>(This is especially important for the distributed system)
</p>
<ul><li> The history of commands is easily maintained.
</li></ul>
<a name="Directly_by_the_LuceneIndexService"></a><h3> <span class="mw-headline">Directly by the LuceneIndexService</span></h3>
<p>We have to accept that the LuceneIndexService has to implement new methods: deleteIndex(), renameIndex() and createIndex().
</p><p>Directly invoking the LuceneIndexService will also lead to a desirable result. However, a solution in this fashion requires surgical interference with the system (requirement to implement new methods) and cannot be considered correct.
The requirement for new functionality would always require changes to the API of the system.
The direct approach does not use the possibilities of the SMILA system and does not allow to control the index operations in the standard way.
</p><p>See also <a href="http://en.wikipedia.org/wiki/Command_pattern" class="external text" title="http://en.wikipedia.org/wiki/Command_pattern" rel="nofollow">Command Pattern</a>
</p>
<a name="Solution_choosen"></a><h2> <span class="mw-headline">Solution choosen</span></h2>
<p>It was decided to use standard management agents. Exactly like in the <a href="../Project_Concepts/CrawlerController_Remote_Management.html" title="SMILA/Project Concepts/CrawlerController Remote Management"> crawler controller management</a>.
</p>
<!--
NewPP limit report
Preprocessor node count: 15/1000000
Post-expand include size: 0/2097152 bytes
Template argument size: 0/2097152 bytes
#ifexist count: 0/100
-->
<!-- Saved in parser cache with key wikidb:pcache:idhash:16837-0!1!0!!en!2!edit=0 and timestamp 20120710093552 -->
<div class="printfooter">
Retrieved from "<a href="Management_Of_The_Smila_Components.html">http://wiki.eclipse.org/SMILA/Specifications/Management_Of_The_Smila_Components</a>"</div>
<!-- end content -->
<div class="visualClear"></div>
</div>
</div>
</div>
<!-- Yoink of toolbox for phoenix moved up -->
</div>
</div>
<div id="clearFooter"/>
<div id="footer" >
<ul id="footernav">
<li class="first"><a href="http://www.eclipse.org/">Home</a></li>
<li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
<li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
<li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
<li><a href="http://www.eclipse.org/org/foundation/contact.php">Contact</a></li>
<li><a href="http://wiki.eclipse.org/Eclipsepedia:About" title="Eclipsepedia:About">About Eclipsepedia</a></li>
</ul>
<span id="copyright">Copyright &copy; 2012 The Eclipse Foundation. All Rights Reserved</span>
<p id="footercredit">This page was last modified 10:06, 4 May 2009 by <a href="http://wiki.eclipse.org/User:Juergen.schumacher.empolis.com" title="User:Juergen.schumacher.empolis.com">Juergen Schumacher</a>. Based on work by <a href="http://wiki.eclipse.org/index.php?title=User:Churkin.ivan.gmail.com&amp;action=edit" class="new" title="User:Churkin.ivan.gmail.com">Ivan Churkin</a> and <a href="http://wiki.eclipse.org/index.php?title=User:Szhbankova.brox.de&amp;action=edit" class="new" title="User:Szhbankova.brox.de">Sofya Zhbankova</a>.</p>
<p id="footerviews">This page has been accessed 2,069 times.</p>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-910670-4");
pageTracker._trackPageview();
</script>
<!-- <div class="visualClear"></div> -->
<script type="text/javascript">if (window.runOnloadHook) runOnloadHook();</script>
</div>
<!-- Served in 0.048 secs. --></body></html>