bloritsch 01/10/30 05:41:07
Modified: src/documentation/xdocs/developing introduction.xml
Log:
tab removal
Revision Changes Path
1.5 +108 -108
jakarta-avalon/src/documentation/xdocs/developing/introduction.xml
Index: introduction.xml
===================================================================
RCS file:
/home/cvs/jakarta-avalon/src/documentation/xdocs/developing/introduction.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- introduction.xml 2001/10/22 20:35:35 1.4
+++ introduction.xml 2001/10/30 13:41:07 1.5
@@ -60,53 +60,53 @@
<title>Framework</title>
<para>
Avalon Framework is the basis for all the other projects under
- the Avalon umbrella. It defines the interfaces, contracts, and
- default implementations for Avalon. The Framework has the most
- work put into it, and consequently is the most mature project.
+ the Avalon umbrella. It defines the interfaces, contracts, and
+ default implementations for Avalon. The Framework has the most
+ work put into it, and consequently is the most mature project.
</para>
</section>
<section>
<title>Excalibur</title>
<para>
Avalon Excalibur is a collection of server side Components that
- you can use in your own projects. It includes pooling
- implementations, database connection management, and Component
- management implementations among others.
+ you can use in your own projects. It includes pooling
+ implementations, database connection management, and Component
+ management implementations among others.
</para>
</section>
<section>
<title>LogKit</title>
<para>
Avalon LogKit is a high speed logging toolkit used by Framework,
- Excalibur, Cornerstone, and Phoenix. It is modeled on the same
- principles as the JDK 1.4 Logging package but is compatible with
- JDK 1.2+.
+ Excalibur, Cornerstone, and Phoenix. It is modeled on the same
+ principles as the JDK 1.4 Logging package but is compatible with
+ JDK 1.2+.
</para>
</section>
<section>
<title>Phoenix</title>
<para>
Avalon Phoenix is the server kernel that manages the deployment
- and execution of Services (implemented as server components
- called Blocks).
+ and execution of Services (implemented as server components
+ called Blocks).
</para>
</section>
<section>
<title>Cornerstone</title>
<para>
Avalon Cornerstone is a collection of Blocks or services that you
- can deploy in the Phoenix environment. The Blocks include socket
- management and job scheduling among others.
+ can deploy in the Phoenix environment. The Blocks include socket
+ management and job scheduling among others.
</para>
</section>
<section>
<title>Scratchpad</title>
<para>
Scratchpad is not really an official project, but it is the
- staging area for Components that are not ready for inclusion in
- Excalibur yet. They are of varying quality, and their APIs are
- not guaranteed to remain consistent until they are promoted into
- Excalibur.
+ staging area for Components that are not ready for inclusion in
+ Excalibur yet. They are of varying quality, and their APIs are
+ not guaranteed to remain consistent until they are promoted into
+ Excalibur.
</para>
</section>
</section>
@@ -188,23 +188,23 @@
<title>There is no Magic Formula</title>
<para>
It is important to state that trying to use any tool as a magic
- formula for success is begging for trouble. Avalon is no exception
- to this rule. Because Avalon's Framework was designed to work for
- server solutions, it would not be a good idea to use it for
- building a Graphical User Interface (GUI). Java already has a
- framework for building a GUI called Swing.
+ formula for success is begging for trouble. Avalon is no exception
+ to this rule. Because Avalon's Framework was designed to work for
+ server solutions, it would not be a good idea to use it for
+ building a Graphical User Interface (GUI). Java already has a
+ framework for building a GUI called Swing.
</para>
<para>
While you need to consider if Avalon is right for your project,
- you can still learn from the principles and design that went into
- it. The question you need to ask yourself is, "Where is this
- project going to be used?" If the answer is that it will be run
- in a server environment, then Avalon is a good choice whether you
- are creating a Java Servlet, or creating a special purpose server.
- If the answer is it will be run on a client's machine with no
- interaction with a server, than chances are that Avalon might not
- be a good fit. Even then, the Component model is very flexible
- and can help manage complexity in a large application.
+ you can still learn from the principles and design that went into
+ it. The question you need to ask yourself is, "Where is this
+ project going to be used?" If the answer is that it will be run
+ in a server environment, then Avalon is a good choice whether you
+ are creating a Java Servlet, or creating a special purpose server.
+ If the answer is it will be run on a client's machine with no
+ interaction with a server, than chances are that Avalon might not
+ be a good fit. Even then, the Component model is very flexible
+ and can help manage complexity in a large application.
</para>
</section>
</section>
@@ -222,119 +222,119 @@
<title>Inversion of Control</title>
<para>
Inversion of Control (IOC) is the concept that a Component is
- always externally managed. This phrase was originally coined
- by Brian Foote in one of his papers
- <footnote>
- <ulink
url="http://www.laputan.org/drc/drc.html">http://www.laputan.org/drc/drc.html</ulink>
- </footnote>.
- Everything a Component needs in the way of Contexts,
- Configurations, and Loggers is given to the Component. In fact,
- every stage in the life of a Component is controlled by the code
- that created that Component. When you use this pattern, you
- implement a secure method of Component interaction in your system.
+ always externally managed. This phrase was originally coined
+ by Brian Foote in one of his papers
+ <footnote>
+ <ulink
url="http://www.laputan.org/drc/drc.html">http://www.laputan.org/drc/drc.html</ulink>
+ </footnote>.
+ Everything a Component needs in the way of Contexts,
+ Configurations, and Loggers is given to the Component. In fact,
+ every stage in the life of a Component is controlled by the code
+ that created that Component. When you use this pattern, you
+ implement a secure method of Component interaction in your system.
</para>
<warning>
<para>
- IOC is not equivalent to security! IOC provides a mechanism
- whereby you can implement a scalable security model. In order
- for a system to be truly secured, each Component must be secure,
- no Component can modify the contents of objects that are passed
- to them, and every interaction has to be with known entities.
- Security is a major topic, and IOC is a tool in the programmer's
- arsenal to achieve that goal.
- </para>
+ IOC is not equivalent to security! IOC provides a mechanism
+ whereby you can implement a scalable security model. In order
+ for a system to be truly secured, each Component must be secure,
+ no Component can modify the contents of objects that are passed
+ to them, and every interaction has to be with known entities.
+ Security is a major topic, and IOC is a tool in the programmer's
+ arsenal to achieve that goal.
+ </para>
</warning>
</section>
<section>
<title>Separation of Concerns</title>
<para>
The idea that you should view your problem space from different
- concern areas resulted in the Separation of Concerns (SOC) pattern.
- An example would be viewing a web server from different viewpoints
- of the same problem space. A web server must be secure, stable,
- manageable, configurable, and comply with the HTTP specifications.
- Each of those attributes is a separate concern area. Some of these
- concerns are related to other concerns such as security and
- stability (if a server is not stable it can't be secure).
+ concern areas resulted in the Separation of Concerns (SOC) pattern.
+ An example would be viewing a web server from different viewpoints
+ of the same problem space. A web server must be secure, stable,
+ manageable, configurable, and comply with the HTTP specifications.
+ Each of those attributes is a separate concern area. Some of these
+ concerns are related to other concerns such as security and
+ stability (if a server is not stable it can't be secure).
</para>
<para>
The Separation of Concerns pattern in turn led to Aspect Oriented
- Programming (AOP). Researchers discovered that many concerns
- couldn't be addressed at class or even method granularity. Those
- concerns are called aspects. Examples of aspects include managing
- the lifecycle of objects, logging, handling exceptions and cleaning
- up resources. With the absence of a stable AOP implementation, the
- Avalon team chose to implement Aspects or concerns by providing
- small interfaces that a Component implements.
+ Programming (AOP). Researchers discovered that many concerns
+ couldn't be addressed at class or even method granularity. Those
+ concerns are called aspects. Examples of aspects include managing
+ the lifecycle of objects, logging, handling exceptions and cleaning
+ up resources. With the absence of a stable AOP implementation, the
+ Avalon team chose to implement Aspects or concerns by providing
+ small interfaces that a Component implements.
</para>
</section>
<section>
<title>Component Oriented Programming</title>
<para>
Component Oriented Programming (COP) is the idea of breaking a
- system down into components, or facilities within a system. Each
- facility has a work interface and contracts surrounding that
- interface. This approach allows easy replacement of Component
- instances without affecting code in other parts of the systems.
- The major distinction between Object Oriented Programming (OOP)
- and COP is the level of integration. The complexity of a COP
- system is more easily managed due to fewer interdependencies
- among classes, promoting the level of code reuse.
+ system down into components, or facilities within a system. Each
+ facility has a work interface and contracts surrounding that
+ interface. This approach allows easy replacement of Component
+ instances without affecting code in other parts of the systems.
+ The major distinction between Object Oriented Programming (OOP)
+ and COP is the level of integration. The complexity of a COP
+ system is more easily managed due to fewer interdependencies
+ among classes, promoting the level of code reuse.
</para>
<para>
One of the chief benefits of COP is the ability to modify portions
- of your project's code without breaking the entire system. Another
- benefit is the ability to have multiple implementations of the
- Component that you can select at runtime.
+ of your project's code without breaking the entire system. Another
+ benefit is the ability to have multiple implementations of the
+ Component that you can select at runtime.
</para>
</section>
<section>
<title>Service Oriented Programming</title>
<para>
Service Oriented Programming (SOP) is the idea of breaking a
- system down into services provided by the system.
+ system down into services provided by the system.
</para>
<blockquote>
<title>Service</title>
- <orderedlist>
- <listitem>
- <para>
- Work or duties performed for others.
- </para>
- </listitem>
- <listitem>
- <para>
- A facility offering repair or maintenance.
- </para>
- </listitem>
- <listitem>
- <para>
- A facility providing the public with a utility.
- </para>
- </listitem>
- </orderedlist>
- <footnote>
- <para>Webster's II New Riverside Dictionary</para>
- </footnote>
+ <orderedlist>
+ <listitem>
+ <para>
+ Work or duties performed for others.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ A facility offering repair or maintenance.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ A facility providing the public with a utility.
+ </para>
+ </listitem>
+ </orderedlist>
+ <footnote>
+ <para>Webster's II New Riverside Dictionary</para>
+ </footnote>
</blockquote>
<para>
Avalon's Phoenix identifies a service as the interface and
- contracts for a facility that Phoenix will provide. The
- implementation of the service is called a Block. It is
- important to realize that a server is made up of multiple
- services. To take the example of a Mail server, there are
- the protocol handling services, the authentication and
- authorization services, the administration service, and the
- core mail handling service.
+ contracts for a facility that Phoenix will provide. The
+ implementation of the service is called a Block. It is
+ important to realize that a server is made up of multiple
+ services. To take the example of a Mail server, there are
+ the protocol handling services, the authentication and
+ authorization services, the administration service, and the
+ core mail handling service.
</para>
<para>
Avalon's Cornerstone provides a number of low-level services
- that you can leverage for your own systems. The services
- provided are connection management, socket management,
- principal/role management, and scheduling. We touch on
- services here because it is relevant to the process of
- decomposing our hypothetical system down into the different
- facilities.
+ that you can leverage for your own systems. The services
+ provided are connection management, socket management,
+ principal/role management, and scheduling. We touch on
+ services here because it is relevant to the process of
+ decomposing our hypothetical system down into the different
+ facilities.
</para>
</section>
</section>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>