You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by le...@apache.org on 2002/05/12 22:05:58 UTC
cvs commit: jakarta-avalon-site/docs/phoenix for-developers-a-future.html for-developers-changes.html for-developers-project-structure.html for-developers-todo.html guide-administrator.html guide-architecture.html guide-assemblers-creating-a-server-application.html guide-assemblers.html guide-assemblers-what-is-a-server-application.html guide-block-developers-creating-a-block.html guide-block-developers.html guide-block-developers-making-phoenix-compatible-comps.html guide-block-developers-what-is-a-block.html guide-block-developers-what-is-a-block-listener.html guide-block-developers-what-is-an-application-listener.html guide-deployers.html guide-example-configuration.html guide-roles.html reference-assembly-xml-specification.html reference-blockinfo-specification.html reference-config-xml-specification.html reference-environment-xml-specification.html afuture.html changes.html features.html getting-started.html index.html install.html todo.html administrator-guide.html assemblers-guide.html assembly-xml-specification.html block-developers-guide.html blockinfo-specification.html config-xml-specification.html creating-a-block.html creating-a-server-application.html deployers-guide.html environment-xml-specification.html example-configuration.html making-phoenix-compatible-comps.html what-is-a-block.html what-is-a-block-listener.html what-is-an-application-listener.html what-is-a-server-application.html
leosimons 02/05/12 13:05:58
Modified: docs/phoenix afuture.html changes.html features.html
getting-started.html index.html install.html
todo.html
Added: docs/phoenix for-developers-a-future.html
for-developers-changes.html
for-developers-project-structure.html
for-developers-todo.html guide-administrator.html
guide-architecture.html
guide-assemblers-creating-a-server-application.html
guide-assemblers.html
guide-assemblers-what-is-a-server-application.html
guide-block-developers-creating-a-block.html
guide-block-developers.html
guide-block-developers-making-phoenix-compatible-comps.html
guide-block-developers-what-is-a-block.html
guide-block-developers-what-is-a-block-listener.html
guide-block-developers-what-is-an-application-listener.html
guide-deployers.html
guide-example-configuration.html guide-roles.html
reference-assembly-xml-specification.html
reference-blockinfo-specification.html
reference-config-xml-specification.html
reference-environment-xml-specification.html
Removed: docs/phoenix administrator-guide.html assemblers-guide.html
assembly-xml-specification.html
block-developers-guide.html
blockinfo-specification.html
config-xml-specification.html creating-a-block.html
creating-a-server-application.html
deployers-guide.html
environment-xml-specification.html
example-configuration.html
making-phoenix-compatible-comps.html
what-is-a-block.html what-is-a-block-listener.html
what-is-an-application-listener.html
what-is-a-server-application.html
Log:
completed overhaul of phoenix documentation organisation.
Revision Changes Path
1.4 +37 -53 jakarta-avalon-site/docs/phoenix/afuture.html
Index: afuture.html
===================================================================
RCS file: /home/cvs/jakarta-avalon-site/docs/phoenix/afuture.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- afuture.html 2 Apr 2002 18:54:16 -0000 1.3
+++ afuture.html 12 May 2002 20:05:56 -0000 1.4
@@ -21,10 +21,13 @@
<font face="arial,helvetica,sanserif">
<br>
<br>
-<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
+<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
-<font size="+1" color="#000000">About</font>
+<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
+<br>
+<br>
+<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
@@ -35,113 +38,94 @@
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
-<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
+<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
-<a href="getting-started.html"><font size="-1">Getting Started</font></a>
+<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
-<a href="making-phoenix-compatible-comps.html"><font size="-1">Making compatible components</font></a>
+<a href="install.html"><font size="-1">Install</font></a>
</li>
+</ul>
+</font>
+<br>
+<br>
+<font size="+1" color="#000000">Guide</font>
+<br>
+<font size="-1">
+<ul>
<li>
-<a href="install.html"><font size="-1">Installation</font></a>
+<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
-<a href="afuture.html"><font size="-1">A Future</font></a>
+<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
-<a href="todo.html"><font size="-1">Todo</font></a>
+<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
-<a href="changes.html"><font size="-1">Changes</font></a>
+<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
-<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
+<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Administrators Guide</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="administrator-guide.html"><font size="-1">Overview</font></a>
+<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Deployers Guide</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="deployers-guide.html"><font size="-1">Overview</font></a>
+<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
-<font size="+1" color="#000000">Assembler's Guide</font>
+<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
-<a href="assemblers-guide.html"><font size="-1">Overview</font></a>
-</li>
-<li>
-<a href="what-is-a-server-application.html"><font size="-1">What is a Server Application?</font></a>
+<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
-<a href="creating-a-server-application.html"><font size="-1">Creating a Server Application</font></a>
+<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
-<a href="config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
+<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
-<a href="assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
+<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
-<a href="environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
+<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
-<font size="+1" color="#000000">Block Developer's Guide</font>
+<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
-<a href="block-developers-guide.html"><font size="-1">Overview</font></a>
+<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
-<a href="what-is-a-block.html"><font size="-1">What is a Block?</font></a>
+<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
-<a href="what-is-a-block-listener.html"><font size="-1">What is a Block Listener?</font></a>
+<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
-<a href="what-is-an-application-listener.html"><font size="-1">What is an Application Listener?</font></a>
+<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
-<a href="blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
+<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
-<a href="creating-a-block.html"><font size="-1">Creating a Block</font></a>
+<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">All together</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="example-configuration.html"><font size="-1">Example configuration</font></a>
+<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
1.7 +37 -53 jakarta-avalon-site/docs/phoenix/changes.html
Index: changes.html
===================================================================
RCS file: /home/cvs/jakarta-avalon-site/docs/phoenix/changes.html,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- changes.html 2 Apr 2002 18:54:16 -0000 1.6
+++ changes.html 12 May 2002 20:05:57 -0000 1.7
@@ -21,10 +21,13 @@
<font face="arial,helvetica,sanserif">
<br>
<br>
-<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
+<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
-<font size="+1" color="#000000">About</font>
+<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
+<br>
+<br>
+<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
@@ -35,113 +38,94 @@
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
-<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
+<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
-<a href="getting-started.html"><font size="-1">Getting Started</font></a>
+<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
-<a href="making-phoenix-compatible-comps.html"><font size="-1">Making compatible components</font></a>
+<a href="install.html"><font size="-1">Install</font></a>
</li>
+</ul>
+</font>
+<br>
+<br>
+<font size="+1" color="#000000">Guide</font>
+<br>
+<font size="-1">
+<ul>
<li>
-<a href="install.html"><font size="-1">Installation</font></a>
+<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
-<a href="afuture.html"><font size="-1">A Future</font></a>
+<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
-<a href="todo.html"><font size="-1">Todo</font></a>
+<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
-<a href="changes.html"><font size="-1">Changes</font></a>
+<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
-<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
+<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Administrators Guide</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="administrator-guide.html"><font size="-1">Overview</font></a>
+<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Deployers Guide</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="deployers-guide.html"><font size="-1">Overview</font></a>
+<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
-<font size="+1" color="#000000">Assembler's Guide</font>
+<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
-<a href="assemblers-guide.html"><font size="-1">Overview</font></a>
-</li>
-<li>
-<a href="what-is-a-server-application.html"><font size="-1">What is a Server Application?</font></a>
+<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
-<a href="creating-a-server-application.html"><font size="-1">Creating a Server Application</font></a>
+<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
-<a href="config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
+<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
-<a href="assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
+<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
-<a href="environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
+<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
-<font size="+1" color="#000000">Block Developer's Guide</font>
+<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
-<a href="block-developers-guide.html"><font size="-1">Overview</font></a>
+<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
-<a href="what-is-a-block.html"><font size="-1">What is a Block?</font></a>
+<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
-<a href="what-is-a-block-listener.html"><font size="-1">What is a Block Listener?</font></a>
+<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
-<a href="what-is-an-application-listener.html"><font size="-1">What is an Application Listener?</font></a>
+<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
-<a href="blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
+<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
-<a href="creating-a-block.html"><font size="-1">Creating a Block</font></a>
+<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">All together</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="example-configuration.html"><font size="-1">Example configuration</font></a>
+<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
1.8 +168 -60 jakarta-avalon-site/docs/phoenix/features.html
Index: features.html
===================================================================
RCS file: /home/cvs/jakarta-avalon-site/docs/phoenix/features.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- features.html 2 Apr 2002 18:54:16 -0000 1.7
+++ features.html 12 May 2002 20:05:57 -0000 1.8
@@ -1,7 +1,7 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Phoenix - Features</title>
+<title>Avalon Phoenix - Features</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
@@ -21,10 +21,13 @@
<font face="arial,helvetica,sanserif">
<br>
<br>
-<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
+<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
-<font size="+1" color="#000000">About</font>
+<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
+<br>
+<br>
+<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
@@ -35,126 +38,107 @@
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
-<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
+<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
-<a href="getting-started.html"><font size="-1">Getting Started</font></a>
+<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
-<a href="making-phoenix-compatible-comps.html"><font size="-1">Making compatible components</font></a>
+<a href="install.html"><font size="-1">Install</font></a>
</li>
+</ul>
+</font>
+<br>
+<br>
+<font size="+1" color="#000000">Guide</font>
+<br>
+<font size="-1">
+<ul>
<li>
-<a href="install.html"><font size="-1">Installation</font></a>
+<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
-<a href="afuture.html"><font size="-1">A Future</font></a>
+<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
-<a href="todo.html"><font size="-1">Todo</font></a>
+<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
-<a href="changes.html"><font size="-1">Changes</font></a>
+<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
-<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
+<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Administrators Guide</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="administrator-guide.html"><font size="-1">Overview</font></a>
+<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Deployers Guide</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="deployers-guide.html"><font size="-1">Overview</font></a>
+<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
-<font size="+1" color="#000000">Assembler's Guide</font>
+<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
-<a href="assemblers-guide.html"><font size="-1">Overview</font></a>
-</li>
-<li>
-<a href="what-is-a-server-application.html"><font size="-1">What is a Server Application?</font></a>
+<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
-<a href="creating-a-server-application.html"><font size="-1">Creating a Server Application</font></a>
+<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
-<a href="config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
+<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
-<a href="assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
+<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
-<a href="environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
+<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
-<font size="+1" color="#000000">Block Developer's Guide</font>
+<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
-<a href="block-developers-guide.html"><font size="-1">Overview</font></a>
+<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
-<a href="what-is-a-block.html"><font size="-1">What is a Block?</font></a>
+<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
-<a href="what-is-a-block-listener.html"><font size="-1">What is a Block Listener?</font></a>
+<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
-<a href="what-is-an-application-listener.html"><font size="-1">What is an Application Listener?</font></a>
+<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
-<a href="blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
+<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
-<a href="creating-a-block.html"><font size="-1">Creating a Block</font></a>
+<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">All together</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="example-configuration.html"><font size="-1">Example configuration</font></a>
+<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
-<title>Phoenix - Features</title>
+<title>Avalon Phoenix - Features</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
-<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Phoenix - Features</font></b>
+<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Features</font></b>
</center>
</td>
</tr>
@@ -162,7 +146,7 @@
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
-<p>by <a href="mailto:avalon-dev@jakarta.apache.org">Avalon Documentation Team</a>
+<p>by <a href="mailto:leosimons@apache.org">Leo Simons</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
@@ -176,10 +160,134 @@
<br>
-<p align="justify">
- This document will list the features of Phoenix. It is yet to be completed ;)
-</p>
+<p align="justify">This document is not complete yet...</p>
+
+
+</font></td>
+</tr>
+</table>
+</div>
+<br>
+<div align="right">
+<table cellspacing="0" cellpadding="2" border="0" width="100%">
+<tr>
+<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Extensible architecture</b></font></td>
+</tr>
+<tr>
+<td><font face="arial,helvetica,sanserif" color="#000000">
+<br>
+
+<p align="justify">Phoenix is written as an extensible micro-kernel. This allows you to:</p>
+
+<ul>
+
+<li>Customise behaviour quickly</li>
+
+<li>Plug in extra functionality effortlessly</li>
+
+<li>remove unneeded functionality for a small footprint</li>
+
+</ul>
+
+</font></td>
+</tr>
+</table>
+</div>
+<br>
+<div align="right">
+<table cellspacing="0" cellpadding="2" border="0" width="100%">
+<tr>
+<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Flexible environment</b></font></td>
+</tr>
+<tr>
+<td><font face="arial,helvetica,sanserif" color="#000000">
+<br>
+
+<p align="justify">Phoenix has native support for use in the following environments:</p>
+
+<ul>
+
+<li>command-line stand-alone program</li>
+
+<li>Unix daemon</li>
+
+<li>Embedded in other programs (including servlet engines)</li>
+
+</ul>
+
+</font></td>
+</tr>
+</table>
+</div>
+<br>
+<div align="right">
+<table cellspacing="0" cellpadding="2" border="0" width="100%">
+<tr>
+<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Integrated management</b></font></td>
+</tr>
+<tr>
+<td><font face="arial,helvetica,sanserif" color="#000000">
+<br>
+
+<p align="justify">Phoenix enables JMX management of your software:</p>
+
+<ul>
+
+<li>All aspects of phoenix itself are manageable, including
+ startup/shutdown, deployment, management and logging.</li>
+
+<li>Applications running in phoenix are manageable, exposing
+ their lifecycle (configuration, startup/shutdown, etc) and
+ everything else you mark as manageable.</li>
+
+</ul>
+
+</font></td>
+</tr>
+</table>
+</div>
+<br>
+<div align="right">
+<table cellspacing="0" cellpadding="2" border="0" width="100%">
+<tr>
+<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Ease and speed up application development</b></font></td>
+</tr>
+<tr>
+<td><font face="arial,helvetica,sanserif" color="#000000">
+<br>
+
+<p align="justify">Phoenix is a container for (server) applications. It can host
+ multiple applications within the same JVM, while keeping them securely
+ isolated from each other.</p>
+
+
+<p align="justify">Phoenix provides simple XML configuration files that allow you to
+ rapidly assemble a customised server applications from readily available
+ components (called blocks).</p>
+
+
+<p align="justify">Phoenix provides the following services to hosted applications:</p>
+
+<ul>
+
+<li>Lifecycle management</li>
+
+<li>Configuration management</li>
+
+<li>Resource management</li>
+
+<li>Management exposure through JMX</li>
+
+<li>Automatic (re)deployment</li>
+
+<li>An isolated environment</li>
+
+</ul>
+
+<p align="justify">Phoenix leverages the Avalon Framework, making it compatible with other
+ Avalon-based projects like Excalibur and Cornerstone, enabling you to
+ easily reuse their functionality.</p>
</font></td>
</tr>
1.8 +80 -96 jakarta-avalon-site/docs/phoenix/getting-started.html
Index: getting-started.html
===================================================================
RCS file: /home/cvs/jakarta-avalon-site/docs/phoenix/getting-started.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- getting-started.html 2 Apr 2002 18:54:16 -0000 1.7
+++ getting-started.html 12 May 2002 20:05:57 -0000 1.8
@@ -1,7 +1,7 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Phoenix - Getting Started</title>
+<title>Avalon Phoenix - Getting Started</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
@@ -21,10 +21,13 @@
<font face="arial,helvetica,sanserif">
<br>
<br>
-<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
+<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
-<font size="+1" color="#000000">About</font>
+<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
+<br>
+<br>
+<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
@@ -35,126 +38,107 @@
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
-<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
+<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
-<a href="getting-started.html"><font size="-1">Getting Started</font></a>
+<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
-<a href="making-phoenix-compatible-comps.html"><font size="-1">Making compatible components</font></a>
+<a href="install.html"><font size="-1">Install</font></a>
</li>
+</ul>
+</font>
+<br>
+<br>
+<font size="+1" color="#000000">Guide</font>
+<br>
+<font size="-1">
+<ul>
<li>
-<a href="install.html"><font size="-1">Installation</font></a>
+<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
-<a href="afuture.html"><font size="-1">A Future</font></a>
+<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
-<a href="todo.html"><font size="-1">Todo</font></a>
+<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
-<a href="changes.html"><font size="-1">Changes</font></a>
+<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
-<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
+<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Administrators Guide</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="administrator-guide.html"><font size="-1">Overview</font></a>
+<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Deployers Guide</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="deployers-guide.html"><font size="-1">Overview</font></a>
+<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
-<font size="+1" color="#000000">Assembler's Guide</font>
+<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
-<a href="assemblers-guide.html"><font size="-1">Overview</font></a>
-</li>
-<li>
-<a href="what-is-a-server-application.html"><font size="-1">What is a Server Application?</font></a>
+<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
-<a href="creating-a-server-application.html"><font size="-1">Creating a Server Application</font></a>
+<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
-<a href="config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
+<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
-<a href="assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
+<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
-<a href="environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
+<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
-<font size="+1" color="#000000">Block Developer's Guide</font>
+<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
-<a href="block-developers-guide.html"><font size="-1">Overview</font></a>
+<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
-<a href="what-is-a-block.html"><font size="-1">What is a Block?</font></a>
+<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
-<a href="what-is-a-block-listener.html"><font size="-1">What is a Block Listener?</font></a>
+<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
-<a href="what-is-an-application-listener.html"><font size="-1">What is an Application Listener?</font></a>
+<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
-<a href="blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
+<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
-<a href="creating-a-block.html"><font size="-1">Creating a Block</font></a>
+<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">All together</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="example-configuration.html"><font size="-1">Example configuration</font></a>
+<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
-<title>Phoenix - Getting Started</title>
+<title>Avalon Phoenix - Getting Started</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
-<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Phoenix - Getting Started</font></b>
+<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Getting Started</font></b>
</center>
</td>
</tr>
@@ -179,15 +163,15 @@
<p align="justify">
This document provides developers with simple documentation for getting
started with Phoenix. For information about the overall structure of
- Avalon Framework (on which Phoenix is based), please refer to the
- <a href="http://jakarta.apache.org/avalon/framework/index.html">Design</a> document.
+ Avalon Framework (on which Phoenix is based), please refer to the
+ <a href="http://jakarta.apache.org/avalon/framework/index.html">Framework documentation</a>.
</p>
<p align="justify">
Instructions for downloading and installing Phoenix can be found on the
<a href="install.html">Install</a> document.
-</p>
+</p>
<p align="justify">
@@ -211,9 +195,9 @@
<br>
-<p align="justify">
+<p align="justify">
To generate a full set of detailed API documentation for Avalon, go to the base
- directory of source distribution and run the appropriate build script for your
+ directory of source distribution and run the appropriate build script for your
platform with the parameter 'javadocs'.
<div align="center">
@@ -221,9 +205,9 @@
<tr>
<td>
<pre>
-
+
> build.[bat|sh] javadocs
-
+
</pre>
</td>
</tr>
@@ -250,18 +234,18 @@
<p align="justify">
- After you have successfully built Phoenix, you can verify that it
- has compiled correctly by running the HelloWorld demo Service Application.
+ After you have successfully built Phoenix, you can verify that it
+ has compiled correctly by running the HelloWorld demo Service Application.
</p>
-<p align="justify">
+<p align="justify">
Firstly you will need to get the demo-helloword.sar file and drop it into
- the apps directory of Phoenix. Get it from <a href="TODO">TODO</a> or build
+ the apps directory of Phoenix. Get it from <a href="TODO">TODO</a> or build
it from its CVS - <a href="http://cvs.apache.org/viewcvs/jakarta-avalon-apps/demo/">
http://cvs.apache.org/viewcvs/jakarta-avalon-apps/demo/</a>.
</p>
-<p align="justify">
+<p align="justify">
Then fire up phoenix with the following command:
<div align="center">
@@ -305,17 +289,17 @@
</p>
-<p align="justify">
- This shows that Phoenix has unpacked and launched the server application contained
- within the demo-helloworld.sar file. If you close and relaunch Phoenix, it should
- restart the application.
+<p align="justify">
+ This shows that Phoenix has unpacked and launched the server application contained
+ within the demo-helloworld.sar file. If you close and relaunch Phoenix, it should
+ restart the application.
</p>
<p align="justify">
- As examples go this is a fairly simple one. You should ignore the altrmihelloworldserver,
- rmihelloworldserver and soaphelloworldserver packages as they are retrofitting the
- helloworld demo with remote capability using three technologies. HelloWorld uses
- connection management from the Avalon-Cornerstone project, which is good as it allows us to
+ As examples go this is a fairly simple one. You should ignore the altrmihelloworldserver,
+ rmihelloworldserver and soaphelloworldserver packages as they are retrofitting the
+ helloworld demo with remote capability using three technologies. HelloWorld uses
+ connection management from the Avalon-Cornerstone project, which is good as it allows us to
share connection pooling across multiple servers.
</p>
@@ -334,21 +318,21 @@
<br>
<p align="justify">
- This self contained kit could be considered a starter project for someone wanting to make a
- Phoenix compatible application. The idea is that you start with this skeleton including
- Ant build script and then add in more and more as your se code to copy from elsewhere.
+ This self contained kit could be considered a starter project for someone wanting to make a
+ Phoenix compatible application. The idea is that you start with this skeleton including
+ Ant build script and then add in more and more as your se code to copy from elsewhere.
</p>
-<p align="justify">
- This also demonstrates that it is possible to make a server application that is dual mode.
- Dual mode to us is the ability for the server application to run inside Phoenix and to
- stand-alone from the command line. It is a little bit of a sleight of hand as the codebase
+<p align="justify">
+ This also demonstrates that it is possible to make a server application that is dual mode.
+ Dual mode to us is the ability for the server application to run inside Phoenix and to
+ stand-alone from the command line. It is a little bit of a sleight of hand as the codebase
would be zipped into two forms - the sar file for phoenix and a jar file for standalone.
</p>
<p align="justify">
- The Phoenix development kit originates in Phoenix's CVS, but for convenience is downloadable
- from <a href="TODO">TODO</a>. When you have that file, unzip it and immediately launch
+ The Phoenix development kit originates in Phoenix's CVS, but for convenience is downloadable
+ from <a href="TODO">TODO</a>. When you have that file, unzip it and immediately launch
ant to make the jars and sars. There are four:
<ol>
@@ -363,7 +347,7 @@
</ol>
The Server app in standalone mode after being tested with the client app(see below):
-
+
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
@@ -378,9 +362,9 @@
</tr>
</table>
</div>
-
+
The Server app running inside Phoenix and after being tested with the client app (see below):
-
+
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
@@ -388,16 +372,16 @@
<pre>
Phoenix 4.0a4
-Server started on port 1234
+Server started on port 1234
String passed = Hello!!!!!
</pre>
</td>
</tr>
</table>
</div>
-
+
The client application being used to poke the server :
-
+
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
@@ -409,14 +393,14 @@
</tr>
</table>
</div>
-
+
(Change the port to 1234 from 7654 to poke the in-Phoenix server).
-
-</p>
+
+</p>
<p align="justify">
- Note - because of the need to make this dual mode, the PDK does not use Cornerstone
- components. We normally recommend that people should reuse components from cornerstone as
+ Note - because of the need to make this dual mode, the PDK does not use Cornerstone
+ components. We normally recommend that people should reuse components from cornerstone as
the potential for sharing will be much higher.
</p>
1.9 +114 -187 jakarta-avalon-site/docs/phoenix/index.html
Index: index.html
===================================================================
RCS file: /home/cvs/jakarta-avalon-site/docs/phoenix/index.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- index.html 2 Apr 2002 18:54:16 -0000 1.8
+++ index.html 12 May 2002 20:05:57 -0000 1.9
@@ -1,7 +1,7 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Phoenix - Overview</title>
+<title>Avalon Phoenix - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
@@ -21,10 +21,13 @@
<font face="arial,helvetica,sanserif">
<br>
<br>
-<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
+<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
-<font size="+1" color="#000000">About</font>
+<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
+<br>
+<br>
+<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
@@ -35,126 +38,107 @@
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
-<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
+<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
-<a href="getting-started.html"><font size="-1">Getting Started</font></a>
+<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
-<a href="making-phoenix-compatible-comps.html"><font size="-1">Making compatible components</font></a>
+<a href="install.html"><font size="-1">Install</font></a>
</li>
+</ul>
+</font>
+<br>
+<br>
+<font size="+1" color="#000000">Guide</font>
+<br>
+<font size="-1">
+<ul>
<li>
-<a href="install.html"><font size="-1">Installation</font></a>
+<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
-<a href="afuture.html"><font size="-1">A Future</font></a>
+<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
-<a href="todo.html"><font size="-1">Todo</font></a>
+<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
-<a href="changes.html"><font size="-1">Changes</font></a>
+<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
-<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
+<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Administrators Guide</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="administrator-guide.html"><font size="-1">Overview</font></a>
+<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Deployers Guide</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="deployers-guide.html"><font size="-1">Overview</font></a>
+<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
-<font size="+1" color="#000000">Assembler's Guide</font>
+<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
-<a href="assemblers-guide.html"><font size="-1">Overview</font></a>
-</li>
-<li>
-<a href="what-is-a-server-application.html"><font size="-1">What is a Server Application?</font></a>
+<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
-<a href="creating-a-server-application.html"><font size="-1">Creating a Server Application</font></a>
+<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
-<a href="config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
+<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
-<a href="assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
+<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
-<a href="environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
+<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
-<font size="+1" color="#000000">Block Developer's Guide</font>
+<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
-<a href="block-developers-guide.html"><font size="-1">Overview</font></a>
+<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
-<a href="what-is-a-block.html"><font size="-1">What is a Block?</font></a>
+<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
-<a href="what-is-a-block-listener.html"><font size="-1">What is a Block Listener?</font></a>
+<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
-<a href="what-is-an-application-listener.html"><font size="-1">What is an Application Listener?</font></a>
+<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
-<a href="blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
+<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
-<a href="creating-a-block.html"><font size="-1">Creating a Block</font></a>
+<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">All together</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="example-configuration.html"><font size="-1">Example configuration</font></a>
+<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
-<title>Phoenix - Overview</title>
+<title>Avalon Phoenix - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
-<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Phoenix - Overview</font></b>
+<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Overview</font></b>
</center>
</td>
</tr>
@@ -180,9 +164,9 @@
framework. It is both an API to program to and a reference implementation.
The reference implementation provides a number of facilities to manage the
environment of Server Applications. Such facilities include log management,
- classloading, thread management and security. In the future it will
- conditionally offer support extra facilities such as central server management,
- server pools, and other facilities aimed at reducing the time to market. The API
+ classloading, thread management and security. In the future it will
+ conditionally offer support extra facilities such as central server management,
+ server pools, and other facilities aimed at reducing the time to market. The API
defines a standard method of piecing togther server components and creating a server.
</p>
@@ -194,46 +178,17 @@
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
-<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Multiple Server Application hosting</b></font></td>
+<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Documentation is coming</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
- Phoenix hosts one or more server applications at the same time in the same Virtual machine.
- </p>
-
-<div align="center">
-<table cellspacing="2" cellpadding="2" border="0">
-<tr>
-<td bgcolor="#525D76"><font size="0" color="#ffffff">Phoenix layer diagram</font></td>
-</tr>
-
-
-<tr>
-<td><img src="images/phoenix-layers.jpg" alt="Paul Hammant, 2001" border="0"></td>
-</tr>
-<tr>
-<td><font size="-1">
-<ul>
-<li>Paul Hammant, 2001</li>
-</ul>
-</font></td>
-</tr>
-
-</table>
-</div>
-
-<p align="justify">
- Shown above are three hosted server applications. A mail server that would implement
- multiple listeners for incoming and outgoing services (POP3, SMTP, IMAP etc). Outlook,
- Eudora and other mail clients would be able to connect to the server. As it happens,
- Apache has a project in progress called "James" that provides these services and Newsgroups.
- Also shown is a Web server. That would respond to HTTP/HTTPS requests from similar standards
- based clients and be able to host it's own applications (web-apps and virtual websites). Lastly,
- and non-existant currently at Apache is an EJB Server. This would be able to host it's own
- bean applications and might use the web server for it's HTTP needs.
+ Some of the information on this site is currently a bit out of date. We are
+ working hard to fix this. If you come across any incosistencies or have a
+ problem, please don't hesitate to contact us through the mailing list. Thank
+ you.
</p>
</font></td>
@@ -244,146 +199,118 @@
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
-<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Packaging of a Server Application</b></font></td>
+<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Guide to Avalon Phoenix</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
- Phoenix application are distriuted in a single archive.
+ This guide starts with an architectural overview of Phoenix. Then, we identify
+ the different roles that typically exist in daily use of phoenix. For each of
+ these, we provide a basic guide. We finish with a complete example.
</p>
-
+
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
-<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Packaging in terms of blocks</b></font></td>
+<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Target Audience</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
-
-<p align="justify">
- Phoenix hosts server applications made up of blocks. The blocks may depend on libraries
- to function correctly. The blocks are tied together with Assembly instructions and Configured
- externally.
- </p>
-
-<div align="center">
-<table cellspacing="2" cellpadding="2" border="0">
-<tr>
-<td bgcolor="#525D76"><font size="0" color="#ffffff">Phoenix application in block view</font></td>
-</tr>
-
-<tr>
-<td><img src="images/phoenix-app-block.jpg" alt="Paul Hammant, 2001" border="0"></td>
-</tr>
-<tr>
-<td><font size="-1">
-<ul>
-<li>Paul Hammant, 2001</li>
+<p align="justify">
+ This documentation is aimed towards people who:
+ <ul>
+
+<li>wish to create applications that run within phoenix</li>
+
+<li>wish to create components (blocks) for use within phoenix</li>
+
+<li>wish to setup and administer phoenix</li>
+
+<li>are interested in the design principles of Avalon Phoenix</li>
+
+<li>wish to develop code that will be incorporated into Avalon Phoenix</li>
+
+<li>wish to reuse Avalon Phoenix concepts in their own application</li>
+
</ul>
-</font></td>
-</tr>
+
+</p>
-</table>
-</div>
-
</font></td>
</tr>
</table>
</div>
-<br>
-
+<br>
+
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
-<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Packaging in terms of block jar files</b></font></td>
+<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Contents</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
-
-<p align="justify">
- The server application is entirely contained withing one "sar" file. Sar is "Server ARchive".
- Each block is a jar file. The dependant libraries are regular jars (placed
- within a directory "lib" insde the sar file). The Assembly and configuration instructions
- are in xml form and contained within a "conf" directory inside the sar file.
- </p>
-
-<div align="center">
-<table cellspacing="2" cellpadding="2" border="0">
-<tr>
-<td bgcolor="#525D76"><font size="0" color="#ffffff">Phoenix application in block jar view</font></td>
-</tr>
+<ol>
+
+<li>
+<a href="guide-architecture.html">Architectural overview</a>
+</li>
+
+<li>
+<a href="guide-roles.html">Development roles</a>
+</li>
+
+<li>
+<a href="guide-administrators.html">Administrator Guide</a>
+</li>
+
+<li>
+<a href="guide-deployers.html">Application Deployer Guide</a>
+</li>
+
+<li>
+<a href="guide-assembler.html">Server Application Assembler Guide</a>
+</li>
+
+<li>
+<a href="guide-block-developers.html">Block Developer Guide</a>
+</li>
+
+<li>
+<a href="guide-example-configuration.html">Example Configuration.</a>
+</li>
-<tr>
-<td><img src="images/phoenix-app-blockjars.jpg" alt="Paul Hammant, 2001" border="0"></td>
-</tr>
-<tr>
-<td><font size="-1">
-<ul>
-<li>Paul Hammant, 2001</li>
-</ul>
+</ol>
+
</font></td>
</tr>
-
</table>
</div>
-
+<br>
+
</font></td>
</tr>
</table>
</div>
-<br>
-
+<br>
<div align="right">
-<table cellspacing="0" cellpadding="2" border="0" width="99%">
+<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
-<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>FtpServer as a Phoenix application</b></font></td>
+<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Avalon Phoenix Reference Documentation</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
- FtpServer (part of the Avalon/Cornerstone project) is distributed in sar form. Here is a
- view of it's blocks. It has no third party jars that it depends on.
- </p>
-
-<div align="center">
-<table cellspacing="2" cellpadding="2" border="0">
-<tr>
-<td bgcolor="#525D76"><font size="0" color="#ffffff">FtpServer, a real Phoenix application</font></td>
-</tr>
-
-
-<tr>
-<td><img src="images/phoenix-app-ftpserver.jpg" alt="Paul Hammant, 2001" border="0"></td>
-</tr>
-<tr>
-<td><font size="-1">
-<ul>
-<li>Paul Hammant, 2001</li>
-</ul>
-</font></td>
-</tr>
-
-</table>
-</div>
-
-</font></td>
-</tr>
-</table>
-</div>
-<br>
-
-<p align="justify">
- Notes - Phoenix does not limit the number of blocks that it allows in a sar file. We have taksdefs for Apache's Ant
- tool for making sar files. See the "Block Developers Guide" (left
- margin of this page) for more what/how/why.
+ Besides the
+ <a href="api/index.html.xml">Javadocs</a>, we have the
+ <a href="guide-architecture.html">Architectural overview</a> to look at.
</p>
</font></td>
1.8 +41 -57 jakarta-avalon-site/docs/phoenix/install.html
Index: install.html
===================================================================
RCS file: /home/cvs/jakarta-avalon-site/docs/phoenix/install.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- install.html 2 Apr 2002 18:54:16 -0000 1.7
+++ install.html 12 May 2002 20:05:57 -0000 1.8
@@ -1,7 +1,7 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Phoenix - Installation</title>
+<title>Avalon Phoenix - Installation</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
@@ -21,10 +21,13 @@
<font face="arial,helvetica,sanserif">
<br>
<br>
-<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
+<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
-<font size="+1" color="#000000">About</font>
+<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
+<br>
+<br>
+<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
@@ -35,126 +38,107 @@
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
-<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
+<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
-<a href="getting-started.html"><font size="-1">Getting Started</font></a>
+<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
-<a href="making-phoenix-compatible-comps.html"><font size="-1">Making compatible components</font></a>
+<a href="install.html"><font size="-1">Install</font></a>
</li>
+</ul>
+</font>
+<br>
+<br>
+<font size="+1" color="#000000">Guide</font>
+<br>
+<font size="-1">
+<ul>
<li>
-<a href="install.html"><font size="-1">Installation</font></a>
+<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
-<a href="afuture.html"><font size="-1">A Future</font></a>
+<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
-<a href="todo.html"><font size="-1">Todo</font></a>
+<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
-<a href="changes.html"><font size="-1">Changes</font></a>
+<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
-<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
+<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Administrators Guide</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="administrator-guide.html"><font size="-1">Overview</font></a>
+<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Deployers Guide</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="deployers-guide.html"><font size="-1">Overview</font></a>
+<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
-<font size="+1" color="#000000">Assembler's Guide</font>
+<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
-<a href="assemblers-guide.html"><font size="-1">Overview</font></a>
-</li>
-<li>
-<a href="what-is-a-server-application.html"><font size="-1">What is a Server Application?</font></a>
+<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
-<a href="creating-a-server-application.html"><font size="-1">Creating a Server Application</font></a>
+<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
-<a href="config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
+<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
-<a href="assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
+<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
-<a href="environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
+<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
-<font size="+1" color="#000000">Block Developer's Guide</font>
+<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
-<a href="block-developers-guide.html"><font size="-1">Overview</font></a>
+<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
-<a href="what-is-a-block.html"><font size="-1">What is a Block?</font></a>
+<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
-<a href="what-is-a-block-listener.html"><font size="-1">What is a Block Listener?</font></a>
+<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
-<a href="what-is-an-application-listener.html"><font size="-1">What is an Application Listener?</font></a>
+<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
-<a href="blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
+<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
-<a href="creating-a-block.html"><font size="-1">Creating a Block</font></a>
+<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">All together</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="example-configuration.html"><font size="-1">Example configuration</font></a>
+<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
-<title>Phoenix - Installation</title>
+<title>Avalon Phoenix - Installation</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
-<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Phoenix - Installation</font></b>
+<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Installation</font></b>
</center>
</td>
</tr>
@@ -207,7 +191,7 @@
<p align="justify">
- Execute the relavent platform specific script (build.[sh|bat]) in the base phoenix
+ Execute the relevant platform specific script (build.[sh|bat]) in the base phoenix
directory.
</p>
1.8 +37 -53 jakarta-avalon-site/docs/phoenix/todo.html
Index: todo.html
===================================================================
RCS file: /home/cvs/jakarta-avalon-site/docs/phoenix/todo.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- todo.html 2 Apr 2002 18:54:16 -0000 1.7
+++ todo.html 12 May 2002 20:05:57 -0000 1.8
@@ -21,10 +21,13 @@
<font face="arial,helvetica,sanserif">
<br>
<br>
-<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
+<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
-<font size="+1" color="#000000">About</font>
+<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
+<br>
+<br>
+<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
@@ -35,113 +38,94 @@
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
-<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
+<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
-<a href="getting-started.html"><font size="-1">Getting Started</font></a>
+<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
-<a href="making-phoenix-compatible-comps.html"><font size="-1">Making compatible components</font></a>
+<a href="install.html"><font size="-1">Install</font></a>
</li>
+</ul>
+</font>
+<br>
+<br>
+<font size="+1" color="#000000">Guide</font>
+<br>
+<font size="-1">
+<ul>
<li>
-<a href="install.html"><font size="-1">Installation</font></a>
+<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
-<a href="afuture.html"><font size="-1">A Future</font></a>
+<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
-<a href="todo.html"><font size="-1">Todo</font></a>
+<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
-<a href="changes.html"><font size="-1">Changes</font></a>
+<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
-<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
+<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Administrators Guide</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="administrator-guide.html"><font size="-1">Overview</font></a>
+<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Deployers Guide</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="deployers-guide.html"><font size="-1">Overview</font></a>
+<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
-<font size="+1" color="#000000">Assembler's Guide</font>
+<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
-<a href="assemblers-guide.html"><font size="-1">Overview</font></a>
-</li>
-<li>
-<a href="what-is-a-server-application.html"><font size="-1">What is a Server Application?</font></a>
+<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
-<a href="creating-a-server-application.html"><font size="-1">Creating a Server Application</font></a>
+<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
-<a href="config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
+<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
-<a href="assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
+<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
-<a href="environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
+<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
-<font size="+1" color="#000000">Block Developer's Guide</font>
+<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
-<a href="block-developers-guide.html"><font size="-1">Overview</font></a>
+<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
-<a href="what-is-a-block.html"><font size="-1">What is a Block?</font></a>
+<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
-<a href="what-is-a-block-listener.html"><font size="-1">What is a Block Listener?</font></a>
+<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
-<a href="what-is-an-application-listener.html"><font size="-1">What is an Application Listener?</font></a>
+<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
-<a href="blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
+<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
-<a href="creating-a-block.html"><font size="-1">Creating a Block</font></a>
+<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">All together</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="example-configuration.html"><font size="-1">Example configuration</font></a>
+<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
1.1 jakarta-avalon-site/docs/phoenix/for-developers-a-future.html
Index: for-developers-a-future.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - A future</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - A future</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - A future</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
A long term aim of Phoenix is to provide a platform that hosts multiple third party applications written only in Java within a single virtual machine. The Phoenix platform is currently hosted on an Operating System such as Unix, Windows or Mac. It could function directly on top of a Java Operating System. A CPU combined with a suitable amount of memory, a basic BIOS, a Kernal, a suitable JVM and runtime library, could mount Phoenix and hosted server applications.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>One step further</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Imagine Sun making such a box under their own name or as Cobalt, using low power chips from their own stable or perhaps a StrongARM. That machine could be rack mounted like their current X1:
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td bgcolor="#525D76"><font size="0" color="#ffffff">Sun X1</font></td>
</tr>
<tr>
<td><img src="http://www.sun.com/products-n-solutions/hw/networking/images/prodsplash/x1.jpg" alt="© Sun Microsystems" border="0"></td>
</tr>
<tr>
<td><font size="-1">
<ul>
<li>© Sun Microsystems</li>
</ul>
</font></td>
</tr>
</table>
</div>
<p align="justify">
If that rackable server had 32 such CPUs, each with 128Mb of memory all booting Phoenix. And if the CPUs shared a single hard drive, we might have a machine that was tuned to CPU intensive activities. Cocoon/Tomcat, EJB clusters, might be load balanced by one of the CPUs running a Phoenix load balancer. Alternate scenarios are for virtual site hosting. It could be a "1U" render or bean farm with each internal CPU having its own TCP/IP address.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Is all this possible?</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Well there are already romable J2SE implementations that are available for StrongARM chips on Compaq's handheld iPAQ. We are there already, but for the client side rather than the server side.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/for-developers-changes.html
Index: for-developers-changes.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Revision History</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Revision History</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Revision History</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<div align="right">
<table width="100%" cellspacing="0" cellpadding="2" border="0">
<tr>
<td bgcolor="#525D76"><font face="arial,helvetica,sanserif" color="#ffffff"><b>Revision 4.0a3
(November 13, 2001)
</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<ul>
<li>
<img src="images/update.jpg" border="0" alt="changed" align="absmiddle">
Add documentation describing BlockListener.
(PD)</li>
<li>
<img src="images/update.jpg" border="0" alt="changed" align="absmiddle">
Fixed bug that allowed binary distributions to be built without
copying xerces.jar into correct place.
(PD)</li>
</ul>
</font></td>
</tr>
<tr>
<td bgcolor="#525D76"><font face="arial,helvetica,sanserif" color="#ffffff"><b>Revision 4.0a2
(November 12, 2001)
</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<ul>
<li>
<img src="images/update.jpg" border="0" alt="changed" align="absmiddle">
Update Phoenix to use the new Avalon Framework Logger interface rather than
directly using LogKits Logger class. This required a backwards incompatible
change in BlockContext. The getLogger() methods now return the Logger interface
rather than LogKits Logger class. If a Block implements Loggable then it will
be passed LogKits Logger, this is required for backwards compatability. If the
Block implements LogEnabled it will receive the new style Logger.
(PD)</li>
<li>
<img src="images/add.jpg" border="0" alt="added" align="absmiddle">
Add support for undeploying and unistalling applications. Add support for separating
out install phase from deployment phase and persisting information about
application installations.
(MT)</li>
<li>
<img src="images/update.jpg" border="0" alt="changed" align="absmiddle">
Rework the application deployment format (ie .sar format) to be more in line
with other specifications. See docs/creating-a-server-application.html in distribution
for current format description. The old format is deprecated but will still work.
(PD)</li>
<li>
<img src="images/add.jpg" border="0" alt="added" align="absmiddle">
Created the start of a Phoenix Developers Kit (PDK) that will enable
developers to rapidly become accustom to developing Phoenix applications.
(PH)</li>
<li>
<img src="images/add.jpg" border="0" alt="added" align="absmiddle">
Started to incorporate the JMX code more fully into Phoenix kernel. Started
doing this by refactoring the base MBeans and testing using the RIs agent.
(PD)</li>
<li>
<img src="images/update.jpg" border="0" alt="changed" align="absmiddle">
Separated code that validated assembly of application into separate
classes. The validation is now much stricter and requires that
Blocks conform to established patterns. The validation phase should give
more reasonable explanations for violations. Extra validation checks
include verifying that services offered by a Block are actually interfaces,
that there is no circular dependencies, that declared Blocks and BlockListeners
actually implement Block or BlockListener interface, that the names of Blocks
are valid etc.
(PD)</li>
</ul>
</font></td>
</tr>
<tr>
<td bgcolor="#525D76"><font face="arial,helvetica,sanserif" color="#ffffff"><b>Revision 4.0a1
(September 25, 2001)
</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<ul>
<li>
<img src="images/update.jpg" border="0" alt="changed" align="absmiddle">
Too many things to enumerate here. This is the first public release,
and the code is still considered alpha. In future releases, we will
be much more careful to record the changes to Phoenix.
(BL)</li>
</ul>
</font></td>
</tr>
<tr>
<td bgcolor="#525D76"><font face="arial,helvetica,sanserif" color="#ffffff"><b>Revision 3.1a2
(Unreleased)
</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<ul>
<li>
<img src="images/add.jpg" border="0" alt="added" align="absmiddle">
Added stylesheet to convert Stylebook markup to DocBook markup.
(BL)</li>
<li>
<img src="images/update.jpg" border="0" alt="changed" align="absmiddle">
Changed the documentation build process to use Cocoon to build
the site.
(BL)</li>
<li>
<img src="images/remove.jpg" border="0" alt="deleted" align="absmiddle">
Legacy support for nested configuration elements in assembly file
removed.
(PD)</li>
<li>
<img src="images/update.jpg" border="0" alt="changed" align="absmiddle">
Simplified Loader and made it set ContextClassLoader before executing
Main method. It will also use the System property phoenix.home if set
rather than always trying to dynamically determine home directory.
(PD)</li>
<li>
<img src="images/add.jpg" border="0" alt="added" align="absmiddle">
Added SingleAppEmbeddor to launch a kernel to load a single Application.
Patch supplied by "Eung-ju Park" (colus@isoft.co.kr). This is useful if
you need to reuse the blocks in other contexts (such as in a Servlet).
(PD)</li>
<li>
<img src="images/add.jpg" border="0" alt="added" align="absmiddle">
Made default SystemManager a NoopSystemManager. Patch supplied
by "Eung-ju Park" (colus@isoft.co.kr). To re-enable RMI manager a new
command line switch "--remote-manager" was added.
(PD)</li>
<li>
<img src="images/update.jpg" border="0" alt="changed" align="absmiddle">
Reworked SecurityManager setup. Instead of starting a security
Manager inside the code it has been re-architectured so that the
SecurityManager is set on the command line. This was to avoid a number
of issues related to creating a URLClassLoader in an unprotected context
before setting SecurityManager. ie As AccessControllerContext was null it
is impossible to use ClassLoader.getResource(AsStream)(). This means that
defining phoenix.insecure will no longer disable the SecurityManager. The
replacement method is to set the native OS environment variable
'PHOENIX_SECURE=false'.
(PD)</li>
<li>
<img src="images/update.jpg" border="0" alt="changed" align="absmiddle">
Separate Parsing of CLI arguements into separate class (CLISetup).
This is to facilitate launching Phoenix as a native daemon using
Tomcats Services API.
(PD)</li>
<li>
<img src="images/add.jpg" border="0" alt="added" align="absmiddle">
Started Localizing text strings throughout Phoenix. This is done using
ResourceManager and Resources from Avalon/Excalibur project.
(PD)</li>
</ul>
</font></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/for-developers-project-structure.html
Index: for-developers-project-structure.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Project Structure</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Project Structure</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Project Structure</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:leosimons@apache.org">Leo Simons</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">Avalon Phoenix has seen lots of refactoring to create an intuitive
code layout. It is usually quite easy to find what you need. This document
provides an overview of the project structure. It is still under
construction.</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Package structure</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
org.apache.avalon.phoenix
|
|- components
| |- application
| |- classloader
| |- configuration
| |- deployer
| |- installer
| |- embeddor
| |- extensions
| |- kernel
| |- logger
| |- manager
| |- rmiadaptor
|- frontends
|- interfaces
|- launcher
|- metadata
|- metainfo
|- tools
|- assembler
|- configuration
|- infobuilder
|- tasks
|- verifier
|- xdoclet
</pre>
</td>
</tr>
</table>
</div>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>CVS Directory structure</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
jakarta-avalon
|
|- console : JMX-based management console
|
|- lib : for third party libraries
|
|- src
| |
| |- compat : deprecated stuff
| |- conf : jar manifest
| |- documentation : cocoon configuration
| |- java : java sources
| |- manifest : jar manifest files
| |- pdk : sources for PDK
| |- proposal : place for ideas to nurture
| |- schema : DTDs for XML files
| |- scratchpad : place for nonsupported, unstable code
| |- script : shell scripts for usage in a standalone setup
| |- test : unit tests
| |- xdocs : site documentation in xml format
|
|- build.xml
|- docs.xml
|
|- BUILDING.txt
|- LICENSE.txt
|- README.txt
|- WARNING.txt
</pre>
</td>
</tr>
</table>
</div>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/for-developers-todo.html
Index: for-developers-todo.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Todo</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Todo</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Todo</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:avalon-dev@jakarta.apache.org">Avalon Documentation Team</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Todo</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
This document describes functionality that is either missing or not finished
within Phoenix.
</p>
<p align="justify">
Wish List functionality is stuff that we would like to see implemented, but is
not critical for release. This is the area where you can take ownership of a
part of the project and contribute back.
</p>
<p align="justify">
Very Important Work to Complete is stuff that we feel is holding up a release of
Avalon.
</p>
<p align="justify">
If you are a new developer to Phoenix or even an existing developer, these are
areas where you can take ownership and help complete. Please do not ask us how
you can help, but rather specific questions about how you think that these items
should be implemented. It is up to you to take initiative and provide solutions
to the missing functionality described below. ;-) If your see yourself as more
of a application (rather than infrastructure) writer, then perhaps peruse
Cornerstone's to-do list - it's even more ambitious.
</p>
<p align="justify">
Documentation is *always* appreciated in any form. There are two ways to provide
helpful documentation. The first way is to write up HTML or straight text
documentation and send it to one of the primary authors directly (we are also
willing to give you CVS write access if you wish). The second way is to post
Questions/Answers to the FAQ under the Avalon sections there.
There is a Getting Started document named
"getting-started.html" that could always use additional documentation, examples
and clarification. You need to take the initiative and just start writing down
your thoughts and concerns and questions and answers and then giving those back
to us.
</p>
<p align="justify">
If you need more detailed help, please join, then send mail to the mailing
list (avalon-dev@jakarta.apache.org) and ask your specific questions there.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Wish List</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Separate and Antify Validation code</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Refactor block validation code. Write an Ant taks that uses this
and validates the block jar files and another task that validates the
assembly.xml file.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Log messages</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Refactor Log messages so that they are structured in a manner more
suitable for administrators rather than developers.
</p>
<p align="justify">
update 12/05/02: mostly done.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Generated Configurations</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Define and implement a smart way to generate Avalon configurations.
Define configuration template containing default configuration,
user configuration file to overwrite or append configurations to template,
implement code to merge all servers configuration file to a single Avalon
configuration file.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Time Scheduler changes</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Rework the DefaultTimeScheduler so that entrys are removed from heap when
reset. Otherwise it could lead to excessive buildup of invalidated entries
if many are reset but remain in heap.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Opening some tightly kernel-coupled services</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Rework kernel so that ConfigurationRepository, Logging and Management can
be routed through ServerApplications.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Virtual File System / Jars within Jars</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Implement a simple read-only VFS so that .sar files do not need to be
expanded.
</p>
<p align="justify">
update 12/05/02: done.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Thread pooling</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Rework kernel so that thread boundaries are respected and secure. This essentially
involves using ThreadPools to execute phases and for management.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>JNDI service</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Determine if we need a naming service. If so provide a simple JNDI based naming
service possibly built on top of cadastre.
</p>
<p align="justify">
update 12/05/02: we've decided not to do so at this time.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Block Management remotely</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Separate out and specify the way in which different parts of system are managed.
ie Compare how remote Management of Blocks could occur vs Deployer/Kernel/Embeddor
management occurs.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Hot deployment</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
A standard system for hot deploying and undeploying. This may require the building
of FileMonitors that will read a file when it is changed.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Reconfiguration</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
<em>This has a few facets:</em>
</p>
<p align="justify">
A standard reconfiguration system. This may require the building
of FileMonitors that will read a file when it is changed. Any
kind of block or component that extends the Reconfigurable interface
gets sent the new configuration.
</p>
<p align="justify">
A mechanism to allow one block to be the master of another's configuration
programmatically. This would mean that whilst in use, the configuration
could change. It could happen invisibly or as part of human interaction
via some UI. The blocks woyld be granted configuration-update rights in
assembly.xml. Discussed on the list in late Aug, early Sept 2001.
</p>
<p align="justify">
Define and implement needed stuff to allow hot and warm reconfiguration at
runtime.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Proxy Interfaces</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Currently services are provided via a proxy interface. Rework kernel so that
the proxy interface can be turned off via a command-line switch.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Management Console</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Management console/Client interface. CLI version aswell as a GUI version.
</p>
<p align="justify">
update 12/05/02: we have a draft of concept.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Default JNDI Contexts</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Avalon should provide default JNDI contexts
that Block implementers can extend and use like
Context, EventContext, and DirectoryContext.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Java Messaging Service</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
JMS (Java Messaging Service) for the Connection Manager. It
will provide a standard and flexible connection service and
messaging service. It allows for both point to point messaging
and multicast messaging (subscriber/provider).
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Server Pools</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Support for server pools. Several Phoenix servers should be able
to pool resources and act as one server regardless of VM, or
physical machine they are on.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Block loading remotely</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Remote loading of Blocks. Phoenix should be able to pull a block
at run time from a remote server, check the signature, and run it
with proper permissions. This would allow for the possibility of
automatically upgrading blocks.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Remote Control</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Write some code to remotely control Phoenix. (This will most likely be
rolled into JMX support).
</p>
<p align="justify">
update 12/05/02: done (through jmx).
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Transactions</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Define and implement some Transaction pattern for the Repository. Maybe JTA?
</p>
</font></td>
</tr>
</table>
</div>
<br>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Ongoing work</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Help needed!</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
We can really use some help here! This is a top priority and all
contributions will be welcomed.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Documentation</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Write all documentation.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>JavaDocs</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Update JavaDocs for decent developer documentation.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Very Important Work to Complete</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Java Management eXtentions</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
JMX (Java Management eXtentions) for central management of
Avalon. If JMX cannot be done due to licensing, we should
make the current beginnings of central management more
robust.
</p>
<p align="justify">
update 12/05/02: we're at roughly 80% functionality. We're
using MX4J as our default MBeanServer.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/guide-administrator.html
Index: guide-administrator.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Guide - for Administrators</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Guide - for Administrators</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Guide - for Administrators</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Avalon is a Server Framework that provides or will provide for
central administration, server pooling, and quicker time to market.
The framework defines a standard method of piecing together server
components and creating a server.
</p>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Target Audience</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
This documentation will describe the care and feeding of the Avalon
Phoenix kernel from the point of view of the administrator.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Guide non-existent, but features are there</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
We currently have no info on this whatsoever. However, this doesn't
mean that Phoenix is not easy to administrate - the contrary is true,
since our tight integration with JMX exposes the entire kernel at
runtime.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/guide-architecture.html
Index: guide-architecture.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Guide - Architectural overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Guide - Architectural overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Guide - Architectural overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:leosimons@apache.org">Leo Simons</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
This document briefly describes the Phoenix server architecture.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Multiple Server Application hosting</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Phoenix hosts one or more server applications at the same time in the same Virtual machine.
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td bgcolor="#525D76"><font size="0" color="#ffffff">Phoenix layer diagram</font></td>
</tr>
<tr>
<td><img src="images/phoenix-layers.jpg" alt="Paul Hammant, 2001" border="0"></td>
</tr>
<tr>
<td><font size="-1">
<ul>
<li>Paul Hammant, 2001</li>
</ul>
</font></td>
</tr>
</table>
</div>
<p align="justify">
Shown above are three hosted server applications. A mail server that would implement
multiple listeners for incoming and outgoing services (POP3, SMTP, IMAP etc). Outlook,
Eudora and other mail clients would be able to connect to the server. As it happens,
Apache has a project in progress called "James" that provides these services and Newsgroups.
Also shown is a Web server. That would respond to HTTP/HTTPS requests from similar standards
based clients and be able to host it's own applications (web-apps and virtual websites). Lastly,
and non-existant currently at Apache is an EJB Server. This would be able to host it's own
bean applications and might use the web server for it's HTTP needs.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Packaging of a Server Application</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Phoenix application are distriuted in a single archive.
</p>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Packaging in terms of blocks</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Phoenix hosts server applications made up of blocks. The blocks may depend on libraries
to function correctly. The blocks are tied together with Assembly instructions and Configured
externally.
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td bgcolor="#525D76"><font size="0" color="#ffffff">Phoenix application in block view</font></td>
</tr>
<tr>
<td><img src="images/phoenix-app-block.jpg" alt="Paul Hammant, 2001" border="0"></td>
</tr>
<tr>
<td><font size="-1">
<ul>
<li>Paul Hammant, 2001</li>
</ul>
</font></td>
</tr>
</table>
</div>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Packaging in terms of block jar files</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The server application is entirely contained withing one "sar" file. Sar is "Server ARchive".
Each block is a jar file. The dependant libraries are regular jars (placed
within a directory "lib" insde the sar file). The Assembly and configuration instructions
are in xml form and contained within a "conf" directory inside the sar file.
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td bgcolor="#525D76"><font size="0" color="#ffffff">Phoenix application in block jar view</font></td>
</tr>
<tr>
<td><img src="images/phoenix-app-blockjars.jpg" alt="Paul Hammant, 2001" border="0"></td>
</tr>
<tr>
<td><font size="-1">
<ul>
<li>Paul Hammant, 2001</li>
</ul>
</font></td>
</tr>
</table>
</div>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>FtpServer as a Phoenix application</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
FtpServer (part of the Avalon/Cornerstone project) is distributed in sar form. Here is a
view of it's blocks. It has no third party jars that it depends on.
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td bgcolor="#525D76"><font size="0" color="#ffffff">FtpServer, a real Phoenix application</font></td>
</tr>
<tr>
<td><img src="images/phoenix-app-ftpserver.jpg" alt="Paul Hammant, 2001" border="0"></td>
</tr>
<tr>
<td><font size="-1">
<ul>
<li>Paul Hammant, 2001</li>
</ul>
</font></td>
</tr>
</table>
</div>
</font></td>
</tr>
</table>
</div>
<br>
<p align="justify">
Notes - Phoenix does not limit the number of blocks that it allows in a sar file. We have taksdefs for Apache's Ant
tool for making sar files. See the "Block Developers Guide" (left
margin of this page) for more what/how/why.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/guide-assemblers-creating-a-server-application.html
Index: guide-assemblers-creating-a-server-application.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Guide - Creating a Server Application</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Guide - Creating a Server Application</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Guide - Creating a Server Application</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:peter@apache.org">Peter Donald</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
This document will describe the process for assembling your first Server
Application. There is a number of steps in creating a Server Application.
These are;
</p>
<ol>
<li>Select the blocks you wish to assemble.</li>
<li>Write the config.xml file.</li>
<li>Write the assembly.xml file.</li>
<li>Write the environment.xml file.</li>
<li>Package the component and related resources into a sar file.</li>
</ol>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Select the Blocks to Assemble</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
As a assembler it is your responsibility to select the particular Blocks
required to build your application. You may aquire the Blocks from a number
of sources depending on your resources. You may use the core Blocks supplied
with Phoenix, contract someone to build the component or download the Block
from an online repository.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Write the config.xml file</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Configuration data for blocks is stored in the config.xml file.
For more detail on the format of config.xml see the
<a href="reference-config-xml-specification.html">specification</a>.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Write the assembly.xml file</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The next stage is to write the assembly.xml file. The assembly.xml specifies
the instances of Blocks that are part of the Server Application. Each
Block has a name. Each block may also have dependencies that need to be
satisfied and this can be done via the 'provide' sub-elements. The
provide element maps block instances from the Server Application namespace
to the Block role namespace specified in BlockInfo files. For more detail
on the format of assembly.xml see the <a href="reference-assembly-xml-specification.html">
specification</a>.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Write the environment.xml file</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The next stage is to write the environment.xml file. The environment.xml is used to
configure the code-based security policy, log management and thread pooling.
For more detail on the format of environment.xml see the
<a href="reference-environment-xml-specification.html">specification</a>.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Create the sar file</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The sar file format is the standard distribution format of Phoenix Server
Applications. It is a standard Jar file with a specific directory layout.
The config.xml, environment.xml and assembly.xml file must be stored in
<code>SAR-INF/</code> directory of the archive. All jar files, including
both those that contain blocks and those that contain support classes
should be stored in the <code>SAR-INF/lib/</code> directory.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Guide Contents</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<ol>
<li>
<a href="guide-assemblers-what-is-a-server-application.html">What is a Server Application?</a>
</li>
<li>How do I create a Server Application?</li>
<li>
<a href="reference-config-xml-specification.html">config.xml specification</a>
</li>
<li>
<a href="reference-assembly-xml-specification.html">assembly.xml specification</a>
</li>
<li>
<a href="reference-environment-xml-specification.html">environment.xml specification</a>
</li>
</ol>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/guide-assemblers.html
Index: guide-assemblers.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Guide - for Server Assemblers</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Guide - for Server Assemblers</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Guide - for Server Assemblers</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:avalon-dev@jakarta.apache.org">Avalon Documentation Team</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Who Should Read This Book?</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The Server Assemblers Guide is written for assemblers who want to assemble a
Server Application for Phoenix. It is assumed that you are familiar with
the basic concepts of the Phoenix framework.
</p>
<p align="justify">
This book concentrates on assembly, and as such requires no knowledge of
java programming. It does however assume you are familiar with server
fundamentals, basic security measures, and performance tuning.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Organization</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The information is organized into sections detailing a specifc aspect of
assembling ServerApplications.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Contents</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<ol>
<li>
<a href="guide-assemblers-what-is-a-server-application.html">What is a Server Application?</a>
</li>
<li>
<a href="guide-assemblers-creating-a-server-application.html">How do I create a Server Application?</a>
</li>
<li>
<a href="reference-config-xml-specification.html">config.xml specification</a>
</li>
<li>
<a href="reference-assembly-xml-specification.html">assembly.xml specification</a>
</li>
<li>
<a href="reference-environment-xml-specification.html">environment.xml specification</a>
</li>
</ol>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/guide-assemblers-what-is-a-server-application.html
Index: guide-assemblers-what-is-a-server-application.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Guide - What is a Server Application?</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Guide - What is a Server Application?</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Guide - What is a Server Application?</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:peter@apache.org">Peter Donald</a>, <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
In Phoenix, a Server Application is a set of Blocks that act in concert
to provide a unified user service. Example Server Applications include a Mail
Server, File Server, Web Server etc. The Server Application is a high level
component that contains a set of Block components.
</p>
<p align="justify">
A Server Application requires a number of components other than Blocks to
be complete. A Server Application requires configuration files to define
Server Application wide settings (threading, security, logging), to define
how blocks are wired together, and to define configuration data for the
Block instances. A Block can also require other resources that are
application specific.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Guide Contents</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<ol>
<li>What is a Server Application?</li>
<li>
<a href="guide-assemblers-creating-a-server-application.html">How do I create a Server Application?</a>
</li>
<li>
<a href="reference-config-xml-specification.html">config.xml specification</a>
</li>
<li>
<a href="reference-assembly-xml-specification.html">assembly.xml specification</a>
</li>
<li>
<a href="reference-environment-xml-specification.html">environment.xml specification</a>
</li>
</ol>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/guide-block-developers-creating-a-block.html
Index: guide-block-developers-creating-a-block.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Guide - Creating a Block</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Guide - Creating a Block</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Guide - Creating a Block</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:peter@apache.org">Peter Donald</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
This document will describe the process for creating your first block. There
are essentially three steps that must be completed before your block is ready
for assembling.
</p>
<ol>
<li>Write the Block component.</li>
<li>Write the BlockInfo meta-info description file.</li>
<li>Package the component and related resources into a block jar file.</li>
</ol>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Writing the Block component</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Writing the Block is the main task you will be called to do. It follows all
the rules of writing a standard Avalon component. Block writers must also
extend the <code>org.apache.phoenix.Block</code> interface.
</p>
<p align="justify">
If a block implements the Composer interface it will be passed an instance
of <code>org.apache.phoenix.BlockContext</code> which is an extended version
of <code>org.apache.avalon.Context</code>. Other than this minor change the
Block's container (the Phoenix Kernel) supports all the Avalon lifecycle
methods or will in the near future (at the moment suspend/resume is not yet
supported).
</p>
<p align="justify">
The block can implement an instance of <code>org.apache.phoenix.Service</code>
if it wishes to export a service to external blocks. It is also possible to
aquire services from other blocks in the <code>compose()</code> method.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Write the BlockInfo</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
You must create this file to indicate which services this Block depends upon
and those services which it offers. It is more fully documented in the
<a href="reference-blockinfo-specification.html">BlockInfo Specification</a> document.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Create the jar package</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The final step is packaging up the implementation files, BlockInfos and other
resources into a jar file. The jar file is a standard jar file with special manifest
entries. For each Block that is included in the jar, a new manifest attribute
must be added, namely "Avalon-Block: true". An example manifest file is
displayed below.
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
Manifest-Version: 1.0
Created-By: Apache Avalon Project
Name: com/biz/cornerstone/blocks/MyBlock.class
Avalon-Block: true
</pre>
</td>
</tr>
</table>
</div>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Guide Contents</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<ol>
<li>
<a href="guide-block-developers-what-is-a-block.html">What is a block?</a>
</li>
<li>
<a href="guide-block-developers-what-is-a-block-listener.html">What is a block listener?</a>
</li>
<li>
<a href="guide-block-developers-what-is-an-application-listener.html">What is an application listener?</a>
</li>
<li>How do I create a block?</li>
<li>
<a href="guide-block-developers-making-phoenix-compatible-comps.html">How do I make my components phoenix-compatible?</a>
</li>
<li>
<a href="reference-blockinfo-specification.html">BlockInfo specification</a>
</li>
</ol>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/guide-block-developers.html
Index: guide-block-developers.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Guide - for Block Developers</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Guide - for Block Developers</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Guide - for Block Developers</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Who Should Read This Book?</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">The BDG is written for developers who want to create
blocks for Phoenix. It is assumed that you are familiar with Java, XML, Avalon
patterns and server side security issues. This book provides an overview of
the underlying technology, Java classes and interfaces, component model, and
behavior of server Blocks within Phoenix.</p>
<p align="justify">While this book concentrates on server fundamentals, it should not
be construed as a “dummy's” book. Server side programming
is complex because of the performance and security issues you must
balance.</p>
<p align="justify">You should be well versed in the Java language and have some
practical experience developing server solutions. If you need a stronger
background on server side programming, I suggest finding a good book on the
subject (any suggestions?).</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Organization</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Here is how the information is presented. The first few chapters are
foundational material, and describe the basic concepts you can use in your
own blocks. The later chapters specify in detail the formal requirements of
Block implementations.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Contents</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<ol>
<li>
<a href="guide-block-developers-what-is-a-block.html">What is a block?</a>
</li>
<li>
<a href="guide-block-developers-what-is-a-block-listener.html">What is a block listener?</a>
</li>
<li>
<a href="guide-block-developers-what-is-an-application-listener.html">What is an application listener?</a>
</li>
<li>
<a href="guide-block-developers-creating-a-block.html">How do I create a block?</a>
</li>
<li>
<a href="guide-block-developers-making-phoenix-compatible-comps.html">How do I make my components phoenix-compatible?</a>
</li>
<li>
<a href="reference-blockinfo-specification.html">BlockInfo specification</a>
</li>
</ol>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/guide-block-developers-making-phoenix-compatible-comps.html
Index: guide-block-developers-making-phoenix-compatible-comps.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Guide - Making components that are Phoenix compatible</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Guide - Making components that are Phoenix compatible</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Guide - Making components that are Phoenix compatible</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:hammant@apache.org">Paul Hammant</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Quite often reusable components are made elsewhere. Apache has a number
of places where this activity is going on. While we get it right most of
the time, some components developer elsewhere are harder to use in Phoenix
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Things to remember</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
There are a number of common sense things to remember when making or
adapting a Java component to be reusable in Phoenix as block.
</p>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Beanification</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
<ul>
<li>Have a public empty constructor for your main class</li>
<li>Have setters for its configuration.</li>
<li>Do not assume that the File is where dependancies are - people may reuse this in jars, applets etc.</li>
<li>Divorce your main method (if appl) from your main class - Phoenix does not call main methods.</li>
<li>Consider that the setup and initialization of the bean does not happen in the
constructor - as a convenience to the user, have an initialize() method</li>
<li>If the comp has start/stop functinality consider having start() and stop() methods.</li>
<li>Try to avoid Singleton concepts. There could be multiple blocks in one sar using differnt (by design) instances of your bean</li>
</ul>
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Inversion of Control Pattern</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
The IoC pattern is described <a href="http://jakarta.apache.org/avalon/framework/inversion-of-control.html">
here</a>. This means for Phoenix avoiding static concepts including loggers.
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Sepearation of interface and implementation</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The separation of interface/impl pattern is described <a href="http://jakarta.apache.org/avalon/framework/separation-of-interface-and-implementation.html">here</a>.
For Phoenix is means we can (if done completely) mount the implementation jar in place where hosted client compoennts (beans, servlets etc) can use the API, bit not see the implementation. We can also reimplement or wrap
bits of the implementation. For example we could write a pluggable implementation that could, for a certain API
journal some methods, but still delegate to the real impl. Which pluggable impl is used by Phoenix when it
boots is determined in assembly.xml of course.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Opening up the API</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Given that you have divided into interface and impl, there are probably plenty of methods you
can put method in the interface you never though might be used. For example if you are making JDBC
compliant relational database, and it is a bean, you could easily think that the only use would be
clients via JDBC over sockets. Well, given that Phoenix can now mount the RDBMS block, it might want
to be reused by other blocks that other people have developed inside the the same SAR file. In that case
have beanlike methods of ...
<ol>
<li>Database createDatabase(String name)</li>
<li>Database cloneDatabase(String name)</li>
</ol>
.. might be useful. Just because you can only see a ServerSocket interface does not mean that others do.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Example compatible comp</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Below are an interface and implemmentation that are suitably separated, are beanlike and is in accordance
with the IoC pattern...
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
package examplecomp;
public interface WebServer {
void mountWar(String contextName, URL pathToWar);
void unMountWar(String contextName);
}
package examplecomp.server;
public class MyWebServer implements WebServer {
public MyWebServer() {
// whatever.
}
public void setPort(int port) {
// this is one configuration item.
}
public void initialize() {
// whatever.
}
public void start() {
// whatever.
}
public void stop() {
// whatever.
}
public void mountWar(String contextName, URL pathToWar) {
// whatever.
}
public void unMountWar(String contextName) {
// whatever.
}
}
</pre>
</td>
</tr>
</table>
</div>
For standalone mode, it might be launched like so:
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
package examplecomp.main;
public class WebServerMain {
public static void main(String[] args) throws Exception {
MyWebServer ws = new WebServer();
ws.setPort(Integer.parseInt(args[0]));
ws.initialize();
ws.start();
ws.mountWar(args[1], new File(args[2]).toURL());
}
}
</pre>
</td>
</tr>
</table>
</div>
When we are trying to run this in phoeinix we might have this wrapper:
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
package examplecomp.block;
public class WebServerBlock extends AbstractLoggable implements Block, WebServer, Startable, Configurable, Initializable {
private int mPort;
private WebServer mWebServer;
public WebServerBlock() {
mWebServer = new MyWebServer();
}
public void configure(final Configuration configuration) throws ConfigurationException {
mPort = configuration.getChild("port").getValueAsInteger( 9001 );
}
public void initialize() throws Exception {
mWebServer.setPort(mPort);
mWebServer.initialize();
}
public final void start() throws Exception {
mWebServer.start();
}
public void stop() throws Exception {
mWebServer.stop();
}
public void mountWar(String contextName, String pathToWar) {
mWebServer.mountWar(contextName, pathToWar);
}
public void unMountWar(String contextName) {
mWebServer.unMountWar(contextName);
}
}
</pre>
</td>
</tr>
</table>
</div>
This basically shows the impl wrapped and taking its configuration from the config.xml
that phonix prefers from configuration. The the developer wanted they could ignore
that place of configuration and use their own config files. If the WebServer block were
being reused by another Phoenix block (say an EJB server), it might be like so:
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
package somebeanserver;
public class EJBBlock extends AbstractLoggable implements Block, Composable {
private WebServer mWebServer;
public void compose(final ComponentManager compMgr) throws ComponentException {
mWebServer = compMgr.lookup("WebServer");
}
public void mountEar(String contextName, String pathToEar) {
String[] warContextNames = getWarContexts(pathToEar);
URL[] wars = getWarFiles(pathToEar);
for (int i = 0; i < wars.length; i++) {
mWebServer.mountWar(warContextNames[i], wars[i]);
}
}
public void unMountEar(String contextName) {
// whatever
}
}
</pre>
</td>
</tr>
</table>
</div>
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Misconceptions</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The following are worth stating:
<ul>
<li>You do not have to implement any Avalon interfaces to be reusable (wrap strategy) inside Avalon.</li>
<li>Being Phoenix compatible is just as useful for whole servers as it is for small components.</li>
<li>Being Phoenix compatible can be for tools that are intended for client-side as well as server use.</li>
</ul>
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Guide Contents</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<ol>
<li>
<a href="guide-block-developers-what-is-a-block.html">What is a block?</a>
</li>
<li>
<a href="guide-block-developers-what-is-a-block-listener.html">What is a block listener?</a>
</li>
<li>
<a href="guide-block-developers-what-is-an-application-listener.html">What is an application listener?</a>
</li>
<li>
<a href="guide-block-developers-creating-a-block.html">How do I create a block?</a>
</li>
<li>How do I make my components phoenix-compatible?</li>
<li>
<a href="reference-blockinfo-specification.html">BlockInfo specification</a>
</li>
</ol>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/guide-block-developers-what-is-a-block.html
Index: guide-block-developers-what-is-a-block.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Guide - What is a Block?</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Guide - What is a Block?</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Guide - What is a Block?</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:fede@apache.org">Federico Barbieri</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">In Avalon Phoenix, there are three component layers:</p>
<ul>
<li>Blocks</li>
<li>Components</li>
<li>Classes</li>
</ul>
<p align="justify">
They represent ever narrowing views of a component based architecture.
The best analogy is that of hardware. In the PC world, a Block would
be like a PCI card, a Motherboard, a Case, or a Hard Drive. A Component
would be like the chips on the cards. And classes would be like the
individual transistors on the chip. Granted, the actual economies
of scale in this analogy don't hold to software (a component will
not have millions of classes).
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>What is a Block?</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
A Block is a Component on a larger scale. It is usually the
implementation of a Service. Examples of Blocks are
"Persistent Object Store", "Connection Pools", "XML Database",
"Authenticator" and so on.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Guide Contents</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<ol>
<li>What is a block?</li>
<li>
<a href="guide-block-developers-what-is-a-block-listener.html">What is a block listener?</a>
</li>
<li>
<a href="guide-block-developers-what-is-an-application-listener.html">What is an application listener?</a>
</li>
<li>
<a href="guide-block-developers-creating-a-block.html">How do I create a block?</a>
</li>
<li>
<a href="guide-block-developers-making-phoenix-compatible-comps.html">How do I make my components phoenix-compatible?</a>
</li>
<li>
<a href="reference-blockinfo-specification.html">BlockInfo specification</a>
</li>
</ol>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/guide-block-developers-what-is-a-block-listener.html
Index: guide-block-developers-what-is-a-block-listener.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Guide - What is a Block Listener?</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Guide - What is a Block Listener?</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Guide - What is a Block Listener?</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:peter@apache.org">Peter Donald</a>, <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
A Phoenix Application consists of Blocks. Blocks can depend on the
services of other Blocks. However there is circumstances in which
relationships between Blocks other than dependency relationships
should exist in an application.
</p>
<p align="justify">
For example, you may have a Block that is capable of exporting
other Blocks as SOAP services. The Blocks that wish to be exported
as SOAP services may need to export a service interface that extends
SOAPClient.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>What is a Block Listener?</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
A BlockListener is a component that is created before any Blocks are
created in an Application. It receives notification after each Block
is created and setup for Application. The listener also receives
notification when a Block is about to be shutdown.
</p>
<p align="justify">
The relationship discussed above (between SOAPServer and SOAPClients)
could be modelled as dependencies but that would mean that each application
would need to modify the SOAPServer so that it depended on a particular
number of SOAPClients that was specific to application. A better approach
to modelling these relationships would be to use a BlockListener to "wire"
together the SOAPClient services in Blocks to the SOAPServer service. As
soon as any Block is detected that implements a SOAPClient service it could
be registered with the SOAPServer.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>How to make a block listener</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Like normal blocks, a block listener can be <em>LogEnabled</em> and take
configuration via <em>Configurable</em>. The special feature is that it
must implement <em>BlockListener</em> and the four methods that are a
consequence of that. Those methods illustrate blocks being added and
removed etc and come with a <em>BlockEvent</em> argument. The following
section in assembly.xml causes instantiation of the block listener:
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
<listener class="pkg.MyBlockListener" name="a-suitable-name" />
</pre>
</td>
</tr>
</table>
</div>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Guide Contents</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<ol>
<li>
<a href="guide-block-developers-what-is-a-block.html">What is a block?</a>
</li>
<li>What is a block listener?</li>
<li>
<a href="guide-block-developers-what-is-an-application-listener.html">What is an application listener?</a>
</li>
<li>
<a href="guide-block-developers-creating-a-block.html">How do I create a block?</a>
</li>
<li>
<a href="guide-block-developers-making-phoenix-compatible-comps.html">How do I make my components phoenix-compatible?</a>
</li>
<li>
<a href="reference-blockinfo-specification.html">BlockInfo specification</a>
</li>
</ol>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/guide-block-developers-what-is-an-application-listener.html
Index: guide-block-developers-what-is-an-application-listener.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Guide - What is an Application Listener?</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Guide - What is an Application Listener?</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Guide - What is an Application Listener?</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
This is very similar to <em>BlockListener</em> in that it is notified
during lifecycle of blocks and application. In Java terms the
<em>ApplicationListener</em> interface extends <em>BlockListener</em>
so it is always informd of both types of events
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Events notified</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
ApplicationListener components are created before any Blocks are
created in an Application. They receive notifications before and
after the Applictaion is started and stopped.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>How to make a block listener</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Like normal blocks, an application listener can be <em>LogEnabled</em>
and take configuration via <em>Configurable</em>. The special feature
is that it must implement <em>ApplicationListener</em> and implement
the four methods that are a consequence of that (as well as four from
<em>BlockListener</em>). The following section in assembly.xml causes
instantiation of the application listener. It is exactly the same as
that for <em>BlockListener</em>:
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
<listener class="pkg.MyApplicationListener" name="a-suitable-name" />
</pre>
</td>
</tr>
</table>
</div>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Guide Contents</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<ol>
<li>
<a href="guide-block-developers-what-is-a-block.html">What is a block?</a>
</li>
<li>
<a href="guide-block-developers-what-is-a-block-listener.html">What is a block listener?</a>
</li>
<li>What is an application listener?</li>
<li>
<a href="guide-block-developers-creating-a-block.html">How do I create a block?</a>
</li>
<li>
<a href="guide-block-developers-making-phoenix-compatible-comps.html">How do I make my components phoenix-compatible?</a>
</li>
<li>
<a href="reference-blockinfo-specification.html">BlockInfo specification</a>
</li>
</ol>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/guide-deployers.html
Index: guide-deployers.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Guide - for Deployers</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Guide - for Deployers</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Guide - for Deployers</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:peter@apache.org">Peter Donald</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Currently deploying a server application under Phoenix is simply a matter
of dropping the .sar file into the appropriate directory (<code>apps/</code>)
and restarting Phoenix. In the future there will be more advanced methods
of deploying and undeploying Server Applications without restarting Phoenix.
</p>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Target Audience</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
This documentation describes the methods through which you can deploy
Server Applications under the Phoenix kernel. It will be expanded as
the system becomes more complete.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/guide-example-configuration.html
Index: guide-example-configuration.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Guide - Example Configuration</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Guide - Example Configuration</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Guide - Example Configuration</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:mcconnell@osm.net">Stephen McConnell</a>, <a href="mailto:g-froehlich@gmx.de">Gerhard Froehlich</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">This page contains a real production example of a block
assembly and block .xinfo description based an extract from
a B2B Enterprise Integration and Collaboration Platform developed by
<a href="http://www.osm.net">OSM</a>
</p>.
<p align="justify">This example was originally a Mailing List response to a
some user questions!</p>
<p align="justify">The orginal post was written by Stephen McConnell from OSM.</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>The example</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">First we start with a manifest file in a jar the contains
a block. The manifest contains the declaration of the path
to the block implementation. This path is also used to
resolve the .xinfo file. In this case the <code>.xinfo</code>
description will be located under
<code>org/apache/acme/hub/gateway/pki/PKIProcessServer.xinfo</code>
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
Manifest-Version: 1.0
Created-By: ACME Corporation
Name: org/apache/acme/hub/gateway/pki/PKIProcessServer.class
Avalon-Block: true
</pre>
</td>
</tr>
</table>
</div>
<p align="justify">The <code>.xinfo</code> file contains a description of a
reasonably simple block that serves as a factory for business
processes that handle PKI certification requests:</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
<?xml version="1.0"?>
<blockinfo>
<block>
<version>1.0</version>
</block>
<services>
<!--
This block could be declaring several services that it supports.
Unlike a Java interface, the service includes a version tag. So
it's possible for a block to have several services with possibly
different versions. If there are multiple services then just
declare them with multiple service entries here. Phoenix will make
sure that the class with the same name as the .xinfo file
implements these interfaces (if it doesn't then Phoenix will
terminate).
-->
<service name="org.apache.acme.hub.gateway.FactoryService" version="1.0" />
</services>
<!--
So far, we have the definition of a class that supports possibly
multiple version interfaces. But things get much more interesting, when
we think about the services that this block requires in order to function
properly. That's partly handled by the dependencies element and partly by
the assembly.xml file (which I'll explain later). In the following
dependency example there are seven "service" dependencies (i.e. 7 versioned
interface dependencies that must be fulfilled for this block to function.
-->
<dependencies>
<!--
Each dependency contains a declaration of a role name and a service
interface and a version that can fulfil that role. The dependency
does not say anything about where that service implementation should
come from (that's the job the assembly.xml file). The role element
is simply the label used in the implementation of your block configure
method that distinguishes a particular instance of the service.
-->
<dependency>
<role>GATEWAY</role>
<service name="org.apache.acme.hub.gateway.GatewayContext" version="1.0"/>
</dependency>
<!--
This dependency declaration simply states that in order to function,
this block requires a <service/> (in this case a wrapper to a CORBA
ORB version 2.4) and that the block implementation will lookup this
service using the "ORB" keyword.
-->
<dependency>
<role>ORB</role>
<service name="org.apache.acme.hub.gateway.ORBService" version="2.4"/>
</dependency>
<!--
This dependency declares a requirement for a PSS (Persistent State
Service) Storage Home.
-->
<dependency>
<role>PSS</role>
<service name="org.apache.acme.hub.gateway.ProcessorStorageHomeService" version="1.0"/>
</dependency>
<!--
This dependency enables the block to establish a call-back to the
block supplying the service. This block uses the Registry interface
to publish a business process description to a higher level manager.
-->
<dependency>
<role>REGISTRY</role>
<service name="org.apache.acme.hub.gateway.Registry" version="1.0"/>
</dependency>
<!-- etc. -->
<dependency>
<role>DOMAIN</role>
<service name="org.apache.acme.hub.gateway.DomainService" version="1.0"/>
</dependency>
<dependency>
<role>RANDOM</role>
<service name="org.apache.acme.hub.gateway.RandomService" version="1.0"/>
</dependency>
<dependency>
<role>CLOCK</role>
<service name="org.apache.acme.service.time.TimeService" version="1.0"/>
</dependency>
</dependencies>
</blockinfo>
</pre>
</td>
</tr>
</table>
</div>
<p align="justify">Next is the block declaration (an extract from an <code>assembly.xml</code>
file). This enables the declaration of WHERE the services are coming from.
I.e. you may have a system with many blocks and even the potential for matching
services available from more that one block. The class attribute provides the
link to the <code>.xinfo</code> file and the implementation class. The name
is used a key within the <code>assembly.xml</code> file when wiring things together.
E.g. the provide element references a block by its name - and declares that the
named block will serve as the provider of the service. The role attribute matches
the role element in the <code>.xinfo</code> dependency declaration.</p>
The name attribute also serves a the key to lookup a configuration element in
the application configuration.xml file.
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
<?xml version="1.0"?>
<assembly>
<!-- other assembly information here -->
<!-- Certification Request Processor Factory -->
<block class="org.apache.acme.pki.process.CertificationRequestServer" name="certification" >
<provide name="gateway" role="GATEWAY"/>
<provide name="gateway" role="ORB"/>
<provide name="gateway" role="PSS"/>
<provide name="gateway" role="DOMAIN"/>
<provide name="gateway" role="RANDOM"/>
<provide name="pki" role="REGISTRY"/>
<provide name="time" role="CLOCK"/>
</block>
<!-- more assembly information here -->
</assembly>
</pre>
</td>
</tr>
</table>
</div>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b></b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Why this seperation?</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
</font></td>
</tr>
</table>
</div>
<br>
<ul>
<li>It forces structure and separation</li>
<li>It provides a way of managing possibly multiple versions of the
same interface in a single environment</li>
<li>It enables explicit declaration of the source of service provision</li>
</ul>
<p align="justify">For example you can have multiple blocks providing a TimeService.
One of those blocks uses an external time reference while the others
use a local time reference. The local time block
declare dependencies on the external source time block and is periodically
synchronised. In this example all of the TimeService services are exposing
the same interface, same version (i.e. same service), but the decision as to
which service is the provider to another can be explicitly controlled.
While the time example is perhaps trivial, there are significant policy
security implications related to service provider selection.</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/guide-roles.html
Index: guide-roles.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Reference - Development Roles</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Reference - Development Roles</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Reference - Development Roles</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:leosimons@apache.org">Leo Simons</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
In phoenix-based development, we identify several roles. Each of these has its own
guide. If you plan to aid in the development of phoenix itself, or if you are
responsible for all these aspects, you should read all the guides. Otherwise, you
should be able to learn everything you need to know from the guide that fits your
role.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>The Administrator</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">The administrator is responsible for getting phoenix to run and for keeping it
running. He typically controls the startup and shutdown of the standalone server
or daemon, and uses a management console to keep the server in top condition.</p>
<p align="justify">
<a href="guide-administrator.html">Administrator's Guide</a>
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>The Deployer</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">The deployer manages (un/re)deployment of the applications hosted withing phoenix,
typically through a management console. In real life, this is often the same person
as the adminstrator.</p>
<p align="justify">
<a href="guide-deployer.html">Deployer's Guide</a>
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>The Assembler</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">The assembler takes pre-written blocks and glues these together to create a
server application. Assemblers usually work closely with block developers.</p>
<p align="justify">
<a href="guide-assemblers.html">Assembler Guide</a>
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>The Block Developer</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">The block developer creates reusable components (called blocks) that can be
wired together to form a server applications.</p>
<p align="justify">
<a href="guide-block-developers.html">Block Developers Guide</a>
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/reference-assembly-xml-specification.html
Index: reference-assembly-xml-specification.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Reference - Specification of assembly.xml </title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Reference - Specification of assembly.xml </title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Reference - Specification of assembly.xml </font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:peter@apache.org">Peter Donald</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The purpose of the <code>assembly.xml</code> file is to define how the Server
Application is assembled from it's component Blocks. This requires naming each
block, specifying the implementation class for each block and wiring together
blocks. The wiring is done via provides elements. Each provide element maps a
block instance to a role of a dependency specified in the BlockInfo file. See
below for a sample assembly.xml file.
</p>
<p align="justify">
The <code>assembly.xml</code> can also specify <code>BlockListener</code>
objects that will be created for application. The listeners need a name and
a classname.
</p>
<p align="justify">
In previous versions of Phoenix, configuration data was also stored in the
assembly file. This is no longer the case (It is now stored in config.xml).
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Sample assembly.xml file</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
<?xml version="1.0"?>
<assembly>
<block-listener name="myListener"
class="com.biz.cornerstone.listeners.MyListener">
</block-listener>
<block name="myAuthorizer"
class="com.biz.cornerstone.blocks.MyAuthorizer">
</block>
<block name="myBlock"
class="com.biz.cornerstone.blocks.MyBlock">
<provide name="myAuthorizer"
role="com.biz.cornerstone.services.Authorizer"/>
</block>
</assembly>
</pre>
</td>
</tr>
</table>
</div>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/reference-blockinfo-specification.html
Index: reference-blockinfo-specification.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Reference - The BlockInfo Specification</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Reference - The BlockInfo Specification</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Reference - The BlockInfo Specification</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:peter@apache.org">Peter Donald</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Block Metadata</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The meta-data about each block is stored in a BlockInfo file. The info
includes details on what version the block is, what <code>Service</code>s
it depends upon and which <code>Service</code>s it can offer to other Blocks.
In the future the info will also store such data as the schema for configuring
the block.
</p>
<p align="justify">
The BlockInfo file has the same name as the Block except with the extention
<code>.xinfo</code>. Thus if you were looking up the meta info for a block named
<code>com.biz.cornerstone.blocks.MyBlock</code> you would look up the resource
<code>com/biz/cornerstone/blocks/MyBlock.xinfo</code> in the same block jar file that
the block was packaged in. The BlockInfo file is a simple XML format. An
example of such a file follows.
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
<?xml version="1.0"?>
<blockinfo>
<block>
<version>1.2.3</version>
</block>
<services>
<service name="com.biz.cornerstone.services.MyService"
version="2.1.3" />
</services>
<dependencies>
<dependency>
<role>com.biz.cornerstone.services.Authorizer</role>
<service name="com.biz.cornerstone.service.Authorizer"
version="1.0"/>
</dependency>
<dependency>
<!-- note that role is not specified and defaults
to name of service -->
<service name="com.biz.cornerstone.service.RoleMapper"
version="1.0"/>
</dependency>
</dependencies>
</blockinfo>
</pre>
</td>
</tr>
</table>
</div>
<p align="justify">
You will notice that the information in the BlockInfo file is separated into
three main sections; <code>block</code>, <code>services</code> and
<code>dependencies</code>.
</p>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>BlockInfo 'block' Section</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">The block section specifies the version of class. In the future this
section will also specify the configuration schema if the block is
<code>Configurable</code>.</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>BlockInfo 'services' Section</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">The services section documents the services that this block can offer other
Blocks. The service instances indicate an interface and a version. The interface
MUST extend <code>org.apache.phoenix.Service</code>. This section is optional
and a Block can choose to not offer any services.</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>BlockInfo 'dependencies' Section</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">The services section documents the services that this block requires to operate.
Required services are placed in the Blocks ComponentManager under the name
specified by the <code>role</code> element of dependency. As is documented in the
<a href="http://jakarta.apache.org/avalon/framework/guide-cop-in-avalon.html">components</a> section, the
concept of Role is more than just a behavioural contract. A <code>Service</code> is
a behavioural contract and thus the necessity to support the role element. In most
cases however the role element and the name attribute of the service will be
identical. In these cases it is sufficient to just specify service element and role
will default to name of service.</p>
</font></td>
</tr>
</table>
</div>
<br>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/reference-config-xml-specification.html
Index: reference-config-xml-specification.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Reference - Specification of config.xml </title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Reference - Specification of config.xml </title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Reference - Specification of config.xml </font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:peter@apache.org">Peter Donald</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The purpose of the <code>config.xml</code> file is to provide configuration data
to each of the blocks that require configuration data. The format of the
configuration data is block-specific, thus refer to documentation of Block
for relevant details. Each element below the root element has a name coresponding
to the name of a block specified in assembly.xml file. The contents of this
element is the configuration data for the block.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Sample config.xml file</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
<?xml version="1.0"?>
<config>
<myAuthorizer>
&lt;!-- ...configuration data here... --&gt;
</myAuthorizer>
<myBlock>
<param1>param1-value</param1>
<an-integer>2</an-integer>
...
</myBlock>
</config>
</pre>
</td>
</tr>
</table>
</div>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/phoenix/reference-environment-xml-specification.html
Index: reference-environment-xml-specification.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Avalon Phoenix - Reference - Specification of environment.xml</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/"><font size="+1" color="#778899">Jakarta main</font></a>
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Avalon main</font></a>
<br>
<br>
<font size="+1" color="#000000">Essentials</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="features.html"><font size="-1">Features</font></a>
</li>
<li>
<a href="getting-started.html"><font size="-1">Getting started</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/phoenix"><font size="-1">Download</font></a>
</li>
<li>
<a href="install.html"><font size="-1">Install</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Guide</font>
<br>
<font size="-1">
<ul>
<li>
<a href="guide-architecture.html"><font size="-1">Architectural Overview</font></a>
</li>
<li>
<a href="guide-roles.html"><font size="-1">Development Roles</font></a>
</li>
<li>
<a href="guide-administrator.html"><font size="-1">for Administrators</font></a>
</li>
<li>
<a href="guide-deployers.html"><font size="-1">for Deployers</font></a>
</li>
<li>
<a href="guide-assemblers.html"><font size="-1">for Assemblers</font></a>
</li>
<li>
<a href="guide-block-developers.html"><font size="-1">for Block Developers</font></a>
</li>
<li>
<a href="guide-example-configuration.html"><font size="-1">Example configuration</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Reference</font>
<br>
<font size="-1">
<ul>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="reference-config-xml-specification.html"><font size="-1">config.xml Specification</font></a>
</li>
<li>
<a href="reference-assembly-xml-specification.html"><font size="-1">assembly.xml Specification</font></a>
</li>
<li>
<a href="reference-environment-xml-specification.html"><font size="-1">environment.xml Specification</font></a>
</li>
<li>
<a href="reference-blockinfo-specification.html"><font size="-1">BlockInfo Specification</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">For Developers</font>
<br>
<font size="-1">
<ul>
<li>
<a href="for-developers-changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="for-developers-todo.html"><font size="-1">Todo</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/code-standards.html"><font size="-1">Coding standards</font></a>
</li>
<li>
<a href="for-developers-project-structure.html"><font size="-1">Project Structure</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mailing Lists</font></a>
</li>
<li>
<a href="for-developers-a-future.html"><font size="-1">A Future</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Avalon Phoenix - Reference - Specification of environment.xml</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Avalon Phoenix - Reference - Specification of environment.xml</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:peter@apache.org">Peter Donald</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The purpose of the <code>environment.xml</code> file is to configure environmental
or Server Application wide settings. Currently this means being able to set the
security policy and configure logging settings. A sample <code>environment.xml</code>
follows. Previously thread pool settings were also configured in this
section but this has been deprecated. Note that previously the information stored in
<code>environment.xml</code> was stored in a file named <code>server.xml</code>.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Sample environment.xml file</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
<?xml version="1.0"?>
<environment>
<logs>
<category name="" target="default" priority="DEBUG" />
<category name="myAuthorizer" target="myAuthorizer-target"
priority="DEBUG" />
<log-target name="default"
location="/logs/default.log" />
<log-target name="myAuthorizer-target"
location="/logs/authorizer.log" />
</logs>
<policy>
<keystore name="foo-keystore"
location="sar:/conf/keystore"
type="JKS" />
<grant code-base="file:${app.home}${/}some-dir${/}*"
key-store="foo-keystore" >
<permission class="java.io.FilePermission"
target="${/}tmp${/}*"
action="read,write" />
</grant>
<grant signed-by="Bob"
code-base="file:${app.home}${/}SAR-INF${/}lib${/}*"
key-store="foo-keystore" >
<permission class="java.io.FilePermission"
target="${/}tmp${/}*"
action="read,write" />
</grant>
</policy>
</environment>
</pre>
</td>
</tr>
</table>
</div>
<p align="justify">
The format of the policy section should be largely self evident if the assembler
has experience with standard policy files. It should be noted that if no
policy section is given then the Server Application runs at full permissions.
The evaluation of properties occurs in a similar manner to standard
policy file property expansion. There are a number of extra properties that
will be evaluated. These include; <code>app.home</code> and <code>app.name</code>.
</p>
<p align="justify">
One special thing to not is that the user can use URLs of the form,
"sar:/SAR-INF/lib/*". This will apply the permissions to the jars
contained in the .SAR file. Note that these urls must start with
"sar:/" and must use the "/" character as file separator, regardless
of current operating system.
</p>
<p align="justify">
The logs section can currently have two types of elements; <em>log-target</em>s
which represent destinations for logging and <em>category</em>s. There must be a
log-target with the name "default". Categories are hierarchial in nature, have a
priority and are associated with one or more log-targets. See the logging
documentation for a further description of this section.
</p>
<p align="justify">
There is another type of log configuration. It is more configurable.
Specify version attribute with logs elements. See javadoc of
org.apache.avalon.excalibur.logger package for detailed description.
Below is example configuration.
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
<logger version="1.1">
<factories>
<factory type="file"
class="org.apache.avalon.excalibur.logger.factory.FileTargetFactory"/>
</factories>
<categories>
<category name="" log-level="INFO">
<log-target id-ref="default"/>
</category>
</categories>
<targets>
<file id="default">
<filename>${app.home}/logs/default-</filename>
<append>true</append>
<rotation type="unique" pattern="yyyyMMdd" suffix=".log">
<date>yyyyMMdd</date>
</rotation>
</file>
</targets>
</logger>
</pre>
</td>
</tr>
</table>
</div>
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>