blob: cc9364ad716b31da0171c872a9c69f627ec9c7bc [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/General Framework Requirements" />
<link rel="shortcut icon" href="http://wiki.eclipse.org/SMILA/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/General Framework Requirements - Eclipsepedia</title>
<style type="text/css" media="screen,projection">/*<![CDATA[*/ @import "/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/General_Framework_Requirements";
var wgTitle = "SMILA/General Framework Requirements";
var wgAction = "view";
var wgRestrictionEdit = [];
var wgRestrictionMove = [];
var wgArticleId = "16352";
var wgIsArticle = true;
var wgUserName = null;
var wgUserGroups = null;
var wgUserLanguage = "en";
var wgContentLanguage = "en";
var wgBreakFrames = false;
var wgCurRevisionId = "123067";
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>
<link rel="stylesheet" type="text/css" href="General_Framework_Requirements.html" /> </head>
<body class="mediawiki ns-0 ltr page-SMILA_General_Framework_Requirements">
<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/General_Framework_Requirements">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/General_Framework_Requirements">What links here</a></li>
<li id="t-recentchangeslinked"><a href="http://wiki.eclipse.org/Special:Recentchangeslinked/SMILA/General_Framework_Requirements">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/General_Framework_Requirements&amp;printable=yes">Printable version</a></li> <li id="t-permalink"><a href="http://wiki.eclipse.org/index.php?title=SMILA/General_Framework_Requirements&amp;oldid=123067">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="General_Framework_Requirements.html"><span class="tab">Page</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=Talk:SMILA/General_Framework_Requirements&amp;action=edit"><span class="tab">Discussion</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=SMILA/General_Framework_Requirements&amp;action=edit"><span class="tab">View source</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=SMILA/General_Framework_Requirements&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/General%20Framework%20Requirements"><span class="tab">Edit</span></a></li>
</ul>
</div>
<script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
<h1 class="firstHeading">SMILA/General Framework Requirements</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></span></div>
<div id="jump-to-nav">Jump to: <a href="General_Framework_Requirements.html#column-one">navigation</a>, <a href="General_Framework_Requirements.html#searchInput">search</a></div> <!-- start content -->
<p>This page is dedicated to general requirements posed on SMILA as a whole framework.
</p>
<table id="toc" class="toc" summary="Contents"><tr><td><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1"><a href="General_Framework_Requirements.html#Overview"><span class="tocnumber">1</span> <span class="toctext">Overview</span></a></li>
<li class="toclevel-1"><a href="General_Framework_Requirements.html#Functional_requirements"><span class="tocnumber">2</span> <span class="toctext">Functional requirements</span></a>
<ul>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Use_of_standards"><span class="tocnumber">2.1</span> <span class="toctext">Use of standards</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Componentization"><span class="tocnumber">2.2</span> <span class="toctext">Componentization</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Central_management"><span class="tocnumber">2.3</span> <span class="toctext">Central management</span></a>
<ul>
<li class="toclevel-3"><a href="General_Framework_Requirements.html#Software_management"><span class="tocnumber">2.3.1</span> <span class="toctext">Software management</span></a></li>
<li class="toclevel-3"><a href="General_Framework_Requirements.html#Configuration_management"><span class="tocnumber">2.3.2</span> <span class="toctext">Configuration management</span></a></li>
<li class="toclevel-3"><a href="General_Framework_Requirements.html#Operation_control"><span class="tocnumber">2.3.3</span> <span class="toctext">Operation control</span></a></li>
<li class="toclevel-3"><a href="General_Framework_Requirements.html#Monitoring"><span class="tocnumber">2.3.4</span> <span class="toctext">Monitoring</span></a></li>
</ul>
</li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Security"><span class="tocnumber">2.4</span> <span class="toctext">Security</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Preservation_of_processing_information"><span class="tocnumber">2.5</span> <span class="toctext">Preservation of processing information</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Deployment_flexibility"><span class="tocnumber">2.6</span> <span class="toctext">Deployment flexibility</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Implementation_language_neutrality"><span class="tocnumber">2.7</span> <span class="toctext">Implementation language neutrality</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Incremental_index_update"><span class="tocnumber">2.8</span> <span class="toctext">Incremental index update</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Search_may_not_change_the_state"><span class="tocnumber">2.9</span> <span class="toctext">Search may not change the state</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Limited_bidirectional_component_communication"><span class="tocnumber">2.10</span> <span class="toctext">Limited bidirectional component communication</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Buffering_of_external_information_flow"><span class="tocnumber">2.11</span> <span class="toctext">Buffering of external information flow</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Mash_up_of_data"><span class="tocnumber">2.12</span> <span class="toctext">Mash up of data</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Reporting"><span class="tocnumber">2.13</span> <span class="toctext">Reporting</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Backup"><span class="tocnumber">2.14</span> <span class="toctext">Backup</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="General_Framework_Requirements.html#Nonfunctional_requirements"><span class="tocnumber">3</span> <span class="toctext">Nonfunctional requirements</span></a>
<ul>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Deployment_on_inexpensive_hardware"><span class="tocnumber">3.1</span> <span class="toctext">Deployment on inexpensive hardware</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Scalability"><span class="tocnumber">3.2</span> <span class="toctext">Scalability</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Reliability"><span class="tocnumber">3.3</span> <span class="toctext">Reliability</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Robustness"><span class="tocnumber">3.4</span> <span class="toctext">Robustness</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Data_consistency"><span class="tocnumber">3.5</span> <span class="toctext">Data consistency</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Live_component_upgrade"><span class="tocnumber">3.6</span> <span class="toctext">Live component upgrade</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Copy_deployment"><span class="tocnumber">3.7</span> <span class="toctext">Copy deployment</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#High_indexing_throughput"><span class="tocnumber">3.8</span> <span class="toctext">High indexing throughput</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Community_and_Partner_readiness"><span class="tocnumber">3.9</span> <span class="toctext">Community and Partner readiness</span></a></li>
<li class="toclevel-2"><a href="General_Framework_Requirements.html#Ease_of_use"><span class="tocnumber">3.10</span> <span class="toctext">Ease of use</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="Overview"></a><h2> <span class="mw-headline"> Overview </span></h2>
<p>The main goal of this project is to design and implement a new standard framework for indexing, searching and semantic analysis of <b>vast</b> amount of structured and unstructured data.
</p>
<a name="Functional_requirements"></a><h2> <span class="mw-headline"> Functional requirements </span></h2>
<a name="Use_of_standards"></a><h3> <span class="mw-headline"> Use of standards </span></h3>
<p>The clear maxim of SMILA should be the use of standards. Since one of major goals is to make SMILA open as much as possible to other contributors and vendors, established and relevant emerging standards should be used whenever and wherever possible.
</p>
<a name="Componentization"></a><h3> <span class="mw-headline"> Componentization </span></h3>
<p>SMILA has to be highly flexible by the way it handles its components. The contributors and software vendors have to have the ability to easily extend or substitute connectors (agents and crawlers), services (e.g. search, text mining, data conversion &amp; annotation...) and even core components - if desired.
</p>
<a name="Central_management"></a><h3> <span class="mw-headline"> Central management </span></h3>
<p>One of the major requirements posed on SMILA, is to be capable of handling an enormous amount of documents i.e. data. Since SMILA will run on normal PC-nodes, this means, that we will have a large amount (hundreds!) of nodes in our cluster. Without a central management feature the system will be completely unmanageable. Several management aspects have to be concerned:
</p>
<a name="Software_management"></a><h4> <span class="mw-headline"> Software management </span></h4>
<p>First of all, before even configuring and running the framework, all SMILA-nodes have to be supplied with SMILA-components in some concrete version. This can be best done by storing all components on the central repository and distributing those components from there. To be able to do that, there has to be some initial software deployment on each node so that node is able to register itself to the software repository and fetch the rest of its components from it. This can by easily achieved by copy deployment, i.e. each node will have initially the same software component installed.
</p><p><b>Important:</b> SMILA will not provide any implementation of such a central software repository but only the necessary APIs.
</p>
<a name="Configuration_management"></a><h4> <span class="mw-headline"> Configuration management </span></h4>
<p>After the node has been powered on, registered (via e.g. broadcast) itself on the central management console and received its components, the next step is to acquire its configuration from the configuration repository.
The configuration itself has two major parts. The first part contains the information about the system topology. In other words it answers the question: "Which are other SMILA-nodes that I must communicate with?" The second part contains the information about the function of each component i.e. the business logic configuration.
</p><p><b>Important:</b> SMILA will not provide any implementation of a central configuration repository but only the necessary APIs.
</p>
<a name="Operation_control"></a><h4> <span class="mw-headline"> Operation control </span></h4>
<p>By installing components and configuring them on the node we moved this node to the "ready for operation" state. Now, after the management console has been informed about that, it can engage/start the node via JMX/SNMP.
</p><p><b>Important:</b> SMILA will not provide any implementation of a central management console but only the necessary APIs.
</p>
<a name="Monitoring"></a><h4> <span class="mw-headline"> Monitoring </span></h4>
<p>During the whole operation time of the SMILA-system there has to be the possibility to monitor its components and, depending of their status, take some action. Hence a monitoring functionality should be provided.
There are basically two monitoring aspects. First, we need to monitor the operating status (health) of a component. Second, we need also to monitor the performance parameters of a component.
The monitoring should be realized by utilizing SNMP &amp; JMX.
</p>
<a name="Security"></a><h3> <span class="mw-headline"> Security </span></h3>
<p>There are several requirements related to security.
First, the user generally has to authenticate himself (if not using guest account) before he/she can access the data stored in SMILA.
Second, the access rights have to be transferred from the data sources into SMILA's indices and used there for authorization each time a user sends a query.
Third, SMILA has also to make sure, that even an administrator cannot access confidential data. This should be achieved by encrypting all stored data in SMILA.
</p>
<a name="Preservation_of_processing_information"></a><h3> <span class="mw-headline"> Preservation of processing information </span></h3>
<p>There may be no accidental information loss in SMILA. For example, if some information comes in SMILA and for some reason the processing fails (e.g. the whole node or just a process has crashed), then this information may not leave the framework without manual action of the administrator.
</p>
<a name="Deployment_flexibility"></a><h3> <span class="mw-headline"> Deployment flexibility </span></h3>
<p>SMILA has to be designed for large enterprises. Therefore the main deployment scenario is some kind of cluster environment. Nevertheless, the framework must also run on a single node being it just for development or demonstration purpose.
</p>
<a name="Implementation_language_neutrality"></a><h3> <span class="mw-headline"> Implementation language neutrality </span></h3>
<p>One of the ways of SMILA being open, is the implementation language neutrality of connect and service components. SMILA has to provide the ability for contributors and software vendors to implement their components in other programming languages than Java.
</p><p><b>Note:</b> SMILA's core components are only implemented in Java.
</p>
<a name="Incremental_index_update"></a><h3> <span class="mw-headline"> Incremental index update </span></h3>
<p>SMILA must provide some kind of online index update functionality. Agents should provide instant index update. Crawlers, on the other side, delayed index update.
</p>
<a name="Search_may_not_change_the_state"></a><h3> <span class="mw-headline"> Search may not change the state </span></h3>
<p>The search process may not change the state of the data being stored in SMILA. Which means, that the index and search process have to be completely separated from each other.
</p>
<a name="Limited_bidirectional_component_communication"></a><h3> <span class="mw-headline"> Limited bidirectional component communication </span></h3>
<p>Eventual spread of SMILA' components running in separated processes across several networks and hence the existence of firewalls has to be taken into account.
</p><p><b>Important:</b> The core components must be deployed in same network and have unlimited communication possibility.
</p>
<a name="Buffering_of_external_information_flow"></a><h3> <span class="mw-headline"> Buffering of external information flow </span></h3>
<p>One of the advanced features of SMILA should also be the buffering of information transferred from the data sources. This feature will optimize the performance of SMILA by reducing some unnecessary load caused by e.g. several consecutive changes on the same document.
</p>
<a name="Mash_up_of_data"></a><h3> <span class="mw-headline"> Mash up of data </span></h3>
<p>Another advanced feature of SMILA should be the possibility to mash up existing data and thereby provide some new interesting information.
</p>
<a name="Reporting"></a><h3> <span class="mw-headline"> Reporting </span></h3>
<p>Further advanced feature of SMILA should be reporting.
</p>
<a name="Backup"></a><h3> <span class="mw-headline"> Backup </span></h3>
<p>The ability to backup the system is highly important. The system must be designed to allow this.
</p>
<a name="Nonfunctional_requirements"></a><h2> <span class="mw-headline"> Nonfunctional requirements </span></h2>
<a name="Deployment_on_inexpensive_hardware"></a><h3> <span class="mw-headline"> Deployment on inexpensive hardware </span></h3>
<p>Hardware nodes used for deployment of SMILA should not exceed the capabilities of a contemporary normal PC. More precise: The use of 1Gbit/s network adapter should be completely sufficient.
</p>
<a name="Scalability"></a><h3> <span class="mw-headline"> Scalability </span></h3>
<p>The framework must be capable of handling huge amounts of data. The goal is to be able to deal with one billion documents and more.
</p>
<a name="Reliability"></a><h3> <span class="mw-headline"> Reliability </span></h3>
<p>Careful deployment, planning and configuration of SMILA by e.g. avoiding single points of failure must ensure, that the operation of SMILA will not be interrupted if some of its core components are suddenly not available.
</p>
<a name="Robustness"></a><h3> <span class="mw-headline"> Robustness </span></h3>
<p>Some bad component, misbehaving by taking 100% of CPU time or utilizing large amounts of memory, may not have an impact on the overall framework stability.
</p>
<a name="Data_consistency"></a><h3> <span class="mw-headline"> Data consistency </span></h3>
<p>Persisted application data must be consistent at any time. No matter what happens: power outage; the loss of complete network connectivity; total hardware failure; crash of all instances of a service the data stored in the framework must not be corrupted.
</p>
<a name="Live_component_upgrade"></a><h3> <span class="mw-headline"> Live component upgrade </span></h3>
<p>During the normal system operation it must be possible to gradually upgrade its components. In other words, the system may not be shut down even for a complete upgrade. Instead of shutting it down, the update of the system should be possible within a lengthy time slot and in an asynchronous manner. This is of course only possible if the third party components, like e.g. Queue-Server or BPEL-Engine offer the same functionality. Otherwise this discontinuation of the upgrade-chain must be clearly documented.
</p><p><b>Hint:</b> DBs, which are being used by SMILA's persistence layer, are not considered as its components and therefore do not underlay this requirement.
</p><p><b>Important:</b> The only constraint for this use case is that the system is being upgraded to a new maintenance release. In other words: bug fixes only, no new features, upward and backward API compatibility.
</p>
<a name="Copy_deployment"></a><h3> <span class="mw-headline"> Copy deployment </span></h3>
<p>The addition of the new hardware nodes to SMILA-cluster must be simple as much as possible. The best way so achieve this simplicity is by designing SMILA so that, at least its basic components, are installed on target node by using "copy deployment" i.e. by simply copying (parts of) SMILA on a new machine's hard drive.
</p>
<a name="High_indexing_throughput"></a><h3> <span class="mw-headline"> High indexing throughput </span></h3>
<p>The performance of indexing data source may be only limited by available hardware capacity .The framework itself must guarantee high data throughput by being able of parallel access to external data sources and also by multiplying its processing components.
</p>
<a name="Community_and_Partner_readiness"></a><h3> <span class="mw-headline"> Community and Partner readiness </span></h3>
<p>In order to reduce the amount of effort for utilizing SMILA some actions in community and partner readiness direction must be taken. The documentation of best practices, use case recommendations should be the part of SMILA's distribution.
</p>
<a name="Ease_of_use"></a><h3> <span class="mw-headline"> Ease of use </span></h3>
<p>Ease of use is an important aspect of the system. The amount of required technologies for a person who wants to take part in development process must be kept at a minimum level. We do not want to overwhelm potential contributors with a plethora of new technologies and discourage them from involving in our project. Furthermore, simple deployment and operation of a single node installation must be supported.
</p>
<!--
NewPP limit report
Preprocessor node count: 32/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:16352-0!1!0!!en!2!edit=0 and timestamp 20120202171441 -->
<div class="printfooter">
Retrieved from "<a href="General_Framework_Requirements.html">http://wiki.eclipse.org/SMILA/General_Framework_Requirements</a>"</div>
<div id="catlinks"><p class='catlinks'><a href="http://wiki.eclipse.org/Special:Categories" title="Special:Categories">Category</a>: <span dir='ltr'><a href="http://wiki.eclipse.org/Category:SMILA" title="Category:SMILA">SMILA</a></span></p></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 21:26, 10 October 2008 by <a href="http://wiki.eclipse.org/User:Igor.novakovic.empolis.com" title="User:Igor.novakovic.empolis.com">Igor Novakovic</a>. </p>
<p id="footerviews">This page has been accessed 4,814 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.093 secs. --></body></html>