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>