The Apache Jakarta
The Jakarta Project creates and maintains open source solutions on the Java
platform for distribution to the public at no charge. Jakarta is a project of
The Apache Software Foundation (ASF) and all work at Jakarta is provided on a
Jakarta groups products and sub-projects in some general categories:
Libraries, Tools, and APIs:
Byte Code Engineering Library (BCEL), Bean Scripting Framework (BSF),
Commons, Element Construction Set (ECS),
Log4j, ORO, POI, Regexp,
Create your own type 3 JDBC driver
JavaWorld Magazine article, by Nitin Nanda and Sunil Kumar, 2002.
Part 1: Connect your Java applications to databases - the easy way (May/2002).
Part 2: Compile, deploy, and access data using your custom-built JDBC driver
(June/2002) Part 3: Enhance the custom JWDriver with advanced logging,
connection pooling, and Predefined Data Sets (July/2002).
In the JDBC Driver Seat
Article by John B. O'Donahue, 2001/12,
Java Pro Magazine.
Covering how to create a JDBC driver as interface for a XML. "If you already
know SQL, writing your own JDBC driver that will create and access XML
documents is easy".
TableGen package automatically generates classes to represent tables within a
database. It is released under GPL.
jTDS is an open source 100% pure Java (type 4) JDBC 3.0 driver for Microsoft
SQL Server (6.5, 7, 2000 and 2005) and Sybase (10, 11, 12).
jTDS is based on the work of the FreeTDS
project and is currently the fastest complete JDBC driver for SQL Server and
Sybase. jTDS is 100% JDBC 2.1 compatible. As of version 0.9 most of the JDBC
3.0 features are also implemented. jTDS is also becoming a common choice for
enterprise-level applications: jTDS passes the Hibernate test suite, making it
the driver of choice for SQL Server.
Connector/J - MySQL JDBC Drivers
Connector/J is the JDBC Driver for MySQL. Developed by Mark Matthews, which
joined the crew of developers at MySQL AB (june 2002) to make his MM.MySQL the
official JDBC driver for MySQL renamed to Connector/J. As well as being open
source, under a free software license (LGPL for Connector/J 2, GPL for
Connector/J 3 and beyond), commercial licenses and support options are also
available from MySQL-AB.
Old SourceForge Project: MM.MySQL. mm.mysql Project &
Documentation at Giant Java Tree (GJT).
NetDirect - Java
NetDirect is a industry leader in providing a range of high performance, full
featured and scalable JDBC™ solutions for Java database connectivity
applications. All products are fully certified by Sun's J2EE™ certification
NetDirect JSQLConnect™ is a highly optimized driver for native JDBC access to
Microsoft SQL Server (JDBC 3.0, type 4 driver).
DataDirect Connect for JDBC
JDBC Driver for Oracle - DB2 - SQL Server - Sybase - Informix. DataDirect
Technologies offers a Type 4 JDBC driver for high-performance database
connectivity for all major commercial databases - Oracle, DB2, MS SQL Server,
Sybase and Informix. Connect for JDBC drivers support the latest database
features, such as JTA (Java Transaction API) and Windows Authentication for
SQL Server, and are fully compliant with JDK 1.4 and JDBC 3.0.
DataDirect SQL Server JDBC Driver vs. Microsoft OEM.
Java Exchange - Db
Java Exchange is dedicated to servlet-based technologies for Java. The current
focus is on servlet-based applications involving database backends, with
database expertise centered around Oracle and Solid.
DbConnectionBroker is a pure Java package for handling multiple concurrent
database connections. DbConnectionBroker creates a broker with a very simple
interface for handing out and returning database connections, managing a
dynamic and configurable pool of connections for you with a background
housekeeping thread. DbConnectionBroker is currently in use in several large
database applications and it is free for all uses. Multi Tier Architectures
for Database Connectivity, whitepaper by Marc A. Mnich,
JavaExchange.com, Jan. 1998.
The Sun Java Java Web Services Developer Pack (WSDP) is a bunch of interfaces
for XML use in Java (APIs), like JDBC is for database access.
the relationship between Xerces and JAXP?
The Java API for XML Processing (JAXP)
enables applications to parse and transform XML documents, using DOM, SAX, and
Xerces, by Apache XML Project, is a great and widely used implementation of the
JAXP standard, as well as the current default JAXP parser. Sun recommends that
all XML processing in Java should use the JAXP API, which in turn uses
environment varibables to determine which parser implementation to use.
SOAP with Attachments API for Java (SAAJ) & Java API for XML Messaging
JavaServer Faces (JSF)
JavaServer Pages Standard Tag Library (JSTL)
XML and Web Services Security
Ant Build Tool, Apache Tomcat, WS-I.
The Java Web Services Developer Pack incorporates all of the technologies
previously included in Java
The Java Web Services Tutorial
Web Services & Java Web Services Developer Pack (WSDP), Java API for XML
Processing (JAXP), Java Architecture for XML Binding (JAXB), Java API for
XML-based RPC (JAX-RPC), SOAP with Attachments API for Java (SAAJ), Java API
for XML Registries (JAXR).
Apache XML Project
Apache XML Project goals commercial-quality standards-based XML solutions that
are developed in an open and cooperative fashion, as well as provides feedback
to standards bodies (such as IETF and W3C) from an implementation perspective.
Xerces: XML parsers in Java and C++ (plus Perl and
COM wrappers), provide standard XML APIs implementations: Java API for XML
Processing (JAXP), Document Object Model (DOM), Simple API for XML (SAX);
besides internal Xerces Native Interface (XNI).
Xerces2 Java (Xerces-J),
Xerces Perl (XML::Xerces).
toolkit for Scalable Vector Graphics (SVG).
AxKit, Forrest, Xindice.
By Apache Jakarta Commons
project - reusable Java components.
The org.apache.commons.jxpath package defines a simple interpreter of an
expression language called XPath. JXPath applies XPath expressions to graphs
of objects of all kinds: JavaBeans, Maps, Servlet contexts, DOM etc, including
mixtures thereof. XPath was standardized by W3C and is used in both XSLT and
The Castor Project
Castor is an Open Source data binding framework for Java[tm]. It's the
shortest path between Java objects, XML documents and relational tables.
Castor provides Java-to-XML binding, Java-to-SQL persistence, and more.
Cocoon is a XML-based web development framework. Apache Lenya is a Java-based
Open-Source Content Management System (CMS), built over Cocoon. They is based
on open standards such as XML and XSLT. Cocoon Documentation Wiki.
This site is intended to provide tutorials, how-to's, best practice guides and
other information not covered by the official Cocoon documentation. It is
directed mainly to new Cocoon users, but if you're working with Cocoon for
some time you may find some useful information here, too.
JDOM Project mission is to build a complete, Java-based solution for
accessing, manipulating, and outputting XML data from Java code. JDOM is
currently a JCP especification proposal (JSR) for the official Java Platform.
JDOM Project founders and managers: Jason Hunter (author of "Java Servlet
Programming" and publisher of servlets.com) and Brett McLaughlin (author of
"Java and XML" and publisher of newInstance.com).
Java and XML - MinML
MinML2 is a small footprint namespace aware minimal XML parser with SAX2
support. Open source software available under a BSD style licence.
Cryptography - JCA & JCE
The Java Cryptography Extension (JCE) is a set of packages that provide a
framework and implementations for encryption, key generation and key agreement,
and Message Authentication Code (MAC) algorithms. Support for encryption
includes symmetric, asymmetric, block and stream ciphers. The software also
supports secure streams and sealed objects.
JCE was previously an optional package (extension) to the Java 2 SDK,
Standard Edition (J2SE), versions 1.2.x and 1.3.x. JCE has now been integrated
into the Java 2 SDK, v 1.4.
JCE 1.2 was created to extend the Java Cryptography Architecture (JCA) APIs
available in the Java 2 platform, and was available within the U.S. and Canada
only, subjected to U.S. export control regulations. The primary difference
between JCE 1.2 and JCE 1.2.2 is that JCE 1.2.x is exportable outside the U.S.
and Canada. JCE integrated into the Java 2 SDK v1.4 is exportable. JCE providers
may also be exportable.
Legion of the Bouncy
The Bouncy Castle Crypto package is a Java implementation of cryptographic
algorithms, developed by the Legion of the Bouncy Castle, formerly
OpenJCE.org. This software is
open-source, distributed under a license based on the MIT X Consortium
The Bouncy Castle Crypto APIs consist of the following: A lightweight
cryptography API in Java; A provider for the JCE and JCA; A clean room
implementation of the JCE 1.2.1; Generators for Version 1 and Version 3 X.509
certificates and PKCS12 files; Generators for S/MIME and CMS (PKCS7); A signed
jar version suitable for JDK 1.4 and the Sun JCE.
Cryptix is an international volunteer effort to produce robust, open-source
cryptographic software libraries. Cryptix products are free, both for
commercial and non-commercial use and are being used by developers all over
the world. Development is currently focused on Java.
This is ISNetworks' open source cryptographic service provider for Java. It
includes implementations of many cryptographic algorithms. Now a signed JCE
provider, and works under JDK 1.2.2, 1.3.x and 1.4.x.
JCE Provider for Microsoft key store
By Assembla Trust Technology AB. This software is provided free of charge and
is available for use both in educational, personal and commercial use. Take
this as a gift to the community who develops Java programs on the Windows
By IBM. IBMJCE Provider - Java Cryptography Extension (JCE) 1.2.1. IBMJCE4758: JCE with Hardware Cryptography support.
Authentication - JAAS
Authentication and Authorization Service (JAAS)
The Java Authentication and Authorization Service (JAAS) is a package that
enables services to authenticate and enforce access controls upon users. It
implements a Java version of the standard Pluggable Authentication Module
(PAM) framework, and supports user-based authorization. JAAS has been
integrated into the Java 2 SDK, Standard Edition, v 1.4.
Jakarta Commons FileUpload
The Commons FileUpload package makes it easy to add robust, high-performance,
file upload capability to your servlets and web applications. FileUpload
parses HTTP requests which conform to RFC 1867, "Form-based File Upload in
By Jakarta Commons,
Apache Jakarta Project - open source
solutions on the Java platform.
dnsjava is an implementation of DNS in Java. It supports all of the common
record types and the DNSSEC types, SIG authenticated messages, partial DNSSEC
verification, and EDNS0. It can be used for queries, zone transfers, and
dynamic updates. dnsjava project at
iNet Factory is a robust suite of TCP/IP networking components for the Java
platform. The components included in iNet Factory provide all the tools
necessary to quickly develop network capable Java applications with minimum
coding effort. Included are components for Finger, FTP, HTTP, HTTPS, IMAP4,
POP3, SMTP, MIME, NNTP, Nslookup, Rexec, Rlogin, Rsh, Telnet, Whois and
other frequently used protocols.
The Java Curses Library (JCurses) is a Java library, that makes it possible to
write text terminal based application using Java programming language. For
this purpose an windowing toolkit is implemented, that, like a text based AWT
Javacurses is an open-source SourceForge Project, distributed under GNU
Library license or Lesser General Public License (LGPL).
MIDlog, a J2ME client for weblog systems. Remote blogging with Blogger.com,
Movable Type and others.
The Commons is a Jakarta subproject focused on all aspects of reusable Java
components. Commons Proper: A repository of reusable Java components.
BeanUtils, Betwixt, CLI, Codec, Collections, Configuration, Daemon, DBCP,
DbUtils, Digester, Discovery, EL, FileUpload, HttpClient, IO, Jelly, Jexl,
JXPath, Lang, Latka, Launcher, Logging, Math, Modeler, Net, Pool, Primitives,
Validator. Using the
Jakarta Commons, Part 1, article by Vikram Goyal, ONJava, Jun/2003.
Joda-Time is an open-source project to provide a quality Java date and time
API. Current interfaces and implementations include: Instant, DateTime,
DateOnly, TimeOnly, Duration, Interval, DateTimeZone; plus formatting and
parsing. SourceForge Project: