<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://dev.eiffel.com/index.php?action=history&amp;feed=atom&amp;title=Xebra_About</id>
		<title>Xebra About - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://dev.eiffel.com/index.php?action=history&amp;feed=atom&amp;title=Xebra_About"/>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Xebra_About&amp;action=history"/>
		<updated>2026-05-07T08:26:10Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Xebra_About&amp;diff=13172&amp;oldid=prev</id>
		<title>Fabioz: /* Website Development */</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Xebra_About&amp;diff=13172&amp;oldid=prev"/>
				<updated>2009-08-18T17:30:25Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Website Development&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 17:30, 18 August 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 12:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 12:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Website Development=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Website Development=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A Xebra Web Application consists of two parts: The xeb-files and the controllers. Xeb-files consist of html code with embedded xeb-tags. They are translated to servlets. Controllers are Eiffel classes that connect the servlets to the rest of the Eiffel classes. Features of controllers can be invoked from within a servlet. Typically, web designers create xeb-files with a html editor and at the same time, web developers create controllers to provide business logic to the servlets. The web application is then translated which means that the xeb-files are generated to servlet eiffel classes and the whole webappliation is compiled to an executable file. The translation and compilation of the web application is initiated by the xebra server.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/framework/web/xebra/doc/XebraCreationWorkflow-small.png&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A Xebra Web Application consists of two parts: The xeb-files and the controllers. Xeb-files consist of html code with embedded xeb-tags. They are translated to servlets. Controllers are Eiffel classes that connect the servlets to the rest of the Eiffel classes. Features of controllers can be invoked from within a servlet. Typically, web designers create xeb-files with a html editor and at the same time, web &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;application &lt;/ins&gt;developers create controllers to provide business logic to the servlets. The web application is then translated which means that the xeb-files are generated to servlet eiffel classes and the whole webappliation is compiled to an executable file. The translation and compilation of the web application is initiated by the xebra server.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For a step by step guide on how to create a web application see [[Xebra_Tutorial|tutorials]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For a step by step guide on how to create a web application see [[Xebra_Tutorial|tutorials]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Fabioz</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Xebra_About&amp;diff=12931&amp;oldid=prev</id>
		<title>Fabioz at 18:07, 11 July 2009</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Xebra_About&amp;diff=12931&amp;oldid=prev"/>
				<updated>2009-07-11T18:07:17Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 18:07, 11 July 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Xebra]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Xebra]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Xebra About|About]] | [[Xebra Installation|Installation]] |&amp;#160; [[Xebra Documentation|Documentation]] |&amp;#160; [[Xebra Tutorial|Tutorials]] | [[Xebra FAQ|Frequently Asked Questions]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Architecture Overview=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Architecture Overview=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Fabioz</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Xebra_About&amp;diff=12906&amp;oldid=prev</id>
		<title>Fabioz at 23:46, 8 July 2009</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Xebra_About&amp;diff=12906&amp;oldid=prev"/>
				<updated>2009-07-08T23:46:48Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 23:46, 8 July 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Xebra]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Xebra]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Image:Xebra_logo_head1.png|right]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Architecture Overview=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Architecture Overview=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Fabioz</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Xebra_About&amp;diff=12905&amp;oldid=prev</id>
		<title>Fabioz at 23:46, 8 July 2009</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Xebra_About&amp;diff=12905&amp;oldid=prev"/>
				<updated>2009-07-08T23:46:12Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 23:46, 8 July 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Xebra]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Xebra]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Image:Xebra_logo_head1.png|right]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Architecture Overview=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Architecture Overview=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Fabioz</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Xebra_About&amp;diff=12871&amp;oldid=prev</id>
		<title>Fabioz: /* Architecture Overview */</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Xebra_About&amp;diff=12871&amp;oldid=prev"/>
				<updated>2009-07-06T21:48:57Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Architecture Overview&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 21:48, 6 July 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Architecture Overview=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Architecture Overview=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;(img)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/framework/web/xebra/doc/XEbraArchitecture2-1_small.png&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#The Xebra HTTP Plugin (Apache Module or IIS7 Handler) forwards a request from the HTTP server to the Xebra Server and waits for a response.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#The Xebra HTTP Plugin (Apache Module or IIS7 Handler) forwards a request from the HTTP server to the Xebra Server and waits for a response.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#The Xebra Server forwards a request to the appropriate web application.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#The Xebra Server forwards a request to the appropriate web application &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;and returns the result to the HTTP Plugin&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Website Development=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Website Development=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Fabioz</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Xebra_About&amp;diff=12765&amp;oldid=prev</id>
		<title>Fabioz: New page: Category:Xebra  =Architecture Overview=  (img)  #The Xebra HTTP Plugin (Apache Module or IIS7 Handler) forwards a request from the HTTP server to the Xebra Server and waits for a respo...</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Xebra_About&amp;diff=12765&amp;oldid=prev"/>
				<updated>2009-06-30T19:00:07Z</updated>
		
		<summary type="html">&lt;p&gt;New page: &lt;a href=&quot;/Category:Xebra&quot; title=&quot;Category:Xebra&quot;&gt;Category:Xebra&lt;/a&gt;  =Architecture Overview=  (img)  #The Xebra HTTP Plugin (Apache Module or IIS7 Handler) forwards a request from the HTTP server to the Xebra Server and waits for a respo...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Xebra]]&lt;br /&gt;
&lt;br /&gt;
=Architecture Overview=&lt;br /&gt;
&lt;br /&gt;
(img)&lt;br /&gt;
&lt;br /&gt;
#The Xebra HTTP Plugin (Apache Module or IIS7 Handler) forwards a request from the HTTP server to the Xebra Server and waits for a response.&lt;br /&gt;
#The Xebra Server forwards a request to the appropriate web application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Website Development=&lt;br /&gt;
&lt;br /&gt;
A Xebra Web Application consists of two parts: The xeb-files and the controllers. Xeb-files consist of html code with embedded xeb-tags. They are translated to servlets. Controllers are Eiffel classes that connect the servlets to the rest of the Eiffel classes. Features of controllers can be invoked from within a servlet. Typically, web designers create xeb-files with a html editor and at the same time, web developers create controllers to provide business logic to the servlets. The web application is then translated which means that the xeb-files are generated to servlet eiffel classes and the whole webappliation is compiled to an executable file. The translation and compilation of the web application is initiated by the xebra server.&lt;br /&gt;
&lt;br /&gt;
For a step by step guide on how to create a web application see [[Xebra_Tutorial|tutorials]].&lt;br /&gt;
&lt;br /&gt;
=Comparison to other technologies=&lt;br /&gt;
Some of the features of Xebra are:&lt;br /&gt;
* Fully XML compatible for ease of xeb file validation&lt;br /&gt;
* Mapping of forms to objects and validation framework&lt;br /&gt;
{| id=&amp;quot;sortable_table_id_1&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; valign=&amp;quot;middle&amp;quot; | Project&lt;br /&gt;
! Language&lt;br /&gt;
!&lt;br /&gt;
[http://en.wikipedia.org/wiki/Ajax_%28programming%29 Ajax]&lt;br /&gt;
!&lt;br /&gt;
[http://en.wikipedia.org/wiki/Model-view-controller MVC]framework&lt;br /&gt;
!&lt;br /&gt;
[http://en.wikipedia.org/wiki/Web_application_framework#Push-based_vs._Pull-based MVC Push/Pull]&lt;br /&gt;
!&lt;br /&gt;
[http://en.wikipedia.org/wiki/Internationalization_and_localization i18n &amp;amp; l10n]&lt;br /&gt;
!&lt;br /&gt;
[http://en.wikipedia.org/wiki/Object-relational_mapping ORM]&lt;br /&gt;
! Testing framework(s)&lt;br /&gt;
! DB migration framework(s)&lt;br /&gt;
! Security Framework(s)&lt;br /&gt;
! Template Framework(s)&lt;br /&gt;
! Caching Framework(s)&lt;br /&gt;
! Form Validation Framework(s)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; valign=&amp;quot;middle&amp;quot; |&lt;br /&gt;
[http://dev.eiffel.com/Xebra '''Xebra''']&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
[http://www.eiffel.com Eiffel]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Can be added later on (using for instance Script.aculo.us)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Pull&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | planned&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | No&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Contracts, Unit Tests&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | planned&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | planned&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Yes&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;left&amp;quot; valign=&amp;quot;middle&amp;quot; |&lt;br /&gt;
[http://en.wikipedia.org/wiki/Apache_Struts '''Apache Struts''']&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Java_%28programming_language%29 Java]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Push &amp;amp; Pull&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Unit_testing Unit Tests]&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
| Yes&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;left&amp;quot; valign=&amp;quot;middle&amp;quot; |&lt;br /&gt;
[http://en.wikipedia.org/wiki/ASP.NET_MVC_Framework '''ASP.NET MVC''']&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/ASP.NET ASP.NET]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Push&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
| ORM-independant&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Unit_testing Unit Tests]&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/ASP.NET ASP.NET]Forms Auth&lt;br /&gt;
| pluggable (default is WebForms)&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes (client-side via plugins)&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;left&amp;quot; valign=&amp;quot;middle&amp;quot; |&lt;br /&gt;
[http://en.wikipedia.org/wiki/Drupal '''Drupal''']&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/PHP PHP]&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/JQuery jQuery]&lt;br /&gt;
|&lt;br /&gt;
Yes[http://en.wikipedia.org/wiki/List_of_web_application_frameworks#cite_note-1 [2]][http://en.wikipedia.org/wiki/List_of_web_application_frameworks#cite_note-2 [3]]&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
Yes[http://en.wikipedia.org/wiki/List_of_web_application_frameworks#cite_note-3 [4]][http://en.wikipedia.org/wiki/List_of_web_application_frameworks#cite_note-4 [5]]&lt;br /&gt;
|&lt;br /&gt;
multiple (CCK, QCubed)[http://en.wikipedia.org/wiki/List_of_web_application_frameworks#cite_note-5 [6]]&lt;br /&gt;
| simpletest, devel&lt;br /&gt;
| Schema API&lt;br /&gt;
|&lt;br /&gt;
OG, Node Privacy By Role,[http://en.wikipedia.org/wiki/Access_control_list ACL], Taxonomy Access List&lt;br /&gt;
| PHPTemplate, Smarty, XTemplate, others&lt;br /&gt;
|&lt;br /&gt;
builtin,[http://en.wikipedia.org/wiki/Memcache memcache],[http://en.wikipedia.org/wiki/Alternative_PHP_Cache APC]&lt;br /&gt;
| Form API&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;left&amp;quot; valign=&amp;quot;middle&amp;quot; |&lt;br /&gt;
[http://en.wikipedia.org/wiki/Google_Web_Toolkit '''Google Web Toolkit''']&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Java_%28programming_language%29 Java],[http://en.wikipedia.org/wiki/Javascript Javascript]&lt;br /&gt;
| Yes&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
| Yes&lt;br /&gt;
| , no direct data access&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/JUnit JUnit](too early),[http://en.wikipedia.org/w/index.phptitle=JsUnit&amp;amp;action=edit&amp;amp;redlink=1 jsUnit](too difficult),[http://en.wikipedia.org/wiki/Selenium_%28software%29 Selenium](best)&lt;br /&gt;
| No&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;left&amp;quot; valign=&amp;quot;middle&amp;quot; |&lt;br /&gt;
[http://en.wikipedia.org/wiki/Ruby_on_Rails '''Ruby on Rails''']&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Ruby_%28programming_language%29 Ruby]&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Prototype_JavaScript_Framework Prototype],[http://en.wikipedia.org/wiki/Script.aculo.us script.aculo.us]&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/ActiveRecord_%28Rails%29 ActiveRecord],[http://en.wikipedia.org/wiki/Ruby_on_Rails Action Pack]&lt;br /&gt;
| Push&lt;br /&gt;
| Localization Plug-in&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/ActiveRecord_%28Rails%29 ActiveRecord]&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Unit_testing Unit Tests], Functional Tests and Integration Tests&lt;br /&gt;
| Yes&lt;br /&gt;
| Plug-in&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;left&amp;quot; valign=&amp;quot;middle&amp;quot; |&lt;br /&gt;
[http://en.wikipedia.org/wiki/Seaside_web_framework '''Seaside''']&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Smalltalk Smalltalk]&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Prototype_JavaScript_Framework Prototype],[http://en.wikipedia.org/wiki/Script.aculo.us script.]aculo.us, etc.&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/w/index.phptitle=GLORP&amp;amp;action=edit&amp;amp;redlink=1 GLORP],[http://en.wikipedia.org/wiki/Gemstone_Database_Management_System Gemstone/S], etc.&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Unit_testing Unit Tests], SUnit&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
| No, intentionally&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Magritte_%28software%29 Magritte]&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;left&amp;quot; valign=&amp;quot;middle&amp;quot; |&lt;br /&gt;
[http://en.wikipedia.org/w/index.phptitle=Sphere_Framework&amp;amp;action=edit&amp;amp;redlink=1 '''Sphere''']&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/PHP PHP]5&lt;br /&gt;
| Toolkit Independent&lt;br /&gt;
| Yes&lt;br /&gt;
| Push, supports Helpers&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Active_Record_Pattern Active Record Pattern]&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Unit_testing Unit Tests]&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
| via module&lt;br /&gt;
| plain PHP by default, can use Smarty or other&lt;br /&gt;
| via module, APC, etc&lt;br /&gt;
| via module&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;left&amp;quot; valign=&amp;quot;middle&amp;quot; |&lt;br /&gt;
[http://en.wikipedia.org/wiki/Spring_Framework '''Spring''']&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Java_%28programming_language%29 Java]&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
| Yes&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Hibernate_%28Java%29 Hibernate], iBatis, etc&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Spring_Security Spring Security (formerly Acegi)]&lt;br /&gt;
|&lt;br /&gt;
Commons Tiles,[http://en.wikipedia.org/wiki/Apache_Velocity Velocity], etc.&lt;br /&gt;
| ehcache etc.&lt;br /&gt;
| Commons Validator&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;left&amp;quot; valign=&amp;quot;middle&amp;quot; |&lt;br /&gt;
[http://en.wikipedia.org/wiki/Zend_Framework '''Zend''']&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/PHP PHP]5 (&amp;gt;=5.2.4)&lt;br /&gt;
| Toolkit-independent&lt;br /&gt;
| Yes&lt;br /&gt;
| Push &amp;amp; Pull&lt;br /&gt;
| Yes&lt;br /&gt;
| Table and Row data gateway&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Unit_testing Unit Tests]&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/Access_control_list ACL]-based&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Fabioz</name></author>	</entry>

	</feed>