A
Ajax
Aspect-Oriented
 
B
Bloggers
Build Systems
Business Intelligence
ByteCode
 
C
CMS
Cache Solutions
Charting & Reporting
Chat Servers
Code Analyzers
Code Beautifiers
Code Coverage
Collections
Command Line
Connection Pools
Crawlers
 
D
Databases
 
E
EJB Servers
ERP & CRM
ESB
Eclipse Plugins
Expression Languages
 
F
Financial Soft
Forum Soft
 
G
General Purpose
Geospatial
Groupware
 
H
HTML Parsers
 
I
IDEs
Installers
Inversion of Control
Issue Tracking
 
J
J2EE Frameworks
JDBC
JMS
JMX
JSP Tag Libraries
Job Schedulers
 
L
Localization
Logging Tools
 
M
Mail Clients
 
N
Network Clients
Network Servers
 
O
Obfuscators
 
P
PDF Libraries
Parser Generators
Persistence
Portals
Profilers
Project Management
 
R
RSS & RDF Tools
Rule Engines
 
S
SQL Clients
Scripting Languages
Search Engines
Security
Source Control
Swing
 
T
Template Engines
Testing Tools
Text Processing
 
U
UML & Modeling
 
V
Validation
 
W
Web Frameworks
Web Mail
Web Servers
Web Services
Web Testing
Wiki Engines
Workflow Engines
 
X
XML Parsers
XML UI Toolkits
 

Open Source Software in Java(tm)

Open Source Ajax Frameworks

  • Google Web Toolkit - Google Web Toolkit (GWT) is an open source Java software development framework that makes writing AJAX applications like Google Maps and Gmail easy for developers who don't speak browser quirks as a second language. Writing dynamic web applications today is a tedious and error-prone process; you spend 90% of your time working around subtle incompatibilities between web browsers and platforms, and JavaScript's lack of modularity makes sharing, testing, and reusing AJAX components difficult and fragile. GWT lets you avoid many of these headaches while offering your users the same dynamic, standards-compliant experience. You write your front end in the Java programming language, and the GWT compiler converts your Java classes to browser-compliant JavaScript and HTML.

Open Source Aspect-Oriented Frameworks in Java

  • AspectJ - AspectJ is a seamless aspect-oriented extension to the Java programming language, Java platform compatible and easy to learn and use. AspectJ enables the clean modularization of crosscutting concerns such as: error checking and handling, synchronization, context-sensitive behavior, performance optimizations, monitoring and logging, debugging support, multi-object protocols.

Open Source Bloggers in Java

  • SnipSnap - SnipSnap is a free and easy to install weblog and wiki tool written in Java.

Open Source Build Systems in Java

  • Ant - Ant is a software tool for automating software build processes. It uses XML to describe the build process and its dependencies.

Open Source Business Intelligence Tools in Java

  • Talend - Talend is a provider of open source data integration software. Talend offers open, innovative and powerful data integration solutions, used primarily for integration between operational systems, ETL, and migration by organizations of all sizes.

Open Source ByteCode Libraries in Java

  • BCEL - 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.

Open Source Content Management Systems (CMS) in Java

  • Apache Lenya - Apache Lenya is a Java-based Open-Source Content Management System. It is based on open standards such as XML and XSLT. One of its core components is Cocoon from the Apache Software Foundation.

Open Source Cache Solutions in Java

  • Java Caching System - JCS is a distributed caching system written in java for server-side java applications. It is intended to speed up dynamic web applications by providing a means to manage cached data of various dynamic natures. Like any caching system, the JCS is most useful for high read, low put applications. Dynamic content and reporting systems can benefit most. However, any site that repeatedly constructs pages, dropdowns, or common search results form a database that is updated at intervals (rather than across categories continuously) can improve performance and scalability by implementing caching. Latency times drop sharply and bottlenecks move away from the database in an effectively cached system.

Open Source Charting & Reporting Tools in Java

  • JFreeChart - JFreeChart is a free Java class library for generating charts, including:

     * pie charts (2D and 3D)
     * bar charts (regular and stacked, with an optional 3D effect)
     * line and area charts
     * scatter plots and bubble charts
     * time series, high/low/open/close charts and candle stick charts
     * combination charts
     * Pareto charts
     * Gantt charts
     * wind plots, meter charts and symbol charts
     * wafer map charts

