<?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, Unified Information Access Architecture, 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>
	  
EOHTML;

	include('rightColumn.php');
	$html .= $rightColumn;

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