<?xml version="1.0"?>
<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website V2.1b1//EN" "../../../dtd/website.dtd" [
  <!ENTITY application SYSTEM "applications.xml" NDATA XML>
  <!ENTITY base SYSTEM "bases.xml" NDATA XML>
  <!ENTITY entrepot SYSTEM "entrepots.xml" NDATA XML>
  <!ENTITY index SYSTEM "../index.xml" NDATA XML>
  <!ENTITY serveur SYSTEM "serveur.xml" NDATA XML>
]>

<webpage id="introduction_schema"> 

  <head>
	 <title>Architecture de SDX-2</title>
	 <titleabbrev>Architecture</titleabbrev>
	 <author>
		<firstname>Frédéric</firstname>
		<surname> Glorieux</surname>
		<affiliation>
		  <orgname>AJLSM</orgname> 
		</affiliation>
	 </author>
	 <revhistory>
		<revision>
		  <revnumber>1.0</revnumber> 
		  <date>2003-06-03</date> 
		</revision>
	 </revhistory>
  </head>

  <para>Under GPL licence, SDX only adds open-source components. Before developping an SDX-2 application (even to migrate a version 1 application on version 2), it appears important to wonder about its architecture on what it adds to a documentary application..</para>
  <section> 
	 <title>SDX-1</title>
	 <para> SDX-1 matched its primary goal: publish and search acollection of XML documents. For that purpose, various components have been installed:</para>
	 <orderedlist>
		<listitem>
		  <para>A documents repository (a relational database, such as MySQL, InterBase, Oracle, Hypersonic SQL)</para>
		</listitem>
		<listitem>
		  <para>An HTTP server (the Tomcat one, Apache, or other)</para>
		</listitem>
		<listitem>
		  <para>A Java servlet engine (Tomcat or other)</para>
		</listitem>
		<listitem>
		  <para>An XSLT processor to transform the XML generated as HTML (Saxon)</para>
		</listitem><listitem>
		  <para>A search engine (Lucene)</para>
		</listitem>
		<listitem>
		  <para>A generator of XML pages (Cocoon-1)</para>
		</listitem>
	 </orderedlist>
	 <para>A typical application was composed of four parts : presentation of documents, hierarchical browsing, simple and advanced search and management of the documents collection. The model corresponded to a common Web application, an interface relying upon an information system.</para>
  </section> 
  <section> 
	 <title>SDX-2</title>
	 <para>Cocoon and the XSP language have appeared very convenient to define server pages which make an application. Version 2, compatible with industrial exploitation, has led to books published y interest of large companies. Like other applications, but often before, SDX-2 has been built as a direct extension of the Cocoon servlet (SDX server). Thus, developping for SDX ensures to improve standard competences (XML, XSLT, XSP), aiming at spreading it.</para>
	 <para>The Lucene search engine is theoretically possible to replace (later), however in practice, few open-source components could reemplance it. The definition of a document repository is taking advantage of it. Another XSLT processor can be selected with no risk of uncompliance, with the condition that it is made in Java (eg : Xalan). Like Cocoon, SDX-2 can be installed on any other server using the Sun servlet architecture. A servlet engine is designed for being compatible with most HTTP servers. Finally, the primary objective of SDX-2, data sources can be of a great diversity, leading to the generic concept of repository (with no requirement of any external database for example).</para>
	 <para>This flexibility adds value to a document management application. Instead of adding an interface to a document collection, it is possible to start by building an editorial project, consider an audience, a prototype. Adding the necessary documents is a second stage, SDX must easily match technical questions.</para>
  </section> 

</webpage> 