Open Source Chat Servers in Java

  • GujChat - GujChat is a new Chat System capable of managing multiple chat servers, each one serving different rooms and options for its users. One single installation delivers webmasters different templates, rooms, languages and configurations

Open Source Code Analyzers in Java

  • PMD - PMD scans Java source code and looks for potential problems like:

     * Unused local variables
     * Empty catch blocks
     * Unused parameters
     * Empty 'if' statements
     * Duplicate import statements
     * Unused private methods
     * Classes which could be Singletons
     * Short/long variable and method names

Open Source Code Beautifiers

  • Jalopy - Jalopy is a source code formatter for the Sun Java programming language. It layouts any valid Java source code according to some widely configurable rules; to meet a certain coding style without putting a formatting burden on individual developers.

Open Source Code Coverage Tools in Java

  • Quilt - Quilt is a Java software development tool that measures coverage , the extent to which unit testing exercises the software under test. It is optimized for use with the JUnit unit test package, the Ant Java build facility, and the Maven project management toolkit.

Open Source Collections Libraries in Java

  • Commons Collections - Commons-Collections seek to build upon the JDK classes by providing new interfaces, implementations and utilities. There are many features, including:

     * 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

Open Source Command Line Interpreters in Java

  • Jakarta Commons CLI - The Apache Commons CLI library provides an API for processing command line interfaces. There are three stages to command line processing. They are the definition, parsing and interrogation stages.

Open Source Database Connection Pools

  • Jakarta DBCP - DBCP is a database connection pool that relies on code in the Jakarta commons-pool package to provide the underlying object pool mechanisms that it utilizes. Applications can use the DBCP component directly or through the existing interface of their container / supporting framework.

Open Source Crawlers in Java

  • Heritrix - Heritrix is the Internet Archive's open-source, extensible, web-scale, archival-quality web crawler project.

Open Source Database Engines in Java

  • Berkeley DB Java Edition - Berkeley DB JE is a high performance, transactional storage engine written entirely in Java. Like the highly successful Berkeley DB product, Berkeley DB JE executes in the address space of the application, without the overhead of client/server communication. It stores data in the application's native format, so no runtime data translation is required. Berkeley DB JE supports full ACID transactions and recovery. It provides an easy-to-use interface, allowing programmers to store and retrieve information quickly, simply and reliably. Berkeley DB JE was designed from the ground up in Java. It takes full advantage of the Java environment. The Berkeley DB JE API provides a Java Collections-style interface, as well as a programmatic interface similar to the Berkeley DB API. The architecture of Berkeley DB JE supports high performance and concurrency for both read-intensive and write-intensive workloads. Berkeley DB JE is different from all other Java databases available today. Berkeley DB JE is not a relational engine built in Java. It is a Berkeley DB-style embedded store, with an interface designed for programmers, not DBAs. Berkeley DB JE's architecture employs a log-based, no-overwrite storage system, enabling high concurrency and speed while providing ACID transactions and record-level locking. Berkeley DB JE efficiently caches most commonly used data in memory, without exceeding application-specified limits. In this way Berkeley DB JE works with an application to use available JVM resources while providing access to very large data sets.

Open Source EJB Servers

  • OpenEJB - A modular, configurable, and extendable EJB Container System that comes with Servers for both Local and Remote access

Open Source ERP & CRM Software

  • Apache OFBiz (Apache Open For Business Project) - The Apache Open For Business Project is an open source enterprise automation software project. By open source enterprise automation we mean: Open Source ERP, Open Source CRM, Open Source E-Business / E-Commerce, Open Source SCM, Open Source MRP, Open Source CMMS/EAM, and so on.

Open Source Enterprise Service Bus in Java

  • ServiceMix - Apache ServiceMix is an open source distributed Enterprise Service Bus (ESB) and SOA toolkit built from the ground up on the semantics and APIs of the Java Business Integration (JBI) specification JSR 208 and released under the Apache license. ServiceMix is lightweight and easily embeddable, has integrated Spring support and can be run at the edge of the network (inside a client or server), as a standalone ESB provider or as a service within another ESB. You can use ServiceMix in Java SE or a Java EE application server. ServiceMix uses ActiveMQ to provide remoting, clustering, reliability and distributed failover.

Open Source Eclipse Plugins

  • Spring IDE - Spring IDE is a graphical user interface for the configuration files used by the Spring Framework. Spring IDE provides the following features:

     * Project nature which supports a list of Spring bean config files and sets of bean config files (aka beans config sets)
     * Incremental builder which validates all modified Spring bean config files defined in a Spring project
     * View which displays a tree with all Spring projects and their Spring bean config files
     * Image decorator which decorates all Spring projects, their bean config files and all Java classes which are used as bean classes
     * Graph which shows all beans (and their relationships) defined in a single config file or a config set
     * XML editor for Spring beans configuration files
     * Extension of Eclipse's search facility to search for beans defined in the BeansCoreModel
     * Wizard for creating a new Spring project
     * Content contribution to Eclipse's ProjectExplorer with Spring artefacts

Open Source Expression Languages in Java

  • Jakarta JXPath - JXPath 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.

Open Source Financial Software in Java

  • jGnash - jGnash is a free personal finance manager with many of the same features as commercially-available software. It was created in order to make tracking your personal finances easy, but also provides the functionality required by advanced users.

Open Source Forum Software in Java

  • mvnForum - mvnForum is an open source, powerful, easy to use, easy to setup bulletin board (forum) built on the Java J2EE technology (Jsp/Servlet). mvnForum is compatible with any Servlet Containers which supports Jsp 1.2 and Servlet 2.3.

Open Source General Purpose Libraries in Java

  • Apache POI - The POI project is the master project for developing pure Java ports of file formats based on Microsoft's OLE 2 Compound Document Format. OLE 2 Compound Document Format is used by Microsoft Office Documents, as well as by programs using MFC property sets to serialize their document objects. There following are ports, packages or components contained in the POI project:

     * POIFS is the set of APIs for reading and writing OLE 2 Compound Document Formats.
     * HSSF is the set of APIs for reading and writing Microsoft Excel 97(-XP) spreadsheets.
     * HWPF is the set of APIs for reading and writing Microsoft Word 97(-XP) documents.
     * HSLF is the set of APIs for reading and writing Microsoft PowerPoint 97(-XP) documents.
     * HPSF is the set of APIs for reading property sets.

Open Source Geospacial Software in Java

  • GeoTools - GeoTools is an open source (LGPL) Java code library which provides standards compliant methods for the manipulation of geospatial data, for example to implement Geographic Information Systems (GIS) . The Geo Tools library implements Open Geospatial Consortium (OGC) specifications as they are developed, in close collaboration with the GeoAPI and GeoWidgets projects.

Open Source Groupware Software in Java

  • CHEF - The CompreHensive collaborativE Framework (CHEF) initiative has as its goal, the development of a flexible environment for supporting distance learning and collaborative work.

Open Source HTML Parsers in Java

  • TagSoup - TagSoup is a SAX-compliant parser written in Java that, instead of parsing well-formed or valid XML, parses HTML as it is found in the wild: nasty and brutish, though quite often far from short. TagSoup is designed for people who have to process this stuff using some semblance of a rational application design. By providing a SAX interface, it allows standard XML tools to be applied to even the worst HTML.

Open Source IDEs in Java

  • Eclipse - Eclipse is a kind of universal tool platform - an open extensible IDE for anything and nothing in particular.

Open Source Installers Generators in Java

  • IzPack - IzPack is an installers generator for the Java platform. It produces lightweight installers that can be run on any operating system where a Java virtual machine is available. Depending on the operating system, it can be launched by a double-click or a simple 'java -jar installer.jar' on a shell. The most common use is to distribute applications for the Java platform, but you can also use it for other kinds of projects. The main benefit of IzPack is that it provides a clean and unique way of distributing a project to users using different operating systems.

Open Source Inversion of Control Containers

  • Excalibur - Excalibur is an open source software project of The Apache Software Foundation that contains a lightweight, embeddable Inversion of Control container named Fortress that is written in java.

