You are viewing a plain text version of this content. The canonical link for it is here.
Posted to site-cvs@jakarta.apache.org by hu...@apache.org on 2002/03/19 11:18:31 UTC
cvs commit: jakarta-site2/xdocs/site overview.xml
husted 02/03/19 02:18:31
Added: xdocs/site overview.xml
Log:
Commit proposed overview.
Revision Changes Path
1.1 jakarta-site2/xdocs/site/overview.xml
Index: overview.xml
===================================================================
<?xml version="1.0"?>
<document>
<properties>
<author email="janert at ieee dot org">Philipp K. Janert</author>
<title>Jakarta Overview</title>
</properties>
<meta name="keyword" content="jakarta, java"/>
<body>
<section name="Libraries, Tools, and APIs">
<subsection name="Ant">
<p>Build tool, XML driven, OS independent (replaces make)</p>
<ul>
<li><b>Documentation: </b>Extensive online user manual and FAQ</li>
<li><b>Version: </b>1.4.1</li>
<li><b>News: </b>Latest entry: 15.Feb.02</li>
</ul>
</subsection>
<subsection name="BCEL: Byte Code Engineering Library">
<p>Classes to analyze and modify the compiled bytecode
(instead of the java source code).</p>
<p>The Byte Code Engineering Library (formerly
known as JavaClass) is intended to give users a
convenient possibility to analyze, create, and
manipulate (binary) Java class files (those ending
with .class).</p>
<ul>
<li><b>Documentation: </b>Extensive online user manual</li>
<li><b>Version: </b>???</li>
<li><b>News: </b>Single entry: 27.Oct.01</li>
</ul>
</subsection>
<subsection name="Commons">
<p>Repository for small scale, reusable, code components
that are useful in multiple Jakarta subprojects.</p>
<p>Contains also a "Sandbox": A workspace for more
experimental Java component development.</p>
<ul>Components in the Commons Proper:
<li><b>BeanUtils</b>
<p>Easy to use wrapper around reflection and
introspection</p>
<ul>
<li><b>Documentation: </b>Javadoc</li>
<li><b>Version: </b>1.2</li>
<li><b>News: </b>Single Entry: 24.Dec.01</li>
</ul>
</li>
<li><b>Collections</b>
<p>Additional collection classes for specal purposes:</p>
<ul>
<li>Special-purpose implementations of Lists and
Maps for fast access</li>
<li>Adapter classes from Java1-style containers
(arrays, enumerations) to Java2-style collections.</li>
<li>Methods to test or create typical set-theory
properties of collections such as union,
intersection, and closure.</li>
</ul>
<ul>
<li><b>Documentation: </b>Javadoc</li>
<li><b>Version: </b>1.0</li>
<li><b>News: </b>Single Entry: 14.Jul.01</li>
</ul>
</li>
<li><b>Digester</b>
<p>Digester provides a higher level, more
developer-friendly interface to SAX events, because
most of the details of navigating the XML element
hierarchy are hidden -- allowing the developer to
focus on the processing to be performed.</p>
<p>Many Jakarta projects read XML configuration files
to provide initialization of various Java objects
within the system. There are several ways of doing
this, and the Digester component was designed to
provide a common implementation that can be used in
many different projects.</p>
<p>Basically, the Digester package lets you configure
an XML -> Java object mapping module, which triggers
certain actions called rules whenever a particular
pattern of nested XML elements is recognized. A rich
set of predefined rules is available for your use, or
you can also create your own.</p>
<ul>
<li><b>Documentation: </b>Extensive introduction
hidden in Javadoc</li>
<li><b>Version: </b>1.1.1</li>
<li><b>News: </b>Single Entry: 16.Oct.01</li>
</ul>
</li>
<li><b>DBCP: Database Connection Pool Package</b>
<p></p>
<ul>
<li><b>Documentation: </b>None</li>
<li><b>Version: </b>1.5</li>
<li><b>News: </b>None</li>
<li><b>Misc: </b>No proper webpage, just CVS listing</li>
</ul>
</li>
<li><b>HTTP Client</b>
<p>The Jakarta Commons HTTP Client component provides
an efficient, up-to-date, and feature-rich package
implementing the client side of the most recent HTTP
standards and recommendations.</p>
<p>Designed for extension while providing robust
support for the base HTTP protocol, the HTTP Client
component may be of interest to anyone building
HTTP-aware client applications such as web browsers,
web service clients, or systems that leverage or
extend the HTTP protocol for distributed
communication.</p>
<ul>
<li><b>Documentation: </b>Overview, supported protocols,
and Javadoc</li>
<li><b>Version: </b>2.0 alpha 1</li>
<li><b>News: </b>Last Entry: 05.Oct.01 - three entries total</li>
</ul>
</li>
<li><b>JXPath</b>
<p>Manipulating beans using the XPath syntax (?)</p>
<ul>
<li><b>Documentation: </b>None</li>
<li><b>Version: </b>1.3</li>
<li><b>News: </b>None</li>
<li><b>Misc: </b>No proper webpage, just CVS listing</li>
</ul>
</li>
<li><b>Latka</b>
<p>Latka is a functional (end-to-end) testing tool. It
is implemented in Java, and uses an XML syntax to
define a series of HTTP (or HTTPS) requests and a set
of validations used to verify that the request was
processed correctly.</p>
<ul>
<li><b>Documentation: </b>Overview, Javadoc, and XML syntax
reference, documentation appears somewhat immature</li>
<li><b>Version: </b>1.0 alpha 1</li>
<li><b>News: </b>Single Entry: 13.Sep.01</li>
</ul>
</li>
<li><b>Logging</b>
<p>Simple wrapper API around multiple logging APIs</p>
<p>The Logging package is an ultra-thin bridge between
different logging libraries. Commons components may
use the Logging API to remove compile-time and
run-time dependencies on any particular logging
package, and contributors may write Log
implementations for the library of their choice.</p>
<p><ul>Includes prebuilt support for the following:
<li> Log4J from Apache's Jakarta project.</li>
<li>JDK Logging API, included in JDK 1.4
or later systems.</li>
<li>LogKit from Apache's Jakarta project.</li>
<li>NoOpLog implementation that simply swallows all
log output, for all named Log isntances</li>
<li>SimpleLog implementation that writes all log
output, for all named Log instances, to System.out.</li>
</ul></p>
<ul>
<li><b>Documentation: </b>Very good description in
JavaDoc</li>
<li><b>Version: </b>1.0</li>
<li><b>News: </b>Single Entry: 20.Feb.02</li>
</ul>
</li>
<li><b>Pool</b>
<p>Generalized Object Pool Interface (?)</p>
<ul>
<li><b>Documentation: </b>None</li>
<li><b>Version: </b>1.5</li>
<li><b>News: </b>None</li>
<li><b>Misc: </b>No proper webpage, just CVS listing</li>
</ul>
</li>
<li><b>Validator</b>
<p>Framework to define input validators in XML (?)</p>
<ul>
<li><b>Documentation: </b></li>
<li><b>Version: </b>1.6</li>
<li><b>News: </b>None</li>
</ul>
</li>
</ul>
</subsection> <!-- Commons -->
<subsection name="ECS: Element Construction Set">
<p>Java API to generate markup tags, rather than using
println(). It directly supports HTML 4.0 and XML, but
can easily be extended to create tags for any markup language.</p>
<ul>
<li><b>Documentation: </b>Very clear Example and Javadoc</li>
<li><b>Version: </b>1.4.1</li>
<li><b>News: </b>None</li>
</ul>
</subsection>
<subsection name="JMeter">
<p>Pure Java desktop application designed to load
test functional behavior and measure performance.</p>
<p>Can load and performance test HTTP and FTP servers
as well as arbitrary database queries (via JDBC).</p>
<p>Swing support to make a graphical analysis of
performance or to test your server, script, object
behavior under heavy concurrent load.</p>
<ul>
<li><b>Documentation: </b>Extensive online user and
developers manual, but hard to find out how it
works quickly.</li>
<li><b>Version: </b>1.7beta</li>
<li><b>News: </b>Good (no dates!)</li>
</ul>
</subsection>
<subsection name="ORO: Regular Expression Library">
<p>The Jakarta-ORO Java classes are a set of
text-processing Java classes that provide Perl5 compatible
regular expressions, AWK-like regular expressions, glob
expressions, and utility classes for performing
substitutions, splits, filtering filenames, etc.</p>
<p>This library is the successor to the OROMatcher,
AwkTools, PerlTools, and TextTools libraries from ORO,
Inc.</p>
<p>Jakarta ORO package is possibly the more
complete regular expression package than Jakarta
Regexp.</p>
<ul>
<li><b>Documentation: </b>Javadoc only</li>
<li><b>Version: </b>2.0.5</li>
<li><b>News: </b>Last release: 17.Jan.02, five releases in
2001</li>
</ul>
</subsection>
<subsection name="POI">
<p>APIs for manipulating OLE 2 file formats</p>
<p>Set of APIs for creating, reading, and writing files
based upon the OLE 2 Compound Document Format using only
Java (no native stuff). OLE 2 Compound Document Format
based files include most Microsoft Office files such as
XLS and DOC.</p>
<ul>
<li><b>Documentation: </b>Great description and history</li>
<li><b>Version: </b>1.1-dev</li>
<li><b>News: </b>Single Entry: March 6 2002,
but extensive project history.</li>
</ul>
</subsection>
<subsection name="Regexp">
<p>Pure Java Regular Expression package</p>
<ul>
<li><b>Documentation: </b>Javadoc only</li>
<li><b>Version: </b>1.3-dev</li>
<li><b>News: </b>Good, (no dates)</li>
</ul>
</subsection>
<subsection name="Taglibs">
<p>A collection of JavaServer Pages (JSP) custom tag
libraries useful in building web applications.</p>
<ul>
<li><b>Documentation: </b>Detailed descriptions of
all subpackages, extensive online tutorial</li>
<li><b>Version: </b></li>
<li><b>News: </b>Great</li>
</ul>
</subsection>
<subsection name="Watchdog">
<p>Validation tests for the Servlet and
JavaServer Pages specifications</p>
<ul>
<li><b>Documentation: </b>None: no nothing</li>
<li><b>Version: </b>None</li>
<li><b>News: </b>None</li>
</ul>
</subsection>
</section> <!-- Libraries, Tools, and APIs -->
<section name="Frameworks and Engines">
<subsection name="Avalon">
<!-- purported benefits of Avalon are hard to find out! -->
<p>Component-oriented framework and set of components for
appliction development.</p>
<p>The main goal of this project is to design a way for
different projects to share resources avoiding as much
as possible efforts duplication.</p>
<p>Extensive printable book</p>
<li><b>Framework</b>
<!-- No overview or list of features and functionalities -->
<p>The Avalon framework consists of interfaces that
define relationships between commonly used application
components, best-of-practice pattern enforcements, and
several lightweight convenience implementations of the
generic components.</p>
<p>At the core of the Avalon framework is the Component.
A Component is defined as a passive entity that performs a
specific role, in other words, a Component is acted upon
(passive) and takes on a specific role in regards to
being configurable, composable, intitializable, disposable,
or stoppable.</p>
<p>Components and interfaces are provided for:
<ul>
<li>Component management and composition</li>
<li>Activity and role management (in the above sense)</li>
<li>Configuration and parameter management</li>
<li>Context management</li>
<li>Loggin</li>
<li>Threading</li>
<li>Exception support</li>
</ul>
</p>
<ul>
<li><b>Documentation: </b>Overview, UML package and class
diagrams</li>
<li><b>Version: </b>4.1.2</li>
<li><b>News: </b>Last release: 31. Jan. 02 (6 releases in 2001)</li>
</ul>
</li>
<li><b>LogKit</b>
<p>LogKit is a logging toolkit designed for secure
performance oriented logging in applications.</p>
<ul>
<li><b>Documentation: </b>Extensive online whitepaper and Javadoc</li>
<li><b>Version: </b>1.0.1</li>
<li><b>News: </b>Last Revision: 31.Jan.02 (typo!)
six releases in 2001</li>
</ul>
</li>
<li><b>Excalibur</b>
<p>Collection of ready to use components and utilities</p>
<p>Also provides a Scratchpad, for components under development</p>
<p>The status of individual components is not always clear.</p>
<ul>
<li><b>Documentation: </b>Great short descriptions for
individual components, Javadoc.</li>
<li><b>Version: </b>4.1</li>
<li><b>News: </b>Last Revision: 30.Jan.02 (5 entries for 2001)</li>
</ul>
<ul>Individual utilities for:
<li>Command line parsing</li>
<li>Collections</li>
<li>Component Utils (?)</li>
<li>Thread utils (mutexes, ...)</li>
<li>Data Source Mgt (?)</li>
<li>I18N</li>
<li>IO Utils (File Filters and copying routines
on Streams and Readers)</li>
<li>LogKit Mgt (define the log categories on a
component basis)</li>
<li>Resource Monitoring (notification when a
resource has changed)</li>
<li>Pooling support (?)</li>
<li>Property Utils (wildcard-like lookup of key-value pairs)</li>
<li>Proxy (?)</li>
</ul>
</li>
<li><b>Phoenix</b>
<p>Minimal Application Server (manages classloader, security
and logging needs)</p>
<p>Purpose somewhat unlear, possibly still starting out.</p>
<ul>
<li><b>Documentation: </b>Very sketchy</li>
<li><b>Version: </b>4.0a2</li>
<li><b>News: </b>12.Nov.01, very few entries</li>
</ul>
</li>
<li><b>Cornerstone</b>
<p>Cornerstone is a set of services for the Phoenix
kernel. It contains "blocks" that plug into
Phoenix. Example blocks include ConnectionManager,
SocketManager, Scheduler etc.</p>
<p>Seems somewhat immature</p>
<ul>
<li><b>Documentation: </b>Some examples, Javadoc</li>
<li><b>Version: </b>No official release yet</li>
<li><b>News: </b>No dates</li>
</ul>
</li>
</subsection>
<subsection name="Cactus">
<p>Cactus is a simple test framework for unit testing
server-side java code (Servlets, EJBs, Tag Libs, Filters, ...). </p>
<p>It uses JUnit and extends it.</p>
<p>It focusses on integration unit testing, but also supports
code logic and functional unit testing.</p>
<p>It provides testing for servlets (etc) within the actual
servlet container, as opposed to testing them within a
testing scaffold.</p>
<ul>
<li><b>Documentation: </b>Extensive tutorials and HowTos, but
hard to find out how it works quickly.</li>
<li><b>Version: </b>1.3</li>
<li><b>News: </b>Last Entry: 10.Feb.02 (5 entries for 2001)</li>
</ul>
</subsection>
<subsection name="Lucene">
<p>Large-scale text search (and indexing?) engine.</p>
<ul>
<li><b>Documentation: </b>Extensive FAQ, Tutorial, Links
to offsite articles, Javadoc</li>
<li><b>Version: </b>1.02</li>
<li><b>News: </b>None</li>
</ul>
</subsection>
<subsection name="Struts">
<p>Model,View,Controller Framework for server
side development.Struts uses a special Servlet
as a switchboard to route requests from Web browsers
to the appropriate Java ServerPage (JSP).</p>
<p>Specifically designed for combining Servlets and JSPs,
but works well with JDBC, EJB, JND, and Velocity.</p>
<p>Provides support for mapping of form data to Java Beans.</p>
<p>Relies on Custom Tags and JSP. Possibly plays better
with other J2EE technologies than Turbine. Easier to
retrofit to an existing project than Turbine.</p>
<ul>
<li><b>Documentation: </b>Very extensive: Several FAQs,
User Guide, Developer Guide, but a simple "Hello
world" example application appears to be missing.</li>
<li><b>Version: </b>1.0.2</li>
<li><b>News: </b></li>
</ul>
</subsection>
<subsection name="Turbine">
<p>Servlet based MVC framework, but also provides
functionality that may be of use outside of a
web appliction.</p>
<p>Built around "services": Singleton objects which may
also have an init() and destroy() lifecycle. Many
services come prepackaged (cf. entry below for Fulcrum).</p>
<p>Possibly less J2EE conformant, more of an alternative!</p>
<p><b>News: </b>Last Entry: 08.Mar.02 (monthly status reports
for entire project)</p>
<li><b>Turbine</b>
<ul>
<li><b>Documentation: </b>Extensive: Several Overview
documents, HowTos, Javadoc. Apparently no worked
"Hello world" example.</li>
<li><b>Version: </b>2.2b1</li>
<li><b>News: </b>None</li>
</ul>
</li>
<li><b>Fulcrum</b>
<p>Reusable services for use with Turbine.</p>
<ul>
<li><b>Documentation: </b>Short individual descriptions.</li>
<li><b>Version: </b>None</li>
<li><b>News: </b>None</li>
</ul>
<ul>Individual Services for:
<li>Cache</li>
<li>Factory</li>
<li>Bean population from input (Intake)</li>
<li>JSP</li>
<li>Localization</li>
<li>Mimetypes</li>
<li>Naming (JNDI Wrapper)</li>
<li>Pooling</li>
<li>Scheduler</li>
<li>Security</li>
<li>Templates</li>
<li>File uploads</li>
<li>Velocity integration</li>
<li>XML-RPC</li>
<li>XSLT</li>
</ul>
</li>
<li><b>Stratum</b>
<p>Set of existing Turbine code and Fulcrum services,
refactored as components, with the intent to move
it into the Commons.</p>
<ul>
<li><b>Documentation: </b>Experiemental</li>
<li><b>Version: </b>Apparently just starting out.</li>
<li><b>News: </b>None</li>
</ul>
</li>
<li><b>Torque</b>
<p>Torque is a persistence layer. It generates all
the database resources required from a single XML
Schema document.</p>
<p>The generation of your object model will produce Java
source files that can be used to represent your
database. These classes enable you to create, edit,
delete, and select objects that represent rows in your
database tables. Torque includes a runtime environment
to run the generated classes. </p>
<p>Torque uses a single XML database schema to generate
the SQL for your target database and Torque's Peer-based
object relation model representing your XML database
schema. Additionally, an HTML document describing the
database can be generated if you wish to make a
browseable version of the database schema.</p>
<p>Handling of DB relationships (Foreign Key relationships)
in the mapping to Objects not quite clear.</p>
<ul>
<li><b>Documentation: </b>Extensive: Tutorial, User Guide,
Developer Guide, Database integration Howtos</li>
<li><b>Version: </b>None</li>
<li><b>News: </b>None</li>
</ul>
</li>
<li><b>Turbine Developer Kit (TDK)</b>
<p>The Turbine Development Kit (TDK) is a package that
bundles a copy of Turbine, Tomcat, jar files,
documentation and other utilities in order to help you
get started with Turbine as quickly as possible.</p>
<ul>
<li><b>Documentation: </b>Tutorial</li>
<li><b>Version: </b>2.2b1</li>
<li><b>News: </b>None</li>
</ul>
</li>
</subsection>
<subsection name="Velocity">
<p>Templating engine: replaces placeholders in document
templates with dynamic content at runtime. The content
is taken from application classes, which are placed
into a VelocityContext at runtime.</p>
<p>Templates can contain conditional statments and loop
constructs for cases when the number of dynamic content
entries is not known ahead of time.</p>
<p>Can be used to generate HTML, but also about anything
else (SQL, for instance).</p>
<ul>
<li><b>Documentation: </b>Extensive: Great printable user
and Developers guide, very clear comparison with
other projects.</li>
<li><b>Version: </b>1.2</li>
<li><b>News: </b>Last Release: 09.Dec.01 (11 Entries for 2001)</li>
</ul>
</subsection>
</section> <!-- Frameworks and Engines -->
<section name="Server Applications">
<subsection name="Alexandria">
<p>CVS, Javadoc, Source code, Documentation management
system, to allow you to browse multiple and remote source
repositoriesGenerate Javadoc across multiple java
projects.</p>
<ul>
<li><b>Documentation: </b>Sketchy</li>
<li><b>Version: </b>None</li>
<li><b>News: </b>None</li>
</ul>
</subsection>
<subsection name="James">
<p>Portable email server for all common formats.</p>
<p>Design goals are portability, protocol abstraction,
resource abstraction, mail transport and storage in
single server.</p>
<ul>
<li><b>Documentation: </b>Uneven</li>
<li><b>Version: </b>2.0a2</li>
<li><b>News: </b>1.2.1 released 13. Dec. 00,
2.0a2 released 01. Dec. 01</li>
</ul>
</subsection>
<subsection name="Jetspeed">
<p>Information Portal, making data available
via the web or a WAP-enabled phone.</p>
<p>Jetspeed is independent of content type. The actual
presentation of the data is handled via XSL and delivered
to the user for example via the combination of Java Server
Pages (JSPs) and HTML.</p>
<p>Jetspeed provides support for templating and content
publication frameworks such as Cocoon, WebMacro and Velocity.</p>
<p>Jetspeed is built on top of Turbine.</p>
<ul>
<li><b>Documentation: </b>Extensive, but unclear</li>
<li><b>Version: </b>1.3a2</li>
<li><b>News: </b>Last Entry: 2002/03/15 (confusing)</li>
</ul>
</subsection>
<subsection name="Tomcat 3">
<p>Official Reference Implementation of the
Servlet 2.2 and JSP 1.1</p>
<ul>
<li><b>Documentation: </b>Extensive</li>
<li><b>Version: </b>3.3</li>
<li><b>News: </b>About bi-weekly updates</li>
</ul>
</subsection>
<subsection name="Tomcat 4">
<p>Official Reference Implementation of the
Servlet 2.3 and JSP 1.2</p>
<ul>
<li><b>Documentation: </b>Extensive</li>
<li><b>Version: </b>4.0.3</li>
<li><b>News: </b>About bi-weekly updates</li>
</ul>
</subsection>
</section> <!-- Server Applications -->
</body>
</document>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>