<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
	$pageTitle 		= "SMILA - Integrators";
	$pageKeywords	= "SMILA, unstructured information management, information logistics, semantic web, framework, platform, eclipse";
	$pageAuthor		= "Igor Novakovic";

	# Paste your HTML content between the EOHTML markers!	
	$html = <<<EOHTML

	<div id="midcolumn">
		<h1>Integrators</h1>
		<p>
			If you are only interested in integrating your service/component(s) in SMILA, 
			then we suggest you get familiar with <a href="http://wiki.eclipse.org/SMILA/Howto_integrate_a_component_in_SMILA" target="_blank">integration tutorial</a> 
			maintained in our wiki.
		</p>
		<p>
			Since SMILA is highly component-based you can easily replace any of its functional parts, 
			integrate new (BPEL) services in the workflow and/or write your own data connectors (crawler/agent).
			Basically, SMILA offers three different integration scenarios:
			<ul>
				<li>Integrating services in BPEL</li>
				<li>Integrating agents and crawlers</li>
				<li>Integrating alternative implementations for SMILA core components</li>
			</ul>
		</p>
		<p>
			To start integrating your components in SMILA you need to set up your integration environment
			first. For the instructions please read 
			<a href="http://wiki.eclipse.org/SMILA/Development_Guidelines/How_to_set_up_integration_environment" target="_blank">How to set up integration environment</a> 
			maintained in our wiki.
		</p>
		
	</div>
	  
	<div id="rightcolumn">
    	<div class="sideitem">
       		<h6>Incubation</h6><p>
       		<div align="center">
         		<a href="/projects/what-is-incubation.php">
           		<img align="center" src="/images/egg-incubation.png" border="0"/></a>
       		</div>
     	</div>
	  	<div class="sideitem">
			<h6>Links</h6>
			<ul>
				<li><a href="http://wiki.eclipse.org/SMILA" target="_blank">Wiki</a></li>				
				<li><a href="http://www.eclipse.org/proposals/eilf/SMILA_Creation_Review.pdf" target="_blank">Creation Review</a></li>
				<li><a href="http://www.eclipse.org/proposals/eilf" target="_blank">Project proposal</a></li>
				<li><a href="http://live.eclipse.org/node/734" target="_blank">EclipseCon 09: SMILA - Make Sense of your Data</a></li>
				<li><a href="http://live.eclipse.org/node/617" target="_blank">Webinar</a></li>
			</ul>
		</div>
	</div>	

EOHTML;


	# Generate the web page
	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>