Open Source Issue Tracking Software in Java

  • Scarab - The goal of the Scarab project is to build an Artifact tracking system that has the following features:

     * A full feature set similar to those found in other Artifact tracking systems: data entry, queries, reports, notifications to interested parties, collaborative accumulation of comments, dependency tracking
     * In addition to the standard features, Scarab has fully customizable and unlimited numbers of Modules (your various projects), Artifact types (Defect, Enhancement, Requirement, etc), Attributes (Operating System, Status, Priority, etc), Attribute options (P1, P2, P3) which can all be defined on a per Module basis so that each of your modules is configured for your specific tracking requirements.
     * Built using Java Servlet technology for speed, scalability, maintainability, and ease of installation.
     * Import/Export ability via XML allowing for easy migration from other systems (e.g. Bugzilla).
     * Modular code design that allows manageable modifications of existing and new features over time.
     * Fully customizable through a set of administrative pages.
     * Easily modified UI look and feel.
     * Can be integrated into larger systems by re-implementing key interfaces.
     * Is a ready to use issue management system

Open Source J2EE Frameworks

  • GlassFish - GlassFish is the name for the open source development project for bulding a Java EE 5 application server. It is based on the source code for Sun Java System Application Server PE 9 donated by Sun Microsystems and TopLink persistence code donated by Oracle. This project provides a structured process for developing a high quality application server that makes new features available faster than ever before. It is the response to Java developers who want access to the source code and the ability to contribute to the development of Sun's next generation application server which is based on GlassFish. This project is designed to encourage communication between Sun and Oracle engineers and the community and will enable all developers to participate in the application server development process.

Open Source JDBC Drivers

  • jTDS - 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. Starting with release 0.7.1 jTDS is 100% JDBC 2.1 compatible, supporting forward-only and scrollable/updateable ResultSets, multiple concurrent (completely independent) Statements per Connection and implementing all of the DatabaseMetaData and ResultSetMetaData methods. As of version 0.9 most of the JDBC 3.0 features are also implemented. Quite a few of the commercial JDBC drivers out there are based on jTDS (or FreeTDS), even if they no longer acknowledge this. jTDS has been tested with virtually all of the available JDBC-based database management tools and is the driver of choice for most of these (DataDino and Aqua Data Studio even contain it). jTDS is also becoming a common choice for enterprise-level applications: starting with release 0.8-rc1 jTDS passes the Hibernate test suite, making it the driver of choice for SQL Server.

Open Source JMS

  • ActiveMQ - ActiveMQ is an open source, Apache 2.0 licenced Message Broker and JMS 1.1 implementation which integrates seamlessly into Geronimo, light weight containers and any Java application.

Open Source JMX Tools

  • XMOJO - The XMOJO project is a free open source implementation of JMX specification. This implementation is derived from AdventNet's JMX implementation, which has been available in the industry since 1999. Apart from complete implementation of JMX specification, XMOJO also contains contributions of adaptors, such as HTML and RMI and rich tools, such as MBean Browser.

Open Source JSP Tag Libraries

  • Jakarta Taglibs - This project is an 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.

Open Source Job Schedulers in Java

  • Quartz - Quartz is an open source job scheduling system that can be integrated with, or used along side virtually any J2EE or J2SE application. Quartz can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs; jobs whose tasks are defined as standard Java components or EJBs.

Open Source Localization & Internationalization Tools

  • ICU4J - ICU4J is a java libraries providing Unicode and Globalization support for software applications. Here are a few highlights of the services provided by ICU:

     * Code Page Conversion: Convert text data to or from Unicode and nearly any other character set or encoding. ICU's conversion tables are based on charset data collected by IBM over the course of many decades, and is the most complete available anywhere.
     * Collation: Compare strings according to the conventions and standards of a particular language, region or country. ICU's collation is based on the Unicode Collation Algorithm plus locale-specific comparison rules from the Common Locale Data Repository, a comprehensive source for this sort of data.
     * Formatting: Format numbers, dates, times and currency amounts according the conventions of a chosen locale. This includes translating month and day names into the selected language, choosing appropriate abbreviations, ordering fields correctly, etc. Again, ICU uses data from the Common Locale Data Repository.
     * Unicode Support: ICU closely tracks the Unicode standard, providing easy access to all of the many Unicode character properties, Unicode Normalization, Case Folding and other fundamental operations as specified by the Unicode Standard.
     * Regular Expression: ICU's regular expressions fully support Unicode while providing very competitive performance.
     * Bidi: support for handling text containing a mixture of left to right (English) and right to left (Arabic or Hebrew) data.
     * Text Boundaries: Locate the positions of words, sentences, paragraphs within a range of text, or identify locations that would be suitable for line wrapping when displaying the text.

