<!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/Project Concepts,SMILA/Documentation/2011.Simplification,SMILA/Project Concepts/BPEL Pipelining Concept,SMILA/Project Concepts/Binary Storage,SMILA/Project Concepts/Blackboard Service Concept,SMILA/Project Concepts/Blackboard Service Restructured,SMILA/Project Concepts/CompoundManagement,SMILA/Project Concepts/Connectivity,SMILA/Project Concepts/Controlling Tasks Order Concept,SMILA/Project Concepts/Core Conce,SMILA/Project Concepts/Core Indexing Process (global view)" />
		<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/Project Concepts - 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/Project_Concepts";
var wgTitle = "SMILA/Project Concepts";
var wgAction = "view";
var wgRestrictionEdit = [];
var wgRestrictionMove = [];
var wgArticleId = "15153";
var wgIsArticle = true;
var wgUserName = null;
var wgUserGroups = null;
var wgUserLanguage = "en";
var wgContentLanguage = "en";
var wgBreakFrames = false;
var wgCurRevisionId = "286173";
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="Project_Concepts.1.html" />	</head>
<body  class="mediawiki ns-0 ltr page-SMILA_Project_Concepts">
	<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/Project_Concepts">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/Project_Concepts">What links here</a></li>
				<li id="t-recentchangeslinked"><a href="http://wiki.eclipse.org/Special:Recentchangeslinked/SMILA/Project_Concepts">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/Project_Concepts&amp;printable=yes">Printable version</a></li>				<li id="t-permalink"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts&amp;oldid=286173">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="Project_Concepts.1.html"><span class="tab">Page</span></a></li>
                                                         <li><a href="http://wiki.eclipse.org/index.php?title=Talk:SMILA/Project_Concepts&amp;action=edit"><span class="tab">Discussion</span></a></li>
                                         <li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts&amp;action=edit"><span class="tab">View source</span></a></li>
                                         <li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts&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/Project&#32;Concepts"><span class="tab">Edit</span></a></li>
                  </ul>
        </div>


          <script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
            <h1 class="firstHeading">SMILA/Project Concepts</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="Project_Concepts.1.html#column-one">navigation</a>, <a href="Project_Concepts.1.html#searchInput">search</a></div>          <!-- start content -->
          <p>The pages linked here describe concepts to be implemented in SMILA and serve as places for discussions of these concepts. They are <b>not</b> intended as a user documentation as details may change during implementation. Pages may be out of date, too.
