Updating...
Apache Jakarta Home Page
Home PageCategories: Remote Invocation - RPC
Latest version: 1.4 Added 2005-08-22Updated 2005-10-13
Apache Axis is an implementation of the SOAP ("Simple Object Access Protocol") submission to W3C.
Built for Java |
Library |
Free or free version available |
Source code provided |
Home PageCategories: Compilation - Bytecode manipulation
Latest version: 5.1 Added 2005-02-01
The Byte Code Engineering Library is intended to give users a convenient possibility to analyze, create, and manipulate (binary) Java class files (those ending with .class). Classes are represented by objects which contain all the symbolic information of the given class: methods, fields and byte code instructions, in particular.
Such objects can be read from an existing file, be transformed by a program (e.g. a class loader at run-time) and dumped to a file again. An even more interesting application is the creation of classes from scratch at run-time. The Byte Code Engineering Library (BCEL) may be also useful if you want to learn about the Java Virtual Machine (JVM) and the format of Java .class files.
BCEL is already being used in several projects such as compilers, optimizers, obsfuscators, code generators and analysis tools.
It contains a byte code verifier named JustIce, which usually gives you much better information about what's wrong with your code than the standard JVM message.
Built for Java |
Free or free version available |
Source code provided |
Home PageCategories: Languages, Scripting,
Latest version: 3.0 Beta 2 Added 2005-02-01
Bean Scripting Framework (BSF) is a set of Java classes which provides scripting language support within Java applications, and access to Java objects and methods from scripting languages. BSF allows one to write JSPs in languages other than Java while providing access to the Java class library. In addition, BSF permits any Java application to be implemented in part (or dynamically extended) by a language that is embedded within it. This is achieved by providing an API that permits calling scripting language engines from within Java, as well as an object registry that exposes Java objects to these scripting language engines.
BSF supports several scripting languages currently: * Javascript (using Rhino ECMAScript, from the Mozilla project) * Python (using either Jython or JPython) * Tcl (using Jacl) * NetRexx (an extension of the IBM REXX scripting language in Java) * XSLT Stylesheets (as a component of Apache XML project's Xalan and Xerces)
In addition, the following languages are supported with their own BSF engines: * Java (using BeanShell, from the BeanShell project) * JRuby * JudoScript * Groovy * ObjectScript
Built for Java |
Free or free version available |
Source code provided |
Home PageCategories: Testing
Latest version: 1.7 Added 2005-03-11
Framework for unit testing server-side Java code (Servlets, EJBs, Tag Libs, Filters, ...). The intent of Cactus is to lower the cost of writing tests for server-side code. It uses JUnit and extends it. Cactus implements an in-container strategy, meaning that tests are executed inside the container.
The Cactus ecosystem is made of several components: - The Cactus Framework: This is the heart of Cactus. It is the engine that provides the API to write Cactus tests. - The Cactus Integration Modules: They are front ends and frameworks that provide ways of using the Cactus Framework (Ant scripts, Eclipse plugin, Maven plugin, Browser integration to run Cactus tests from a browser, ...). - The Cactus Samples: They are simple projects that demonstrate how to write Cactus tests and how to use some of the Integration Modules.
Features include: - Integrates with the JUnit testing framework. Any tool that works with JUnit will work with Cactus because a Cactus test is a JUnit test. - Provides a ServletTestCase class that your test case can extend for unit testing Servlets or any Java classes that make use of Servlet API objects. - Provides a JspTestCase class that your test case can extend for unit testing Taglibs or any Java classes that make use of JSP API objects. In addition, a TestJspTagLifecycle extension is provided to help test JSP Taglibs. - Provides a FilterTestCase class that your test case can extend for unit testing Filters or any Java classes that make use of Filter API objects. - Allows to run existing JUnit Test Case classes on the server side. - Ability to unit test EJBs (including local interfaces) by calling them from a ServletTestCase, JspTestCase or FilterTestCase class. - Supports internationalization.
Built for Java |
Plug-in |
Free or free version available |
Source code provided |
Home PageCategories: MVC, Web frameworks,
Latest version: 2.1 Added 2005-01-31
Apache Cocoon is a web development framework built around the concepts of separation of concerns and component-based web development.
Cocoon implements these concepts around the notion of 'component pipelines', each component on the pipeline specializing on a particular operation. This makes it possible to use a Lego(tm)-like approach in building web solutions, hooking together components into pipelines without any required programming.
Cocoon is "web glue for your web application development needs". It is a glue that keeps concerns separate and allows parallel evolution of all aspects of a web application, improving development pace and reducing the chance of conflicts.
Cocoon has been designed to coexist and interoperate side-by-side with your existing J2EE solutions or to give them new functionality without requiring any change in the existing infrastructure.
Cocoon interacts with many data sources, including filesystems, RDBMS, LDAP, native XML databases, SAP systems and network-based data sources. It adapts content delivery to the capabilities of different devices like HTML, WML, PDF, SVG, and RTF, to name just a few. You can run Cocoon as a Servlet as well as through a powerful, commandline interface. The deliberate design of its abstract environment gives you the freedom to extend its functionality to meet your special needs in a modular fashion.
Built for Java |
Free or free version available |
Home PageCategories: XML
Latest version: 0.7 Added 2005-06-29
Provides an XML introspection mechanism for mapping beans to XML in a flexible way. It is implemented using an XMLIntrospector and XMLBeanInfo classes which are similar to the standard Introspector and BeanInfo from the Java Beans specification.
Betwixt provides a way of turning beans into XML as well as automatically generating digester rules in a way that can be customized on a per type manner in the same way that the BeanInfo mechanism can be used to customize the default introspection on a java object.
Built for Java |
Library |
Free or free version available |
Source code provided |
Home PageCategories: Miscellaneous
Latest version: 1.0 Added 2005-06-29
Provides an API for working with the command line arguments and options.
Built for Java |
Library |
Free or free version available |
Source code provided |
Home PageCategories: Miscellaneous
Latest version: 3.1 Added 2005-04-19
Commons-Collections seek to build upon the JDK classes by providing new interfaces, implementations and utilities.
Features include: * Bag interface for collections that have a number of copies of each object * Buffer interface for collections that have a well defined removal order, like FIFOs * BidiMap interface for maps that can be looked up from value to key as well and key to value * MapIterator interface to provide simple and quick iteration over maps * Type checking decorators to ensure that only instances of a certain type can be added * Transforming decorators that alter each object as it is added to the collection * Composite collections that make multiple collections look like one * Ordered maps and sets that retain the order elements are added in, including an * LRU based map * Identity map that compares objects based on their identity (==) instead of the equals method * Reference map that allows keys and/or values to be garbage collected under close control * Many comparator implementations * Many iterator implementations * Adapter classes from array and enumerations to collections * Utilities to test or create typical set-theory properties of collections such as union, intersection, and closure
Built for Java |
Library |
Free or free version available |
Source code provided |
Home PageCategories: Miscellaneous
Latest version: 1.3 Added 2005-04-05Updated 2006-10-02
Provides a generic configuration interface that enables an application to read configuration data from a variety of sources. Commons Configuration provides typed access to single, and multi-valued configuration parameters as demonstrated by the following code: Double double = config.getDouble("number"); Integer integer = config.getInteger("number");
Configuration parameters may be loaded from the following sources: - Properties files - XML documents - Property list files (.plist) - JNDI - JDBC Datasource - System properties - Applet parameters - Servlet parameters
Different configuration sources can be mixed using a ConfigurationFactory and a CompositeConfiguration. Additional sources of configuration parameters can be created by using custom configuration objects. This customization can be achieved by extending AbstractConfiguration or AbstractFileConfiguration.
Built for Java |
Library |
Free or free version available |
Source code provided |
Home PageCategories: Internet and communications
Latest version: 3.1 Alpha 1 Added 2005-06-29Updated 2006-07-04
Package implementing the client side of the HTTP 1.0 and 1.1 standards and recommendations.
Features include: - Implementation of all HTTP methods (GET, POST, PUT, DELETE, HEAD, OPTIONS, and TRACE) in an extensible OO framework. - Supports encryption with HTTPS (HTTP over SSL) protocol. - Granular non-standards configuration and tracking. - Transparent connections through HTTP proxies. - Tunneled HTTPS connections through HTTP proxies, via the CONNECT method. - Transparent connections through SOCKS proxies (version 4 & 5) using native Java socket support. - Authentication using Basic, Digest and the encrypting NTLM (NT Lan Manager) methods. - Plug-in mechanism for custom authentication methods. - Multi-Part form POST for uploading large files. - Pluggable secure sockets implementations. - Connection management support for use in multi-threaded applications. - Request output streams and response input streams. - Persistent connections using KeepAlive in HTTP/1.0 and persistance in HTTP/1.1.
Built for Java |
Library |
Free or free version available |
Source code provided |
Home PageCategories: Languages
Latest version: 2.3 Added 2005-04-19Updated 2007-06-18
The Lang Component provides a host of helper utilities for the java.lang API, notably String manipulation methods, basic numerical methods, object reflection, creation and serialization, and System properties. Additionally it contains an inheritable enum type, an exception structure that supports multiple types of nested-Exceptions, basic enhancements to java.util.Date and a series of utlities dedicated to help with building methods, such as hashCode, toString and equals.
Built for Java |
Library |
Free or free version available |
Source code provided |
Home PageCategories: Miscellaneous
Latest version: 1.1 Added 2005-06-30
Commons-launcher eliminates the need for a batch or shell script to launch a Java class. Some situations where elimination of a batch or shell script may be desirable are: * You want to avoid having to determining where certain application paths are e.g. your application's home directory, etc. Determining this dynamically in a Windows batch scripts is very tricky on some versions of Windows or when softlinks are used on Unix platforms. * You want to avoid having to handle native file and path separators or native path quoting issues. * You need to enforce certain system properties e.g. java.endorsed.dirs when running with JDK 1.4. * You want to allow users to pass in custom JVM arguments or system properties without having to parse and reorder arguments in your script. This can be tricky and/or messy in batch and shell scripts. * You want to bootstrap system properties from a configuration file instead hard-coding them in your batch and shell scripts. * You want to provide localized error messages which is very tricky to do in batch and shell scripts.
Built for Java |
Plug-in |
Free or free version available |
Source code provided |
Home PageCategories: Tracing - Logging - Monitoring
Latest version: 1.0.5 Alpha Added 2005-03-12
The Jakarta Commons Logging (JCL) provides a Log interface that is intended to be both light-weight and an independent abstraction of other logging toolkits. It provides the middleware/tooling developer with a simple logging abstraction, that allows the user (application developer) to plug in a specific logging implementation.
JCL provides thin-wrapper Log implementations for other logging tools, including Log4J , Avalon LogKit , the Avalon Framework's logging infrastructure, Simple Log, JDK 1.4, and an implementation of JDK 1.4 logging APIs (JSR-47) for pre-1.4 systems. The interface maps closely to Log4J and LogKit.
Built for Java |
Library |
Free or free version available |
Source code provided |
Home PageCategories: Languages
Latest version: 1.0 Added 2005-04-19
Apache Jakarta Commons Primitives provides a collection of types and utilities optimized for working with Java primitives (boolean, byte, char, double, float, int, long, short).
Built for Java |
Library |
Free or free version available |
Source code provided |
Home PageCategories: JDBC
Latest version: 1.0 Added 2005-02-02
DbUtils is a small set of classes designed to make working with JDBC easier. JDBC resource cleanup code is mundane, error prone work so these classes abstract out all of the cleanup tasks from your code leaving you with what you really wanted to do with JDBC in the first place: query and update data.
Some of the advantages of using DbUtils are: * No possibility for resource leaks. Correct JDBC coding isn't difficult but it is time-consuming and tedious. This often leads to connection leaks that may be difficult to track down. * Cleaner, clearer persistence code. The amount of code needed to persist data in a database is reduced. The remaining code clearly expresses your intention without being cluttered with resource cleanup. * Automatically populate JavaBean properties from ResultSets. You don't need to manually copy column values into bean instances by calling setter methods. Each row of the ResultSet can be represented by one fully populated bean instance.
DbUtils is not: * An Object/Relational bridge - there are plenty of good O/R tools already. DbUtils is for developers looking to use JDBC without all the mundane pieces. * A Data Access Object (DAO) framework - DbUtils can be used to build a DAO framework though. * An object oriented abstraction of general database objects like a Table, Column, or PrimaryKey. * A heavyweight framework of any kind - the goal here is to be a straightforward and easy to use JDBC helper library.
Built for Java |
Free or free version available |
Source code provided |
Home PageCategories: Code generation, XML,
Latest version: 1.4.2 Added 2005-06-10
The Element Construction Set is a Java API for generating elements for various markup languages it directly supports HTML 4.0 and XML, but can be extended to create tags for any markup language.
Built for Java |
Free or free version available |
Source code provided |
Home PageCategories: Reporting
Latest version: 0.20.5 Added 2005-07-28
FOP (Formatting Objects Processor) is a Java application that reads a formatting object (FO) tree and renders the resulting pages to a specified output. Output formats currently supported include PDF, PCL, PS, SVG, XML (area tree representation), Print, AWT, MIF and TXT. The primary output target is PDF.
Built for Java |
Free or free version available |
Source code provided |
Home PageCategories: Frameworks, Inversion of Control,
Latest version: 1.1 Added 2005-06-10
Services and configuration microkernel.
Features include: - Services: HiveMind services are POJOs (Plain Old Java Objects) that can be accessed and combined. Each service ideally defines a Java interface it implements (but this is no longer mandatory). HiveMind takes care of instantiating and configuring each service just as necessary. HiveMind lets services collaborate with each other via dependency injection. - Configuration: HiveMind allows you to provide complex configuration data to your services in a format you define. HiveMind will integrate the contributions of such data from multiple modules and convert it all into data objects for you. HiveMind configurations allow for data-driven solutions which combine with the service architecture. - Microkernel: HiveMind is a framework for creating applications, not an application, or even an application server, itself. The 'core' of HiveMind is the startup logic that knows how to parse and understand the module deployment descriptors, and use that information to instantiate and initialize all those services and configurations.
In HiveMind, a service is an implementation of a Java interface. Unlike other SOAs (Service Oriented Architectures, such as a SOAP, or EJBs), HiveMind is explicitly about combining Java code within a single JVM. HiveMind uses a descriptor to describe different services, their lifecycles, and how they are combined. HiveMind takes care of thread-safe, just-in-time creation of singleton service objects so your code doesn't have to.
Built for Java |
Free or free version available |
Source code provided |
Home PageCategories: Regular expressions
Latest version: 1.3 Added 2005-04-26
Regular expression package.
Jakarta Regexp includes complete Javadoc documentation as well as an applet for visual debugging and testing suite for compatibility.
This package is intended to be an answer to a question we commonly hear in the Java world: "Why isn't there a decent regular expression package available for Java under a BSD-Style (ie: Apache) license?"
Built for Java |
Library |
Free or free version available |
Source code provided |
Home PageCategories: JSF - JSP - Tag libraries - AJAX
Open-source repository for JSP custom tag libraries and associated projects, such as TagLibraryValidator classes and extensions to page-creation tools to support tag libraries.
Jakarta Taglibs also hosts the development tree of the reference implementation (RI) for the JSP Standard Tag Library (JSTL). This implementation is done under project standard. Currently, no other tag libraries in Jakarta Taglibs represent Java Community Process (JCP) standards.
Supports: - JCP standardized tag libraries: JSTL 1.0, JSTL 1.1 - Supported tag libraries: Application, Benchmark, BSF, Cache, DateTime, DBTags, I18N, Input (1.1), IO, JMS, JNDI, Log, Mailer, Page, Random, Regexp, Request, Response, Scrape, Session, String, XTags
Built for Java |
Library |
Free or free version available |
Source code provided |
Home PageCategories: Internet and communications
Latest version: 2.2.0 Added 2005-04-06
The Apache Java Enterprise Mail Server (a.k.a. Apache James) is a 100% pure Java SMTP and POP3 Mail server and NNTP News server. James is designed to be a complete and portable enterprise mail engine solution based on currently available open protocols.
James is also a mail application platform. A Java API is developed to let you write Java code to process emails called the mailet API. A mailet can generate an automatic reply, update a database, prevent spam, build a message archive, or whatever you can imagine. A matcher determines whether the mailet should process an email in the server. The James project hosts the Mailet API, and James provides an implementation of this mail application platform API.
James is based upon the Apache Avalon application framework, formerly a product of the Apache Avalon project.
James requires Java 1.4
Built for Java |
Library |
Free or free version available |
Source code provided |
Home PageCategories: Caching
Latest version: 1.2.7.7 Added 2005-05-02Updated 2006-07-07
Distributed caching system written in Java for server-side applications. JCS (Java Caching System) goes beyond simply caching objects in memory.
Features include: - Memory management - Disk overflow (and defragmentation) - Element grouping - Quick nested categorical removal - Data expiration - Extensible framework - Fully configurable runtime parameters - Remote synchronization - Remote store recovery - Non-blocking "zombie" (balking facade) pattern - Optional lateral distribution of elements via HTTP, TCP, or UDP - Remote server chaining (or clustering) and failover
Built for Java |
Library |
Free or free version available |
Source code provided |
Home PageCategories: Profiling - Debugging, Testing,
Latest version: 2.3.4 Added 2005-01-28Updated 2008-01-26
Apache JMeter is a 100% pure Java desktop application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.
Apache JMeter may be used to test performance both on static and dynamic resources (files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers and more). It can be used to simulate a heavy load on a server, network or object to test its strength or to analyze overall performance under different load types. You can use it to make a graphical analysis of performance or to test your server/script/object behavior under heavy concurrent load.
Features include: - Can load and performance test HTTP and FTP servers as well as arbitrary database queries (via JDBC) - Full Swing and lightweight component support (precompiled JAR uses packages javax.swing.* ) - Full multithreading framework allows concurrent sampling by many threads and simultaneous sampling of different functions by seperate thread groups - Caching and offline analysis/replaying of test results - Extensible: - Pluggable samplers allow many testing capabilities - Several load statistics may be choosen with pluggable timers - Data analysis and visualization plugins allow extendibility as well as personalization - Functions can be used to provide dynamic input to a test or provide data manipulation - Scriptable samplers (BeanShell is fully supported; and there is a sampler which supports BSF-compatible languages)
Built for Java |
Free or free version available |
Source code provided |
Home PageCategories: Regular expressions
Latest version: 2.0.8 Added 2005-06-10
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. This library is the successor to the OROMatcher, AwkTools, PerlTools, and TextTools libraries originally from ORO, Inc.
Built for Java |
Library |
Free or free version available |
Source code provided |
Home PageCategories: JSF - JSP - Tag libraries - AJAX
Latest version: 1.0 Added 2006-05-12
Add-on library for Struts that supports the use of the JavaServer Faces (JSF) user interface technology in a Struts-based web application, in place of the Struts custom tag libraries. As a proof of concept, it also includes the canonical "struts-example" example web application, converted to use JSF tags, as well as tags from the JSP Standard Tag Library (JSTL), version 1.0 or later. It also includes a very basic Tiles based application, modified in a similar manner.
Built for Java |
Library |
Free or free version available |
Source code provided |
Home PageCategories: Web frameworks
Latest version: 2.4 Added 2005-01-27
Turbine is a servlet based framework that allows experienced Java developers to build web applications. Turbine allows you to use personalize the web sites and to use user logins to restrict access to parts of your application.
Turbine is a choice for developing applications that make use of a service-oriented architecture. Some of the functionality provided with Turbine includes a security management system, a scheduling service, XML-defined form validation server, and an XML-RPC service for web services. It is a task to create new services particular to your application.
The Turbine core is free of any dependency on a presentation layer technology. Both JavaServer Pages (JSP) and Velocity are supported inside Turbine. For developers already familiar with JSP, or have existing JSP tag libraries, Turbine offers support for the Sun standard.
Turbine is developed in an open, participatory environment and released under the Apache Software License.
Built for Java |
Library |
Free or free version available |
Source code provided |
|
Help the Java community get a consensus on great tools. Display your favorite tools on your own website or on your blog.
Keep track of your favorite tools. Build your personal watch list.
|