Open Source Logging Tools in Java

  • Log4j - Log4j is a logging tool that allows you to log at runtime without modifying the application binary. The log4j package is designed so that logging statements can remain in shipped code without incurring a heavy performance cost. Logging behavior can be controlled by editing a configuration file, without touching the application binary.

Open Source Mail Clients in Java

  • Grendel - Grendel is a mail/news reader entirely written in Java. Its goal is to be a true cross-platform application with a feature set that satisfies the poweruser.

Open Source Network Clients in Java

  • JSch - JSch is a pure Java implementation of SSH2. JSch allows you to connect to an sshd server and use port forwarding, X11 forwarding, file transfer, etc., and you can integrate its functionality into your own Java programs.

Open Source Network Servers in Java

  • Apache James - The Apache JAMES Project delivers a rich set of open source solutions, written in Java, related to internet mail and news. JAMES is organized into subprojects with JAMES Server and the Mailet API as their core. Apache JAMES is a project of The Apache Software Foundation (ASF) which encourages a collaborative, consensus-based development process under an open software license. The ASF maintains other Java projects which may also be of interest. These are detailed on the ASF Projects page. We recommended that users of JAMES products subscribe to the JAMES users mailing list.

Open Source Obfuscators in Java

  • ProGuard - ProGuard is a free Java class file shrinker and obfuscator. It can detect and remove unused classes, fields, methods, and attributes. It can then rename the remaining classes, fields, and methods using short meaningless names. The resulting jars are smaller and harder to reverse-engineer.

Open Source PDF Libraries in Java

  • iText - iText is a library that allows you to generate PDF files on the fly. The iText classes are very useful for people who need to generate read-only, platform independent documents containing text, lists, tables and images. The library is especially useful in combination with Java(TM) technology-based Servlets: The look and feel of HTML is browser dependent; with iText and PDF you can control exactly how your servlet's output will look.

Open Source Parser Generators in Java

  • ANTLR - ANother Tool for Language Recognition, (formerly PCCTS) is a language tool that provides a framework for constructing recognizers, compilers, and translators from grammatical descriptions containing Java, C#, or C++ actions. ANTLR provides excellent support for tree construction, tree walking, and translation.

Open Source Persistence Frameworks in Java

  • Cayenne - Cayenne is a powerful, full-featured Java Object Relational Mapping framework. It is open source and completely free. One of the main Cayenne distinctions is that it comes with cross-platform modeling GUI tools. This places Cayenne in the league of its own, making it a very attractive choice over both closed source commerical products and traditional "edit your own XML" open source solutions.

Open Source Portals in Java

  • Liferay - Liferay is a portal designed to deploy portlets that adhere to the Portlet API (JSR 168). Many useful portlets are bundled with the portal (Mail, Document Library, Calendar, Message Boards, etc)

Open Source Profilers in Java

  • NetBeans Profiler - NetBeans Profiler is a project to integrate the JFluid profiling technology, which is being developed by Sun, into the NetBeans IDE. The aim of this project is to provide a powerful and flexible profiling solution that is tightly integrated into the IDE workflow. As the size and complexity of Java applications grow, keeping their performance at the required level becomes progressively difficult. That is why we believe profiling should become a natural part of the development work cycle. To achieve that, we would like to make profiling easy-to-use and as unobtrusive as possible - and the JFluid technology that we use, with dynamic bytecode instrumentation at its heart, suits this goal perfectly.

Open Source Project Management Tools in Java

  • OpenProj - OpenProj is a desktop replacement of Microsoft Project. OpenProj has equivalent functionality, a familiar user interface and even opens existing MSProject files. OpenProj is interoperable with Project, with a Gantt Chart and PERT chart etc.

Open Source RSS & RDF Tools in Java

  • RSSOwl - RSSOwl collects data from RSS-compliant sites. It lets you gather, organize, update, and store information from any compliant source in a convenient, easy to use interface, save selected information in various formats for offline viewing and sharing, and much more.