</p>
<ul><li> Changes in 0.8: <a href="Documentation/2011.Simplification.1.html" class="mw-redirect" title="SMILA/Documentation/2011.Simplification">Simplification of SMILA concepts</a>
</li><li> <a href="Project_Concepts/Core_Conce.html" title="SMILA/Project Concepts/Core Conce">Core Concept</a>
</li><li> <a href="Project_Concepts/Core_Indexing_Process_(global_view).html" title="SMILA/Project Concepts/Core Indexing Process (global view)">Core Indexing Process (global view)</a>
</li><li> Connectivity Framework
<ul><li> <a href="Project_Concepts/IRM.html" title="SMILA/Project Concepts/IRM">IRM</a>
<ul><li> <a href="Project_Concepts/IRMDiscussion.html" title="SMILA/Project Concepts/IRMDiscussion">IRM Discussion</a>
</li><li> <a href="Project_Concepts/IRM_Improvements.html" title="SMILA/Project Concepts/IRM Improvements">IRM Improvements</a>
</li><li> <a href="Project_Concepts/Index_Order_Configuration_Schema.html" title="SMILA/Project Concepts/Index Order Configuration Schema">Index Order Configuration Schema</a>
</li><li> <a href="Project_Concepts/CompoundManagement.html" title="SMILA/Project Concepts/CompoundManagement">CompoundManagement</a>
</li><li> <a href="Project_Concepts/MimeTypeIdentifier.html" title="SMILA/Project Concepts/MimeTypeIdentifier">MimeTypeIdentifier</a>
</li><li> <a href="Project_Concepts/Exceptions_configurations_and_processing.html" title="SMILA/Project Concepts/Exceptions configurations and processing">Exceptions configurations and processing</a>
</li></ul>
</li><li> <a href="Project_Concepts/Connectivity.html" title="SMILA/Project Concepts/Connectivity">Connectivity</a>
</li></ul>
</li><li> Processing of Records
<ul><li> <a href="Project_Concepts/BPEL_Pipelining_Concept.html" title="SMILA/Project Concepts/BPEL Pipelining Concept">BPEL Pipelining Concept</a>
</li><li> <a href="Project_Concepts/Record_Filter_Concept.html" title="SMILA/Project Concepts/Record Filter Concept">Record Filter Concept</a>
</li><li> <a href="Project_Concepts/Controlling_Tasks_Order_Concept.html" title="SMILA/Project Concepts/Controlling Tasks Order Concept">Controlling Tasks Order Concept</a>
</li><li> <a href="Project_Concepts/Blackboard_Service_Restructured.html" title="SMILA/Project Concepts/Blackboard Service Restructured">Blackboard Service Restructured</a>
</li><li> Storage
<ul><li> <a href="Project_Concepts/Binary_Storage.html" title="SMILA/Project Concepts/Binary Storage">Binary Storage</a>
</li></ul>
</li></ul>
</li><li> Infrastructure 
<ul><li> <a href="Project_Concepts/Logging.html" title="SMILA/Project Concepts/Logging">Logging</a>
</li><li> Configuration handling
<ul><li> <a href="Project_Concepts/Simple_configuration_handler.html" title="SMILA/Project Concepts/Simple configuration handler">Simple configuration handler</a>
</li></ul>
</li><li> <a href="Project_Concepts/OSGi_Bundles.html" title="SMILA/Project Concepts/OSGi Bundles">OSGi Bundles</a>
</li><li> <a href="Project_Concepts/OSGi_service_groupping_(service_registry_concept).html" title="SMILA/Project Concepts/OSGi service groupping (service registry concept)">OSGi service groupping (service registry concept)</a>
</li><li> <a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/Monitoring_Bad_Components_Concept&amp;action=edit" class="new" title="SMILA/Project Concepts/Monitoring Bad Components Concept">Monitoring Bad Components Concept</a>
</li><li> <a href="Project_Concepts/Monitoring.html" title="SMILA/Project Concepts/Monitoring">Monitoring</a>
</li></ul>
</li><li> Management and Performance Counter 
<ul><li> <a href="Project_Concepts/Performance_measurement.html" title="SMILA/Project Concepts/Performance measurement">Performance measurement</a>
</li><li> <a href="Project_Concepts/CrawlerController_Remote_Management.html" title="SMILA/Project Concepts/CrawlerController Remote Management">CrawlerController Remote Management</a>
</li><li> <a href="Project_Concepts/Generic_Management_And_Monitoring_Concept.html" title="SMILA/Project Concepts/Generic Management And Monitoring Concept">Generic Management And Monitoring Concept</a>
</li></ul>
</li><li> Ontologies and Semantic Web
<ul><li> <a href="Project_Concepts/OntologyService.html" title="SMILA/Project Concepts/OntologyService">OntologyService</a>
</li></ul>
</li></ul>
<a name="Definitely_Obsolete"></a><h3> <span class="mw-headline"> Definitely Obsolete </span></h3>
<ul><li><ul><li> <a href="Project_Concepts/ID_Concept.html" title="SMILA/Project Concepts/ID Concept">ID Concept</a>
</li><li> <a href="Project_Concepts/Data_Model_and_XML_representation.html" title="SMILA/Project Concepts/Data Model and XML representation">Data Model and XML representation</a>
</li><li> <a href="Project_Concepts/Blackboard_Service_Concept.html" title="SMILA/Project Concepts/Blackboard Service Concept">Blackboard Service Concept</a>
</li></ul>
</li></ul>

<!-- 
NewPP limit report
Preprocessor node count: 2/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:15153-0!1!0!!en!2!edit=0 and timestamp 20130416061002 -->
<div class="printfooter">
Retrieved from "<a href="Project_Concepts.1.html">http://wiki.eclipse.org/SMILA/Project_Concepts</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; 2013 The Eclipse Foundation. All Rights Reserved</span>
	      <p id="footercredit">This page was last modified 14:23, 24 January 2012 by <a href="http://wiki.eclipse.org/index.php?title=User:Juergen.schumacher.attensity.com&amp;action=edit" class="new" title="User:Juergen.schumacher.attensity.com">Juergen Schumacher</a>. Based on work by <a href="http://wiki.eclipse.org/User:Juergen.schumacher.empolis.com" title="User:Juergen.schumacher.empolis.com">Juergen Schumacher</a>, <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:Marius.cimpean.numerica.de&amp;action=edit" class="new" title="User:Marius.cimpean.numerica.de">Marius Cimpean</a> and <a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts&amp;action=credits" title="SMILA/Project Concepts">others</a>.</p>
	      <p id="footerviews">This page has been accessed 6,205 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.067 secs. --></body></html>