Open Source Rule Engines in Java

  • SweetRules - SweetRules is a uniquely powerful integrated set of tools for semantic web rules and ontologies, revolving around the RuleML (Rule Markup/Modeling Language) emerging standard for semantic web rules, and supporting also the closely related SWRL (Semantic Web Rule Language), along with the OWL standard for semantic web ontologies, which in turn use XML and, optionally, RDF. (SWRL rules are essentially an expressive subset of RuleML rules.) SweetRules supports the powerful Situated Courteous Logic Programs extension of RuleML, including prioritized conflict handling and procedural attachments for actions and tests. SweetRules' capabilities include semantics-preserving translation and interoperability between a variety of rule and ontology languages (including XSB Prolog, Jess production rules, HP Jena-2, and IBM CommonRules), highly scaleable backward and forward inferencing, and merging of rulebases/ontologies. Procedural attachments can even be WSDL Web Services. SweetRules' pluggability and composition capabilities enable new components to be added relatively quickly. Implemented in Java, SweetRules has a compact codebase (~40K lines of code total for several dozen tools). The SweetRules project is an international, multi-institutional effort, originated and coordinated by the SweetRules group at MIT Sloan led by Benjamin Grosof, and its creation was funded largely by the DAML (DARPA Agent Markup Language) research program which co-pioneered the Semantic Web. SWEET ("Semantic WEb Enabling Technology") is an overall set of tools that Benjamin Grosof's group (with collaborators) has been developing since 2001. Other components in it include the SweetDeal e-contracting system approach and prototype, and the SweetPH system for business process ontologies drawn from the Process Handbook. Hundreds of users have already downloaded SweetRules, inspired in part by its well-received demonstrations in detailed presentations at the DAML Principal Investigators Meeting and the International Semantic Web Conference tutorial program.

Open Source SQL Clients in Java

  • SQuirreL SQL Client - SQuirreL SQL Client is a graphical Java program that will allow you to view the structure of a JDBC compliant database, browse the data in tables, issue SQL commands etc. The minimum version of Java supported is 1.3

Open Source Scripting Languages in Java

  • Groovy - Groovy is a new agile dynamic language for the JVM combining lots of great features from languages like Python, Ruby and Smalltalk and making them available to the Java developers using a Java-like syntax. Groovy is designed to help you get things done on the Java platform in a quicker, more concise and fun way - bringing the power of Python and Ruby inside the Java platform. Groovy can be used as an alternative compiler to javac to generate standard Java bytecode to be used by any Java project or it can be used dynamically as an alternative language such as for scripting Java objects, templating or writing unit test cases.

Open Source Search Engines in Java

  • Lucene - Jakarta Lucene is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform.

Open Source Security & Cryptography Tools in Java

  • Bouncy Castle Crypto - The Bouncy Castle Crypto APIs is a lightweight cryptography API in Java with a provider for the JCE and JCA, a clean room implementation of the JCE 1.2.1, a library for reading and writing encoded ASN.1 objects and generator for:

     * Version 1 and Version 3 X.509 certificates and PKCS12 files.
     * Version 2 X.509 attribute certificates.
     * S/MIME and CMS (PKCS7).
     * OCSP (RFC 2560).
     * TSP (RFC 3161).
     * OpenPGP (RFC 2440). The lightweight API works with everything from the J2ME to the JDK 1.5

Source Control Tools in Java

  • jCVS - JCVS is a CVS client package written entirely in Java. JCVS provides a complete CVS client/server protocol package that allows any Java program to implement the complete suite of CVS operations. JCVS also provides a Swing based client that provides a commercial quality GUI client for CVS. Finally, jCVS provides a Servlet that allows any Servlet enabled web server to present any CVS repository on the internet for browsing and download.

Open Source Swing Frameworks & Components

  • JGoodies Binding - The JGoodies Binding synchronizes object properties with Swing components. And it helps you represent the state and behavior of a presentation independently of the GUI components used in the interface.

Open Source Template Engines in Java

  • Velocity - Velocity is a Java-based template engine. It permits web page designers to reference methods defined in Java code. Velocity can be used to generate web pages, SQL, PostScript and other output from templates. It can be used either as a standalone utility for generating source code and reports, or as an integrated component of other systems

Open Source Testing Tools in Java

  • JUnit - JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java.

Open Source Text Processing Tools

  • Jakarta ORO - 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. Despite little activity in the form of new development initiatives, issue reports, questions, and suggestions are responded to quickly.

Open Source UML & Modeling in Java

  • ArgoUML - ArgoUML is a powerful yet easy-to-use interactive, graphical software design environment that supports the design, development and documentation of object-oriented software applications.

Open Source Validation Frameworks

  • Commons Validator - Commons Validator provides the building blocks for both client side validation and server side data validation. It may be used standalone or with a framework like Struts.

Open Source Web Frameworks in Java

  • Struts - The core of the Struts framework is a flexible control layer based on standard technologies like Java Servlets, JavaBeans, ResourceBundles, and XML, as well as various Jakarta Commons packages. Struts encourages application architectures based on the Model 2 approach, a variation of the classic Model-View-Controller (MVC) design paradigm.

Open Source Web Mail Clients in Java

  • WebMail - Primarily jwma is a WebMail implementation in Java, enabling the user to access, manage and compose email using a standard web browser.

Open Source Web Servers in Java

  • Jakarta Tomcat - Tomcat is the servlet container that is used in the official Reference Implementation for the Java Servlet and JavaServer Pages technologies. The Java Servlet and JavaServer Pages specifications are developed by Sun under the Java Community Process.

Open Source Web Services Tools in Java

  • WSIF - The Web Services Invocation Framework (WSIF) is a simple Java API for invoking Web services, no matter how or where the services are provided.

Open Source Web Testing Tools in Java

  • MaxQ - MaxQ is a free web functional testing tool. It includes an HTTP proxy that records your test script, and a command line utility that can be used to playback tests. The proxy recorder automatically stores variables posted to forms, so you don't have to write that stuff by hand.

Open Source Wiki Engines in Java

  • JSPWiki - A WikiWiki web clone written using JSPs and Servlets

Open Source Workflow Engines in Java

  • Apache ODE - Apache ODE (Orchestration Director Engine) executes business processes written following the WS-BPEL standard. It talks to web services, sending and receiving messages, handling data manipulation and error recovery as described by your process definition. It supports both long and short living process executions to orchestrate all the services that are part of your application.

Open Source XML Parsers in Java

  • XMLBeans - At a high level XMLBeans is an XML-Java binding tool that uses XML Schema as a basis for generating Java classes that you can use to easily access XML instance data in a natural manner in your Java programs. It was designed to provide both easy access to XML information via convenient Java classes as well as complete access to the underlying XML, combining the best of low-level APIs like SAX and DOM that provide full access with the convenience of Java binding. There are several factors that set XMLBeans apart from any other XML-Java binding alternatives:

     * XML Schema Compliance - XMLBeans has achieved extremely high schema compliance and is able to compile even the most complex schemas. This is critical when adopting an XML-Java binding framework since you may received schemas that are out of your control.
     * Access to the full underlying XML Infoset - The XML Cursor API allows you to access a lower level DOM like access to the underying XML Infoset. You can get a "cursor" at any point while using the strongly typed generated XMLBeans and begin navigating the underlying XML instance.
     * Access to the schema type system - The XMLBeans schema API allows you to walk through the schema type system giving you full access to a Java object representation of the XML Schema that was compiled to generate the XMLBeans classes.
     * Speed - XMLBeans is optimized for performance at many levels. For example, XMLBeans lazily constructs objects from XML, so that you do not have the performance overhead of object creation when you only access portions of an XML document. Several Fortune 500 customers have adopted XMLBeans based on speed alone.

Open Source XML UI Toolkits in Java

  • Laszlo - Laszlo is an open source platform for the development and delivery of rich Internet applications on the World Wide Web. It is released under the OSI-certified Common Public License. The Laszlo platform consists of the LZX language and the Laszlo Presentation Server. LZX is an XML and JavaScript description language similar in spirit to XUL and XAML. LZX enables a declarative, text-based development process that supports rapid prototyping and software development best practices. The Laszlo Presentation Server (LPS) is a Java servlet that compiles LZX applications into executable binaries for targeted run-time environments. Laszlo currently targets the Flash Player. The LPS compiles LZX applications into SWF bytecode for the Flash Player, serves and caches these compiled applications to any Web browser enabled with Flash 5 or later, and proxies application requests for back-end XML data sources and web services.




Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries. This site is independent of Sun Microsystems, Inc.