Recently Added ProjectsDec 01 » Network Clients » VPPPNVPPPN stands for virtual peer to peer private networking, the project provides a VPN client using a custom protocol to be able to setup up a point to point dynamic virtual network. This differes from openvpn in that it does not need a central server to pass the network's traffic. A central server exists to allocate IP addresses and provide a point of contact for the clients but once connections are established these services are no longer needed. This means that a VPPN network is free (as in beer) since to set up a network you do not need to invest in an always on Internet server. The project is open source and GPL (free as in speach) and runs on Linux and Windows XP, support for other operating systems is planned. Once established a VPPPN network behaves in a similar way to a normal IP network. To the end user this means you can setup an office network and drag and drop files between computers in a secure manner over the internet. Jul 12 » General Purpose » ZXingZXing (pronounced \"zebra crossing\") is an open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. Our focus is on using the built-in camera on mobile phones to scan and decode barcodes on the device, without communicating with a server. However the project can be used to encode and decode barcodes on desktops and servers as well. Jul 12 » General Purpose » Barcode4JBarcode4J is a flexible generator for barcodes written in Java.
Jul 12 » General Purpose » barbecueBarbecue is an open-source, Java library that provides the means to create barcodes for printing and display in Java applications. A number of barcode formats are supported and many more can be added via the flexible barcode API. Barcodes can be output to three different image formats (PNG, GIF, JPEG), used as a Swing component, or written out as SVG. Jul 12 » Network Servers » JPPFJPPF enables applications with large processing power requirements to be run on any number of computers, in order to dramatically reduce their processing time. This is done by splitting an application into smaller parts that can be executed simultaneously on different machines. How it works There are 2 aspects to this: Dividing an application into smaller parts that can be executed independently and in parallel. JPPF provides facilities that make this effort a lot easier, faster and much less painful than without them. The result is a JPPF object called a \"job\", itself made of smaller independent parts called \"tasks\". A JPPF Grid is made of a server, to which any number of execution nodes are attached. A node is a JPPF software component that is generally installed and running on a separate machine. This is commonly called a master/slave architecture, where the work is distributed by the server (aka \"master\") to the nodes (aka \"slaves\"). In JPPF terms, a unit of work is called a \"job\", and its constituting \"tasks\" are distributed by the server among the nodes for parallel execution. Jul 12 » Geospatial » GisgraphyGisgraphy is a free, open source framework that offers the possibility to do geolocalisation and geocoding via Java APIs or REST webservices. Because geocoding is nothing without data, it provides an easy to use importer that will automagically download and import the necessary (free) data to your local database (Geonames and OpenStreetMap : 42 million entries). You can also add your own data with the Web interface or the importer connectors provided. Gisgraphy is production ready, and has been designed to be scalable(load balanced), performant and used in other languages than just java : results can be output in XML, JSON, PHP, Python, Ruby, YAML, GeoRSS, and Atom. One of the most popular GPS tracking System (OpenGTS) also includes a Gisgraphy client...an android library is also provided Jul 03 » Persistence » jOOQjOOQ is a fluent API for typesafe SQL query construction and execution. It combines these essential features: * Code Generation: jOOQ generates a simple Java representation of your database schema. Every table, view, stored procedure, enum, UDT is a class. * Active records: jOOQ implements an easy-to-use active record pattern. It is NOT an OR-mapper, but provides a 1:1 mapping between tables/views and classes. Between columns and members. * Typesafe SQL: jOOQ allows for writing compile-time typesafe querying using its built-in fluent API. * SQL standard: jOOQ supports all standard SQL language features including the more complex UNION's, nested SELECTs, joins, aliasing * Vendor-specific feature support: jOOQ encourages the use of vendor-specific extensions such as stored procedures, UDT's and ARRAY's, recursive queries, and many more. Jul 03 » Portals » EntandoEntando is an agile, modern and user centric open source portal platform. It helps companies and governments to improve organizational effectiveness by facilitating information sharing, participation and collaboration. Entando also provides developers and IT companies with out-of-box components, tools, and best practices designed to help in delivering excellent user experiences. The platform is extensible offering excellent interoperability and system administration tools. Jul 03 » Web Frameworks » wro4jFree and Open Source Java project which brings together almost all the modern web tools: JsHint, CssLint, JsMin, Google Closure compressor, YUI Compressor, UglifyJs, Dojo Shrinksafe, Css Variables Support, JSON Compression, Less, Sass, CoffeeScript and much more. In the same time, the aim is to keep it as simple as possible and as extensible as possible in order to be easily adapted to application specific needs. Jul 01 » Profilers » japexJapex is a simple yet powerful tool to write Java-based micro-benchmarks. It started as a simple project over a year ago, primarily aimed at testing XML and Fast Infoset performance, but has evolved into a rather sophisticated framework with support for XML and HTML output as well as various types of charts for displaying the results. It is similar in spirit to JUnit in that if factors out most of the repetitive programming logic that is necessary to write micro-benchmarks. This logic includes loading and initializing multiple drivers, warming up the VM, forking multiple threads, timing the inner loop, etc. One of the key design goals for Japex was extensibility. Via the use of a simple model of input and output parameters, it is possible to write micro-benchmarks to test practically anything. Jul 01 » PDF Libraries » ICEpdfICEpdf is an open source Java PDF engine for viewing, printing, and manipulating PDF documents. The ICEpdf API is 100% Java-based, lightweight, fast, efficient, and very easy to use. May 25 » ESB » JBossESBJBossESB is the next generation of EAI - better and without the vendor-lockin characteristics of old. As such, many of the capabilities mirror those of existing EAI offerings: Business Process Monitoring, Integrated Development Environment, Human Workflow User Interface, Business Process Management, Connectors, Transaction Manager, Security, Application Container, Messaging Service, Metadata Repository, Naming and Directory Service, Distributed Computing Architecture. Plus JBossESB is part of an SOI (Service Oriented Infrastructure). However, SOA is not simply a technology or a product: it's a style of design, with many aspects (such as architectural, methodological and organisational) unrelated to the actual technology. Oct 11 » General Purpose » JavaANPRJavaANPR is an automatic number plate recognition software, which implements algorithmic and mathematical principles from field of artificial intelligence, machine vision and neural networks. Oct 11 » Profilers » EurekaJEurekaJ is an Open Source, Standards based profiler tool for Java applications. EurekaJ integrates with the Java agent BTrace. BTrace has a large feature set that goes hand in hand with features for EurekaJ. Oct 11 » Network Servers » Verax IPMI library for JavaVerax IPMI is an asynchronous Java library implementing IPMI (Intelligent Platform Management Interface) protocol 2.0 over UDP in accordance with the v2.0, revision 1.0 standard. The IPMI interface has been adopted as a SNMP alternative for hardware management by many vendors. Go To Verax IPMI library for Java Apr 23 » Charting & Reporting » Eastwood ChartsEastwood Charts is an independent and open source implementation of the Google Chart API. Eastwood Charts implements most of the features from Google Charts, and adds a few of its own (such as trendline overlay, 3D effects for bar charts, and optional(!) deployment via applets). Eastwood Charts uses JFreeChart to render the charts, and is aimed at web developers that want to incorporate charts into their web pages, but can't or won't send their data to Google for processing. Version 1.1.0 includes the following features: support for generating pie charts, bar charts, line charts and scatter plots, using encodings that match the Google Chart API; software you install on your OWN server; open source licensing under the terms of the GNU Lesser General Public Licence (LGPL, version 2.1 or later), the same licence as JFreeChart. Apr 23 » XML Parsers » StaxmateStaxmate is a lightweight wrapper around Stax (JSR-173) XML processors such as Woodstox, intended to making their use simpler and easier. Apr 23 » Build Systems » Jenkins CIJenkins CI, formerly known as \"Hudson Labs\". Jenkins monitors executions of repeated jobs, such as building a software project or jobs run by cron. Among those things, current Jenkins focuses on the following two jobs: Building/testing software projects continuously, just like CruiseControl or DamageControl. In a nutshell, Jenkins provides an easy-to-use so-called continuous integration system, making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. The automated, continuous build increases the productivity. Monitoring executions of externally-run jobs, such as cron jobs and procmail jobs, even those that are run on a remote machine. For example, with cron, all you receive is regular e-mails that capture the output, and it is up to you to look at them diligently and notice when it broke. Jenkins keeps those outputs and makes it easy for you to notice when something is wrong. Apr 23 » Charting & Reporting » charts4jcharts4j is a free, lightweight charts & graphs Java API. It enables developers to programmatically create the charts available in the Google Chart API through a straightforward and intuitive Java API. Apr 23 » General Purpose » WiseMappingWiseMapping is a free web based mind map product. The goal of this project is to provide a high quality product that can be deployed by enterprises, educational and academic institutions. WiseMapping is based on the same code product supporting WiseMapping.com. Apr 08 » Code Coverage » EMMAEMMA is an open-source toolkit for measuring and reporting Java code coverage. EMMA distinguishes itself from other tools by going after a unique feature combination: support for large-scale enterprise software development while keeping individual developer's work fast and iterative. Every developer on your team can now get code coverage for free and they can get it fast! Apr 08 » NoSQL Databases » OrientDBOrientDB is a new Open Source NoSQL DBMS born with the best features of all the others. It's written in Java and it's amazing fast: can store up to 150,000 records per second on common hardware. Even if it's Document based database the relationships are managed as in Graph Databases with direct connections among records. You can travere entire or part of trees and graphs of records in few milliseconds. Supports schema-less, schema-full and schema-mixed modes. Has a strong security profiling system based on user and roles and support the SQL between the query languages. Thank to the SQL layer it's straightforward to use it for people skilled in Relational world. Apr 08 » Web Frameworks » PlayframeworkThe Play framework makes it easier to build Web applications with Java: Quick overview * Fix the bug and hit reload! Edit your Java files, save, refresh your browser and see the results immediately! No need to compile, deploy or restart the server. * Stateless model Play is a real \"Share nothing\" system. Ready for REST, it is easily scaled by running multiple instances of the same application on several servers. * Efficient template system A clean template system based on Groovy as an expression language. It provides template inheritence, includes and tags. * Resolve errors quickly When an error occurs, play shows you the source code and the exact line containing the problem. Even in templates. * All you need to create a cool web application Provides integration with Hibernate, OpenID, Memcached... And a plugin system. * Pure Java Code with Java, use any Java library and develop with your preferred IDE. Integrates nicely with eclipse or netbeans. * Really fast Starts fast and runs fast! Apr 08 » CMS » pulseAn open source portal solution in Java. pulse delivers a set of out-of-the-box components, e.g. CMS, shopping, user management. Moreover pulse is a framework on top of the Servlet API providing easy to use and easy to extend patterns for creating browser based applications and websites. Key features: * Cross-platform, implemented using Java technology. * Completely written using Java 5. * Provides a framework for quick development of own applications. * Is delivered with a host of out-of-the-box applications: CMS, Shop, Surveys, Filters and many more. * A WebDAV based virtual file system for digital asset management. * Mature user and role management * Easy-to-use administration interface based on AJAX (using Ext JS) * Built for internationalisation * Flexible templating with XSLT 2.0/XPath 2.0 Apr 08 » Testing Tools » MaveryxMaveryx is a FREE and OPEN SOURCE Test Automation Framework for functional and regression testing of Java applications. Maveryx eliminates the GUI Map dependency. Testers don't have to capture (often recapture) and maintain any GUI Map. GUI objects described in the scripts are identified and located directly at runtime during the test scripts execution. Avoiding GUI Maps testers have the possibility of starting automation early in the software lifecycle, long before the application is released for testing. GUI objects identification is performed by an intelligent Finder powered by a highly configurable set of searching algorithms. Maveryx supports also approximate matching to identify the GUI objects even in case of few or partial information given in the test scripts (this is typical when deriving test scripts from lacking or partial applications specifications or in testing non-mature/early software). Maveryx is OS independent and works with the most used free and commercial IDE such as Eclipse, NetBeans, JUnit, IBM Rational Functional Tester, etc. Apr 08 » Crawlers » Ex-CrawlerEx-Crawler is divided into three subprojects. Ex-Crawler server daemon is a highly configurable, flexible (Web-) Crawler, including distributed grid / volunteer computing features written in Java. Crawled informations are stored in MySQL, MSSQL or PostgreSQL database. It supports plugins through multiple Plugin Interfaces. It comes with it's own socket server, where you can configure it, add urls and much more. Including user accounts and user levels, which are shared with the webfrontend search engine. With the Ex-Crawler distributed crawling graphical client, other people / computers can crawl and analyse websites, images and more for the crawler. The third part of the project is the webfrontend search engine. Apr 08 » CMS » OpenWGAOpenWGA is an open source Java based high end content management and web application development platform. It packages an integrated hierarchical document repository and a full featured JSP-tag-library based template engine. The repository features multi language support, versioning and approval workflows and comes with easy manageable access control. The OpenWGA runtime system features user authentication, caching, security features and transparent database access. Content Management: OpenWGA differs from other content management systems in that authors never have to handle folders or fill in forms to create content. All authoring tasks are done \"inline\" directly in the browser just as you would edit a Word document or a PowerPoint presentation. OpenWGA Developer Studio: OpenWGA is not only delivered with a powerful yet easy to use authoring environment. In addition OpenWGA also supports the software development process by delivering all necessary tools to create, develop, deploy and share OpenWGA web applications. Apr 08 » Network Clients » xnioXNIO is a simplified low-level I/O layer which can be used anywhere you are using NIO today. It frees you from the hassle of dealing with Selectors and the lack of NIO support for multicast sockets and non-socket I/O, while still maintaining all the capabilities present in NIO. XNIO provides a unique and easy-to-use API for combining blocking and non-blocking operations, even on the same channel, allowing you to take advantage of the simplicity and low latency of blocking I/O while still gaining the thread-conservative benefits of non-blocking I/O. XNIO vastly simplifies implementation of channels, opening the door to supporting higer-level transport concepts (like SSL or virtual channels) with the same simple API. XNIO also introduces a powerful callback-based interface which can greatly simplify traditional state machine-based non-blocking applications, as well as allowing you to hit the perfect balance between throughput and latency for your application. Apr 08 » Connection Pools » BoneCPBoneCP is a fast, free, open-source, Java database connection pool (JDBC Pool) library. If you are familiar with C3P0 and DBCP then you already know what this means. For the rest, this is a library that will manage a database connection for you to get faster database access in your application. Apr 08 » Crawlers » Crawler4jCrawler4j is a Java library which provides a simple interface for crawling the web. Using it, you can setup a multi-threaded web crawler in 5 minutes! It is also very efficient, it has been able to download and parse 200 pages per second on a Quad core PC with cable connection. Apr 08 » ByteCode » JReloaderReloader is a tool that enables class reloading while the JVM is still running. JReloader is a must-have tool for developers that need to change small pieces of code on-the-fly without the burden of restarting the application. With JReloader it's even possible to reload classes with instances actively invoked by one or more threads. Current invocations will see the old code until they return. New invocations will always see the new code. Most of the time everything works fine. This all is made possible by JVMTI, an API available since Java 1.5. Limitations Only changes in method bodies can be reloaded. Changes in class signature are not allowed. Apr 08 » NoSQL Databases » TerrastoreTerrastore is a modern document store which provides advanced scalability and elasticity features without sacrificing consistency. Terrastore is based on Terracotta, so it relies on an industry-proven, fast clustering technology. It supports single-cluster and multi-cluster deployments. Apr 08 » NoSQL Databases » Neo4jNeo4j is a graph database, a fully transactional database that stores data structured as graphs. It is a mature and robust graph database that provides: * an intuitive graph-oriented model for data representation. Instead of static and rigid tables, rows and columns, you work with a flexible graph network consisting of nodes, relationships and properties. * a disk-based, native storage manager completely optimized for storing graph structures for maximum performance and scalability. * massive scalability. Neo4j can handle graphs of several billion nodes/relationships/properties on a single machine and can be sharded to scale out across multiple machines. * a powerful traversal framework for high-speed traversals in the node space. can be deployed as a full server or a very slim database with a small footprint (~500k jar). * a simple and convenient object-oriented API. Apr 08 » NoSQL Databases » InfoGridInfoGrid is an open-source internet graph database. Unlike a relational database, InfoGrid represents information as nodes and edges that relate nodes. Nodes can carry properties and can be dynamically blessed with types and unblessed. InfoGrid can be run on a variety of storage backends, including MySQL, PostgreSQL and NoSQL. InfoGrid also provides a REST-ful web frontend, user-centric identity technology, and a Probe framework for the seamless integration of external data sources. Apr 08 » NoSQL Databases » HyperGraphDBHyperGraphDB 1.0 is a general purpose, extensible, portable, distributed, embeddable, open-source data storage mechanism. Designed specifically for artificial intelligence and semantic web projects, it can also be used as an embedded object-oriented database for projects of all sizes. HyperGraphDB is a Java based product built on top of the Berkeley DB storage library. It can be used as a single in-process database bound to a location on the local disk or within a cluster of networked database instances communicating and sharing data in a P2P (peer-to-peer) fashion. Key Features of HyperGraphDB include: * Storage of generalized hypergraphs. * Open, extensible type system. * Basic query system and graph traversal algorithms. * Out-of-box support for Java object storage. * Thread-safe transactions. * P2P framework for data distribution. Apr 08 » NoSQL Databases » VoldemortVoldemort is a distributed key-value storage system * Data is automatically replicated over multiple servers. * Data is automatically partitioned so each server contains only a subset of the total data * Server failure is handled transparently * Pluggable serialization is supported to allow rich keys and values including lists and tuples with named fields, as well as to integrate with common serialization frameworks like Protocol Buffers, Thrift, Avro and Java Serialization * Data items are versioned to maximize data integrity in failure scenarios without compromising availability of the system * Each node is independent of other nodes with no central point of failure or coordination * Good single node performance: you can expect 10-20k operations per second depending on the machines, the network, the disk system, and the data replication factor * Support for pluggable data placement strategies to support things like distribution across data centers that are geographically far apart. Apr 08 » NoSQL Databases » HBaseHBase is an open-source, distributed, versioned, column-oriented store modeled after Google' Bigtable: A Distributed Storage System for Structured by Chang et al. Just as Bigtable leverages the distributed data storage provided by the Google File System, HBase provides Bigtable-like capabilities on top of Hadoop. HBase includes: * Convenient base classes for backing Hadoop MapReduce jobs with HBase tables including cascading, hive and pig source and sink modules * Query predicate push down via server side scan and get filters * Optimizations for real time queries * A Thrift gateway and a REST-ful Web service that supports XML, Protobuf, and binary data encoding options * Extensible jruby-based (JIRB) shell * Support for exporting metrics via the Hadoop metrics subsystem to files or Ganglia; or via JMX Apr 08 » NoSQL Databases » CassandraThe Apache Cassandra Project develops a highly scalable second-generation distributed database, bringing together Dynamo's fully distributed design and Bigtable's ColumnFamily-based data model. Cassandra was open sourced by Facebook in 2008, and is now developed by Apache committers and contributors from many companies. Apr 08 » Testing Tools » j-hawkj-Hawk is a Java based open source framework which can be incorporated in any java application for performance testing. The idea is the developer has to define module and its tasks (essentially a java method) inside the application and register the same with j-Hawk. j-Hawk executes the modules and generates a graphical performance report which can be analyzed to find performance bottleneck of your application. j-Hawk provides it's own scripting language called \"hawk\" whose syntax is similar to C,C++ and UNIX Shell scripting. Hence the user can implement the performance test case easily with hawk scripting. Apr 08 » Collections » jfree-graphThe project encompasses a free to use graph library in java. It is released under the GNU LGPL license, so commercial use of the library is allowed. The library uses java 1.6, but modifications to use 1.5 should be minimal. Apr 08 » Template Engines » XtemporeXtempore is a lightweight, modular and powerful XML-based domain independent templating language. It's essentially a programming library which provides flexible tools for transforming an object (model) and an XML document (template) into another XML document. <br/>* The language is defined as an XML schema and is thus supported in all XML-enabled development environments. <br/>* There is no specific evaluation strategy - any number of evaluation languages or strategies can be used simultaneously. <br/>* The core provides facilities for sharing function libraries (similar to taglibs) as well as converting values between types. <br/>* The language and it's implementation are extensible and all extensions are bound into xml namespaces. Apr 08 » Persistence » MyBatisMyBatis is the new name of the former project Ibatis SQL Maps. At the same time, the code has been moved from Apache Software Foundation to Google Code. Moreover, nothing has been changed. It is still a java persistence framework with support for custom SQL, stored procedures and advanced mappings. MyBatis minimizes the need of JDBC code, manual setting of parameters and retrieval of results. The framework can map primitives, Map interfaces and Java POJOs to database record, using XML or Annotations for configuration. Apr 08 » Network Clients » KryoNetKryoNet is a Java library that provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO. KryoNet uses the Kryo serialization library to automatically and efficiently transfer object graphs across the network. KryoNet runs on both the desktop and on Android. KryoNet is ideal for any client/server application. It is very efficient, so is especially good for games. KryoNet can also be useful for inter-process communication. Apr 08 » Charting & Reporting » GRALAn extensible Java plotting library for creating high quality plot and charts. GRAL can import text, audio and image data and export the resulting plots to PNG, JPEG, EPS, PDF, or SVG. In addition to charting GRAL also offers various methods for data processing and an ready-to-use Java Swing interface. Apr 08 » Web Frameworks » VaadinVaadin is a web application framework for Rich Internet Applications (RIA). In contrast to Javascript libraries and browser-plugin based solutions, it features a server-side architecture, which means that the largest part of the logic runs on the server. Ajax technology is used on the browser side to ensure a rich and interactive user experience. Developers compose the application user interface from components such as the Button, Table and Tree. The components use events, listeners and data binding to communicate with each other and with business logic. The component-based architecture together with the data binding features help building applications that are easily modularized and refactored as needed. Apr 08 » Testing Tools » CallbackParamsCallbackParams is a JUnit-extension for writing parameterized tests with new innovative patterns that offer elegant solutions to many drawbacks that are traditionally associated with parameterized testing. CallbackParams separates itself from other parameterization solutions by three characterized features: - Automated Combining of Parameter-Values - Parameterized Data Is Accessed through Composite Callbacks - Seamless Integration with JUnit Add-Ons from 3rd Party (!) Apr 08 » Inversion of Control » PlexusThe Plexus project provides a full software stack for creating and executing software projects. Based on the Plexus container, the applications can utilise component-oriented programming to build modular, reusable components that can easily be assembled and reused. While Plexus is similar to other inversion-of-control (IoC) or dependency injection frameworks such as the Spring Framework, it is a full-fledged container that supports many more features such as: Component lifecycles Component instantiation strategies Nested containers Component configuration Auto-wiring Component dependencies, and Various dependency injection techniques including constructor injection, setter injection, and private field injection. Apr 08 » CMS » JeaseJease is an complete Ajax-driven and easily extendable Content-Management-System based on advanced Java technologies like ZK, db4o, Perst and Lucene. With Jease you can setup, customize and script a CMS within minutes with all the power of Java at your fingertips. Apr 08 » Persistence » Persistence4JPersistence4j is a very simple library which can be used to persist data into Relational databases.This library frees you from writing the Data transfer objects. Just create a POJO and simply save it using this library.I have also integrate Java transaction API with this library The library is written 100% in the Java language and minimum Java 1.6 is required. Apr 08 » Testing Tools » HibernateMockPersistence testing tool. Easy setup for service/dao. Fancy way to test Criteria and HQL. Full fill the objects tree with dummy values. Generate values according with jsr303/hibernate-validator annotations. Doesn't matter if a previous database row exists (or not). Reduces the necessity of cleaning database (the trash shouldn't scare you). Don't care about auto-increment strategy. Easier than traditional xml database fixtures. Apr 08 » J2EE Frameworks » NABUCCO FrameworkThe NABUCCO Framework is a modern approach for developing Java EE software in a model-driven way using a component model. The NABUCCO Framework consists of a MDA approach with a separate DSL, as well as components based thereon, for the development of products and customized applications. Objectives of the Framework are: - Creation of reusable components - Complete multi-client capability of all components - Depiction of recurring functions (Best Practices) - Independence from tools and special technologies - Supported by UML as well as textual DSLs - Fast ans simple development Apr 08 » ERP & CRM » AdempiereAdempiere is one of major ERP system. Developed with java and postgres SQL, and having a great community for developing. it is a derivation of compiere but powerfull internally customizable and fully open source. both postgresSQL and java is open and free. erp solution is also absolutely free for downloading and using. Apr 08 » Persistence » UjormThe open-source ORM framework was designed for the rapid Java development based on a relation database and the framework provides a type-safe API for database queries so the most of typing errors are detected before running the application. Developer can take an advantage of a code-completion in their favorite IDE at coding time. Apr 08 » Rule Engines » DTRulesDTRules is a Decision Table based Rules Engine. Decision Tables are maintained in spreadsheets, and the actions and conditions are specified in a Domain Specific Language. DTRules is a deterministic rules engine (the Decision Tables define exactly the order in which Rules are applied) which makes DTRules very simple and very very fast. Apr 08 » CMS » Enonic CMS - Community EditionEnonic CMS is a content management system built on Java. The solution is flexible, easy to use and supports all major databases and appservers. The Community Edition is licensed under AGPL v3 and available at github.com/enonic. Go To Enonic CMS - Community Edition Apr 08 » Persistence » Athena Framework for JavaAthena Framework is a full fledged enterprise object-relational mapping (ORM) framework that employs metadata as mapping configuration. It greatly simplifies Java web application development by removing the requirement of manual mapping and manual database schema updating. In addition to features like Java object persistence, powerful EJBQL querying execution and comprehensive code generation, Athena has built-in support for multi-tenancy which enables developers to build cloud applications easily. Athena can be easily integrated with other libraries like Struts or Spring to provide full stacks of service. As a solid ORM framework with built-in support for cloud applications, Athena offers many other distinguished features. * Metadata as the Single Source of Truth * Implementing Change at the Speed of Your Thought * Gaining Total Control of EJBQL Querying * Fine-Grained Query Specific Partial Attribute Loading * Developing Multi-Tenancy Cloud SaaS Applications With Ease * Switching Between Soft Deletion and Hard Deletion Quickly * The Ultimate Solution to Database Versioning and Migration Go To Athena Framework for Java Apr 08 » Project Management » PlandoraPlandora is a Java opensource tool to manage the software development process. It can be useful for teams that have problems with resource bottle-necks, parallel projects, workers in several projects in the same time, critical dead lines and project documentation demands. Features * Single point of contact (SPOC) between customers and project resources; * Requirement and Tasks History; * Custom Fields; * Custom Reports (based to JasperReports and iReport); * Custom Import/Export routines; * Custom Agents, like a scheduled process (email notification, file checking, SQL triggers, etc); * Gadgets (including google gadgets); * Cost Management; * Invoice Management; * Resource Capacity Management; * Risk Management; * Survey Management; * KPI Management; * The project tasks could be viewed/managed through Gantt Chart or an Agile Board; * Artifact Management (integrated with SVN or a local DB repository); * Repository browsing (integrated with SVN or a local DB repository); * Allow to expose files of repository to customer through a web portal; * All entities of Plandora are indexed by Knowledge Base engine in background (Lucene engine); * Plandora is multiuser and multiproject (allow a hierarchy structure of projects); * Each user has a clear role at each project (customer, resource or leader); * Plandora has support to English, Spanish, Brazilian Portuguese and Russian. Apr 08 » Inversion of Control » OfficeFloorOfficeFloor is an Inversion of Control implementation that focuses on dependency injection into methods rather than into objects and improves on existing dependency injection frameworks by letting you specify the Thread to execute the method - thereby really adhering to the \"Hollywood Principle\" (don't call us, we \"really\" will call you). Features: * Multi-threaded Java framework providing for thread safe execution of your methods (with ability to specify differing thread pools to execute particular methods) * Dependency injection of objects as parameters to the executed methods * Provides both auto-wiring of dependencies and manual graphical configuration * Abstraction of plug-ins to enable more course grained integration than individual classes (allows easier assembly and management of applications) * Existing plug-ins to build web based applications * JEE Servlet integration for web based components (currently under development) * Spring plug-in to enable re-use of your existing Spring beans OfficeFloor is freely distributed under GPL. Apr 08 » Code Coverage » PITPIT is a fast bytecode based mutation testing system for Java that makes it possible to test the effectiveness of your unit tests. You can think of mutation testing as either as an automated test of your tests, or as a much more in depth form of code coverage. Unlike traditional line and branch coverage tools PIT does not just confirm that your tests execute your code, it confirms that your tests are actually able to detect faults in it. Apr 08 » Security » Apache ShiroApache Shiro is a top level open source project under the Apache Software Foundation. As a project, Shiro is an application security framework that provides application developers very clean and simple ways of supporting four cornerstones of security in their applications: authentication, authorization, enterprise session management and cryptography. Jan 11 » Databases » BlobDBBlobDB is a JDBC/SQL like database engine build on Google App Engine datastore. BlobDB has a build in WebService for clients that are not running on Google App Engine. BlobDB is very small and can be embed in non GAE java application as \"in memory only\" database. Dec 21 » Cache Solutions » DirectMemoryDirectMemory is an off-heap cache implementation (a-la BigMemory) to enable in memory serialization of a large number of java objects without affecting jvm garbage collection performance - released under the Apache Software License, Version 2.0 Dec 21 » Search Engines » HSearchHSearch is an open source, NoSQL Search Engine built on Hadoop and HBase. HSearch features include: * Multiple document formats * Record and document level search access control * Continuous index updating * Parallel indexing using multiple machines * Embeddable application * A REST-ful Web service gateway that supports XML * Auto sharding * Auto replication Dec 01 » ESB » Spring IntegrationSpring Integration provides an extension of the Spring programming model to support the well-known Enterprise Integration Patterns. It enables lightweight messaging within Spring-based applications and supports integration with external systems via declarative adapters. Those adapters provide a higher-level of abstraction over Spring's support for remoting, messaging, and scheduling. Spring Integration's primary goal is to provide a simple model for building enterprise integration solutions while maintaining the separation of concerns that is essential for producing maintainable, testable code. Dec 01 » Parser Generators » LajaLaja is a combined code- and parser generator. The code generator can run on most platforms. The parser generator generates Java code. One of the ideas of Laja is that it should be simple and intuitive to use by developers. Dec 01 » RSS & RDF Tools » OroboroOroboro is a lightweight Java RDF processing framework. Its design focuses on conversion and data integration tasks involving moderate datasets, targeting common use cases while trying to remain as flexible as possible. It includes a programmatic environment for RDF, a Datalog inference engine with OWL RL support, codecs for common RDF serialization formats, XML/XSLT processing tools and SAX-based data adapters. Nov 30 » Workflow Engines » ActivitiActiviti is a light-weight workflow and Business Process Management (BPM) Platform targeted at business people, developers and system admins. Its core is a super-fast and rock-solid BPMN 2 process engine for Java. It integrates perfectly with Spring, it is extremely lightweight and based on simple concepts. Nov 30 » Rule Engines » RoolieAn extremely simple Java Rule Engine (Non-JSR 94) that uses rules you create in Java. Simply create your basic rules, implement the single \"passes\" method for each, then chain them together in an XML file to create more complex rules. Nov 30 » Web Frameworks » PandoraPandora is an easy to use, fast and lightweight framework for creating web applications with Java. Pandora uses Velocity for templating and provides support for Hibernate as persistence layer. It has great support for handling formular input with validators etc. and for lists, tables and trees (filtering, sorting, searching for free). Nov 29 » ESB » GreenVulcano ESBGreenVulcano ESB is a platform for application integration, capable of connecting multiple heterogeneous systems. Its plug-in architecture permits unlimited expansion and personalization, providing the solution to diverse business integration problems. GreenVulcano ESB brings flow-related concepts such as transformation and routing to the Service-Oriented Architecture. # Runs on any J2EE compliant Application Server # Logically separates the business flow design from the technical implementation # Easy to design, configure and manage # Easy to customize by any skilled JAVA developer - no proprietary technology training required # Extensible connectivity through standard JCA plug-ins # Can execute millions of business transactions and interactions between systems per day with no loss of data, 24 hours a day, continuously Nov 29 » Web Frameworks » JVxThe JVx Framework (or JVx - Enterprise Application Framework) is a Full-Stack Application Framework for the Java platform. JVx facilitates the development of professional and efficient Database applications, in a short time and using little source code. The framework's architecture is based on the Multi-tier architecture model for the development of software systems. Building on a three-tier architecture and following the Dependency inversion principle JVx allows for easy development of efficiently maintained applications. The framework provides full support for all tiers. Because of the Single Sourcing principle, the application is coded once and used with different technologies (RIA, HTML/Ajax, Desktop). Nov 29 » Persistence » ORMLiteObject Relational Mapping Lite (ORM Lite) provides some simple, easy, and basic functionality for persisting Java objects to SQL databases while avoiding the complexity and overhead of more standard ORM packages. ORMLite supports natively MySQL, Postgres, Microsoft SQL Server, H2, Derby, HSQLDB, and Sqlite and can be extended to additional ones relatively easily. Nov 27 » Project Management » NavalPlanNavalPlan is a free software web application for project planning, monitoring and control. Its main features are: * Multiproject management. * Group resource allocations: dynamic groups based on criteria * Flexible calendars * Configurable Gantt chart from Work Breakdown Structure (WBS) * Resource Breakdown Structure (RBS) chart * Overload resource allocation control * Earned Value Management * Cost analisys based on work reports * Integration with other NavalPlan instances and third-parties * Other functionalities: Materials, quality forms, project templates, planning scenarios, multiple task progress measurement ... Initially developed for shipbuilders and naval companies, NavalPlan can be used to effectively manage any type of project. Nov 07 » CMS » ShopizerShopizer is a complete web sales management and e-commerce content management software. - create high end web store fronts - turn existing web site to full e-commerce system - provide essential e-commerce tools : shoping cart, inventory management, payment and shipping, order management, online invoicing Built with Struts 2, Hibernate, Spring, jQuery Oct 16 » Profilers » Perf4jPerf4j is a set of utilities for calculating and displaying performance statistics for Java code. It allows to log instructions execution time using popular logging frameworks, generate performance graphs, expose results via servlet or JMX. For most cases simple annotating method with @Profiled is enough to start collecting data. Oct 12 » CMS » Walrus CMSWalrus CMS is easy to use intuitive edit-in-place java based content management system. What makes Walrus stand out is that it does not have separate administration interface - you edit your content just by point and click and drag and drop. It is built on Spring framework, employs lightweight and clean architecture, thus is easily extendible. Walrus supports several websites on one installation is easily skinnable, has undo/redo functionality. Walrus was started in 2008, so it's quite mature system working in corporate, government and non profit environments. Oct 12 » Workflow Engines » Joget WorkflowJoget Workflow is a people-driven, form-based workflow management system. Joget Worklfow is XPDL compliant and has a plug-in architecture to extend its functionality. The system can be used on its own to manage the flow of processes and data captured from forms, or it can be seamlessly integrated in various ways to your existing systems to build complete applications tailor-fit to your unique needs using JSON and JavaScript Ajax APIs. Oct 12 » XML Parsers » LyciaLycia is an opensource event-base approach of parsing structured data (primarily XML). By using a fluent language to describe the parser and annotation-driven design to define event-listeners Lycia is capable of parsing and validating data. Lycia is compatible with Sun/Oracle, IBM, JRockit, OpenJDK and Android 1.6 - 2.1 and new features of Android 2.2 Oct 12 » Persistence » EclipseLinkThe Eclipse Persistence Services Project (EclipseLink) delivers a comprehensive open-source Java persistence solution. EclipseLink focuses on standards with advanced features, performance and scalability for enterprise software developers across data sources, formats, and containers. Oct 12 » Web Frameworks » SerfJSerfJ is the easiest way of developing Java REST web applications. It helps you to develop your application over an elegant MVC arquitecture, giving more importance to convention than configuration, so for example, you will not have to have configuration files or annotations in order to specify which view serves a controller's method. However, SerfJ is very flexible, so if you want to jump over those conventions, you can configure the behaviour of your applications as you like. Oct 12 » Persistence » ORM LiteThe package provides simple but powerful functionality for persisting Java objects to SQL databases while avoiding the complexity and overhead of more standard ORM packages. All you need to do is simply add Java annotations to your classes. It comes with powerful abstract DAO classes so your database read/write classes can be 5 lines long. Includes a flexible QueryBuilder to easily construct simple and complex queries. Supports MySQL, Postgres, Microsoft SQL Server, H2, Derby, HSQLDB, and Sqlite and can be extended to additional databases relatively easily. Jun 26 » Rule Engines » OpenL TabletsOpenL Tablets is full-fledged open source Business Rules Management System (LGPL license). Its business friendly approach to rules authoring and management allows to keep executable business rules as close as humanly possible to the original source and to maintain them by Business Analysts. OpenL Tablets includes: * highly scalable executable rule engine * SOA ready infrastructure * web-based and Excel-based authoring environments * type safe validation * developer productivity tools Jun 26 » Scripting Languages » WhileyWhiley is a hybrid object-oriented and functional programming language which compiles to the JVM. Whiley employs extended static checking to eliminate errors at compile time, including divide-by-zero, array out-of-bounds and null dereference. Whiley's Extended static checking is made possible through the use of an automated theorem prover. Jun 26 » Testing Tools » SelAidSelAid makes it easier to test web applications using Selenium 2.0 WebDriver. Its helper classes provide a richer abstraction layer on top of WebDriver's WebElement class. The SelAid classes represent and operate on groups of inter-related HTML tags, like tables, list boxes, radio buttons and option groups. Typical web testing would make use of both SelAid and WebDriver APIs to keep tests simple, readable and maintainable. Jun 12 » Crawlers » BixoBixo is an open source web mining toolkit that runs as a series of Cascading pipes on top of Hadoop. By building a customized Cascading pipe assembly, you can quickly create specialized web mining applications that are optimized for a particular use case. Jun 12 » Bloggers » SproutSprout is a simple blogger, but it's also a HTTP & SQL base on top of which you can build any system: CMS, game server, campaign site; you name it! Sprout uses a node graph database structure, that allows you to store complex dynamic object hierarchies without altering the database table structure. You can still add normal tables with Memory for table like data structures. Sprout contains basic user handling in the main package because you will likely need that; while articles, comments and files are in a demo specific content package. Apr 27 » Testing Tools » BasherBasher is a lightweight profiling & performance testing framework which hopes to help developers to do early & continuous profiling & performance testing by integrating into normal, Maven build cycle. Apr 27 » Code Analyzers » JBoss TattletaleJBoss Tattletale is a tool that can help you get an overview of the project you are working on or a product that you depend on. The tool will recursive scan a directory for JAR files and generate linked and formatted HTML reports. Apr 27 » Workflow Engines » Bonita Open SolutionBonita Open Solution is an intuitive and powerful open source Workflow and BPM suite: just draw your processes using a BPMN palette, then connect to your existing systems (Oracle, MySQL, LDAP, Google, Twitter, Facebook...) and run your Java Workflow application in a single click Apr 12 » Testing Tools » ContiPerfContiPerf is a lightweight testing utility that enables the user to easily leverage JUnit 4 test cases as performance tests e.g. for continuous performance testing. It is inspired by JUnit 4's easy test configuration with annotations and by JUnitPerf's idea of wrapping unit tests for performance testing, but more powerful and easier to use. Apr 12 » CMS » fleXive CMS[fleXive] CMS is an Open Source Content Management System based on the Java Enterprise Edition 5 and JavaServer Faces (JSF) 1.2. It uses the Open Source [fleXive] content repository as a consolidated store for all data, including templates and page contents. Its features include: * Dynamic XHTML-based templating with JSF (Facelets) * Integration of business logic via JSF and EJB * Multilingual page contents * Dynamic page data structures * Publishing of contents and/or templates * ACL based security * Modular structure, published to a Maven repository * WebDAV and CMIS interfaces Apr 12 » J2EE Frameworks » ActiveInsightActiveInsight is an open source ESP / CEP framework that offers real-time, value-based detection and reaction to events and patterns. It offers a distributed (cloud ready) Event Stream Processing framework used for processing single and aggregated events (Complex Event Processing). The ActiveInsight framework offers a pattern detection engine and distributed caching modules designed to be embedded in 3rd party applications (ISV's) or deployed as a standalone application along side other back-end systems. Dec 07 » Parser Generators » parboiledparboiled is a pure Java library that provides a lightweight and easy-to-use, yet powerful and elegant PEG (Parsing Expression Grammar) parsing facility. You define your grammar rules directly in Java source, there is no need to write and maintain special, external grammar files. parboiled provides for clean separation of grammar and action code while preserving seamless integration with full IDE support (syntax hightlighting, code navigation, refactoring, etc.). parboiled minimizes the time and cost required for developing custom DSLs (Domain Specific Languages) in Java. Dec 07 » Web Frameworks » Flower frameworkA minimalistic framework that helps you in converting your Spring beans into HTTP-accessible controllers using one servlet and a few additional lines in your XML application context. This framework uses Extensible XML authoring feature available in Spring and allows you to expose the bean using just one additional XML attribute on your bean. Sep 30 » XML Parsers » Apache BetwixtThe Betwixt library allows one to serialize objects to XML and back again - providing an XML introspection mechanism for mapping beans to XML in a flexible way. Betwixt is strong is when you've already got the beans and just want a nice looking XML format to serialize/deserialize your beans. Indeed with Betwixt you can just write your beans and not even worry about XML schemas and providing you follow a simple bean naming convention (the use of getter, setter and adder methods) you'll get nice looking XML for free Sep 29 » Profilers » AllmonAllmon is a generic system collecting and storing metrics used for performance and availability monitoring. The main goal of the project is to create a generic system storing various metrics collections used for system performance, health, quality and availability monitoring purposes. The system also provides a set of data-mining algorithms useful for further performance analysis. Allmon is designed to store different metrics values coming from many areas of monitoring infrastructure. The collected data are base for vast range of performance and availability analysis. Allmon collaborates with other analytical tools for OLAP multidimensional analysis and Data Mining processing. The tool can be used for production as well as for development (profiling) and QA (load testing) purposes. Sep 09 » Code Analyzers » DependometerDependometer performs a static analysis of physical dependencies within a software system. Dependometer validates dependencies against the logical architecture structuring the system into classes, packages, subsystems, vertical slices and layers and detects cycles between these structural elements. Furthermore, it calculates a number of quality metrics on the different abstraction layers and reports any violations against the configured thresholds. Currently, Dependometer is available for projects written in Java or C++. Sep 09 » Job Schedulers » SuperSuper with SuperScheduler and SuperWatchdog is a Java job scheduler with rich GUI for all applications. It is platform neutral. Especially good to be a job scheduler for Linux and Solaris. It provides a super set of functionalities of the Scheduler of Microsoft Windows. It provides event-triggered scheduling. It can schedule tasks in a distributed environment. A task will be executed once and only once among all machines in the network. All tasks are holiday adjustable. Even every job is a STANDBY job, the history will be a good trace for important tasks. It supports Internationalization. A Chinese properties file is provided. Sep 09 » Web Frameworks » InductionInduction is a powerful, high performance, Java MVC web application framework. Induction supports dynamic application reloading, type-based dependency injection and dependency analysis between models, views and controllers. The goal of Induction is to simplify the task of building complex, high performance, maintainable web applications using Java technology. Sep 09 » General Purpose » JSaParJSaPar is a Java library providing a schema based parser/producer of CSV (Comma Separated Values) and flat files. Features * Use a schema to express the syntax of your text file. * The schema can be written in xml or created directly within the java code. * Use two schemas to convert between different text formats. * Can handle huge files as streams without loading everything into memory. Sep 09 » Network Clients » jNetMapjNetMap is a graphical tool for keeping an eye on all the devices in your network. It can discover all the devices connected to the network and you can also add new ones, such as an external webserver. You will just have to draw the connections between the devices and your netmap is ready to go. jNetMap will check every 5 minutes if your devices are still running, and you can create alert scripts to notify you if they are not. You can adjust the interval in the upper right corner of the screen. The color of the lines connecting your devices indicate the availability of said device. Sep 09 » Web Services » Membrane SOAP MonitorMembrane SOAP Monitor is a forwarding HTTP and SOAP proxy with a graphical UI. The GUI features an XML beautifier that makes it easier to analyze the envelope of SOAP messages. predic8 just open sourced the project. Sep 09 » Network Clients » xLightwebxLightweb is an easy to use http network library to build high performance, high scalable network applications. xLightweb provides a simple and intuitive API to write client side HTTP applications as well as server side HTTP applications. Sep 09 » Testing Tools » FressiaFressia Project is an effort to develop an Open Source framework for Testing Automation. It's intended for users (testers) that want a simple tool which can be used just out of the box. It's does not requires any complicated configuration stuff. Sep 01 » Web Frameworks » SombreroAn AJAX framework to write database web applications with the target to edit and show the stored informations in different form windows. For this a simulated MDI-GUI gives the user the possibility to jumb between the form windows opened by himself. Tables has horizontal und vertical scrollbars. Between the server and the browser of the user the traffic is very small also in the case of very large tables because only the visible rows are transfered with AJAX. The tutorial is currently in german language but the API documentation is in english. Sep 01 » Testing Tools » JUCAJUCA stands for \"JUnit Coverage Analyzer\". It is a tool which performs a static analysis of your java class files and determines which methods of your classes are (potentially) called from JUnit testcases. The results are summarized in a HTML report. Sep 01 » Validation » JValidationsJValidations is a framework to express and exercise validation rules for java objects. Its defining characteristics are: * validation is performed by the objects themselves, not in external \"validator\" classes, preserving encapsulation * validation rules are expressed in declarative java, not in XML or annotations or what have you * how a validation failure is handled is entirely up to the caller through the use of callback interfaces * extensible in that custom validations can be coded, and the DSL syntax can be modified to suit your needs Sep 01 » HTML Parsers » VietSpider HTMLParserVietSpider HTMLParser: Pure Java HTML DOM parser, support HTML 4.0.1. It is a fast, syntax checker, automatically closes elements with optional end tags; and can handle mismatched inline element tags. Sep 01 » Profilers » OKTECH ProfilerOKTECH Profiler is a low-impact, sampling profiler for Java. It doesn't require constant connection from a profiler console, as it dumps the profiled information in a binary file. This file can later processed and report can be generated from the overall information. It can be executed in a local JVM or it can connect to a remote JMX server, allowing to profile any kind of application. The overhead of the profiler is very low (and it can be tuned further if required, e.g. reducing the sampling frequency) compared to instrumentation profilers. Sep 01 » Web Frameworks » AribaWebAribaWeb is the Open Source component-based web application development framework for creating rich, AJAX-enabled applications with the absolute minimum of code (and no hand-coded Javascript). Discover the difference that sets AribaWeb apart: Auto AJAX, Instant App, Live Edit & X-Ray,Proven Full Stack Mar 25 » Security » JSecurityJSecurity is a powerful and flexible open-source Java security framework that cleanly handles authentication, authorization, enterprise session management and cryptography. Our mission: To provide the most robust and comprehensive Java security framework available while also being very easy to understand and extremely simple to use. N.B. Project is being renamed to \"Ki\" Mar 22 » Web Services » Apache CXFApache CXF is an open source (web) services framework. CXF helps you build and develop services using frontend programming APIs, like JAX-WS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI. Mar 22 » Logging Tools » MicrologMicrolog is a small, yet powerful logging library for mobile devices based on the Log4j API. Supports Java ME (J2ME) and Android. Logs to device, to PC or to servers online. Used in all phases from development on emulator/device to outdoor field-testing. Mar 17 » General Purpose » MarvinMarvin is an extensible image processing framework developed in Java. Every image processing algorithm is developed as a plug-in and it can be plugged into the MarvinEditor, an image manipulation program that uses plug-ins developed using Marvin Framework, or in third-party applications. Currently there are 36 plug-ins available. The framework provide features to: * manipulate images * manipulate captured video frames * multi-threading image processing * integrate plug-ins with Graphical User Interface(GUI) * analyze plug-in performance * extend features via plug-ins Mar 17 » Logging Tools » LOGBackLogback is intended as a successor to the popular log4j project. It was designed by Ceki Gülcü, the founder of log4j. It builds upon experience gained in building industrial-strength logging systems going back as far as 1999. Logback's basic architecture is sufficiently generic so as to apply under different circumstances. At present time, logback is divided into three modules, logback-core, logback-classic and logback-access. The logback-core module lays the groundwork for the other two modules. The logback-classic module can be assimilated to a significantly improved version of log4j. Moreover, logback-classic natively implements the SLF4J API so that you can readily switch back and forth between logback and other logging systems such as log4j or java.util.logging (JUL). The logback-access module integrates with Servlet containers, such as Tomcat and Jetty, to provide HTTP-access log functionality. Note that you could easily build your own module on top of logback-core. Mar 03 » General Purpose » TransmorphTransmorph is a java library used to convert a Java object of one type into an object of another type (with another signature, possibly parameterized). Transmorph strong points are : * support conversion for primitives and objects * support conversion to multidimensional arrays * support conversion to parameterized collections and types * support conversion for beans that contain bi-directional relationships * you can choose exactly which converters you want to use * jars for JDK 1.4 and JDK 1.5 * no dependencies * 40 converters included * easy to add more converters * objects can be modified after conversion using modifiers * can convert to a type given either its java type (Class) or signature * easy to use Mar 03 » Localization » TongueTiedTongueTied is a web based tool designed to manage static resources. The tool will help with the creation of keywords with support for multi-language or multi-region resources. TongueTied integrates a work flow around a keyword to track changes to its translations and ensure the legitimacy of each translation associated with a resource. Mar 01 » Workflow Engines » SarasvatiSarasvati is a capable, embeddable workflow/BPM engine for Java. For developers, it focuses on expressive modeling and ease of use features like embeddable sub-processes and backtracking. For users, it offers transparency via visualizations and human readable guards. Feb 26 » Build Systems » APBAPB is a simple, yet powerfull, project build system that inherits some ideas from Ant and Maven while trying to avoid the use of complex XML files to define the metadata of the project. Project Definition is done in Java so you have the full power of Java plus the benefit of using your favorite IDE to edit the configuration files. Here are some of the features APB provides out-of-the-box: * Simple project definition based on default layouts, but with flexibility to accomodate your preferred one. * Model based builds: APB is able to build projects based on metadata about the project. * Full extensibility using Java * Dependency management * Full project lifecycle, including compilation, packaging and testing. * Coverage support during testing * Documentation generation * Generation of project files for common IDEs (Currently Intellij Idea) * Ant tasks to integrate APB projects into foreign contexts. * Command line invocation including shell-completion Feb 24 » Databases » AcornDBAcornDB is a high performance, small footprint, transactional object oriented database written entirely in Java. It stores data in the application's native format, so no runtime data translation is required. AcornDB supports full ACID transactions and recovery. It provides an easy-to-use interface like query-by-example, object query API, automatic class schema recognition allowing programmers to store and retrieve information quickly, simply and reliably. AcornDB enabling high concurrency and speed while providing ACID transactions. AcornDB efficiently caches the data in memory, without exceeding application-specified limits. In this way works with an application to use available JVM resources while providing access to very large data sets. Feb 24 » XML UI Toolkits » CookSwingCookSwing is a library which builds Java Swing GUI from XML documents. It supports all Swing components, all Swing LayoutManager (including JGoodies Forms layout), all listeners, all Swing borders (including compound borders), and internationalization and localization. XML include for templated UI layout is supported as well. CookSwing also goes beyond merely Swing since many Swing components require fairly complex configuration parameters. Java binding with components generated by CookSwing is very easy. One of the primary strength CookSwing over other XUL toolkit is being easily extensible. It has a modular design and offers great debugging capabilities. CookSwing is also well documented with its innovative tagdoc, and having lots of examples and demos. Feb 24 » CMS » JahiaJahia delivers a very complete, standard-based, and user friendly Unified Web Platform available today. It offers out-of-the-box Enterprise Web Content Management, Document Management, and Portal Management for any size enterprise. Jan 09 » Cache Solutions » SHOP.COM Cache SystemThe SHOP.COM Cache System is an object cache system that... * is an in-process cache and external, shared Cache * is horizontally scalable * stores cached objects to disk * supports associative keys * is non-transactional * can have any size key and any size data * does auto-GC based on TTL * is container and platform neutral Dec 23 » Template Engines » RTFTemplateRTFTemplate is a tool to merge a RTF template with data coming from a Java context and generate a new RTF document. The RTF template can contain custom fields, hyperlinks o defined sections to be replaced. Dec 21 » Profilers » AppspyAppsy is a \"user experience profiling tool\" : - Monitor how the users actually uses your java applications, - Monitor how your java applications responds to the users requests. Every software need to be improved in term of quality, performance, efficiency ... With Appspy, you will get all the data you need to learn how to improve the value of your software for your users. Dec 10 » ERP & CRM » Openbravo POSOpenbravo POS (previously called Librepos and TinaPOS) is a point of sale application designed for touch screens, supports ESC/POS ticket printers, customer displays and barcode scanners. It is multiuser providing product entry forms, reports and charts. It can be integrated with Openbravo ERP. Dec 10 » Job Schedulers » cron4jcron4j is a scheduler for the Java 2 platform which is very similar to the UNIX cron daemon. With cron4j you can launch, from within your Java applications, any task you need at the right time, according to some simple rules. Dec 10 » General Purpose » JUniqueThe JUnique library can be used to prevent a user to run at the same time more instances of the same Java application. JUnique implements locks and communication channels shared between all the JVM instances launched by the same user. Dec 10 » Chat Servers » OpenYMSG: Yahoo messenger library for JavaOpenYMSG is an open source Yahoo Messenger API implementation. It began as a fork of jYMSG, primarily to upgrade the API. It is intended to get you up and running with a simple Yahoo Messenger client in very little time. Go To OpenYMSG: Yahoo messenger library for Java Nov 25 » Workflow Engines » TobflowTobFlow (Total Object Base and Flow or the Object Flow) is an internet application platform to manage forms and workflows. It is made of an engine which manages the user interface (forms) and the scheduling of tasks (workflows) based on object model descriptions. The rationale of TobFlow is to propose a true document workflow tool, which, right from the design phase, combines the document approach (forms to fill in) and the process approach (sequence of tasks to fulfill a business objective). The solution is based on the notion of objects (i.e. information sets) that are defined both by the way they are presented to users (forms and views) and by their life sequence (workflow process). Nov 25 » Testing Tools » JDBHammerJDBHammer is a small database stress tool. It emulates a given number of concurrent users querying the engine and reports timing information for each test. Oct 29 » Scripting Languages » ClojureClojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs. Sep 23 » CMS » LibreSourceLibreSource is a versatile collaborative platform. Open Source, modular and highly customizable, LibreSource is adapted to the collaborative software development (forge), groupware, community leading, e-archiving and Web publishing. On a single server, LibreSource can host several projects, several groups of users, and grant fine grain access to the resources. Based on Java/J2EE, LibreSource is a modular web server that users can customize online by combining resources and rights: wiki pages, forum, trackers, Synchronizers, Subversion repositories, files, download areas, drop boxes, forms, etc. LibreSource uses most of the advanced services provided by the OW2 application server called JOnAS. Sep 23 » SQL Clients » DBSADBSA (DataBase Structure Analysis) is a tool for comparing schema snapshots. Differences are reported and an SQL patch can be generated. It includes a basic repository facility for schema history tracking Sep 23 » Eclipse Plugins » Fast Code Eclipse PluginIt is free eclipse plugin for faster java development. It can help you code faster in a spring based application. It is capable of : * Automatically create DAO to Service and Service to Action, e.g. FooDAO to FooService and FooService to FooAction. * Automatically create one DAO to another with different name, e.g. FooDAO (with methods getFoo, saveFoo) to BarDAO (with methods getBar, saveBar). * Also create spring based configurations. * Easily navigate from DAO to Service and Service to DAO. * Easily navigate from hibernate pojos to .hbm files. * Easily create List, ArrayList, Map, HashMap initializers or fields in a class. * Easily copy a field, just highlight and right click, go inside Fast Code pop up menu and click 'Copy Field' * You can highlight part of the field name also. * Some of the features can be turned off/on or configured in Windows->Preference->Fast Code Preference. Go To Fast Code Eclipse Plugin Sep 23 » CMS » JadaSiteAn easy to use and feature rich Java based Open Sourced content management and e-commerce system. Jada Site not only allow users to maintain content with ease, it help sites and companies to market and sell their products. Jada Site has the following advantages. * Free open source software. * Can be installed \"out of the box\" without customization. * Easy to use web interface. * Runs on Java technology, a mature, highly scalable platform with excellent options for integration. * Multi-site supports. * Plug and play template system. * Inventory control. * Supports PayPal and other credit card payment gateways. * Customer self service center. * and many more.... Sep 23 » Scripting Languages » ArmedBear / JArmedBear (ABCL) is a Common Lisp written in Java. Its compiler produces JVM byte code, tapping into the 'write once, run everywhere' philosophy of Java. J is a text editor written in Java featuring e.g. syntax highlighting and automatic indenting. Sep 20 » Search Engines » HounderHounder is a simple and complete search system. Out of the box, Hounder crawls the web targeting only those documents of interest, and presents them through a simple search web page and through an API, ideal for integrating into other projects. It is designed to scale on all fronts: the number of the indexed pages, the crawling speed and the number of simultaneous search queries. It is in use in many large scale search systems. Sep 20 » Collections » Hist4jHist4j is a histogram library for Java that accepts large datasets with any distribution or range and has a very small memory footprint, needs no pre- or post-processing, and provides several statistical functions about the data seen so far. Sep 17 » Code Analyzers » UCDetectorUCDetector (Unecessary Code Detector) is a Open Source eclipse PlugIn Tool to find unecessary (dead) java code. It also tries to make code final, protected or private. UCDetector also finds cyclic dependencies between classes. Sep 17 » Persistence » JGrinderJGrinder is a framework for mapping Objects in Java to various persistent stores. These include relational databases, in memory 'storage', and flat files. The architecture allows additional persistent stores to be supported (such as storing objects over a messaging middleware). Sep 17 » General Purpose » JooneJoone is a FREE Neural Network framework to create, train and test artificial neural networks. The aim is to create a powerful environment both for enthusiastic and professional users, based on the newest Java technologies. Joone is composed by a central engine that is the fulcrum of all applications that are developed with Joone. Joone's neural networks can be built on a local machine, be trained on a distributed environment and run on whatever device. Jul 15 » Databases » Neo4jNeo4j is a graph database. It is an embedded, disk-based, fully transactional Java persistence engine that stores data structured in graphs rather than in tables. A graph (mathematical lingo for a network) is a flexible data structure that allows a more agile and rapid style of development. Jul 13 » General Purpose » ShotokuShotoku is designed to provide easy access to content repositories in which you can store data, bind metadata, revision content, and provide branching and merging strategies. This means Shotoku can interface with repositories such as the Java Content Repository (JSR 170: JCR), Subversion, and file-system based repository implementations that aim to support basic revisioning mechanisms. Jul 10 » Swing » VFSJFileChooserVFSJFileChooser is a Java Swing Component which allows you to browse both remote and local filesystems. It is based on Apache Commons VFS library. It can replace the standard Swing JFileChooser in applications that need to access remote files. It supports all the protocols available in Commons VFS : * FTP, FTPS * SFTP to access files using SSH * SMB to browse Windows/Samba shares * HTTP, HTTPS, etc. Jul 10 » J2EE Frameworks » JspressoJspresso is a new generation framework to easily build professional quality java distributed desktop applications. Jspresso dramatically reduces the development cycles needed to get your business application up and running while not sacrificing quality, robustness and performance. Jspresso is not another webapp framework. Jspresso based applications offer the exact same ergonomics as desktop applications while keeping an N-tier centralized architecture. Jspresso covers extensively the whole software architecture and relieves the developer from all the plumbing by solving most of the technical concerns. Jspresso philosophy extends the \"Convention over configuration\" paradigm with a descriptive strategy made of assembling built-in descriptors (java beans). You describe what you want to achieve and not how you want to achieve it. Jul 10 » Issue Tracking » Kwok Information ServerKwok Information Server is an open source IT web application, providing a centralized application for managing IT assets, software licenses, service contracts, issues, and contacts. Additional modules include portal, RSS, and blogs. Jul 10 » UML & Modeling » Linguine MapsLinguine Maps is an open-source Java library that conducts programmatic visualization of various text files, generating from them easy-to-understand entity-relation diagrams. Linguine Maps supports programmatic visualization for: * WSDL; for these files it draws relations between service, ports and port types. * Apache ANT build files; for these files it draws task dependency diagrams. * Document Type Definition (DTD) for XML documents; for these files it draws relations between various entities and their attributes. * Apache ObJectRelationBridge (OJB) mapping files; for these files it draws UML-style class diagrams. * Hibernate mapping files; for these files it draws UML-style class diagrams. Jul 09 » Databases » jiqljiql is a Java database for Cloud computing. The database is accessed via a jdbc client. The data is actually stored in a cloud-based data store, such as Google's BigTable. The fact is Google App Engine at present only supports python. Java programmers need not be excluded, as jiql provides a way to at least utilize Google's BigTable. By uploading the jiql python controller (jiql.py) to Google App Engine (GAE), the jiql.py acts as a gateway between the jiql database engine and Google's BigTable (GBT). So a Java application, using standard JDBC calls to the jiql JDBC client, is able to store critical data in GBT. As the DataStore sits in the cloud, you essentially have a solution for distributed database access. Thus, although you may not be able to host a JAVA program on GAE, you can still use the Data Store, which is probably the most important aspect of cloud-computing - that is scalability and high availability. Jul 09 » Network Clients » JNMP2PJNMP2P is a framework for developing java based P2P applications. It brings a event model into the network enviroment, making development of P2P applications and services easy as building GUI. With user defined reactions to basic transmission units called messages, the developer need only to handle the business logic of his application and define the protocol of interaction for his application enabling rapid and easy development of P2P apps. Jul 09 » Aspect-Oriented » CALICALI is a framework to prototype and compose Aspect-Oriented Programming Languages on top of Java. It is based on an abstract aspect language that its extensible to implement new AOPL. As proof of approach and methodology, the following language have been implemented: -AspectJ (Dynamic part of AspectJ, where intertype declartion can be implemented using regular AspectJ); -EAOPJ : An implementation of Event-Based AOP for Java; -COOL: A DSAL for coordination; -Decorator DSAL. You can use CALI to implement your new AOPL and compose it with existing implementation or using existing implementation to write your applications with aspects form different AOPL. Jun 12 » NoSQL Databases » NeoDatis ODBNeoDatis ODB is a new generation Object Oriented Database. ODB is a real transparent persistence layer that allows anyone to persist native objects with a single line of code. ODB can be used as an embedded database engine that can be seamlessly integrated to any product as an embedded database or in client/server mode. Jun 12 » General Purpose » JTimepieceJTimepiece is an advanced library for working with dates and times in Java. Features include: reduces number of objects created when working with multiple date/times, methods for computing difference between two date/times, support for time zones, leap year and daylight savings, methods for converting between string and date/times, methods for adding and subtracting to and from date/times, methods for easily retrieving individual parts of date/times, no dependencies to other non-standard Java libraries, compatible with J2SE 1.2 and above. Jun 12 » Workflow Engines » kbee.workflowBPM platform built in Java and integrated to the Eclipse platform. Designed to be simple, versatile and focused on the developer. It includes a Petri Nets graphical process designer integrated to Eclipse and a query language similar to OQL. Main components: * kbee Workflow Server * kbee Process Designer: Graphic design of procedures using Petri Nets. * kbee OLAP Server: for OLAP cubes in the processes * kbee.WQL (Workflow Query Language): OQL like query language on the workflow engine Jun 11 » Project Management » BaralgaBaralga enables you to keep track of the time you spend working on different projects. You can record the projects your are working or you can manually enter and edit project activities. Thus, you will be able to easily memorize when and how long you have been working on every project. Jun 11 » Project Management » GanttProjectGanttProject is a tool for creating a project schedule by means of Gantt chart and resource load chart. With GanttProject you can break down your project into a tree of tasks and assign human resources that have to work on each task. You can also establish dependencies between tasks, like \"this task can't start until this one is finished\". GanttProject renders your project using two charts: Gantt chart for tasks and resource load chart for resources. You may print your charts, generate PDF and HTML reports, exchange data with Microsoft(R) Project(TM) and spreadsheet applications. Jun 11 » Web Frameworks » VroomVroom is a framework for HTML/JSP and Java code binding. It's extremely simple to use and very powerful. It can control your HTML widgets on the fly. It can be applied independently as JSP/Servlet Model or can be integrated with Struts, JSF, YUI etc. No custom tags, no complex configurations, just simple binding configuration file and backing beans. Jun 11 » Build Systems » Ant HillAnt Hill is an Ant library meant to perform remote invocation of build targets via XMPP (Jabber) protocol. To be more specific Ant Hill provides a mechanism to implement Remote Target Invocation. The client / server approach allows to work on clusters and coordinate a large number of machines. Ant Hill has been written to be extensible, it is possible to define quickly new Remote Commands. Ant Hill provides error reporting through Remote Exception Propagation and several debugging features. Jun 05 » ByteCode » RetroweaverRetroweaver is a bytecode weaver that enables you to take advantage of the new Java 1.5 language features, while still retaining total binary compatability with 1.4 virtual machines. Retroweaver operates by transforming Java class files compiled by a 1.5 compiler into version 1.4 class files which can then be run on any 1.4 virtual machine. Jun 05 » Testing Tools » SWTBotSWTBot is an open-source Java based functional testing tool for testing SWT and Eclipse based applications. SWTBot provides APIs that are simple to read and write. The APIs also hide the complexities involved with SWT and Eclipse. This makes it suitable for functional testing by everyone. SWTBot also provides its own set of assertions that are useful for SWT. You can also use your own assertion framework with SWTBot. SWTBot has a driver and recorder to playback and record tests and integrates with Eclipse, and also provides for ant tasks so that you can run your builds from within CruiseControl or any other CI tool that you use. SWTBot can run on all platforms that SWT runs on. Very few other testing tools provide such a wide variety of platforms. Jun 05 » Charting & Reporting » DocumentBursterDocumentBurster takes as input PDF reports and bursts them based on meta-data. Generated documents can be delivered on a variety of destinations like email, ftp, fax, archive and many more. Features: * It is portable as it works on all versions of Windows and most of the UNIX systems. * It is working by reading meta-data which is easily included in the document to indicate the splitting and delivery methods to be used. * It has out of the box delivery targets as email, ftp, fax, archive and many more. Email is referring to any SMTP compatible server including gmail and yahoo. * It is easy to define your own custom delivery targets with the help of a plug-in architecture. This will handle the delivery of reports to any target that can be imagined. * Scheduling. It is easy to define simple or complex schedules for bursting. * It has command line support so it is easy to automate the bursting of reports. Jun 05 » Expression Languages » JEvalJEval is an advanced library for adding high-performance, mathematical, Boolean and functional expression parsing and evaluation to your Java applications. Features include: parses and evaluates dynamic and static expressions at run time, supports all major mathematical and Boolean operators, supports custom functions, 39 Math and String functions built in and ready to use, supports nested functions, supports variables, allows for custom variable resolver, no dependencies to other non-standard Java libraries, compatible with J2SE 1.2 and above. Jun 01 » Business Intelligence » SpagoBISpagoBI is an integration platform focused on business intelligence needs at the enterprise level. It's a full open source solution (no professional edition). SpagoBI offers a complete analytical layer (e.g.: reporting dimensional analysis -OLAP-, data mining, dashboards, free and visual data inquiring) with many solution for every area, allowing the end-user to compose the platform best suited for him/her, also mixing open source and proprietary products in order to maximize the overall ROI. Jun 01 » Business Intelligence » TalendTalend 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. Jun 01 » Business Intelligence » RapidMinerRapidMiner (formerly YALE) is the world-wide leading open-source data mining solution due to the combination of its leading-edge technologies and its functional range. Applications of RapidMiner cover a wide range of real-world data mining tasks. May 20 » SQL Clients » MyJSQLViewMyJSQLView provides an easy to use Java based GUI, graphical user interface, frontend for viewing, adding, editing, or deleting data in several mainstream databases. A query tool allows the building of complex SELECT SQL statements. The application allows easy sorting, searching, and import/export of table data. May 20 » Swing » OpenSwingOpenSwing is an open source suite of graphics components based on Swing and a framework to develop client server applications having two or three tiers; it allows to develop rich internet applications based on HTTP protocol and Swing front-end too. GUI can be created in a fast way by using the UI designer of the adopted java IDE: Eclipse, NetBeans, JDeveloper or JBuilder, as for other non java IDEs (JB, Delphi, Visual Studio .NET). It uses several tecnologies/mechanisms, such as POJO, MVC, data binding. It can be easily integrated with many server-side layers, such as Spring, Hibernate, iBatis, JPA. May 03 » Web Servers » SambucaSambuca is a Java HTTP Server framework that allows developers to embed a HTTP server directly in their applications with custom HTTP Request Handlers, so that their application can directly process incoming HTTP Requests and easily send back HTTP formatted responses to the requesting client. Applications can host standalone HTTP Services such as Web Service without having to deploy and integrate with a full application server such as Tomcat, JBoss, or WebLogic. May 03 » Geospatial » JGeocoder - Free Java GeocoderGeocoding is the process of estimating a latitude and longitude for a given location. JGeocoder is a free geocoder implemented in Java. This project is loosely modeled after Geo::Coder::US , a Perl module available for download from the CPAN. Go To JGeocoder - Free Java Geocoder May 03 » J2EE Frameworks » Seam FrameworkSeam is an open source development platform for building rich Internet applications in Java. Seam integrates technologies such as Asynchronous JavaScript and XML (AJAX), JavaServer Faces (JSF), Java Persistence (JPA), Enterprise Java Beans (EJB 3.0) and Business Process Management (BPM) into a unified full-stack solution, complete with sophisticated tooling. May 02 » ERP & CRM » JAllInOneJAllInOne is an open source ERP/CRM java application having a Swing front-end. It is a Rich Internet Application so the front-end can remotely comunicate with the server-side layer of JAllInOne via HTTP protocol. Main features: Sales, Purchases, Warehouse, Bill of materials and production, Accounting, Agenda, CRM, Customers and contacts hierarchies, Callouts and appoinments management, Document management, Users and roles management, database schema management, grids and forms customization, reporting solution based on Jasper Report, reports customization. Apr 30 » Web Servers » RupyRupy is a tiny Java NIO HTTP server. Features: * NIO (Non-Blocking IO) * Asynchronous Reply * Chunked Transfer * Session Timeout * Hot-Deployment * Filter Chain Apr 30 » Text Processing » JOrthoJOrtho (Java Orthography) is a spell-checker. The library works with any JTextComponent from the Swing frame work. This includes JTextPane, JEditorPane and JTextArea. Features are: * highlight the potentially wrongly spelled word * detect capitalization errors * dialog (when pressing F7 key) for continuous spell check of the text * offer a context menu with suggestions for a correct form of the word * context menu with option to change the checking language * user defined dictionary for words that are not in the global one * translated spell checker GUI * standalone API, no server is required but applets are possible Apr 30 » Persistence » LightweightModelLayerLML is a small (82Kb) but reliable persistence engine based in annotations and reflection. It has no dependencies and can be used for standalone and web applications. It's a clean and easy to use library for developers to forget worrying about database communication. Apr 27 » Logging Tools » LimpidLogLimpidLog is a revolutionary logging system which does not require any hard-code log statements. It records all important information about the execution of a class at runtime when the class is registered. A Swing manager can be used to dynamically register/deregister your applications. Logged data can be read by human, or read my LimpidDebugger which interprets the data presents it as source level debugging. LimpidLog is for J2EE standalone Java application. LimpidLog also supports Netbeans with GUI management as a Netbeans plug-in. Apr 27 » Chat Servers » Java MSN Messenger LibraryJML is a java Msn Messenger library that supports MSNP8-MSNP12. It is optimized for multiple users and is intended to be very easy to follow and use. Go To Java MSN Messenger Library Apr 24 » Web Services » Apache Axis2Apache Axis2, the third generation Web services engine is more efficient, more modular and more XML-oriented than its predecessor Apache Axis. It is carefully designed to support the easy addition of plug-in modules that extend its functionality for features such as security and increased reliability. Apr 24 » Template Engines » HapaxHapax is a simple text templating library for Java. Hapax is suitable for constructing text output from Java code. The syntax is similar to Google's ctemplate library. Hapax was designed to be easy to use and have minimal dependencies. Hapax does not depend on any existing web framework, and is suitable for use in servlets, scripting languages (Scala, Groovy, etc), and server-side applications. Apr 24 » Project Management » EmForgeEmForge is a web-based application, suite of tools used in software development: project management (jBPM-based), documenting (Wiki-based), versioning (Subversion-based), reporting (JasperReports-based). Key Features of EmForge: * Integration of tools, used in software-development process: documentation(Wiki-based), task-Management (Workflow-Based), Version-Control Management (Subversion-based). * Easy to use: this project used Trac as prototype. * Flexible: this project is based on Enterprise-standard technologies it is quite easy to integrate it with any other systems, used in company. And this project uses workflow-engine, which allows administrators and managers to setup any process they need (different companies and different projects used different processes for development - you can easily configure EmForge to follow your development process, instead of changing your development processes to follow used tool) Feb 18 » Web Frameworks » fleXive[fleXive] is a Java EE 5 open-source framework for the development of complex and evolving (web-)applications. It speeds up development by easing many tedious and repetitive programming tasks and helping to keep your application(s) flexible during the development-cycle and in production. [fleXive] concentrates on enterprise-scale content modeling, storage and retrieval, and includes comprehensive JSF support for displaying and manipulating these contents in (web) applications. The runtime environment can be included in existing Java EE applications, but you can also build new applications and package them into stand-alone Java EE applications. [fleXive] provides essential features for data-centric applications: * Secure EJB-based persistence engine * Web development JSF toolkit * Powerful administration interfaces * Based on the latest industry-standards like Java 6, EJB 3, JSF, etc. Feb 11 » Template Engines » JCopistJCopist is a template-based document generation server based on OpenOffice.org. Its templates are regular OpenDocuments enhanced with the FreeMarker scripting language. A wide range of formats are available, eg. : ODT, PDF, RTF, HTML, MS Word, MS Excel. Feb 02 » ESB » Apache SynapseApache Synapse is a easy-to-use and lightweight ESB which offers a wide range of management, routing and transformation capabilities. With support for HTTP, SOAP, SMTP, JMS, FTP and file system transports. Included is first class support for standards such as WS-Addressing, Web Services Security (WSS), Web Services Reliable Messaging (WSRM), efficient binary attachments (MTOM/XOP) as well as key transformation standards such as XSLT, XPath and XQuery. Synapse supports a number of useful functions out-of-the-box without programming, but it also can be extended using popular programming languages such as Java, JavaScript, Ruby, and Groovy. Jan 30 » ESB » WSO2 ESBThe WSO2 ESB is an ultra fast, light-weight and versatile Enterprise Service Bus based on the Apache Synapse ESB. It allows you to Connect, Manage and Transform service interactions between Web services, REST/POX services and Legacy systems. You can easily switch transports between http/s, JMS, File Systems, Mail etc, or read/write from Databases, split and aggregate messages and support declarative enforcement of QoS aspects such as WS-Security etc, and also switch between message formats such as SOAP 1.1/1.2, PoX/REST, Text, Binary, MTOM and SwA. It ships with a graphical management and administration console that allows easy configuration, development and monitoring, and an integrated Registry/Repository. Jan 30 » Portals » LuteceLutece is a portal engine which allows you to easily create your websites or intranets based upon HTML,XML.. content. Lutece provides a user friendly interface for portal management and therefore no specific technical skills are required. It provides also JSR168 and JSR170 support. It works with latest technologies such as Spring 2, Lucene2, Ehcache, FreeMarker, .... Jan 23 » Swing » QDWizardQDWizard is a very lightweight API to write complex Swing wizards with minimal learning curve * Designed to minimize required code. Only few methods to implement. * Simple design, only two classes visible by the programmer. * I18n support for action buttons (en, fr, de, sp, ca, nl for now). * Full branching support, can implement any wizard cinematic. * Error management using the simple setProblem() method. * Supports Wizard images natively and resizes image automaticaly. * Ultra light API: only few KB. * Actively supported by the Jajuk team. * Learning curve of 15 minutes maximum. * Real world samples provided (jajuk classes). Jan 23 » Ajax » ItsNat, Natural AJAXItsNat is an open source (dual licensed GNU Affero General Public License v3/commercial license for closed source projects) Java AJAX Component based Web Framework. It offers a natural approach to the modern Web 2.0 development. ItsNat simulates a Universal W3C Java Browser in the server. The server mimics the behavior of a web browser, containing a W3C DOM Level 2 node tree and receiving W3C DOM Events using AJAX. Every DOM server change is automatically sent to the client and updated the client DOM accordingly. Consequences: pure (X)HTML templates and pure Java W3C DOM for the view logic. No JSP, no custom tags, no XML meta-programming, no expression languages, no black boxed components where the developer has absolute control of the view. ItsNat provides an, optional, event based (AJAX) Component System, inspired in Swing and reusing Swing as far as possible such as data and selection models, where every DOM element or element group can be easily a component. Jan 23 » XML Parsers » JAXBThe Java Architecture for XML Binding (JAXB) provides a fast and convenient way to bind between XML schemas and Java representations, making it easy for Java developers to incorporate XML data and processing functions in Java applications Jan 09 » PDF Libraries » PDF RendererThe PDF Renderer is all Java library which renders PDF documents to the screen using Java2D. Typically this means drawing into a Swing panel, but it could also draw to other Graphics2D implementations Jan 09 » Ajax » ThinWireThinWire is an development framework that allows you to easily build applications for the web that have responsive, expressive and interactive user interfaces without the complexity of the alternatives. While virtually any web application can be built with ThinWire, when it comes to enterprise applications, the framework excels with its highly interactive and rich user interface components. Jan 07 » ERP & CRM » LibreposLibrepos is a point of sale application designed for touch screens, supports ESC/POS ticket printers, customer displays and barcode scanners. It is multiuser and has a great backoffice with a product entry form, reports and charts. Jan 07 » Eclipse Plugins » X-RayX-Ray is an open-source software visualization plug-in for the Eclipse framework. Software designers use visualization tools in order to raise the level of abstraction and reduce the amount of information to the one needed. Most of these tools are stand-alone programs, that force the user to switch between different windows and contexts. This context switch represents a problem, being time consuming and forcing the user to download, install and use, tools or systems external to his favorite code editor. X-Ray provides System Complexity View, Class Dependency View and Package Dependency View directly inside Eclipse. Jan 07 » Command Line » Natural CLINatural CLI is a Java library providing to developers command line interfaces with human readable sentences. It means, your software can understand easily command lines. It's very easy to define. Main Features: * Java implementation. * Easy to code. * Type checking for parameters and user defined types. * Optional parameters and tokens. * Build-id help command and others. * Can be compatible with Apache Commons CLI. Dec 30 » Command Line » JOpt SimpleJOpt Simple is a Java library for parsing command line options, such as those you might pass to an invocation of javac. As closely as possible, JOpt Simple attempts to honor the command line option syntaxes of POSIX getopt() and GNU getopt_long(). Dec 29 » Command Line » JArgsJArgs is a comprehensive command line option parsing suite, for use by Java programmers. Initially, parsing compatible with GNU-style 'getopt' is provided. JArgs is easy to use, thoroughly tested and well documented. Dec 29 » Command Line » Jakarta Commons CLIThe 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. Dec 29 » Command Line » args4jargs4j is java command line options parser. Features: * It makes the command line parsing very easy by using annotations. * You can generate the usage screen very easily. * You can generate HTML/XML that lists all options for your documentation. * Fully supports localization. * It is designed to parse javac like options (as opposed to GNU-style where ls -lR is considered to have two options l and R.) Dec 29 » Command Line » ArgParserArgParser is a Java package, which can be used to specify command line options for a Java application. It has support for range checking, multiple option names (aliases), single word options, multiple values associated with an option, multiple option invocation, generating help information, custom argument parsing, and reading arguments from a file. The last feature is particularly useful and makes it easy to create ad-hoc configuration files for an application. Dec 26 » J2EE Frameworks » DoffDoff is a lightweight Open Source J2EE toolkit that provides mapping between actions (servlets) and URLs without writing XML or any configuration file. Doff uses Java 5 annotations and offers many features. Dec 26 » Network Clients » SkunkDAVSkunkDAV is a webDAV client with a built-in editor and file browser. Its DAV client library can be used separately. WebDAV stands for \"Web-based Distributed Authoring and Versioning\". It is a set of extensions to the HTTP protocol which allows users to collaboratively edit and manage files on remote web servers. Dec 22 » Persistence » Ebean ORMEbean is Object Relational Mapping Persistence Layer. Ebean is designed to be easy to learn and use. It follows the mapping specification of JPA with annotations such as @Entity, @OneToOne, @OneToMany etc. Ebean also has a relational api when you want to bypass ORM in favour of using your own SQL for fetching, updating and calling stored procedures. Dec 17 » Rule Engines » TermWareTermWare is a rule processing engine intended for embedding into Java applications. TermWare implements terminal systems concept. Main range of applications: * problem-oriented languages (or DSL, from domain-specific) development. * computer algebra systems. * various formal models analysis and transformation. * software engineering. Dec 17 » Web Testing » StoryTestIQStoryTestIQ (a.k.a. 'STIQ') is a tool for creating \"Executable Requirements\" which have also been known as acceptance tests or functional tests. STIQ was developed based on two other open source acceptance testing tools, Selenium and FitNesse. This combination allowed STIQ to capture the web browser based testing facilities and elegant command language of Selenium along with the wiki-based editing and pluggable Fit fixture loading of FitNesse. When developing web applications it is helpful for the cross-functional team to have a definitive and executable view of the requirements for a specified iteration. STIQ may be used to record what the team's customer needs and get sign off before developing even a single line of code. Most of the test cases which are recorded will be failing. It is the responsibility of the team to implement the requirements in order to make the test cases pass. These practices are based in the tradition of Test-Driven Development. STIQ may also be used in traditional development teams to create acceptance and functional tests. They may be used to supplement the team's unit tests with a Test-Driven Development approach or even to automate existing manual test cases. Dec 15 » ERP & CRM » SourceTap CRMSourceTap's CRM application is a highly flexible Sales Force Automation (SFA) tool that meets both the needs of sales managers and the sales rep. SourceTap's CRM includes Sales Force Automation (SFA), marketing, campaign management, and customer service. Dec 15 » Groupware » hipergatehipergate is an open source web based application suite. It contains: * Collaborative tools and Groupware Module * Contact Management Module * Project Management and Support Issues Tracking Module * eShop Module * Content Management Module * Massive Email Module * Coporate Library Dec 14 » Localization » Zaval Java Resource EditorZaval JRC Editor (also known as Zaval Java Resource Editor) solution is small and easy-to-use visual editor for resource files. Zaval JRC Editor is best used for regular access to various resource files. Another great area in this tool usage is resource bundle synchronization. Go To Zaval Java Resource Editor Dec 14 » Localization » Resource bundle managerRB Manager is a project to maintain multiple language support in a moderately large project. RB Manager offers the following features: * RB Manager can edit multiple language files when appropriate. * Entries are checked for proper format and assured not to be duplicates. * RB Manager provides a better grouping of resources, so that individual translations are easy to find. * Each language file will display in its own view a list of only resources that are untranslated. * RB Manager keeps track of statistics such as number of resources, untranslated items, etc. * RB Manager allows importing and exporting of translation data into multiple formats * Use of the application cuts down on development, translation, and debugging time in any internationalized setting Dec 12 » Localization » AttesoroAttesoro is a translation editor for java programs. A translator can enter international characters directly into Attesoro and Attesoro will save the file in the correct format with escape sequences. Attesoro shows the untranslated text and the translator can type the translation directly below it. Attesoro shows items that have not yet been translated in blue while translated items are shown in black. Attesoro will change the name of the key in all files at once. Attesoro displays keys with changed translations in green and allows you to revert individual keys. Dec 12 » Localization » ICU4JICU4J 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. Dec 12 » Validation » JValidateJValidate is a framework for Java object validation. Features: * Support for java 1.4 and higher. * Validations, constraints can be declared with annotations, xdoclet tags or programmatically. * Internationalization. * Integration with web-frameworks JSF, Wicket. Dec 06 » Web Frameworks » jZenojZeno is an open source java development framework that offers the ability to develop rich web applications. The main architectural goal of jZeno is to allow people to create web applications using pure java development as much as possible. Largely reducing the need to know technologies like javascript, HTML, CSS, database specific SQL, JSP, JSF, etc.. Dec 06 » Wiki Engines » BlikiThe Bliki engine is a Java API and an Eclipse offline editor for Mediawiki (aka wikipedia.org) documents. API features: * Renders Wikipedia syntax to HTML. * Renders Wikipedia syntax to PDF, LaTeX, Docbook (only partial support). * Template support. * Configurable through WikiModel interface. * HTML to Wikipedia syntax converter. * Source code highligthing for: java, php, html, javascript,... Eclipse editor features: * Syntax highlighting. * Content outline and content assist. * Down-/upload articles from a wiki server. * HTML preview. Dec 06 » Code Coverage » CodeCoverCodeCover is an extensible open source code coverage tool, with the following features: * Supports statement coverage, branch coverage, loop coverage and strict condition coverage (aka condition/decision coverage). * Performs source instrumentation for the most accurate coverage measurement. * CLI interface, for easy use from the command line. * Ant interface, for easy integration into an existing build process. * Fully integrated into Eclipse. * Customizable HTML and CSV report. * Per test case coverage measurement. * Fully integrated with JUnit for automatic recognition of test cases. * Live notification for manual test case recognition. * Boolean Analyzer which helps to find test cases to increase strict condition coverage. * Correlation Matrix to find redundant test cases and optimize your test suite. Dec 03 » Network Servers » jMOSjMOS - Open java implementation for Media Object Server Communications Protocol (MOS). jMOS is an open source library for working with Newsroom Computer Systems (NCS) and Media Object Servers (MOS) on the Java platform using the fastest processors engines for XML like SAX, JAXP and StAX. Features: * 100% Java. * Specification v.2.8.2. * Support for MOS profiles 0, 1 and 2. * Support multiple listeners and repliers for MOS messages. * Support filters in listeners/repliers. Dec 03 » Web Servers » Cheyenne Secure Web ServerCheyenne Secure Web Server is the WebServer for enterprise systems. Cheyenne Secure Web Server (SWS) v1.0 is a comprehensive solution for enterprise web stack using Apache server and high-end technology. Cheyenne SWS v1.0 combines http firewall, JAVA (J2EE), PHP, PERL and a domain control system with a advanced Apache HTTPD platform. Go To Cheyenne Secure Web Server Nov 30 » XML Parsers » X2JBXML 2 Java Binding (X2JB) is a Java development tool intended for binding of XML entities to Java interfaces and classes (but not vice versa). In theory it is kind of like JAXB, XML Beans or Jakarta Commons Digester but without their complexity. It uses annotations to map attributes and elements into a Java class. Nov 30 » Network Clients » edtFTPjedtFTPj is an FTP client library that allows any Java application to have full embedded FTP functionality. It includes a straightforward but comprehensive API with functions such as put (), get(), chdir(), dir() and pwd(). Active and passive modes are supported, and directory list parsing. Nov 30 » Connection Pools » XAPoolXAPool is an XA database connection pool. XAPool implements javax.sql.XADataSource, and provides connection pooling facilities. XAPool allows to pool objects, JDBC connections and XA connections. Nov 30 » JSP Tag Libraries » eXtremeComponentsThe eXtremeComponents are a series of open source JSP custom tags that render advanced displays. The current component is called the eXtremeTable and is used to display data in a table format. The eXtremeTable supports the following features: * Paginated display of a List of beans, or a List of Maps. * Column sorting of the display. * Multi-column filtering of the display with case-insensitive searching. * Export of the data display to PDF. (FOP XSL-FO) * Export of the data display to Excel or Calc. (POI XLS) * Innovative ideas such as Custom Cells to give you full control over how data is displayed. * All features are highly configurable. Nov 27 » Template Engines » MiniTemplatorMiniTemplator is a compact template engine for HTML files. Features: * Available in Java, PHP and Visual Basic (VB/VBA). * Simple syntax for template variables and blocks. * Blocks can be nested. * Compact, well-documented source code. A single code module. * Documentation and sample programs available. Nov 27 » Build Systems » SchmantSchmant is a build tool for building software artifacts. It uses the scripting support in Java 6 for running build scripts, so build scripts can be written in any supported script language. Schmant provides a set of tasks for common build script tasks, such as compiling Java code, building JAR files, exporting code from Subversion repositories and performing text substitution in files. Schmant aims to be feature-compatible with and much easier to use than Apache Ant. Nov 27 » Charting & Reporting » OpenReportsOpenReports is a flexible open source web reporting solution that allows users to generate dynamic reports in a browser. OpenReports uses JasperReports, an excellent full featured open source reporting engine, and was developed using leading open source components including WebWork, Velocity, Quartz, and Hibernate. Nov 24 » Testing Tools » FitFit is Framework for Integrated Testing. It is a tool for enhancing communication and collaboration. Fit creates a feedback loop between customers and programmers. Fit allows customers and testers to use tools like Microsoft Office or HTML to specify test cases on a user level -- without the need of being programmers. Fit automatically checks those examples against the actual program, thus building a simple and powerful bridge between the business and software engineering worlds. Nov 24 » IDEs » tIDEtIDE is a Java integrated development environment(IDE). tIDE is a small, powerful, quick, efficient, easy and open framework to create 100% Java applications. tIDE requires a JRE version 6 to run. However, tIDE can be used to develop with any of the JDK version 5, 1.4, or even 1.2. tIDE supports many of the new advanced debug tools from JDK6. Nov 24 » JDBC » jTDSjTDS 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. Nov 21 » Swing » OpenJXOpenJX is an interpreter written in Java which allows developers to produce a Java Swing Application or Applet from a few lines of XML and JavaScript. OpenJX is based off the Purple programming language. It incorporated XML and PERL and translated the code into C which it would then compile. OpenJX is similiar to Flex in style. However, its end result is Java Swing. OpenJX applications are also unlike Flex in the following ways: * 100% support for all Java Components in Javascript. * Distributed Plugin System allows for integration of plugins hosted across networks. * Full XML validation. * Interpreted. * XML may be run as Applet or Application with no change to the JX XML file. * Scripting language is Javascript as opposed to Flex's Actionscript. Nov 21 » Project Management » lGanttlGantt is a Java Language Application used to create Gantt Charts and help in evaluating time based activities. Features: * Tasks and constraints with duration and delay down to milliseconds (however UI does not have enough zoom yet). * MSWindows install support * Merge projects * Undo and Redo * Task notes as tooltips (nice) * Tasks, subtasks, dependencies (constraints). * Register Task Completion * Resources and working hours * JPEG Export * Compressed XML Files * Multiple base lines (snapshots) Nov 21 » ERP & CRM » SocrateOpenSocrateOpen is a professional integrated open source ERP/CRM with accounting management, content management, partner management, e-commerce functions. The product is powered by Compiere and based on Socrate - the business application suite from Romania. Nov 20 » Swing » MiGLayoutMiGLayout is a Swing and SWT Layout Manager for Java. It is using String or API type-checked constraints to format the layout. MiGLayout can produce flowing, grid based, absolute (with links), grouped and docking layouts. MiGLayout is created to be to manually coded layouts what Matisse/GroupLayout is to IDE supported visual layouts. Nov 20 » Portals » BnPortalBnPortal is an open source Java/J2EE web portal system (JSR 168 compliant). It is a fork of the Liferay Enterprise Portal. Bnportal has the following features: * Cross-platform, implemented using JavaTM technology. * Runs on all application servers that supported Servlet (2.2) specification. * Standardize on a Content Repository API specification (JSR 170). * Standardize on a Java Portlet API specification (JSR 168). * Template-based layouts including JSP and Velocity, JSTL. * Supports remote XML content feeds. * Custom default home page configuration. * Database user authentication. * In-memory cache for quick page rendering . * Rich Site Summary support for syndicated content. * Integration with Stxx so that you can develop with the newest XML/XSL technology. * Wireless Markup Language (WML) support. * Full Web Application Archive (WAR) support. * Web Application development infrastructure. * Local caching of remote content. * Fully portable across all platforms that support JDK 1.3 and Servlet 2.3. * Profiler Service to access portal pages based on user, security (groups, roles, acls), media types, and language. * Persistence Service available to all portlets to easily store state per user, page and portlet. * Skins so that users can choose colors and display attributes. * Customizer for selecting portlets and defining layouts for individual pages. * User, group, role and permission administration via Admin portlets. * Role-based security access to portlets. Nov 15 » Financial Soft » Mjrz Personal Finance ManagerMjrz Personal finance manager is a simple tool for managing accounts and expenses. It was designed and written to be intuitive and easy to use for home and small business users not familiar with accounting principles like single or double entry accounting. Mjrz PFM is a basic implementation of double entry accounting principles. List of features: * Intuitive and easy to use. * Cross platform, will run on any computer with Java virtual machine installed. * Manage expenses and track account balances. * Generate reports * Create and save complex filters to search transaction history. * Charts and graphs for assets, liabilities, daily networth tracking. * View stock prices/quotes. Graphs tracking historical prices. * Address book. Store contacts, email, phone numbers * Import OFX data for banks and credit cards. Supports latest quicken format. * Import outlook contacts. Import contacts from Yahoo, Gmail etc. * Download current statement for bank and credit card accounts. * Password based encrypted data for security. * Multi language support (English, German, Spanish, Portuguese, Turkish). Go To Mjrz Personal Finance Manager Nov 15 » Web Servers » kangaroo-egg webserverKangaroo-egg is a new webserver. It followed HTTP1.1 protocol and has DQM script language and container(very like Servlet/JSP). So it can used in medium or small web application. It has the following special functions: * Define the dynamic web page's extended name in yourself. * Integrated function of compress HTTP content. * Output file base on different permission. * Easy create static page. Nov 14 » Rule Engines » Hammurapi RulesHammurapi Rules is JSR-94 compliant rules engine. With Hammurapi Rules Java developers don't need to learn a new rules language - rules are written in Java. Hammurapi Rules leverages Java language type system and naming conventions to plug rules into its inference engine. Nov 13 » Collections » google-collectionsThe Google Collections Library is a suite of new collections and collection-related goodness for Java 5.0. This library is a natural extension of the Java Collections Framework. The major new types are: * BiMap. A Map that guarantees unique values, and supports an inverse view. * Multiset. A Collection that may contain duplicate values like a List, yet has order-independent equality like a Set. Often used to represent a histogram. * Multimap. Similar to Map, but may contain duplicate keys. Has subtypes SetMultimap and ListMultimap providing more specific behavior. Nov 13 » Groupware » LibreSourceLibreSource is a versatile collaborative platform. Open Source, modular and highly customizable, LibreSource is adapted to the collaborative software development, groupware, community leading, e-archiving and Web publishing. On a single server, LibreSource can host several projects, several groups of users, and grant fine grain access to the resources. Based on Java/J2EE technology, LibreSource is a modular web server that users can customize online by combining resources and rights: wiki pages, forum, trackers, SCMs, files, download areas, dropbox, forms, etc. Nov 12 » Testing Tools » beneratorbenerator is a framework for creating realistic and valid high-volume test data, used for testing (unit/integration/load) and showcase setup. Metadata constraints are imported from systems and/or configuration files. Data can imported from and exported to files and systems, anonymized or generated from scratch. Domain packages provide reusable generators for creating domain-specific data as names and addresses internationalizable in language and region. benerator is strongly customizable with plugins and configuration options. Nov 12 » Parser Generators » Rats!Rats! is a parser generator for C-like languages (though currently it only generates parsers in Java). It has been designed so that grammars are concise and easily extensible. To this end, grammars are organized into modules that can be easily changed by adding, removing, or modifying alternatives in individual productions and composed with each other through module parameters. Furthermore, it relies on ordered choices to avoid ambiguities, supports syntactic predicates for unlimited lookahead, and integrates lexing with parsing. Finally, it has extensive support for automatically generating abstract syntax trees, thus greatly reducing the need for explicit semantic actions. Nov 12 » Rule Engines » JRuleEngineJRuleEngine is a java rule engine, based on Java Specification Request 94, release 1.1, i.e. Rules can be loaded by an XML file or by means of JRuleEngine APIs, so rules can be stored externally into a database, too. The distribution consists of a library that can be embedded into a java application, so it can be used in any kind of application (web based or not). Nov 12 » IDEs » Cube-JCube-J is an open source light weight IDE for Java. Cube-J's Features: * Java Editor * Line Number * Line Highlight * Keyword Coloring * Auto Indent * Auto Bracket * Compile * Run Application/Applet * File Explorer * Class Outline * Console * Docking Framework * Code Complete * Multiple Look and Feel Nov 07 » ERP & CRM » TNTConceptTNTConcept is a tool to manage customers, providers, contacts, business interactions, projects, week objectives, project, time-tracking, invoices, cash flow, etc. TNTConcept was built with the latest J2EE technologies (JSF, Spring, Hibernate, Maven, Subversion, etc). Nov 07 » Code Analyzers » SonarSonar is a continuous quality control tool for Java applications. Its basic purpose in life is to join your existing continuous integration tools to place all your development projects under quality control. Nov 07 » Rule Engines » TakeTake (aka Mandarax Compiler) consists of a scripting language that can be used to define derivation rules, and a compiler that creates executable Java code and deploys it into running systems. Take is inspired by Mandarax, has a similar API but does not use a separate interpreter \"inference engine\". The deployment process is very similar to how web servers treat server pages. The result is optimized, reflective and easy to maintain code. Nov 07 » Persistence » Space4JSpace4J (or S4J, for short) is a free prevalence implementation in Java. Prevalence is a concept started by Klaus Wuestefeld on how to store data in a real object oriented way, using only memory snapshots, transaction logs and serialization. In addition to the basic functionality it offers transparent support for clustering, passivation and indexing. Nov 05 » JMS » Open Message QueueOpen Message Queue is the open source version of Sun Java System Message Queue. Open message queue is an enterprise quality, production ready, scalable messaging server. It provides a complete Java Message Service (JMS) implementation for message oriented system integration. In addition, Open MQ provides the additional enterprise features that are necessary for enterprise deployments, large and small. It gets its roots from Sun's Java Message Queue and provides all the features, functions and capabilities of the currently available licensed product: Java System Message Queue. Nov 05 » Workflow Engines » Apache ODEApache 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. Nov 05 » ESB » jeeESBJee(G)ESB is an JAVA Enterprise Service Bus. jeeESB will do Webservice Orchestration without any container or no need external containers. By a simple XML it will Webservice Orchestration. jeeESB is using XPath and XmlBeans for configuration. Nov 02 » Bloggers » ThingamablogThingamablog is a cross-platform, standalone blogging application that makes authoring and publishing your weblogs almost effortless. Thingamablog does NOT require a third-party blogging host, a cgi/php enabled web host, or a MySQL database. In fact, all you need to setup, and manage, a blog with Thingamablog is FTP, SFTP, or network access to a web server. Nov 02 » Profilers » StopwatchStopwatch is a free, simple, highly extensible, Java API that allows developers to easily monitor whole application or any part of it. By default Stopwatch generate reports about hits, execution times (total, average, minimum, maximum) as well as load but it can be easily extended to measure anything else by providing custom engine. Out of the box Stopwatch uses an in-memory HSQL database. It is able to persist collected data using a \"storage\". There is \"storage\" provided to persist into HSQL database and custom \"storage\" can be easily integrated. Oct 30 » Web Frameworks » ztemplatesztemplates is a framework for creating web-applications based on Java 1.5. Features: * new and unique action processing module * clean, technology agnostic urls * fully JSP, Velocity and AJAX compatible * state-free * invisible to the web-client * convention over configuration * extensible * small and modular Oct 30 » Search Engines » PiscatorPiscator is a small SQL/XML search engine. Once an XML feed is loaded, it can be queried using plain SQL. The setup is almost identical to the DB2 side tables approach. Oct 27 » Code Analyzers » QALabQALab consolidates data from Checkstyle, PMD, FindBugs and Simian and displays it in one consolidated view. QALab keeps a track of the changes over time, thereby allowing you to see trends over time. You can tell weather the number of violations has increased or decreased - on a per file basis, or for the entire project. It also plots charts of this data. QALab plugs in to maven or ant. Oct 27 » Web Frameworks » HamletsHamlets (previously known as IBM Servlet-based Content Creation Framework) is an open source system for generating dynamic web-pages originally developed by René Pawlitzek at IBM. A Hamlet is a servlet extension that reads XHTML template files containing presentation using SAX (the Simple API for XML) and dynamically adds content on the fly to those places in the template which are marked with special tags and IDs using a small set of callback functions. A template compiler can be used to accerate Hamlets. Hamlets provide an easy-to-use, easy-to-understand, lightweight, small-footprint, servlet-based content creation framework that facilitates the development of Web-based applications. The Hamlets framework not only supports but also enforces the complete separation of content and presentation. Oct 27 » Build Systems » ProximityProximity (px-core) is a generic fetch-and-cache engine with various extra capabilities like indexing. The Px-Core module is driven by Maven bindings (px-core-maven) to implement a Maven Proxy application behaviour. Proximity is in function somewhere between http-proxy and proactive-mirror. Proximity is not HTTP Proxy. One of it's primary use is as Java web application to serve as maven proxy on our company's intranet. As for reducing outgoing traffic (caching central and other maven repos), aggregating more repositories (reducing project config) with acting as one logical repository and for publishing in-house and other external maven artifacts which are not uploadable to ibiblio (like commercial projects, J2EE Jars, etc...). Oct 26 » ByteCode » JdecJdec is a java decompiler which is written using java and swing. It can be used to reverse the bytecodes present in a .class File to produce a Java Source File which can be nearly correct or equivalent (Due To different Interpretations) to the original java file. It also has a good UI. It can decompiler entire jar also. Features: * Decompiling a java class * Decompiling a jar file * Selective Decompilation of a class file * Decompiling 2 Versions * Disassembling a java class * Local variable information * Exception Table Information * Constant Pool Details * Sketelon Display of Class File Oct 25 » Project Management » Open WorkbenchOpen Workbench is an open source Windows-based desktop application that provides robust project scheduling and management functionality and is free to distribute throughout the enterprise. When users need to move beyond desktop scheduling to a workgroup, division or enterprise-wide solution, they can upgrade to CA's Clarity system, a project and portfolio management system that offers bidirectional integration with Open Workbench. Oct 23 » Web Frameworks » MacawMacaw is an object-publishing framework designed for local web applications. Freemarker is used for presentation, Jetty is used as the default web container, and there is a basic integration with Hibernate (but other persistence mechanisms can be used). The framework requires two layers over the top of \"business logic\" classes: a Java web layer where certain simple method and class naming conventions are used to facilitate easy mapping of data to and from HTML, and Freemarker page templates. A small number of Freemarker tags are defined to enable references to Macaw-based objects within the page templates. Oct 22 » Geospatial » GeoGoogle - Free Address StandardizerJava address standardization API that utilizes google's geocoding service. It parses an input address, sends it to google geocode service via http and then parses the return result into an address object. You get a free geocoding service thanks to google. Go To GeoGoogle - Free Address Standardizer Oct 17 » Persistence » QLORQLOR (Q-LOGIC Object Relational Mapping Framework) is a performant Object/Relational Mapping and persistence/query framework for Java. It's easy to use and deploy with other technologies. It is heightly structured and designed. Features: * O2O, O2M and M2M database mappings. * Multiple primary keys without modifying the class diagram. * Cascading primary keys on associations. * Easy inheritance and multi inheritance mapping. * Programmatic mappings. * Multi-files project mapping. * Declarative database encryption function. * Multi-database support. * Clean and easy to read persistence layer log and more... Oct 17 » Charting & Reporting » SWTJasperViewerSWTJasperViewer is a JasperReports viewer component for SWT/JFace based applications and Eclipse plug-ins. The component is designed with reusability in mind so it can suit as many projects as possible. SWTJasperViewer is developed as part of the JasperAssistant report designer where it's used for report preview. Oct 16 » Scripting Languages » SimkinSimkin is a high-level lightweight embeddable scripting language which works with Java or C++ and XML. Simkin enables you to hand over control of part or all of your application to your users. The language has been designed to be easy enough for non-programmers to use, and easy for you to supply a simple API for them to write to. Oct 16 » Project Management » OpenProjOpenProj 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. Oct 14 » Project Management » qaManagerqaManager is a web based application used for keeping track of engineering and customer releases, Schedule and track code reviews, Manage project risks , Resource allocations and related information effectively in QA Projects with very simple installation. Powered by openXava,Java. It supports many databases Oct 14 » JDBC » P6SpyP6Spy is an open source framework for applications that intercept and optionally modify database statements. The P6Spy distribution includes the following modules: * P6Log intercepts and logs the database statements of any application that uses JDBC. This application is particularly useful for developers to monitor the SQL statements produced by EJB servers, enabling the developer to write code that achieves maximum efficiency on the server. P6Spy is designed to be installed in minutes and requires no code changes. * P6Outage detects long-running statements that may be indicative of a database outage proble and will log any statement that surpasses the configurable time boundary during its execution. P6Outage was designed to minimize any logging performance penalty by logging only long running statements. P6Spy includes installation instructions for JBoss, ATG, Orion, JOnAS, iPlanet, WebLogic, WebSphere, Resin and Tomcat. Oct 14 » ERP & CRM » 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. Go To Apache OFBiz (Apache Open For Business Project) Oct 12 » UML & Modeling » MetaBossMetaBoss is an integrated suite of tools for design, development and management of software systems through modeling. It utilizes MDA (Model Driven Architecture) concepts and is primarily oriented at enterprises using Java based tools and technologies. MetaBoss's strength lies in the High Level Enterprise Model based approach, proven coding patterns and ability to utilize the knowledge from the model at various stages of software life cycle. Oct 12 » Testing Tools » Salome-TMFSalome-TMF is a test management framework. Salome-TMF offers features for creating and executing tests. Salome-TMF uses the concept of tests defined in the norm ISO9646. Tests can be manual or automatic, tests are organized in campaigns and are executed with different datasets in different environments. For making test execution fully automatic, Salome-TMF has integrated a script language based on Java, as one of several plugins which extend Salome-TMF functionalities. Oct 11 » Databases » JalistoJalisto is a lightweight transactional database written entirely in Java. Jalisto comes in two versions: Jalisto SE (Standard Edition) and Jalisto ME (Micro Edition). Jalisto SE is an ideal solution for embedded and stand-alone systems. Jalisto ME, which will be available in Q4, targets mobile environments including cell phones, PDAs, and is compatible with the Java 2 Platform Micro Edition (J2ME). Oct 11 » Validation » Spring-Modules ValidationSpring Modules is a collection of tools, add-ons and modules to extend the Spring Framework. The core goal of Spring Modules is to facilitate integration between Spring and other projects without cluttering or expanding the Spring core. Features: * Provides spring integration with commons-validator. * Provides an extensive framework for declaratively define validation constraints on domain models using XML, Java 5 annotations and/or proprietary validation language (Valang). * The framework is based on Spring's Validator infrastructure. Go To Spring-Modules Validation Oct 10 » Swing » InfoNode Docking WindowsInfoNode Docking Windows is a docking windows framework for Swing. It allows to customize the layout of the application. The user can use InfoNode Docking Windows for prototyping and experimenting with different UI layouts for the application. The InfoNode Docking Windows uses themes. Go To InfoNode Docking Windows Oct 10 » Ajax » SweetDEV RIASweetDEV RIA is a complete set of world-class Ajax tags in Java/J2EE. It helps you to design Rich GUI in a thin client. SweetDEV RIA provides you Out-Of-The-Box Ajax tags. Continue to develop your application with frameworks like Struts or JSF. SweetDEV RIA tags can be plugged into your JSP pages. Oct 10 » Testing Tools » QC4JQC4J is an automated, specification-based testing framework, based on QuickCheck for Haskell. It makes it easy to test referentially transparent code, by creating test data automatically through user-defined generators. Oct 09 » Web Frameworks » MakumbaMakumba is a query-centric MVC web framework designed to build database-driven without advanced knowledge of database systems or Java. It is simple to configure and eliminates all the overhead usually needed to get data from the database to the view. Its intuitive tag-library helps building complex sites in much less time than other frameworks. Its main features are: * Makumba List engine (using OQL/HQL as query language), to \"loop\" over records in the database and display them correctly according to their data type. * Makumba Forms, supporting nested forms and making it possible to build complex forms without having to worry about how the data will get stored. * Makumba Data Definitions (MDDs), an abstraction of the data model, making the model design very easy. Oct 09 » CMS » dotCMSdotCMS is an open source, enterprise class content management system that integrates the best features of content management with built in personalization, eCommerce and CRM tools. It allows you to create data structures for various things and create relationships between them for easy database creation of dynamically generated form data with built in validation using standard perl regex that you can modify on the fly. It allows you to create containers that are included in templates that generate pages. You can use Velocity Macros in your templates that supports Ajax through XML-RPC, pagination, searching, and built in mp3 player, slideshow, and gallery functions. For content it has a really pretty WYSIWYG editor for standardized input. Macros available in the dotCMS system: * Pulling and Displaying Contents * Pulling and Displaying Contents in a paginated fashion * Pulling and Displaying Related Content (Relationships) * Photo Gallery * Streaming MP3 Player * MP3 Player Button * MP3 Player Extended * Events Listings * Navigation Menu Builder * Crumbtrails * File Repository * List files on the File System * Title Generator * Displaying Resized Images * Executing a SQL Query * Add a generic Comments component * Add a site map to a page from a specified folder to a specific depth * Add a site map to a page from the root of the site * Get Content Rating * Print the average rating of a content * Print the number of votes on a content * Video Player * Add Permanent Link to a file, page or contentlet * Add RDF trackback to a file, page or contentlet * Display file,page or contentlet trackback history * Tag Cloud * Mailing List * Build RSS From Content * Build RSS * Content Ticker Oct 09 » ERP & CRM » EBI Neutrino R1 ERP / CRMEBI Neutrino is a Framework for Enterprise Resource Planing (ERP) and Customer Relation Mangement(CRM) software solution that combines power of distribution, inventory, E-Commerce, accounting and workflow. Go To EBI Neutrino R1 ERP / CRM Oct 08 » CMS » ContelligentContelligent is a component-based Web Content Management solution. The most important features incorporated into Contelligent are: * Full J2EE compliance. * Sophisticated content management and maintenance. * Easy and scalable content integration. * Dynamic personalization based on user, roles and preferences. * Integration of third party (legacy) application. * Guided separation of Content, Layout and BusinessLogic * High performance caching and dynamic page rendering. Oct 08 » Testing Tools » KeYThe KeY-System is mainly a verification and testing tool for Java with JML/OCL contracts. The tool is being developed since November 1998 by the University of Karlsruhe, Chalmers University of Technology, Gothenburg, and the University of Koblenz. Oct 05 » PDF Libraries » jPodjPod is a mature PDF manipulation and rendering library. It supports COS and PD level manipulation of PDF documents, AFM and TrueTypes fonts, incremental writing of files, and parsing of files that slightly deviate from the specification. Oct 05 » Geospatial » NMapBrowserNMapBrowser is a browser opening the view of maps in format MapInfo. Features: * Support MultiLayer map * Multiplatform (Windows, Linux, MacOS, Solaris) * Fast draw map. * Support of all .tab, .map, .dat formats. * Support map R-Tree index. * ZoomIn/ZoomOut/Pan map tools. * Drawing main objects of MapInfo. * Support of different style lines. * Save map WorkSpace parameters. * Drawing the map labels. * Small size and compact. * Support Mapinfo data file. * Save geoset parameters on XML. * Support MultiLanguage encoding. Oct 05 » Persistence » BeanKeeperNetMind BeanKeeper is an O/R (object/relation) mapping library. Its task is to map java objects to a relational database, and to offer a powerful query service to retrieve them. Oct 04 » Persistence » SeQuaLiteSeQuaLite is a data access framework over jdbc. Features include CRUD operations, Lazy-Load, Cascading, Paging, on-the-fly SQL generation. It helps reduce development time effectively. Oct 04 » Geospatial » uDigThe User-friendly Desktop Internet GIS (uDig) is both a GeoSpatial application and a platform through which developers can create new, derived applications. uDig is a core element in an internet aware Geographic Information System. uDig has been developed with a strong emphasis on supporting the public standards being developed by the Open Geospatial Consortium, and with a special focus on the Web Map Server and Web Feature Server standards. Oct 04 » Persistence » Mr. PersisterMr. Persister is an object persistence API, that makes it possible to read and write objects of any size to and from relational databases. The implemented/planned features includes easier JDBC operations via JDBC templates (Spring style), automatic connection / transaction handling, object relational mapping, dynamic reports, connection pooling, caching, replication, debugging and more. Oct 04 » Web Servers » AsyncWebAsyncWeb is a high-throughput, non blocking Java HTTP engine - designed throughout to support asynchronous request processing. AsyncWeb employs non-blocking selector driven IO at the transport level, and is asynchronous throughout - from the initial parsing of requests, right through to and including the services implemented by users. AsyncWeb breaks away from the blocking request / response architecture found in todays popular HTTP engines. This allows it to be highly scalable and capable of supporting very high throughput - even in high processing latency scenarios. A simple API allows new asynchronous services to be created easily - and out-of-the-box Spring integration allows them to be configured simply and with great flexibility. In addition to \"endpoint\" HTTP services, AsyncWeb also allows configurable \"chains\" of behavior - enabling \"filter\" like behavior to be applied to all requests. Pluggable \"resolvers\" map incoming requests to their target HTTP service - and are given access to the entire incoming request - allowing the routing possibilities to be very flexible. Oct 03 » Web Testing » WatijWatij or Web Application Testing in Java is a testing project that is based on the design of Watir, but implemented in Java. Watij automates functional testing of web applications through IE. Watij supports XPath expressions for finding HTML elements on a page and manages popup browser windows by intercepting them and making them available for interaction. Oct 03 » Persistence » Super CSVSuper CSV is a CSV package for processing CSV files. Super CSV is designed around solid Object-oriented principles, and thus aims to leverage your Object-oriented code, making it easier to write and maintain. Super CSV offers the following features: * The ability to read/write POJO beans, Maps and String lists. * The ability to easily convert input/output to integers, dates, trimming strings, etc... * The ability to easily verify data conforms to some specification, such as number ranges, string sizes, uniqueness and even optional columns. * The ability to read/write data from anywhere in any encoding. As long as you provide a Reader or a Writer. * Support for Windows, MAC and Linux line breaks. * Configurable separation character, space character end end of line character (for writing files) * Correctly handling of characters such as \" and , * Operates on streams rather than filenames, enabling you to read/write CSV files e.g. over a network connection Oct 03 » PDF Libraries » PDFjetPDFjet Open Source Edition is a library for dynamic generation of PDF documents from Java and .NET. The PDFjet Open Source Edition has the following features: * Drawing support for: points, lines, boxes, circles, bezier curves, polygons, stars, complex paths and shapes. * Text: unicode support, text kerning when using the Helvetica and Times-Roman families of core fonts, embedding hyperlinks. Oct 02 » Aspect-Oriented » Azuki FrameworkThe Azuki Framework is a java application framework, designed to reduce the development, deployment and maintenance costs of software systems. The Azuki Framework provides also an unique combination of powerful design patterns (decorator, injection, intercepter, command, proxy...). It provides a rapid application assembly from known components in order to build large systems. The software conception is split into two main stages : * Creation of independent components (technical & business service). * Definition of component dependencies (weaving) Oct 02 » ERP & CRM » Centric CRMCentric CRM is an enterprise-class Open Source Customer Relationship Management web application that allows companies to better develop and maintain customers. Key application modules include Sales, Help Desk, Project Management, Communications, and Document Management. The license prevent the redistribution of the source code. Oct 01 » Geospatial » GeOxygeneGeOxygene aims at providing an open framework which implements OGC (Open Geospatial Consortium) specifications and ISO standards for the development and deployment of geographic (GIS) applications. It is an open source contribution of the COGIT laboratory at the IGN (Institut Geographique National), the French National Mapping Agency. It provides users with an extensible object data model (geographic features, geometry, topology and metadata) which implements OGC specifications and ISO standards in the geographic information domain. Data are stored in a relational DBMS (RDBMS) to ensure a rapid and reliable access to the system but users do not have to worry about any SQL statements: they model their applications in UML and code in Java. Mapping between object and relational environments is performed with open source software. At present, OJB is supported and the mapping files for the storage of geographic information in Oracle or PostGIS are provided to users. Oct 01 » Security » Bouncy Castle CryptoThe 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 Oct 01 » Project Management » airTODO - Project Management ToolairTODO is a minimalist project management tool, intended for customer, project, module, operation, task and time management, which can work with local and/or remote repositories. Tool composed as single file with both, client (Eclipse plugin) and server functionality. Features: * Based on PMBOK-compliant project management methodology. * Contain basic CRM features. * Agile project management ready. * Support Email task delegation. * OpenOffice integration. * Multilanguage. * Both, Client-Server and Serverless mode. * Platform independed (supports Windows, Linux, Mac, Solaris, AIX). * Export to CSV format. Go To airTODO - Project Management Tool Sep 29 » ERP & CRM » Wavelet Enterprise Management Portal (EMP)EMP is a web-based ERP built on J2EE framework that caters for the needs of franchises and chain stores. It includes CRM, Point of Sales, Inventory Management, Warehouse Management, System Administration, Accounting, Finance, Supply Chain, Distribution & Logistic, Trading modules, etc. Go To Wavelet Enterprise Management Portal (EMP) Sep 28 » Network Servers » Apache JamesThe 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. Sep 28 » ERP & CRM » Openbravo ERPOpenbravo is an open source ERP solution designed specifically for the SME (small to midsize firm). Developed in a web based environment, it includes many robust functionalities which are considered part of the extended ERP: procurement and warehouse management, project and service management, production management, and financial management. Additionally, this same application seemlessly integrates the rest of the areas, starting with a management scope directly helping clients with its CRM (Customer Relationship Management) and BI (Business Intelligence). Sep 28 » Financial Soft » CleanSheetsCleanSheets is a spreadsheet application. It features a formula language that closely resembles that of Microsoft Excel, and extensions for aiding end-user programmers in developing correct spreadsheets. The application relies on ANTLR for generating the formula compiler and the JFC/Swing JTable component for spreadsheet visualization. Sep 28 » Financial Soft » GFP (Personal Finance Manager)GFP(Personal Finance Manager) is a software that aids on personal finances administration offering a variety of reports, charts and filtering data on screen where is possible to obtain important information for your financial health. Go To GFP (Personal Finance Manager) Sep 27 » Geospatial » GeoServerGeoServer is an open source server that connects your information to the Geospatial Web. GeoServer allows to publish and to edit data using open standards. The information is made available in a large variety of formats as maps/images or actual geospatial data. GeoServer's transactional capabilities offer robust support for shared editing. GeoServer supports WFS-T and WMS open protocols from the OGC to produce JPEG, PNG, SVG, KML/KMZ, GML, PDF, Shapefiles and more. GeoServer is built on Geotools. Sep 27 » Geospatial » OpenJUMPOpenJUMP is an open source GIS software. It is based on JUMP GIS by Vivid Solutions. Features: * OpenJUMP is a Vector GIS that can read rasters as well. * OpenJUMP works, even with medium size datasets, and with professional touch. * OpenJUMP provides a GIS API with a flexible plugin structure, so that new features are relatively easy to develop around the sound mapping platform. * OpenJUMP utilizes standards like GML, WMS and WFS. * OpenJUMP supports a couple of languages (English, Finnish, French, German, Portuguese and Spanish). Sep 27 » Geospatial » gvSIGgvSIG is a tool oriented to manage geographic information. It is characterized by a user-friendly interface, with a quick access to the most usual raster and vector formats. In the same view it includes local as well as remote data through a WMS, WCS or WFS source. Sep 27 » Geospatial » deegreedeegree is a Java Framework offering the main building blocks for Spatial Data Infrastructures. Its entire architecture is developed using standards of the Open Geospatial Consortium (OGC) and ISO/TC 211 (ISO Technical Committee 211 -- Geographic Information/Geomatics). deegree encompasses OGC Web Services as well as Clients and security components. Sep 27 » Geospatial » JTS Topology SuiteJTS Topology Suite is an API of 2D spatial predicates and functions. JTS conforms to the Simple Features Specification for SQL published by the Open GIS Consortium. JTS provides a complete, consistent, robust implementation of fundamental 2D spatial algorithms. Sep 27 » Geospatial » GeoNetworkGeoNetwork opensource is a standardized and decentralized spatial information management environment, designed to enable access to geo-referenced databases, cartographic products and related metadata from a variety of sources, enhancing the spatial information exchange and sharing between organizations and their audience, using the capacities of the internet. This approach of geographic information management aims at facilitating a wide community of spatial information users to have easy and timely access to available spatial data and to existing thematic maps that might support informed decision making. Sep 27 » Geospatial » GeoToolsGeoTools 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. Sep 26 » General Purpose » Apache POIThe 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. Sep 26 » SQL Clients » JackcessJackcess is a pure Java library for reading from and writing to MS Access databases. It is not an application. There is no GUI. It's a library, intended for other developers to use to build Java applications. Sep 26 » SQL Clients » JSQLToolJSQLTool is java swing SQL Tool used to view/edit database tables content and to execute sql scripts, by connecting to a database using JDBC/ODBC. JSQLTool supports multi-language and internationalization. Sep 25 » PDF Libraries » JPedalJPedal is an application for viewing and printing of pdf files. Features of JPedal: * JPedal supports a wide variety of different font technologies. * Jpedal supports the following colour spaces: DeviceRGB, CalRGB, DeviceGRAY, CalGRAY, ICC, indexed, DeviceCMYK and DeviceN. * Jpedal also reads and displays raw tiff, jpg and gif file formats. * Text can be extracted from an entire document, a single page, from within page co-ordinates or from tables. Font information and metadata can also be extracted. * JPedal can extract any image from a pdf with a choice of output options. * View, edit, print and extract content from interactive FDF forms. * JPedal includes an interactive search function that allows you to search either the current page or the entire pdf document for occurrences of a word or a phrase. Sep 25 » Testing Tools » GrandTestAutoGrandTestAuto is a tool for unit testing applications written in Java. GrandTestAuto automatically runs all unit tests for an application and at the same time checks that the unit tests provide sufficient coverage. Sep 25 » Charting & Reporting » FreeReportBuilderFreeReportBuilder is an application to create a simple report quickly. Features of FreeReportBuilder: * FreeReportBuilder can work with any database that has a JDBC driver. * Include FreeQueryBuilder to create SQL queries without directly writing SQL. * Frb create graphs from the report because include JFreeChart . * JDBC administrator. * Load, save report in xml format. * Drag&Drop of any component. * Single-multi-selection of the component. * You can add images. * Headers and footers, group headers and footers. * On label, column, text you can change: color, font, etc. * Nested Report (report in report). * You can insert \"Retrieval arguments\" for to run a same report with different parameters on the WHERE clause. * Print/Save the results of report. Sep 24 » ERP & CRM » EberomEberom is a web based CRM and Project Management Tool. It runs on top of MySQL and and is based on Hibernate, Struts, Jasper Reports and POI HSSF. Sep 24 » ERP & CRM » Daffodil CRMDaffodil CRM is an open source customer relationship management software that enables seamless coordination between sales, marketing, customer service, field support and other functions that handle customer contact for an enterprise. Features of Daffodil CRM: * Campaign facility * Customizable Views * Applying Quick Filters * Automatic Mail Attachment * View summary of latest interaction * Efficient leads management * Track lead history & Recent Action/Interaction * User friendly interface * Availability of a built-in database * Data integrity and security * Company backed project * Supports B2B and B2C functions Sep 24 » SQL Clients » Execute QueryExecute Query is an desktop sql client written in java. It includes a query editor, a table browser, import/export capabilities, a sql script generator and a visual editor. Sep 23 » Network Clients » HyperPoolHyperPool is Java project for network services management. Features: * TCP (HTTP/1.1, HTTPS, FTP), UDP and SOCKS5 protocols support * group connection to Internet (proxy) * monitoring of the current connections * automatic files reloading if server connection was lost * reconnecting with the server in case of a receipt delay of the data * creation of sites copies with preservation of folders structure * monitoring and limitation of the sent and received traffic speed * log of the network connections * auto dialup to provider * priority setup for network streams * antivirus scan of incoming files \"on the fly\" Sep 23 » Swing » Javu WingSJavu WingS is a set of lightweight Java components providing most of the controls, needed for a typical application/applet. The component hierarchy of Javu WingS is similar to Swing, but the API is simplified and closer to AWT. Most of the components are derived from WingComponet which (like JComponent) is derived from java.awt.Componet Top level classes WingApplet, WingDialog, WingFrame and WingWindow are derived from appropriate AWT classes and contain WingRootPane (analogous to JRootPane). The components use typical AWT events, work with AWT layout managers, and can be used together with AWT and Swing components. Sep 22 » Portals » iPoint PortaliPoint Portal Open Edition is a complete open source collaborative web portal. iPoint comes with a complete set of portlets with which you can create fully featured portals, Internet sites and collaborative workspaces. Features: * Full Content Management Capabilities for static Content on any page. * Web 2.0 collaboration features including Wikis, Calendars, Blogs, Forums and Document Sharing. * Rich Media support including embedded images, audio and video. * Full text search of all content. * Extensive notification and messaging support including eMail, SMS and portal. * Easily branded with full XHTML and CSS support. Blue Dot Bullet RSS support both to publish and consume RSS feeds. * WebDAV support to drag and drop files for sharing. * Easily extensible through building custom portlets, templates and views. * Standards compliant supporting JSR 168 portlets on any page. * Easily Integrated with other applications using portlets. * Java platform , runs on any hardware platform that supports Java e.g. Windows and Linux. * Strong security with permissions on individual pages and portlets. Sep 21 » Financial Soft » JMoneyJMoney is a personal finance manager. It supports multiple accounts in different currencies, double entry banking, income/expense categories, various reports and Quicken file (QIF) exchange. It is built using the Eclipse RCP and can be extended using plug-ins. Sep 21 » Financial Soft » jGnashjGnash 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. Sep 21 » Security » Acegi SecurityAcegi Security is a powerful, flexible security solution for enterprise software, with a particular emphasis on applications that use Spring. Using Acegi Security provides your applications with comprehensive authentication, authorization, instance-based access control, channel security and human user detection capabilities. Sep 20 » JSP Tag Libraries » Struts MenuStruts Menu is a set of JSP tags that allows creation of many different menu systems from an XML file or database tables. It supports menus with dynamic javascript. It can be used outside of a Struts application. It has been successfully implemented in AppFuse, Struts, Struts 2, Spring MVC, Tapestry and JSF versions. Sep 20 » Validation » jReformjReform is a library for processing and validating HTML forms that aims to simplify web development by automating validation of form inputs. * Inputs are evaluated according to predefined criteria * Validation is performed behind the scenes, allowing developer to concentrate on application logic. * Additional manual validation can be be added if necessary. Sep 20 » Persistence » jPersistjPersist is an extremely powerful object-relational database persistence API that manages to avoid the need for configuration and annotation; mapping is automatic. It uses JDBC, and can work with any relational database and any type of connection resource. It uses information obtained from the database to handle mapping between the database and Java objects, so mapping configuration is not needed, and annotation is not needed. In fact, there is no configuration needed at all. Sep 19 » Expression Languages » JUELJUEL (Java Unified Expression Language) provides a lightweight and efficient implementation of the unified expression language (EL) as specified by the JSP 2.1 standard. Though still part of JSP, the EL API has been separated into package javax.el and all dependencies to the core JSP classes have been removed. Sep 19 » Expression Languages » Java Expression Language (JEXL)Java Expression Language (JEXL) is an expression language engine which can be embedded in applications and frameworks. JEXL is inspired by Jakarta Velocity and the Expression Language defined in the JavaServer Pages Standard Tag Library version 1.1 (JSTL) and JavaServer Pages version 2.0 (JSP). While inspired by JSTL EL, it must be noted that JEXL is not a compatible implementation of EL as defined in JSTL 1.1 (JSR-052) or JSP 2.0 (JSR-152) Go To Java Expression Language (JEXL) Sep 19 » Eclipse Plugins » Argus CodewatchArgus is a highly integrated Eclipse plug-in. The purpose of this plug-in is to add additional Errors and Warnings to the Eclipse Framework, assisting Java programmers to create bug free, high quality code. Obvious problems such as syntax errors are already detected by the Java compiler, and therefore will not be checked by Argus Codewatch. Instead, the plug-in tries to detect bad coding practices (such as unconditional loops) or violations of contract (such as when overriding Object.equals()). This plug-in also provides a framework for adding new checks. This allows developers to easily add new checks as they see fit, or to provide quickfixes to existing checks. Sep 19 » Expression Languages » Jakarta JXPathJXPath 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. Sep 19 » Web Frameworks » Trimpath JunctionTrimPath provides open-source (GPL & APL) web technologies, focused around JavaScript, synchronization, MVC, occasionally connected computing, and Google Gears. The open source Junction framework is a conventions-over-configuration, synchronizing web MVC framework for JavaScript. Features of Junction: * Junction is a riff of the Ruby on Rails framework into the world of JavaScript. * Junction makes your web application perform great. * Junction is a synchronizing MVC framework for building applications on top of Google Gears, but also does not require Google Gears if you don't want it. * Junction automatically synchronizes your client-side and server-side code and RDBMS's. * Junction still works even if the network is occasionally-connected or offline. * Junction can run your application in the web-browser or on a Rhino-based server, or both. It's your choice. And, you write your application code just once to support these different runtime options. No duplicate logic. Sep 19 » Scripting Languages » ScalaScala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages. It is also fully interoperable with Java. Sep 19 » Parser Generators » Coco/RCoco/R is a compiler generator, which takes an attributed grammar of a source language and generates a scanner and a parser for this language. The scanner works as a deterministic finite automaton. The parser uses recursive descent. LL(1) conflicts can be resolved by a multi-symbol lookahead or by semantic checks. Thus the class of accepted grammars is LL(k) for an arbitrary k. There are versions of Coco/R for different languages. Sep 19 » Expression Languages » JExelJExel is a Java based expression language. It is a non-compiled scripting language parser that can be useful in many different applications. It can handle most basic mathematical and string expressions with the built in operator set fairly easily. Sep 19 » Expression Languages » MVELMVEL is a powerful expression language for Java-based applications. It provides a plethora of features and is suited for everything from the smallest property binding and extraction, to full blown scripts. MVEL is general purpose. It may be useful as an extension to anything from use in JSP Tag Libraries, to the configuration facilities of your library/framework. In addition to being an expression language, MVEL also comes packaged with an equally high-performance templating system similar to Velocity and FreeMarker. Sep 19 » Expression Languages » OGNLOGNL stands for Object-Graph Navigation Language; it is an expression language for getting and setting properties of Java objects. You use the same expression for both getting and setting the value of a property. The ognl.Ognl class contains convenience methods for evaluating OGNL expressions. You can do this in two stages, parsing an expression into an internal form and then using that internal form to either set or get the value of a property; or you can do it in a single stage, and get or set a property using the String form of the expression directly. Sep 18 » Charting & Reporting » QN PlotThis chart implementation provides graphs of one or more functions as Swing components. The design was made to render large amounts of real-time data. * Coordinates are of type BigDecimal for arbitrary-precision * High performance * All classes are completely thread-safe * The axis has schemes to automatically choose stepsizes for the index Sep 18 » Build Systems » Anthill OSAnthill OS is a Build Management Server. Anthill allows multiple users to work together and consistently access only the latest build, complete with changes from all programmers working on a project. Anthill performs a checkout from the source repository of the latest version of a project before every build and tags the repository with a unique build number. Anthill then updates a project intranet site with artifacts from the latest build. Sep 18 » J2EE Frameworks » jWebAppjWebApp is a J2EE Servlet-based Model-View-Controller framework that allows you to use anything you like for the Model and View. jWebApp allows independence in model and view technologies. You can use any model/business layer technologies, any database-access technologies, any web-authoring technologies, and plain old HTML and HTML forms. Sep 17 » SQL Clients » LiquiBaseLiquiBase is a DBMS-independent library for tracking, managing and applying database changes. All database changes (structure and data) are stored in an XML-based descriptive manner and checked into source control. LiquiBase has the following features: * Supports merging of changes from multiple developers * Works well with code branches * Allows you to manage production data as well as various test datasets * Works in an environment where multiple machines will be attempting to migrate the database concurrently * Supports automated change-applying or generation of SQL scripts that can be approved and applied by a DBA * Supports rolling back changes * Can create database \"diff\"s and can generate change logs from them Sep 17 » Databases » JODBJODB (Java Objects Database) is an open source object-oriented database. The database uses a cache based on Soft References to avoid using too much memory when the application requires it. The queries are optimized to use the minimal possible object instantiations during the search to avoid excessive garbage collection. Sep 17 » UML & Modeling » AndroMDAAndroMDA is a code generation framework that follows the Model Driven Architecture (MDA) paradigm. It takes a UML model from a CASE-tool and generates classes and deployable components (J2EE or other) specific for your application architecture. AndroMDA comes with a host of ready-made cartridges like Axis, jBPM, Struts, JSF, Spring and Hibernate. AndroMDA also contains a toolkit for building your own cartridges or customize existing ones - the meta cartridge. Sep 16 » Connection Pools » MiniConnectionPoolManagerMiniConnectionPoolManager is a lightweight JDBC connection pool manager. It may be used in Java servlets as well as in Java standalone applications. It only requires Java 1.5 (or newer) and has no dependencies on other packages. Go To MiniConnectionPoolManager Sep 16 » NoSQL Databases » PerstPerst is an object-oriented embedded database for Java and .NET applications that need to deal with persistent data. It is easy to use and provides high performance. Although Perst is very simple, it provides fault-tolerant support (ACID transactions) and concurrent access to the database. The main advantage of Perst is its tight integration with programming languages. Sep 15 » Validation » iScreeniScreen is a Java Object Validation Framework, suitable for validating Java Objects (including JavaBeans) to ensure that they are \"valid\" according to some definition (usually via configuration). Sep 15 » Web Frameworks » MentawaiThe Mentawai goal is to be a simple, flexible, joyful and productive Java web framework. * Simple: Mentawai is very simple to install, configure and understand. * Flexible: The Mentawai architecture is very flexible and well organized, enabling any mortal to create new functionalities to the framework by implementing its core classes. The core of the framework is all based on interfaces. * Complete: Mentawai offers transparent solutions for the repetitive tasks of every web project. * Joyful: Mentawai offers programatic configuration with 100% pure Java code. * Productive: Mentawai offers simple and practical solutions to most of the web development problems, reducing the developing time. Sep 15 » Validation » OValOVal is a pragmatic and extensible general purpose validation framework for any kind of Java objects (not only JavaBeans) and allows you: * to easily validate objects on demand, * to specify constraints for class fields and getter methods, * to validate objects based on certain EJB3 JPA annotations (namely all field annotations that require a not-null value), * to configure constraints via annotations, POJOs and/or simple XML files, * to express constraints using scripting languages such as Groovy, BeanShell, and JavaScript * to easily create custom constraints, and * to develop new constraint configuration mechanisms When using AspectJ certain programming by contract (aka Design By Contract or DBC) these features are available: * specifying constraints for constructor parameters that are automatically checked when a constructor is called (preconditions), * specifying constraints for method parameters that are automatically checked when a method is called (preconditions), * requiring a certain object state before a method is called (preconditions) * enforcing object validation after an object has been created (invariants), * enforcing object validation before/after a method of an object is/has been called (invariants), * specifying constrains for a method's return value that are automatically checked after a method has been executed (postconditions), * requiring a certain object state after a method is called (postconditions). Sep 15 » Validation » Commons ValidatorCommons 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. Sep 14 » Testing Tools » JumbleJumble is a Java mutation testing tool that works in conjunction with JUnit. The purpose of mutation testing is to provide a measure of the effectiveness of test cases. A single mutation is performed on the code to be tested, the corresponding test cases are then executed. If the modified code fails the tests, then this increases confidence in the tests. Conversely, if the modified code passes the tests this indicates a testing deficiency. Sep 14 » Testing Tools » DepUnitDepUnit is a data and dependency driven unit test system for Java. DepUnit is ideal for sets of tests that depend on data from previous tests. DepUnit makes it easy to run the same tests over multiple data sets. Sep 14 » Profilers » TIJmpA small and fast memory profiler for java/6 and later. TIJjmp uses C code to talk to the jvm and it uses swing to show the the tables of information. So tijmp is written in C (using jvmti and jni) and Java. TIJmp runs in the same jvm as the program being profiled. This means that it can easily get access to all things jvmti/jni has to offer. Sep 13 » Workflow Engines » Imixs IX WorkflowThe Imixs Open Source Project was created to promote the development of workflow technologies based on open software standards. Within the scope of this project, various technologies and procedures are published that allow and support the development of open, process-oriented workflow systems. The project comprises the development of a framework to create workflow systems as well as a reference implementation based on the JEE standard. Additionally, the project includes the development of a graphic editor for creation and management of WorkflowModels within the Eclipse framework and also client frameworks to be build in user interfaces. Sep 13 » SQL Clients » SqlShellA command line sql client that is targeted to be as userfriendly as possible on the commandline. It contains features like tabcompletion, history, help. It uses JDBC so it can be used in as many database types as possible. Sep 13 » Workflow Engines » WilosWilos is an orchestration process software. It allows users to manage a project driven by a process engineering taking from an exported xml file from Eclipse Process Framework Composer. The process is based on the Software Process Engineering MetaModel (SPEM2) specification of the OMG standard. Sep 13 » Portals » OpenPortalEnterprise-class Portal Server open source project. This project is derived from the Sun Java System Portal Server 7 product. This project will expose Portal Server's mature and proven enterprise-class capabilities to the community and evolve it there through active participation from the community of developers, users, partners, and like-minded individuals. Sep 12 » SQL Clients » VelaVela is SQL and PL/SQL client with graphical user interface developed as a open source front end tool using JDBC and Java Swing. It supports Oracle Database. Vela is a Front-End tool for a Oracle developer. It supports most of the common developer tasks such as browsing database objects, viewing table definitions, viewing table data. It also supports editing and compiling SQL and PL/SQL scripts. Sep 12 » Persistence » Apache OpenJPAIt is a feature-rich implementation of the persistence part of Enterprise Java Beans 3.0, also known as the Java Persistence API (JPA), and is available under the terms of the Apache Software License. OpenJPA can be used as a stand-alone POJO persistence layer, or it can be integrated into any EJB3.0 compliant container and many lightweight frameworks. Sep 12 » J2EE Frameworks » JAG Java Application GeneratorJAG is an application that creates complete, working J2EE applications. It is intended to alleviate much of the repetitive work involved in creating such applications, while providing a means of quality assurance that the applications created will be of consistent quality. The projects generated by JAG have the following features: * The generated applications build with Apache Ant * EJB and Hibernate features such as relations * J2EE 'BluePrint' patterns such as Session Facade, Service Locator, Business Delegate, Fast Lane Reader and Value Objects. * A pluggable service tier: ServiceLocator or Spring Framework. * A pluggable business/persistence tier: EJB2/3 or Hibernate 2/3 * Tapestry 4 presentation-layer for a component based web tier using java 5 annotations * Webservices using XFire or Axis * Acegi security login * JasperReports PDF reports * A presentation layer (web application) that takes advantage of the latest features of Struts * Extensive use of Java 5 Annotations or XDoclet in the generated application Go To JAG Java Application Generator Sep 11 » Web Services » MetroMetro is a high-performance, extensible, easy-to-use web service stack. It is a one-stop shop for all your web service needs, from the simplest hello world web service to reliable, secured, and transacted web service. Sep 10 » Eclipse Plugins » EclEmmaEclEmma is a free Java code coverage tool for Eclipse, available under the Eclipse Public License. Internally it is based on the great EMMA Java code coverage tool, trying to adopt EMMA's philosophy for the Eclipse workbench. Sep 09 » Testing Tools » UnitilsUnitils is an open source library aimed at making unit testing easy and maintainable. Unitils builds further on existing libraries like DBUnit and EasyMock and integrates with JUnit and TestNG. Unitils provides general asserion utilities, support for database testing, support for testing with mock objects and offers integration with Spring and Hibernate. Sep 09 » Chat Servers » Ace OperatorAce Operator is a collaboration tool for enabling interactive communications between live company representatives and online users from web sites. By simply clicking on the \"live help\" button, online customers can get access to company representatives and exchange information in real-time. In addition, company representatives can monitor online users and initiate a dialog with a user. Ace Operator is ideal for online companies that offer products and services over the web. It is also suitable for pre-sales collaboration and for customer support centers. Ace Operator can be deployed in a hosting environment as a revenue generating application for ASP/ISP and web hosting companies. Ace Operator runs on any Java-enabled computer and is supported on Linux and Windows operating systems. Sep 08 » EJB Servers » Panther Application ServerPanther is a lightweight, modular Java application server, suitable for embedding in a web server, and intended as an alternative to the current standard of large-scale/monolithic application servers. It provides basic stateless/stateful session beans, a distributed, cached jdbc service, and jython-based configuration. Go To Panther Application Server Sep 08 » Swing » AutoUIAutoUI is a Java data binding toolkit that automatically constructs user interface elements for instances of annotated java data object classes. User interface development tasks are automatically generated at runtime. It supports main Java data types, inheritance, collections and embedded objects. Sep 07 » Swing » GlueMVCGlueMVC is a model-view-controller framework for swing, swt and awt applications that assist the developers to write programs by applying the MVC pattern. This frameworks uses the DAO, Business Service and Business Rule patterns. Sep 07 » Swing » AbaGuiBuilderThe Abacus Java GUI Builder is a WYSIWYG tool that allows the application developer to place UI Java swing components on the canvas and have it render exactly as you see on the screen. Sep 07 » Swing » JToasterJava Toaster is a java utility class for your swing applications that shows an animated box rising from the bottom of your screen with a notification message and/or an associated image (like msn online/offline notifications). Sep 07 » Swing » HitchHitch simplifies the translation of values between Swing JComponents and JavaBeans/Maps. It accomplishes this through an explicit or automatic configuration that defines how and what properties and components are to be bound. The bean/map(s) that the JComponents bind to are referred to as the Model. The collection of JComponents that are used to collect data are collectively referred to as a Form. Features: * Annotation and programmatic configuration * Binding to POJOs and Maps * Auto Binding to POJOs * Pluggable Component Handlers and Type Handlers Sep 07 » Eclipse Plugins » Spring IDESpring 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 Sep 06 » Swing » JGoodies BindingThe 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. Sep 06 » Swing » JGoodies ValidationThe JGoodies Validation helps you validate user input in Swing applications and report validation errors and warnings. It has been designed to work with different architectures and programming flavors. Sep 06 » Network Clients » LoboLobo is a web browser written completely in Java. It has support for HTML 4, Javascript and CSS2 (still with some limitations). Lobo has a browser API and a plugin infrastructure. Its rendering engine is Cobra. Sep 05 » Logging Tools » JDBC LoggerJDBC Logger is a Java tool that intercepts and logs all database statements that use JDBC. It is intended for developers to monitor SQL statements generated by EJB, Hibernate or any other database access tool that doesn't display them. Sep 05 » Text Processing » StringSearchThe Java language lacks fast string searching algorithms. StringSearch provides implementations of the Boyer-Moore and the Shift-Or (bit-parallel) algorithms. These algorithms are easily five to ten times faster than the implementation found in java.lang.String. This library contains implementations of the following pattern matching algorithms: * General purpose algorithms * Searching with wildcards * Searching with character classes * Searching with mismatches Sep 05 » Text Processing » Jakarta OROThe 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. Sep 05 » General Purpose » NativeCallNativeCall lets you call native methods from Java without JNI code. With NativeCall, you can call all methods implemented in any DLL. It supports structs, Strings, primitive types (int and boolean), byte and char arrays and output parameters. NativeCall is implemented for the Windows platform. Sep 04 » J2EE Frameworks » OpenEnterpriseXOpenEnterpriseX is a free, open source, comprehensive and standards-based Java(TM)/J2EE(TM) development suite distribution for building enterprise applications. It is based on leading Open Source web servers, containers, frameworks, utilities, database and integrated development editor. The distribution will not in any way hinder your usage of any of the open source packages individually. Instead, it serves to help you use the packages easily. Sep 04 » General Purpose » WinRun4JWinRun4j is a java launcher for windows. It is an alternative to javaw.exe and provides the following benefits: * Uses an INI file for specifying classpath, main class, vm args, program args. * Custom executable name that appears in task manager. * Additional VM args for (eg.) more flexible memory use. * Built-in icon replacer for custom icon. * Built-in pre-VM splash screen with auto-hide. * JNI access INI file and splash screen. Sep 03 » RSS & RDF Tools » YarfrawYarfraw is an open source API library for working with RSS feed. It offers an unified data model in builder style to help developers to build and to read RSS feeds. The API now fully supports RSS 2.0, Rss/RDF 1.0, and Atom 1.0 feeds. There is no directly builder support for RSS 0.9x, but the API is able to read RSS 0.9x formated feeds with no problems because RSS 2.0 should be backward compatible with its previous revisions. Sep 01 » CMS » JAPSJAPS is an open source J2EE portal/cms framework with administration interface. JAPS is designed for rapidly creating multi-lingual portals and for ease of integration with existing services. It has been used extensively within Public Administration portals, public sites and large company intranets. Aug 31 » General Purpose » JFig - Java Configuration SolutionJava applications are typically deployed in multiple environments and platforms, each requiring some unique configuration. JFig gives developers a simple yet powerful tool to manage their applications configuration. It allows them to: * Store application configuration in one common repository of XML files * Access configuration data using one common, * Easily define multiple configurations, dynamically modifying those variables that need to change in different situations * Eliminate the error prone practice of defining the same configuration variables in multiple locations * Ease the management, deployment, and control of configuration files Go To JFig - Java Configuration Solution Aug 31 » Testing Tools » T2T2 is a random testing tool. As one, it is fully automatic, but one must keep in mind that the code coverage of random testing is in general very limited. It should be used as a complement to other testing methods. T2 checks for internal errors, run time exceptions, method specifications, and class invariant. T2 does not check individual methods in isolation; instead T2 generates random executions where methods may interfere with each other, and thus it may discover more subtle errors. Violating executions can be saved for re-test (regression). No special specification language is needed. Specifications are written in plain Java. The current state is prototype. Aug 31 » CMS » RiotRiot is content management system based on the Spring framework. Its non-invasive design allows you to add CMS features to existing applications. Content can be edited directly within the page using an intuitive AJAX interface. Additionally Riot can be used to edit/manage POJOs no matter how they are persisted (Hibernate, JPA, custom DAO). Aug 30 » Project Management » TaskBlocksTask Blocks is a simple, easy to use task-scheduling application, in which a user's tasks cannot overlap. It includes Bugzilla export. Aug 30 » Persistence » PersistPersist is a minimalist Java ORM/DAO library designed for high performance and ease of use. Unlike most ORM tools, Persist does not aim to completely isolate application code from relational databases. Instead, it intends to minimize the effort to handle data stored in a RDBMS through JDBC, without making compromises on performance and flexibility. Aug 30 » Web Services » GombaGomba is a collection of Java servlets that allow developers to quickly build RESTful web services that expose data accessed via the JDBC API to the Web. Gomba can be used as a middle-tier for dynamic websites, as a syndication system or even as a database reporting tool. Aug 30 » Web Servers » HttpdBase4JHttpdBase4J is an embeddable Java web server framework that supports HTTP, HTTPS, templated content and serving content from inside an archive. The classes are easy to extend as they utilize the Hollywood 'don't call us, we'll call you' principle to allow the user to overide the framework behaviour during all the different phases of the HTTP transaction. Aug 29 » Testing Tools » DumbsterThe Dumbster is a very simple fake SMTP server designed for unit and system testing applications that send email messages. It responds to all standard SMTP commands but does not deliver messages to the user. The messages are stored within the Dumbster for later extraction and verification. The Dumbster slots itself very easily into your testing strategy. As long as your application talks to an email server using SMTP then the Dumbster can be used to test the application with no code changes. The Dumbster is useful in the following scenarios: * System testing an application. It is important at this stage of the development process that all functionality is active and not stubbed out. The Dumbster is able to respond just like a regular SMTP server but delivers no email messages to end users. This is important if you are testing with real world data. In addition it is possible to verify that the correct email messages would have been delivered to the end users by querying the Dumbster. * Unit testing code that needs to send email. Again the Dumbster can be used as a dumpster to collect all email and ensure nothing is delivered to real users. In addition if the code being tested needs to deliver a specific set of email messages, with specific content then the Dumbster can be queried from within the unit test to verify correct delivery and content. The Dumbster is written in Java and is open source. It is distributed under the Apache License 2.0. Aug 29 » Web Frameworks » CalyxoThe Calyxo framework encourages in MVC model 2 based web application development. It offers support for true modular applications, i18n, a flexible view manager, a powerful validation engine, and more. Aug 28 » Parser Generators » JParsecJparsec is a recursive-desent parser combinator framework written for Java. It can be used to construct parser for simple toy syntax as well as bizzare context-sensitive ones. Aug 27 » SQL Clients » SQL Workbench/JSQL Workbench/J is a DBMS independet frontend for SQL databases. It can be used in batch mode and has strong export and import capabilities. It also offers some extensions to SQL (Variable substitution, BLOB support with local filenames) that try to unify handling SQL databases. It can copy table data directly between two different servers (batch and GUI) Aug 27 » Scripting Languages » pnutsPnuts is a scripting language system based on JVM. It is intended to be a part of dual-language system based on Java platform. Some of the features are as follows. * Simple and clean syntax * Interactive interpreter * Extensible through its module system * Customizable and embeddable through Pnuts API * Dynamic/static translation to JVM bytecode * One of the fastest scripting language implemenations on JVM * Inherits many advantages of Java (security, portability, etc.) Aug 12 » Portals » JBoss PortalJBoss Portal provides an open source platform for hosting and serving a portal's Web interface, publishing and managing its content, and customizing its experience. Aug 06 » ERP & CRM » JFireJFire is an opensource (LGPL) ERP Framework, build with technologies like J2EE 1.4, JDO 2.0 and Eclipse RCP 3.2. It is designed to be highly customizable and the core framework can also be used for other purposes then ERP. Jul 20 » Ajax » ICEfacesICEfaces is an integrated Ajax application framework that enables Java EE application developers to easily create and deploy thin-client rich Internet applications (RIA) in pure Java. ICEfaces leverages the entire standards-based Java EE ecosystem of tools and execution environments. Rich enterprise application features are developed in pure Java, and in a pure thin-client model. There are no Applets or proprietary browser plug-ins required. ICEfaces applications are JavaServer Faces (JSF) applications, so Java EE application development skills apply directly and Java developers are isolated from doing any JavaScript related development. Jul 20 » Inversion of Control » Google GuiceGuice is a dependency injection container that wholly embraces annotations and generics, thereby enabling you to wire together and test objects with less effort than ever before. Annotations finally free you from error-prone, refactoring-adverse string identifiers. Jun 12 » Ajax » Echo2Echo2 is the next-generation of the Echo Web Framework, a platform for developing web-based applications that approach the capabilities of rich clients. The 2.0 version holds true to the core concepts of Echo while providing dramatic performance, capability, and user-experience enhancements made possible by its new Ajax-based rendering engine. Jun 12 » Ajax » DWRDWR is a Java open source library which allows you to write Ajax web sites. It allows code in a browser to use Java functions running on a web server just as if it was in the browser. DWR works by dynamically generating Javascript based on Java classes. The code does some Ajax magic to make it feel like the execution is happening on the browser, but in reality the server is executing the code and DWR is marshalling the data back and forwards. Jun 12 » Ajax » Google Web ToolkitGoogle 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. Jun 11 » Testing Tools » MActorMActor is an extensible tool for system integration testing. It can facilitate tests of any XML-based integration regardless of the type of message transfer protocol used (HTTP, SOAP, file-system and IBM MQ series are currently supplied with the tool) Jun 11 » Cache Solutions » Open TerracottaOpen Terracotta is Open Source Clustering for Java. Features: HTTP Session Replication, Distributed Cache, POJO Clustering, Application Coordination across cluster's JVMs (made using code injection, so you don't need to modify your code) Jun 07 » Web Frameworks » jWicjWic is a java-based development framework for developing dynamic web applications with the convenience and familiarity of 'rich client' style programming. The component-based, event-driven programming model makes it easy for developers to quickly create flexible and robust web applications. The collection of standard jWic controls has built-in Ajax functionality to enhance the end-user experience. Developers can also implement their own jWic controls and combine and incorporate them into their web applications. Jun 07 » Testing Tools » p-unitp-unit is a framework for performance benchmark and unit test. It records memory consumption and execution time, and generates result in the form of plain text, image and pdf file. p-unit allows users to plugin their own result report. As a tool for unit-test, p-unit supports to run the same tests with a single thread or multi-threads. May 28 » Web Servers » VQEmbWebVQEmbWeb is a very minimal embedded web server for Java (5 or greater). The jar is 12K in size and the only dependency is Apache log4J. It supports plain HTTP and HTTPS over SSL. To use it, just use the EmbeddedServer.createInstance() method, passing in the port to open the server on and an instance of HttpRequestHandler to handle the requests. Your HttpRequestHandler has to return a Response object. The URL parameters are handed to you in their unencoded form in the map. The URL without the parameters included is in the url string. There are also methods for: * setting a redirect * returning a 404 or a 500 * setting the content type * setting binary, rather than text content May 14 » Charting & Reporting » prefuseA Java-based toolkit for building interactive information visualization applications. Prefuse supports a rich set of features for data modeling, visualization, and interaction. It provides optimized data structures for tables, graphs, and trees, a host of layout and visual encoding techniques, and support for animation, dynamic queries, integrated search, and database connectivity. May 14 » ERP & CRM » OpenbravoOpenbravo is a pure web-based extended ERP for SMEs (Small and Midsize Enterprises). This web-based extended ERP solution includes robust functionalities allowing for the management of procurement, warehouse, projects, manufacturing, sales and financials. Basic CRM (Customer Relationship Management) and BI (Business Intelligence) are built in as well. May 14 » Source Control » StatSvnStatSVN retrieves information from a Subversion repository and generates various tables and charts describing the project development. The current version of StatSVN generates a static suite of HTML documents containing tables and chart images. StatSVN is open source software, released under the terms of the LGPL, based on StatCVS. StatSVN uses JFreeChart to generate charts. May 14 » Persistence » ODALODAL is database persistence framework with emphasis on maintainability and performance. Features include query API, ORM, data validation/conversion, stored procedure support, code generation. Minimal dependencies. Short startup time. May 14 » Project Management » eHoureHour is an open source webbased time tracking tool for consultancy companies and other project based businesses. The primary objective is to keep time tracking as simple and user friendly as possible while still being very effective at measuring and reporting the amount of time your team spends on a project. The main features are * create multiple projects per customer, assign multiple employees to the same project * have different start and end dates and hourly rates per employee for each project assignment * create default projects to which all employees should be assigned (days off, sick leave, etc.) so you can keep track of those hours as well * extensive turnover & hours reports on all customers, projects, employees, departments or a selection of them * configurable localization and currency. All languages are supported although only English & Dutch translations are availabe * separation of employee, reporting and administration role. May 14 » Workflow Engines » PegasusPegasus (Planning for Execution in Grids) is a workflow mapping engine that automatically maps high-level workflow descriptions onto distributed resources. It takes a description of computational tasks to be performed and adds the necessary data transfers and data registration tasks (optionally). Pegasus uses the Condor DAGMan execution engine to execute on Condor pools, and clusters managed by PBS and LSF. Pegasus can optimize the workflow performance and reliability. May 07 » JSP Tag Libraries » pack:tagpack:tag is a JSP Taglib that compresses static resources like JavaScript or Cascading Style Sheets. The Taglib caches the resources, once they are compressed, in memory or to file. When caching to memory, the output is additionally gzipped. Compressing-algorithms could be exchanged per resourcetype, and are extendable by usage of the strategy-pattern. Resources can also be combined to reduce requests. May 07 » Testing Tools » SpringUnitSpringUnit is a framework that enables Java developers to create unit tests where test data is separate from tests algorithms. Writing tests this way: - enables easy addition of test cases that differ only in their inputs and expected outputs - facilitates reuse of data values across test cases - reduces Java source code devoted to the creation and retrieval of data values - promotes and supports a style that removes redundant test algorithmic code Apr 18 » Search Engines » MG4JMG4J (Managing Gigabytes for Java) is a collaborative effort aimed at providing a free Java implementation of inverted-index compression techniques; as a by-product, it offers several general-purpose optimised classes, including fast and compact mutable strings, bit-level I/O, fast unsynchronised buffered streams, (possibly signed) minimal perfect hashing, etc. MG4J functions as a full-fledged text-indexing system. It can analyze, index, and query consistently large document collections. Apr 14 » Network Clients » GNetWatchGNetWatch is a free open source Java application that offers real-time graphical monitoring and analysis of network performance through SNMP and ICMP. To get an instant view of the network state, data are collected, stored and displayed every few seconds. Two traffic generation modules are available. The former can flood UDP packets of any size (jumbo frames for instance) and tagged with any DiffServ/ToS flag for QoS and class of services testing. The latter can generate a huge quantity of parallel requests to any HTTP(s) server, for web applications load testing. To automatically discover new hosts, GNetWatch can make use of Ethereal/WireShark and later invoke NMap to get informations about the remote systems. Note that IPv6 and SNMPv3 are fully supported by GNetWatch. Apr 14 » Testing Tools » Ejb3UnitEjb3Unit - out of container EJB 3.0 testing. Ejb3Unit is a JUnit extention and can execute automated standalone junit tests for all JEE or Ejb3 projects. The out of container approach leads to short build-test-cycles, no container deployment is needed. Feb 23 » Code Coverage » HanselHansel decorates a JUnit Test class and instruments one or more classes under test to verify 100% branch coverage of the tested classes by the Test class. The Hansel-decorated TestSuite first runs all the test methods in the Test class. If any of these fail, the test fails, ie: Hansel doesn't bother verifying coverage until functional testing is 100% successful. Hansel generates additional Tests, called \"Probes,\" each of which verifies coverage for a single method or branch. Each of these will fail if the method or branch was not covered during executino of the functional tests. Hansel uses the BCEL library to instrument the class(es) under test. Feb 23 » Logging Tools » Trace LogTrace Log is a tool that monitors up several server logs (WAS, Tomcat, IIS, PHP, etc) simultaneously all in one tool. The viewer updates and scrolls automatically when the log file changes... a MUST HAVE utility tool for developers. Feb 14 » Logging Tools » JDLabAgentJava debugging Agent (JDLabAgent) is a shared object library which can be loaded into the Java Virtual Machine via Java Virtual Machine Debug Interface (JVMDI). The JDLabAgent is controlled via configuration files and logs JVM events (e.g. breakpoints, exceptions). Feb 14 » Build Systems » HudsonHudson monitors executions of repeated jobs, such as building a software project or jobs run by cron. Among those things, current Hudson focuses on the following two jobs: 1. Building/testing software projects continuously, just like CruiseControl or DamageControl. In a nutshell, Hudson provides an easy-to-use so-called continuous integration system, making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. The automated, continoues build increases the productivity. 2. Monitoring executions of externally-run jobs, such as cron jobs and procmail jobs, even those that are run on a remote machine. For example, with cron, all you receive is regular e-mails that capture the output, and it is up to you to look at them diligently and notice when it broke. Hudson keeps those outputs and makes it easy for you to notice when something is wrong. Feb 06 » JDBC » ElvyxElvyx is a tool designed to monitor and profile the jdbc activity. This jdbc profiler has a wrapper that intercept the access to the database and send this information to the elvix server. The server receives the information, store the data into a database and serve this information to the client. The client shows sql statements, bound sql statements, elapsed time, elapsed time preparing the statements, etc. Feb 06 » Web Frameworks » PustefixPustefix is a framework that helps you to develop web based applications. The framework consists of two more or less independent parts: A machinery to apply recursive XSLT transformations that produces the UI of the web application. A Java framework that takes input from the UI to change the application data and supplies changes of the application data back to the UI. Together, the framework acts similar to the Model-View-Controller pattern (as far as this is possible in the context of a web application). Jan 24 » CMS » Current CMSCurrent CMS is a multi-user Content Management System with workflow, versioning and publishing capabilities built on Java Enterprise technology. It provides a highly configurable framework for developing, deploying and maintaining content managed web applications. Jan 24 » Web Frameworks » Roma Meta FrameworkRoma Meta Framework is a Open Source initiative to make Java application development easy. The approach is totally DDD, let's think to the domain of your application and Roma will makes the rest: persistence (database), presentation (HTML + Ajax), logging, user management, sessions, etc. Jan 19 » HTML Parsers » Java Mozilla Html ParserMozillaParser is a Java Html parser based on mozilla's html parser. it acts as a bridge from java classes to Mozilla's classes and outputs a java Document object from a raw ( and dirty) HTML input Go To Java Mozilla Html Parser Jan 16 » HTML Parsers » HtmlCleanerHtmlCleaner is open-source HTML parser written in Java. HTML found on Web is usually dirty, ill-formed and unsuitable for further processing. For any serious consumption of such documents, it is necessary to first clean up the mess and bring the order to tags, attributes and ordinary text. For the given HTML document, HtmlCleaner reorders individual elements and produces well-formed XML. By default, it follows similar rules that the most of web-browsers use in order to create document object model. However, user may provide custom tag and rule set for tag filtering and balancing. Jan 16 » Network Servers » CoadunationCoadunation is platform independent Server implement in Java. It has been designed from the ground up to provide an easy way to develop and deploy both web applications and daemons in a seamless standardized environment. This makes it easier for sysadmins, developers and end users. It currently provides an Email Server, DNS Server, Application Server, Web-mail frontend and Web administration console. Jan 15 » General Purpose » Scriptella ETLScriptella is an ETL (Extract-Transform-Load) and script execution tool. Its primary focus is simplicity. It doesn't require the user to learn another complex XML-based language to use it, but allows the use of SQL or another scripting language suitable for the data source to perform required transformations. Jan 12 » JDBC » BottomlineBottomline is a JDBC Bridge API that loads database drivers directly from JAR archives. Unlike JDBC, Bottomline uses custom class loaders to load database drivers. This gives an advantage to load multiple versions of the same database driver from different JAR files. Developers can build applications using conventional JDBC and transparently use Bottomline underneath. Bottomline also seamlessly integrates with applications servers like JBoss and can be bound in JNDI which allows connections to be pooled using the application server's Connection Pooler. Jan 11 » Charting & Reporting » JGraphTJGraphT is a free Java graph library that provides mathematical graph-theory objects and algorithms. JGraphT supports various types of graphs including: * directed and undirected graphs. * graphs with weighted / unweighted / labeled or any user-defined edges. * various edge multiplicity options, including: simple-graphs, multigraphs, pseudographs. * unmodifiable graphs - allow modules to provide \"read-only\" access to internal graphs. * listenable graphs - allow external listeners to track modification events. * subgraphs graphs that are auto-updating subgraph views on other graphs. * graph visualization using the JGraph library Although powerful, JGraphT is designed to be simple and type-safe (via Java 5 generics). For example, graph vertices can be of any objects. You can create graphs based on: Strings, URLs, XML documents, etc; you can even create graphs of graphs! Jan 10 » Workflow Engines » BeexeeBexee is a BPEL engine capable of executing deployed business processes described in BPEL by orchestrating existing Web Services. Jan 10 » Workflow Engines » Apache AgilaA simple business process management (BPM) product that can be easily embedded in other applications and run on a range of devices, including handheld computers. Jan 03 » Code Analyzers » JDiffJDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared. This is very useful for describing exactly what has changed between two releases of a product. Only the API (Application Programming Interface) of each version is compared. It does not compare what the source code does when executed. Dec 28 » RSS & RDF Tools » FeedzeoFeedzeo is a RSS/RDF/Atom feed aggregator cum reader. It includes a backend Server which aggregates the feeds and an AJAX based Web client to access the feeds. Feedzeo Server is written in Java, while client is written in HTML/javascript. Dec 26 » XML UI Toolkits » wazaabiWAZAABI is an open source project that delivers significant benefits for building Eclipse RCP based Java and J2EE rich client applications. Wazaabi includes a GUI framework that brings XUL to Eclipse RCP plug-in developpers and a set of components that link the client-side XUL based viewers and forms to server-side business components. Dec 12 » IDEs » EasyEclipseEasyEclipse 1.2.1 has been released! EasyEclipse packages together Eclipse, the open-source software development platform, and selected open source plug-ins. This new version is based on Eclipse 3.2.1 Callisto. Ten distros of EasyEclipse are available (Expert Java, Desktop Java, Server Java, Mobile Java, Plugin Warrior, LAMP, PHP, Ruby/ Ruby on Rails, Python and C/C++), so there must be one to fit your needs. Enjoy EasyEclipse, and thanks for the 150000 + downloads we had since the 1.0 release! Dec 12 » ESB » ChainBuilder ESBChainBuilder ESB is a new Java Business Integration (JBI) compliant open source solution for use in Service Oriented Architecture (SOA) environments. ChainBuilder ESB components are written in Java and easily configured via a graphical user interface plugged into the popular Eclipse development platform. ChainBuilder ESB's graphical Component Flow Editor creates the underlying JBI architecture, removing the burden of becoming a JBI expert in order to leverage the JBI standard. The Component Flow Editor provides a visual depiction of the entire integration environment allowing developers to step back and consider the flow of their application integration and then drill down on each component to define specific properties. ChainBuilder ESB also provides pre-built integration functionality, including industry standard editors to manage non-XML data formats, such as, EDI X12, fixed and variable formats. Nov 29 » Workflow Engines » ZebraZebra is a workflow engine - originally developed to fill in the gaps in some commercial and open source workflow engines. The key differences between it and other workflow systems are able to model all the workflows described in workflow patterns, a GUI designer and Hibernate persistence layer. Nov 29 » General Purpose » GDS Java API - Google Desktop Java APIGDAPI is a simple java api for access desktop search from any other java application. Google Desktop Search is a desktop search application that provides full text search over your email, computer files, chats and web pages you've viewed. Go To GDS Java API - Google Desktop Java API Nov 27 » PDF Libraries » PDF Clown for Java (PDF Jester)PDF Clown for Java (PDF Jester) is a Java 1.5 library for reading, manipulating and writing PDF files, with multiple abstraction layers to satisfy different programming styles: from the lower level (PDF object model) to the higher (PDF document structure and content streaming). Go To PDF Clown for Java (PDF Jester) Nov 22 » Testing Tools » DDStepsDDSteps is a JUnit extension for building data driven test cases. In a nutshell, DDSteps lets you parameterize your test cases, and run them more than once using different data. Since DDSteps is 100% JUnit compatible, you can run your new data driven test cases just like any old JUnit test case. No IDE plugins or new Ant tasks are required - just add the DDSteps jars to your classpath and you are ready to go! DDSteps uses external test data (in Excel) which is injected into your test case using standard JavaBeans properties. Your test case is run once for each row of data, so adding new tests is just a matter of adding a row of data in Excel. DDSteps integrates best-of-breed toolkits for web and database testing, such as JWebUnit, DbUnit and Spring Framework. By making these toolkits data driven, you can do powerful function testing. Automated end-to-end testing of your website is not only possible - it is easy. Features: * Run a JUnit TestCase method many times, each time with different test data. * Write tests in Java/JUnit and write data in Excel, using the best tool for each task. * Handles massive amounts of test data by keeping data separate from code, thus enabling both to be as compact as possible. * Use standard JavaBean getters/setters to fill your testcase with data. You don't have to write any code to pull in data, all that is handled by the DDSteps framework. * Tap into the power of property injection which is a complement to dependency injection found in frameworks like Spring. Property injection does not deal with dependencies, it handles simple data, but lots and lots of it. Nov 22 » Charting & Reporting » OpenIOpenI is a simple web application that does out-of-box OLAP reporting. Its a J2EE web application to build and publish interactive reports from OLAP data sources. It uses JPivot, Mondrian, R Project, JFreeChart and JasperReports Nov 22 » Persistence » VelosurfVelosurf is a database mapping layer library for the Apache Velocity template engine. It provides automatic database mapping of tables and relationships without any code generation. It is a lightweight placeholder to heavy persistence systems. Nov 20 » Chat Servers » Claros ChatClaros Chat is a Web based instant messaging client which is capable of talking with a Jabber server. Claros Chat is well tested with Google Talk and it supports all major browsers such as Internet Explorer, Firefox, Safari, and Mozilla. It has a minimalistic and an elegant user interface which looks and feels a lot like a desktop application, since it uses AJAX. With the help of a Jabber server, creating your own corporate chat network and chatting with other networks such as MSN, ICQ, AOL, Yahoo IM is possible. Nov 13 » Job Schedulers » MyBatchFrameworkMyBatchFramework is an open-source lightweight framework designed to create easily robust and manageable batch programs into the Java language. Its main features: multithreaded execution, scheduling, JMX management, batch execution report, history. Nov 13 » Build Systems » Jar Jar LinksJar Jar Links is a utility that makes it easy to repackage Java libraries and embed them into your own distribution. This is useful for two reasons: * You can easily ship a single jar file with no external dependencies. * You can avoid problems where your library depends on a specific version of a library, which may conflict with the dependencies of another library. Nov 13 » Workflow Engines » RUNA WFERUNA WFE is an open source workflow/BPM environment based on JBoss JEMS stack engine. It's main features are: -rich web interface containing work list handler, process monitor and form player - graphical process designer - bots for automated business process steps - powerful role based task assignment - security system with LDAP/MS Active Directory, NTLM, SSO support - easy integration with all SQL database management systems - localization to English, French, German, Dutch, Spanish,Italian,Chinese and Russian - platform independent pure Java solution Nov 09 » Scripting Languages » KawaKawa is a Scheme environment, written in Java, and that compiles Scheme code into Java byte-codes. Kawa is a full Scheme implementation. It implements almost all of R5RS, plus some extensions. Kawa provides a framework for implementing other progressing languages, and comes with incomplete support for CommonLisp, Emacs Lisp, and EcmaScript, and the draft XML Query language. Nov 05 » Job Schedulers » jBatchEnginejBatchEngine is a batch job spooler written in Java. In constrast to time driven schedulers like Cron, jBatchEngine is event driven. It uses a database table for job management and runs as a Windows Service or a Unix Daemon. jBatchEngine can run any programm. There is also a facility for job monitoring. Nov 03 » Scripting Languages » SICSSecond Interpreter of Scheme Code is an extensible Java based interpreter of the algorithmic language Scheme. SISC uses modern interpretation techniques, and handily outperforms all existing JVM interpreters (often by more than an order of magnitude). In addition, SISC is a complete implementation of the language. The entire R5RS Scheme standard is supported, no exceptions. Nov 03 » Scripting Languages » JSchemeJScheme is a dialect of Scheme with a very simple interface to Java, called the Javadot notation . This notation provides a transparent access to all Java classes, constructors, methods, and fields on the classpath. JScheme implements all of R4RS Scheme except that continuations can only be used as escape procedures and strings are not mutable. Oct 31 » Web Mail » yawebmailyawebmail is a webmail-client written in Java as a webapp. Having it deployed on your Internet-accessed webserver, you can get access to your POP3- or IMAP-Mailbox, even if you are behind a firewall that blocks the eMail-ports - in general port 25 for SMTP, port 110 for POP3 and port 143 for IMAP (natch you must be allowed to access your webserver via HTTP...). Just throw the \"yawebmail.war\"-file into the deployment-directory of your Servlet-container (tomcat, jetty, weblogic, ..) and you're ready to go! No configuration needed Oct 29 » JSP Tag Libraries » JSPTabControlJSPTabControl is JSP taglib for manage tabs in your JSP. This taglib generate tabs with \"pure CSS tabs\" technique (using \"li\" and \"ul\"). JSPtabControl give you several features : 1. tab control (body and header) and tab page (body and header) can be easily customized with CSS. 2. titles of tab header page can be localized, by using Struts AplicationResources or Resource Bundle file properties. 3. select a tab with JAVA code (for example in your action struts). 4. keep last tab selected after posting form. 5. set a state (INVISIBLE, READ-ONLY, FORBIDDEN, ERROR, ...) with JAVA code for a particulary tab page : 5.1. to manage render of tab page (header and body) by using CSS. 5.2. to execute function javascript swith events (eg : when tab page has FORBIDDEN state, you could execute javascrit message alert \"You are not authorized to access this tab!\" when user click in this tab page). You can manage any states. States are configurate (Style class and Javascript to execute) into XML file. States can be used for exemple to manage role in your WEB Application. State are manageable at client and server side. 6. use EL syntax (see JSTL specification) in JSPTabControl attributes taglib (with, height,...) to evaluate JSP expressions dynamically. Oct 29 » General Purpose » j-Interop: Open Source, Non Native Java - DCOM Access Bridgej-Interop implements DCOM wire protocol (MSRPC) to enable development of Pure Bi-Directional, Non-Native Java applications which can interoperate with any COM component.The implementation itself is purely in Java and does not use JNI to provide native access,thus being truly platform independent. It has full support for COM automation and supports callback from COM Servers (event handling). It also supports complete Create-Retrieve-Update-Delete operations on Windows registry in a non-native way as well. It has been tested on Windows XP/2K/2K3 and Fedora 5. Go To j-Interop: Open Source, Non Native Java - DCOM Access Bridge Oct 29 » J2EE Frameworks » J2EE Pattern Oriented Framework (Jt 1.2)Jt1.2 has been released. Jt is a lightweight pattern oriented framework for the rapid implementation of J2EE applications. Jt has been utilized in several large mission critical systems. Jt implements many well-known patterns including Data Access Objects (DAO). It features messages, attributes, logging/debugging capabilities, resource loading, etc. This framework supports several J2EE technologies including Java Server Pages (JSPs), JDBC, EJBs, JavaMail, XML and Web Services. Jt1.2 features support for J2EE Enterprise Java Beans (EJB) via Jt Adapters. EJB clients are able to gain transparent access to remote framework objects. This simplifies the development of EJB applications: no need to deal with the complexities of EJB application development (deployment descriptors, Home/Remote interfaces, etc). An implementation of the J2EE Service Locator pattern is also provided. Additional features include: * Jt is a pattern oriented framework. Jt implements many well-known design patterns. This includes Data Access Objects (DAO), adapters for several J2EE API, etc. * Jt implements a messaging pattern/API: framework objects are able to interchange information and perform computations by sending, receiving and processing messages. The messaging paradigm provides additional encapsulation and software simplicity. The messaging API implemented by the Jt Framework is very simple: very few calls are required to create, manipulate and destroy messages and objects. On the other hand, this API is very powerful. * Lightweight/fast framework for rapid development. The framework can be easily extended by adding additional Jt adapters and helpers. * Support for the JDBC API via a JDBC adapter. * JavaMail API support via the implementation of a JavaMail adapter * Web Services support via the implementation of a Web Services adapter. The Jt messaging API greatly simplifies the development of web services. * Easy customization of framework applications. This is done via resource files: object attributes can be automatically loaded from a resource file. * Java Server Pages (JSP) support. * Support for the XML API via XML helpers. Framework objects can be converted to/from the XML format. * Built-in logging/debugging capabilities. Messages between framework objects are automatically logged. This simplifies the debugging and testing tasks. * Built-in testing capabilities. * The Jt Framework provides a consistent way of handling and logging application errors and exceptions. * Proven technology. The Jt framework has been used for the development of several large enterprise applications. * Cross-platform, implemented using JavaTM technology. * Runs on any J2EE 1.4 compatible application server. For additional information please refer to http://jt.dev.java.net Go To J2EE Pattern Oriented Framework (Jt 1.2) Oct 22 » Workflow Engines » jawflowJawFlow is a Workflow Engine partially conformal to WfMC (www.wfmc.org) directives, completely written in Java using JMX technology. It understands XML Process Definition Language (XPDL) and can be customized using activities written in Java or in any scripting language supported by BSF Oct 18 » Profilers » TomcatProbeTomcatProbe is a real-time monitoring and management tool for Apache Tomcat. It is very easy to deploy and requires no modification to either Tomcat or running applications. Tomcatprobe allows real-time monitoring of deployed applications and their status, active http sessions and their attributes, datasources, their details and current usage. It also shows requests that are being executed, sizes of application footprints in memory, enables on-the-fly application deployment with JSP precompilation. System information view displays Java runtime version, graphical memory usage, OS information and system properties. \"Quick check\" options allows to check usage of all resources including all datasources, file handles and memory in one click. Oct 12 » General Purpose » jLineLine is a Java library for handling console input. It is similar in functionality to BSD editline and GNU readline. People familiar with the readline/editline capabilities for modern shells (such as bash and tcsh) will find most of the command editing features of JLine to be familiar. Oct 09 » Template Engines » TransformicaTransformica is a versatile and extensible code generator. It supports multiple source models including database metadata, Java source files, grammar files and custom models. Transformica is implemented as an Ant task and uses Velocity as its template engine. Oct 09 » Testing Tools » STclassSTclass is a unit testing framework comparable to JUnit and its clones, but based on runtime evaluable contracts as defined by B. Meyer in the \"Design by Contract\"(tm) approach. It implements runtime evaluable contracts and contract based class level unit testing; inheritance of contracts and tests is handled. The framework generates reports in XML, and postprocessing tools produce nice HTML reports; using the JIP profiler, a statisitic and profiling analysis can be made during the test, and its resuts are added to the HTML report. Oct 06 » Databases » Metanotion BlockFileA 100% pure Java, lightweight, single file embeddable database. Functionally similar to a cross between SQLite and BerkeleyDB. Developed for use with PDA and Mobile applications. Oct 03 » CMS » Nuxeo ECMNuxeo 5 is an innovative, standards-based, open source platform for ECM (Enterprise Content Management) applications. It addresses applications domains like: document management, collaboration, records management, document-centric business process management, web content management, compliance... It offers a coherent and comprehensive family of components to create, process, manage, publish and archive all your content. It enables organizations to improve business process efficiency, leverage team work and collaboration, and ensure compliance to current regulations. Its component-based and service-oriented architecture makes it easy to customize and extend, making developers more efficient. It has two parts: - Nuxeo EP (Enterprise Platform): it is based on Java EE 5 and provides a coherent set of components addressing the whole ECM scope, managing content through its whole lifecycle. It uses modern Java technologies, including Jackrabbit, Lucene, JSF, Seam, jBPM, JRules, etc. - Nuxeo RCP (Rich Client Platform): for rich client applications. Is is based on Eclipse RCP. Sep 30 » Profilers » DJProfDJProf is an experimental tool for profiling Java programs which employs AspectJ to insert the necessary instrumentation for profiling rather than, for example, the Java Machine Profiler Interface (JVMPI). DJProf can be used to profile Java programs without modification (i.e. there is no need to recompile them for profiling) and does not require the user to have any knowledge of AspectJ. Sep 26 » J2EE Frameworks » Atomikos TransactionsEssentialsAtomikos TransactionsEssentials is a premium transaction manager for automatic cancelation of problematic transactions, across disparate datasources or back-end systems. Unlike CICS (IBM, mainframe) or Tuxedo (Bea, workstations), this product is optimized for easy integration into Java-based solutions: it has a very small memory footprint and seamless compatibility with virtually every Java application. Integration into your application can be as simple as one line of code. Go To Atomikos TransactionsEssentials Sep 26 » CMS » TransferCMA design-friendly web content management system. Features include an inline WYSIWYG editor, file management, multi-site support and automated navigations. Sep 17 » ESB » Open ESBProject Open ESB implements an Enterprise Service Bus (ESB) runtime with sample service engines and binding components. Open ESB allows you to easily integrate enterprise applications and web services as loosely coupled composite applications. This allows you to seamlessly compose and recompose your composite applications, realizing the benefits of a true Service-Oriented Architecture (SOA). Sep 14 » JSP Tag Libraries » Pager Tag LibraryThe Pager Tag Library is the easy and flexible way to implement paging of large data sets in JavaServer Pages (JSP). It can emulate all currently known paging styles with minimal effort. It also includes re-usable index styles that emulate the search result navigators of popular web sites such as GoogleSM, AltaVista® and Yahoo!. The Pager Tag Library does most of the work for you by dynamically organizing your data set into pages and generating a browsable index with virtually any look desired. Sep 12 » Crawlers » Web-HarvestWeb-Harvest is Open Source Web Data Extraction tool written in Java. It offers a way to collect desired Web pages and extract useful data from them. In order to do that, it leverages well established techniques and technologies for text/xml manipulation such as XSLT, XQuery and Regular Expressions. Web-Harvest mainly focuses on HTML/XML based web sites which still make vast majority of the Web content. On the other hand, it could be easily supplemented by custom Java libraries in order to augment its extraction capabilities. Sep 11 » Search Engines » regain´regain´ is a fast search engine on top of Jakarta-Lucene. It crawles through files or webpages using a plugin architecture of preparators for several file formats and data sources. Search requests are handled via browser based user interface using Java server pages. ´regain´ is released under LGPL and comes in two versions: 1. standalone desktop search program including crawler and http-server 2. server based installation providing full text searching functionality for a website or intranet fileserver using XML configuration files. Sep 11 » Template Engines » DynamatorDynamator is a simple but powerful tool that transforms standard HTML and XML files into server pages or programs. Dynamator was created to solve the Server Pages Maintenance Problem. Dynamator separates HTML from program logic so completely that different page generation technologies can use the same HTML. With Dynamator, software developers don't have to maintain HTML, and HTML authors don't have to learn a programming language. Sep 07 » Testing Tools » UnicornUnicorn provides Swing components for interactively invoking methods on JMX MBeans, JavaBeans, and Web Services. It is intended to allow developers to implement simple testing and debugging tools quckly. Unicorn also can be extended to handle other types of objects. All you have to do is implement an ObjectPanelModel. Sep 05 » Template Engines » SiteMeshSiteMesh is a web-page layout and decoration framework and web-application integration framework to aid in creating large sites consisting of many pages for which a consistent look or feel, navigation and layout scheme is required. SiteMesh intercepts requests to any static or dynamically generated HTML page requested through the web-server, parses the page, obtains properties and data from the content and generates an appropriate final page with modifications to the original. This is based upon the well-known GangOfFour Decorator design pattern. Sep 05 » JSP Tag Libraries » Struts-LayoutStruts-Layout is a tag library for struts which provides easy and fast interface creation. This is achieved by powerful tags which display panels, input fields, tables, treeviews, sortable lists, datagrids, popups, calendars, etc. With those tags, the developer have neither need to write nor even know HTML. Sep 04 » Web Servers » BareHTTPThe BareHTTP library implements a stripped down Java HTTP server able to satisfy only HTTP/0.9, 1.0, and 1.1 GET requests and HTTP/1.0 and 1.1 HEAD requests. It is suitable for embedded use in unit tests that require access to resources via HTTP. Also, it is convenient to use as a stripped down HTML documentation server. Aug 29 » ESB » CeltixCeltix delivers a Java enterprise service bus (ESB) runtime and set of APIs that make it easy to add transports, message formats, and security features. The goal is to simplify the construction, integration and flexible reuse of technical and business components using a standards-based, service-oriented architecture. Aug 25 » Search Engines » SolrSolr is an open source enterprise search server based on the Lucene Java search library, with XML/HTTP APIs, caching, replication, and a web administration interface. Aug 25 » Template Engines » BluprintsBluprints is a JSP templating framework with zero dependencies and a simple yet powerful XML configuration. This project provides many sophisticated features such as multiple file support, namespacing, cross file/namespace extension, nesting and much more. The XML parsing is done via SAX for performance and to reduce the failures due to XML binding frameworks. An XML schema is provided and always kept up-to-date. The API is simple and direct without hundreds of methods and classes. However, Bluprints provides many features that other JSP templating frameworks are lacking in a fraction of the code. Bluprints is a JDK 1.5 only framework and requires no external libraries to use. It supports WebWork integration and will be supporting plain servlets, struts/actionflow and other frameworks in the future. Aug 17 » J2EE Frameworks » jdonJdon Framework is the combination of Domain Drive Development( Ruby on Rails that is simple and rapid but not java language) and Ioc/AOP components (Spring that is very agility but has complicated XML configuration) . Jdon Framework combines with rapidity and agility for your web application architecture. and seamlessly supports two service architecture types: JavaBeans(POJO) or EJB. It can easily migrate POJO to EJB, or integrate legacy EJB systems . Jdon Framework Features: 1. All components can be replaced, even the framework itself. 2. Support the default implementations for CRUD and Master-details display. 3. Improve performance of the framework and its applications by plug-in cache. 4. Provide the session function in micro container, application component can be stateful. Jdon Framework = Ioc(pico) + AOP( simple ) + CRUD + Cache Aug 17 » XML Parsers » KBMLThe Koala KBML package enables to serialize/deserialize JavaBeansTM to/from XML documents. KBML stands for Koala Bean Markup Language. KBML is 100% Java. Aug 17 » XML Parsers » SkaringaSkaringa is an API for Java and XML language binding. It transforms Java objects into XML documents and back, and can generate XML schema definitions for a Java class. Typical applications are data exchange, object persistence, object transformation, and driving XML based presentation layers. Skaringa is designed for speed and simplicity, supporting a wide range of types. Skaringa works with all Plain Old Java Objects (POJOs), it is not limited to special cases, like JavaBeans. Aug 14 » Scripting Languages » JathaJatha, Common LISP library in Java, is a Java library that implements a fairly large subset of Common LISP, including most of the datatypes (e.g. packages, bignums) and their associated methods. Aug 03 » CMS » Hippo CMSHippo CMS is an open source information centered content management system. It's targetted at medium to large organisations managing content for multi-channel distribution like websites and intranets. It facilitates an open and flexible way of using your information by following international accepted open standards. Hippo CMS is user friendly, has an open architecture and is designed for interoperability with existing environments. Hippo CMS is built to integrate external sources of content into one. Therefore, it uses all relevant open standards to allow this integration. For many existing sources, connectors are available in the codebase. The open architecture of Hippo CMS has the following advantages: * Availability in the open source * Works with open standards * Reuse of content * Separation of content, design, logic and the CMS system itself. * User friendly user interface * Native XML, 100 % JAVA * No vendor lock-in The Hippo CMS project was initiated and is maintained by Hippo.nl. Hippo CMS is based on several proven open source projects, mainly from the Apache Software foundation. Aug 02 » Profilers » JMeasurementJMeasurement is a free and simple java api for monitoring runtime and usage (count, parallel activation, last activation, deviation...) of user defined points in java production code. It an automatically monitor Interface methodes. There are renderers for text, csv and HTML. It is simple to use and extended. Jul 31 » Web Frameworks » ThinWireThinWire is a development framework that allows you to easily build applications for the web that look and feel like the desktop applications you're familiar with. Responsive, expressive & interactive user interfaces in your web browser without the complexity of the alternatives. Jul 29 » General Purpose » Sha4JSha4J is one class implementation of SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512 algorithms. Sha4J calculates hash from an inputstream and it can be used with any inputstream from strings to serial interfaces. Jul 27 » Inversion of Control » YanYan container stands for Yet Another Non-intrusive container for object dependency injection. The core of Yan is a compact Java API with no dependency to any other lib. Around the tiny core, are services such as component monitoring, life cycle management, xml configuration etc. Jul 25 » Web Frameworks » Google Web ToolkitGoogle Web Toolkit (GWT) is a 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. Jul 24 » Web Frameworks » AuroraAurora is an open-source MVC framework that is aimed at writing configurable, fully object-oriented form controllers using the Spring Framework. The code-base grew out of my experience using Spring's MVC module and slowly developed over several versions into a full-fledged framework that attempts at tackling the most common problems that I had when using Spring MVC and other J2EE web-related issues in general. Jul 18 » Wiki Engines » JAMWikiJAMWiki is a Wiki engine implemented using Java/JSP that attempts to provide much of the functionality of MediaWiki. It can be run with or without a database and is designed to be fast and easy to set up. Jul 10 » Portals » Light PortalLight is an AJAX- and Java-driven portal framework which can be seamless plugged in to any Java EE Web Application or as an independent Portal application. One of its unique features is that it can be turned on when users need to access their personalized portal and turned off when users want to do regular business processes. Jul 07 » Web Frameworks » StrecksStrecks is a set of extensions to the Struts web development framework aimed at Java 5 users. The aim of Strecks is to enhance the capability of Struts in terms of productivity and maintainability. Strecks makes use of Java 5 language features, in particular JSR-175 annotations, to simplify the programming model for Struts applications. Jul 03 » XML Parsers » ZeusZeus is, in a nutshell, an open source Java-to-XML Data Binding tool. It provides a means of taking an arbitrary XML document and converting that document into a Java object representing the XML. That Java object can then be used and manipulated like any other Java object in the VM (virtual machine). Then, once the object has been modified and operated upon, Zeus can be used to convert the Java object back into an XML representation. Jun 27 » HTML Parsers » Cobra 0.95.1Cobra is an HTML Toolkit that contains a pure Java HTML DOM parser and a rendering engine. It supports HTML 4, Javascript and CSS2. Jun 27 » General Purpose » OctopusEnhydra Octopus is a Java-based Extraction, Transformation, and Loading (ETL) tool. It may connect to any JDBC data sources and perform transformations defined in an XML file. Jun 26 » Parser Generators » OpenLOpenL is an innovative framework for development of different language configurations. It is not another programming language, but rather a methodology and supporting tools allowing professional programmers to create their own versions of Java-like languages. Jun 22 » ESB » Petals Service PlatformPETALS is an ObjectWeb project dedicated to deliver a Java(tm) Business Integration (JBI) compliant platform, providing lightweight and packaged integration solutions, based on JSR-208 specifications, with a high focus on distribution and clustering. PETALS leverages several ObjectWeb projects like Fractal and JORAM in order to provide a flexible and distributed ESB platform. Jun 22 » Workflow Engines » BpmScriptBpmScript is a continuation based scripting platform for Business Process Management. Features include: * Clustered processes * Worklist Support * ServiceMix JBI integration * Web Management Console * Versioned Processes * Child Processes * Remote API * Half Async Processes * Parallel Processes Jun 21 » Persistence » DaozeroDaozero reduces DAO codes based on Spring & iBatis. The old way is to write codes and invoke iBatis API explicitly, but daozero implements DAO interfaces in runtime, invokes iBatis API for developers atuomaticaly. Replace old DAOs with it directly. Jun 19 » J2EE Frameworks » AppFuseAppFuse is an open source project/application that uses best-of-breed Java open source tools to help you develop web applications quickly and efficiently. Not only does it provide documentation about developing lightweight POJO-based applications, but it comes out of the box with features that many applications need, including features for authentication and authorization, user management, Remember Me, password hint, signup, SSL switching, e-mail, URL rewriting, skinnability/page decoration/templated-layout and file upload. This out-of-the-box functionality is one of the main features in AppFuse that separates it from the other \"CRUD Generation\" frameworks, including Ruby on Rails, Trails, and Grails. Jun 18 » J2EE Frameworks » OpenCoreMidleware abstraction layer providing foundation for rapid development and smooth integration of open subsystems. * Data model, persistence, business logic, web user interface and desktop application (thick client) framework framework usable as simple Java classes (POJOs) or within J2EE application server * Persistence layer architecture and implementation ensuring optimistic locking preventing concurrent data modification and unique data id generation and timestamp maintenance directly by a database * Default persistence layer implementation using pure JDBC for high performance, low overhead and easy portability. * Database schema definition, maintenance and versioning * Database connectivity, connection pooling, transaction management * Framework and patterns for data access and modification * Utilities for context propagation, asynchronous executions, encryption, transactional file manipulation * Web user interface framework, page inheritance, layout definition, security * Desktop application (Thick client) framework with default implementation using SWT * Database support for DB2, HSQLDB, MaxDB, MS SQL Server, MySQL, PostgreSQL, Oracle, SAP DB, Sybase ASE * Connection pool support for Commons-DBCP, C3P0, Proxool, XAPool and J2EE datasources * Transaction manager support for JOTM, J2EE transaction managers and custom in-JVM transaction manager * J2EE application server support for JBoss, JOnAS, WebLogic, WebSphere Jun 14 » Rule Engines » ZilonisZilonis provides a Multithreaded Rules Engine platform and a scripting environment for Java based applications. The core of the Zilonis platform is based on a variation of the forward chainning Rete algorithm described in \"Rete: A Fast Algorithm for the Many Pattern/ Many Object Pattern Match Problem\", Charles L. Forgy, Artificial Intelligence 19(1982), 17-37.). The implementations follows the optimizations and the structure used in the Soar system, and the ones well described in the paper: \"Production Matching for Large Learning Systems\", Robert B. Doorenbos. 1995 Multithreaded Capabilities A nice feature and contribution from Zilonis, is that it is multithreaded. Because of that, it is easy to reuse a set of rules across several concurrent users in a safe way, without creating copies of the rules and the engine, as you would have to do if you were to use other engines. Jun 13 » Profilers » Profiler4jProfiler4j is a simple-to-use CPU profiler Java that supports remote profiling and on-the-fly configuration. Its main features are: (1) Based on dynamic bytecode instrumentation. (2) 100% Java. (3) No native library or executable is required. (4) It provides views with call graph, call tree, memory monitor, and class list. (5) Supports fine-grained configuration that can be easily tuned without restarting the profiled JVM. Only the methods you want to profile are instrumented. Jun 12 » Template Engines » LSPLSP is an advanced web template language based on XML technology. LSP provides powerful and easy to use presentation logic, but keeps bussines logic and technical details out of templates. LSP is compiled into Java bytecode for efficient execution. LSP integrates with Servlets and other Java EE technology and can be used as an alternative to JSP for building web applications. Jun 12 » Network Servers » xSocketxSocket is a lightweight java nio-based server framework to build high performance, high scalable, multithreaded servers. Jun 09 » Testing Tools » soapUIsoapUI is a desktop application for inspecting, invoking and testing (functional and load) of web services over HTTP. It is mainly aimed at developers/testers providing and/or consuming web services (java, .net, etc). Functional and Load-Testing can be done both interactively in soapUI or within a automated build/integration process using the soapUI command-line tools. Jun 05 » Scripting Languages » ePascalePascal is interpreter of pascal programming language with own memory management. It was created for education purposes to learn algorithmic thinking of students of high schools. May 31 » CMS » DSPACEDSpace is a groundbreaking digital library system that captures, stores, indexes, preserves and redistributes the intellectual output of an organization's researchers in digital formats. Developed jointly by MIT Libraries and Hewlett-Packard (HP), DSpace is now freely available to organizations worldwide as an open source system that can be customized and extended. DSpace is an open source software system that enables institutions to: - Capture and describe digital works using a custom workflow process - Distribute an institution's digital works over the web, so users can search and retrieve items in the collection - Preserve digital works over the long term To collect, distribute, and preserve research materials in increasingly complex digital formats is a time-consuming and expensive chore for individual faculty and their departments, labs, and centers to manage themselves. The DSpace system provides a way to manage these research materials and publications in a professionally maintained repository to give them greater visibility and accessibility over time. May 29 » Scripting Languages » InstantJInstantJ is a library you can use to compile and execute Java code or evaluate expressions written in Java. This is done on the fly - there is no pre-compiling step necessary. This is ideal in cases where expressions are either assembled programmatically at runtime, are read from descriptors or received from user-input. May 24 » Template Engines » IKATIKAT is the templating engine for RSF, an open source Web programming framework based on Spring. The IKAT engine is standalone and can be used without the rest of RSF. IKAT is unique in being the first \"completely pure\" HTML templating engine. Unlike others, it not only permits *no* logical constructs (tests, branches, iterations etc.) to be expressed in the template, it allows no \"model\" references in the template and further it adds no tags to its target language - just one single attribute, the rsf:id. Replication and branching, instead, is \"induced\" in the template structure by a unique \"structural matching\" algorithm based on a tree of lightweight \"components\" produced by the user. May 24 » Web Frameworks » RSFRSF is an open source web programming framework, with roughly the scope of Sun's JSF. RSF is written in Java, and is built on the Spring framework. RSF features a pure-HTML templating engine named IKAT, which achieves the cleanest separation between presentation and logic yet made - build \"components\" using pure HTML and libraries of code rather than heavy framework base classes. RSF also features a lightweight request-scope Spring clone, RSAC, which brings the magic benefits of inversion of control into the request scope. RSF currently has integrations for Hibernate, JSR-168, Cocoon and Sakai. May 21 » XML Parsers » JOXJOX is a set of Java libraries that make it easy to transfer data between XML documents and Java beans. You can think of JOX as a special form of Java Object Serialization, using XML as the serialization format May 16 » Web Testing » SeleniumSelenium is a test tool for web applications. Selenium tests run directly in a browser, just as real users do. And they run in Internet Explorer, Mozilla and Firefox on Windows, Linux, and Macintosh. No other test tool covers such a wide array of platforms. * Browser compatability testing. Test your application to see if it works correctly on different browsers and operating systems. The same script can run on any Selenium platform. * System functional testing. Create regression tests to verify application functionality and user acceptance. May 16 » Scripting Languages » NiceNice is a new programming language. It extends the ideas behind object-orientation in order to better support modular programming and static type safety. It also incorporates features from functional programming, and puts into practice state-of-the-art results from academic research. This results in more expressivity, modularity and safety. May 10 » Code Analyzers » SpoonSpoon is a Java program processor that fully supports Java 5. It provides a complete and fine-grained Java metamodel where any program element (classes, methods, fields, statements, expressions...) can be accessed both for reading and modification. Spoon can be used on validation purpose, to ensure that your programs respect some programming conventions or guidelines, or for program transformation, by using a pure-Java template engine. May 09 » Parser Generators » SJPTSJPT is a parsing toolkit that supports both top-down (LL(1) and Simple Precedence) and bottom-up parsing (LR(0), SLR(1), LR(1) and LALR(1)). The toolkit also supports generating Java parsers for all the bottom-up parsing methods, based on a CUP definition (similar to Yacc and CUP, but not restricted to LALR parsers only). May 08 » ERP & CRM » OFBizThe Open For Business (OFBiz) project is an open source enterprise automation software project licensed under the MIT Open Source License. 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. May 08 » ERP & CRM » CreamCream is designed to meet the unique demands publishers have, including features that allow subscription management, support for multiple products (print subscriptions, advertising, online subscriptions, books, etc.), customer communications (both incoming and outgoing), and easy-to-use reporting and analytical functions. Cream also enables publishers to track special offers, such as seasonal discounts and trade shows. With Cream, media organizations can put their business data to work, increasing sales and customer satisfaction. It allows employees to have up-to-date information throughout the sales cycle, and lets managers have greater insight into sales patterns. May 06 » Scripting Languages » JBasicJBasic is a BASIC interpreter, written entirely in Java. It operates in console mode which means you run it from the command line of a shell. JBasic can run on most Unix systems including Mac OS X, the Windows command shell, or a VMS DCL command line May 06 » Localization » cintoo MessagesMessages is a open source framework to make internationalization easier for Java applications. It supports locales for threads and bundles can be associated with different packages. This allows the usage of different bundles for different parts of the application like plugins, installer or logging. Bundles can be managed and associated with packages without any changes in the code. This makes bundle management and refactoring much easier than with other solutions.Messages supports global locales for client applications written in Swing or SWT and thread local ones for serverside web applications. May 01 » EJB Servers » EasyBeansEasyBeans is an open-source lightweight EJB3 container implementation developed within the ObjectWeb consortium (www.objectweb.org). It can be integrated within JOnAS and Tomcat Apr 26 » Profilers » Java Interactive Profiler (JIP)JIP is a high performance, low overhead code profiler for Java. It's main features are: 1. It's written entirely in Java and needs no native components. 2. It allows the developer to filter which classes and packages are profiled. 3. There are many options available for controlling the output of the profiler. This makes it easier to manage all of the data that can be generated. There is also an XML output option which makes it easy to manipluate the output using other programs. 4. JIP is interactive, allowing the developer to turn the profiler on and off while the JVM is running. This makes it particularly well suited for profiling web applications. 5. JIP is available under the BSD license. Go To Java Interactive Profiler (JIP) Apr 25 » UML & Modeling » StarUMLStarUML is an open source project to develop fast, flexible, extensible, featureful, and freely-available UML/MDA platform running on Win32 platform. The goal of the StarUML project is to build a software modeling tool and also platform that is a compelling replacement of commercial UML tools such as Rational Rose, Together and so on. Apr 20 » Network Servers » ColoradoFTP - The Open Source FTP ServerColoradoFTP is the open source Java FTP server. It is fast, reliable and extendable. Fully compilant with RFC 959 this implementation makes it easy to extend the functionality with virtualy any feature. Go To ColoradoFTP - The Open Source FTP Server Apr 19 » Rule Engines » SweetRulesSweetRules 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. Apr 18 » NoSQL Databases » MyOODBMyOODB (My Object-Oriented Database) is an integrated database and Web environment that provides true distributed objects, implicit/explicit multi-concurrent nested transactions, seamless Web tunneling, and database self-healing. MyOODB is one part of a two part SDK solution. Together with MyOOWEB, MyOOSDK provides a development environment for people who desire small, fast, but powerful applications. Apr 14 » Web Frameworks » Aranea Web FrameworkAranea is an Open Source (APL 2.0) Java Hierarchical Model-View-Controller Web Framework that provides a common simple approach to building the web application components, reusing custom or general GUI logic and extending the framework. The framework enforces programming using Object-Oriented techniques with POJOs and provides a JSP tag library that facilitates programming web GUIs without writing HTML. Apr 12 » Code Analyzers » JarAnalyzerJarAnalyzer is a dependency management tool for .jar files. JarAnalyzer will analyze all .jar in a given directory and identify the dependencies between each. Output formats include xml, with a stylesheet included to transform it to html, and GraphViz DOT, allowing you to produce a visual component diagram showing the relationships between .jar files. The xml output includes important design metrics such as Afferent and Efferent coupling, Abstractness, Instability, and Distance. There is also an Ant task available that allows you to include JarAnalyzer as part of your build script. Apr 09 » ESB » ServiceMixApache 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. Apr 09 » ESB » MuleMule is a light-weight messaging framework. It is a highly distributable object broker that can seamlessly handle interactions with other applications using disparate technologies, transports and protocols. The Mule framework provides a highly scalable environment in which you can deploy your business components. Mule manages all the interactions between components transparently whether they exist in the same VM or over the internet and regardless of the underlying transport used. Mule was designed around the Enterprise Service Bus architecture, which stipulates that different components or applications communicate through a common messaging bus, usually implemented using Jms or some other messaging server. Mule goes a lot further by abstracting Jms and any other transport technology away from the business objects used to receive messages from the bus. Apr 08 » XML Parsers » Jakarta Commons DigesterMany 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. 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. Advanced features of Digester include: * Ability to plug in your own pattern matching engine, if the standard one is not sufficient for your requirements. * Optional namespace-aware processing, so that you can define rules that are relevant only to a particular XML namespace. * Encapsulation of Rules into RuleSets that can be easily and conveniently reused in more than one application that requires the same type of processing. Go To Jakarta Commons Digester Apr 05 » Portals » KosmosKosmos stands for Komposite Open Source Monitoring Suite. Kosmos is a suite of software development project monitoring portlets, developed at JBoss Labs . The JSR-168-compliant portlets are backed by a server component, to track the evolution of various aspects: version control, issue tracker, continuous integration builds and project dependencies. It delivers an instant project state view in quasi-realtime . Apr 03 » Network Clients » Ganymed SSH-2 for JavaGanymed SSH-2 for Java is a library which implements the SSH-2 protocol in pure Java. It allows one to connect to SSH servers from within Java programs. It supports SSH sessions (remote command execution and shell access), local and remote port forwarding, local stream forwarding, X11 forwarding and SCP. There are no dependencies on any JCE provider, as all crypto functionality is included. Mar 31 » Project Management » Activity ManagerActivity Manager is a project management tool. It helps a project leader to manage and check his collaborators activity. Activity Manager allows to build and maintain a hierarchical task tree. It is based on a database with a very simple model that allows to build quickly custom reports through the report facility or through simple SQL requests. Activity Manager is customizable. Activity Manager is a Java based tool running in standalone mode (with an embedded HSQLDB database) or with a MySQL database server or custom mode (user defined database for skilled users). The tool's features are : * Durations repository administration * Collaborators repository administration * Tasks repository administration * Contributions management (=activity management) * Extensible report facility (with built in templates) * XML database export/import * EXCEL export Mar 29 » Code Analyzers » ClirrClirr is a tool that checks Java libraries for binary and source compatibility with older releases. Basically you give it two sets of jar files and Clirr dumps out a list of changes in the public api. The Clirr Ant task can be configured to break the build if it detects incompatible api changes. In a continuous integration process Clirr can automatically prevent accidental introduction of binary or source compatibility problems. Mar 19 » Bloggers » DLOG4JDLOG4J provides a full-featured, cross-platform, multi-database, wap-supported personal information portal, based on JSP/Servlet.Features: * WYSIWYG blog & comment editor * Insite Point to Point message transport * RSS aggregation * WAP support * Open and private blog category * Mail notification when commented * RDF, RSS, ATOM support * International support * Multi database (JDBC 2.0 compatibled) support Mar 17 » General Purpose » RetrotranslatorRetrotranslator is a Java bytecode transformer that translates Java classes compiled with JDK 5.0 into classes that can be run on JVM 1.4. Supported features: generics, annotations, reflection on generics and annotations, enums, autoboxing, for-each loop, varargs, static import, concurrency utilities, collections framework enhancements. Mar 16 » Scripting Languages » JaninoJanino is a compiler that reads a JavaTM expression, block, class body, source file or a set of source files, and generates JavaTM bytecode that is loaded and executed directly. Janino is not intended to be a development tool, but an embedded compiler for run-time compilation purposes, e.g. expression evaluators or \"server pages\" engines like JSP. JANINO can also be used for static code analysis. Mar 14 » Databases » SmallSQL DatabaseSmallSQL is a 100% pure Java DBMS, a relational database for Java desktop applications. It has a JDBC 3.0 interface and offering many ANSI SQL 92 and ANSI SQL 99 features. It is very small and fast because it does not have a network interface. Mar 09 » Logging Tools » SLF4JThe Simple Logging Facade for Java or (SLF4J) is intended to serve as a simple facade for various logging APIs allowing to the end-user to plug in the desired implementation at deployment time. Logging API implementations can either choose to implement the the SLF4J interfaces directly, e.g. NLOG4J or SimpleLogger. Alternatively, it is possible (and rather easy) to write SLF4J adapters for the given API implementation, e.g. Log4jLoggerAdapter or JDK14LoggerAdapter. Mar 07 » XML UI Toolkits » JAXXJAXX enables you to write simple XML files describing components and their interactions, and then compile those XML files into ordinary Java classes. JAXX features extremely powerful scripting and data binding, CSS stylesheet support, and many other advanced features. Mar 02 » JSP Tag Libraries » Google:maps JSP Tag LibraryDevelop fully functional GoogleMaps on your website with no javascript or AJAX programming, using the Google:maps JSP Tag library. All gelocation is performed automatically, so plot by longitude/latitude, US or Intl address, or even IP... Integrate with JSTL or scriptlets to create database driven, dynamic maps. Go To Google:maps JSP Tag Library Feb 27 » Cache Solutions » cache4jcache4j is a cache for Java objects with a simple API and fast implementation. It features in-memory caching, a design for a multi-threaded environment, both synchronized and blocking implementations, a choice of eviction algorithms (LFU, LRU, FIFO), and the choice of either hard or soft references for object storage. Feb 23 » XML Parsers » VTD-XML 1.5VTD-XML is the next generation XML parser that goes beyond DOM and SAX in terms of performance, memory and ease of use. To XML developers, VTD-XML is simple and just works! Other innovative features include XML indexing (due to inherent persistence of VTD) and incremental update. It is also the world's fastest XML processor: On an Athlon64 3400+ PC, VTD-XML significantly (1.5x~2x) outperforms SAX parsers with NULL content handler, delivering 50~60 MB/sec sustained throughput, without sacrificing random access. Its memory usage is typically between 1.3x~1.5x the size of the XML document, with 1 being the XML itself. Feb 22 » Charting & Reporting » JMagallanesJMagallanes is an open source end user application for Olap and Dynamic Reports written in Java/J2EE. Combines static reports, pivot table and charts. It reads from SQL and other data sources. Feb 18 » Crawlers » JoBoJoBo is a simple program to download complete websites to your local computer. Internally it is basically a web spider. The main advantage to other download tools is that it can automatically fill out forms (e.g. for automated login) and also use cookies for session handling. Compared to other products the GUI seems to be very simple, but the internal features matters ! Do you know any download tool that allows it to login to a web server and download content if that server uses a web forms for login and cookies for session handling ? It also features very flexible rules to limit downloads by URL, size and/or MIME type. Feb 17 » Web Services » XINSXINS is an Web Services technology, supporting SOAP, XML-RPC and REST. It consists mainly of an XML-based specification format and a Java-based implementation framework. From the API specifications, XINS can generate HTML, WSDL, client-side code, server-side code and test forms. Feb 17 » Web Testing » SahiSahi is an automation and testing tool for web applications, with the facility to record and playback scripts. Developed in java and javascript, this tool uses simple javascript to execute events on the browser. Features include, in-browser controls, text based scripts, ant support for playback of suites of tests, and multi threaded playback. It supports HTTP and HTTPS. Sahi runs as a proxy server and the browser needs to use the sahi server as its proxy. Sahi then injects javascript so that it can access elements in the webpage. This makes the tool independant of the website/ web application. Feb 16 » JSP Tag Libraries » FormViewFormView is JSP taglib to manage postrender of JSP (HTML render)according to state (CREATE, READ, UPDATE,...). With Formview you develop just ONE JSP to manage READ-ONLY and READ-WRITE form. For instance, on CREATE state HTML inputs will be READ-WRITE and on READ state inputs will be READ-ONLY. You can use FormView with HTML or any JSP taglib (struts, struts-layout, jsp...) that you want postrender by FormView. With FormView you can customize render of input according to state (add attribute readonly to HTML input or replace it by value when form must be displayed to READ state). Formview can be plugged with Struts Validator to use information about validation to update HTML according to validation (eg : add maxlength attribute to HTML input if form must be validate by maxlength, add calendar if input must be date). Feb 16 » Job Schedulers » JDRingJDRing is a lightweight Java scheduling library that is simple and small, but still supports ringing alarms at specified intervals, as one-time events, or on complex schedules with full cron-like control. Feb 13 » SQL Clients » dbbrowserDBBrowser is an open source (GPL license), cross-platform tool which can be used to view the contents of a database. It supports CLOBS and BLOBS. It is designed to work with Oracle and MySQL. The user should never have to write SQL to view the data although a SQL window is provided. Support for ER (Entity Relationship) diagrams, XMLTypes and more DBMS is planned for the next version. Main features: 1. View all data and sequences in tables without writing SQL 2. Support for CLOBs and BLOBS in Oracle and MySQL 3. SQL syntax highlighting 4. Add, remove, update records without writing SQL 5. Add, remove columns from tables 6. Export data as CSV or PDF files 7. More than 10 GUI skins to change the look and feel 8. Context Sensitive Help 9. Internationalized with 2 language packs. Support for plugging in more language packs Other features: 1. Cross platform 2. Cross platform installer and Windows exe installer for ease of use 3. Documentation with javadocs, Technical architecture document, UI specs and Class diagrams Planned for next version: 1. Reverse engineer DDL from existing DB schema 2. Support for Entity Relationship diagrams 3. Support for Oracle XMLTypes 4. Support for PostGreSQL and IBM DB2 DBBrowser is hosted on the SourceForge website (http://databasebrowser.sourceforge.net) Could you please setup a link from your site Feb 10 » Scripting Languages » fscriptFScript is an extremely simple scripting language. Its intended use is as an embedded language in other Java programs. It is very simple to embed - it can be as simple as sub-classing one class to add your own functionality. However is not a complete programming language, as it has no library of standard functions (such as IO and string processing). FScript supplies a base functionality (such as flow control, variable handling and basic math operations) that can extended by the host application. Feb 07 » Parser Generators » grammaticaGrammatica is a C# and Java parser generator (compiler compiler). It improves upon simlar tools (like yacc and ANTLR) by creating well-commented and readable source code, by having automatic error recovery and detailed error messages, and by support for testing and debugging grammars without generating source code. Feb 07 » Scripting Languages » HeclThe Hecl Programming Language is a high-level scripting language implemented in Java. It is intended to be small, extensible, extremely flexible, and easy to learn and use. Feb 06 » Web Frameworks » BrillThe Brill Framework is an open source framework for developing transactional web sites using Java and XHTML. The Brill Framework was developed by Chris Bulcock, as a result of becoming frustrated with frameworks such as Apache Struts, which depends on Java Server Pages. The objective was to develop a framework that is simple, that supports WYSIWYG page editing and does not require Java code or special tags within the Server Pages. Feb 03 » Scripting Languages » DynamicJavaDynamicJava is a JavaTM source interpreter. It executes programs written in JavaTM, like described in the Java Language Specification, in addition with scripting features. DynamicJava was written in pure JavaTM, is free and distributed with the source code. Feb 02 » Job Schedulers » Job SchedulerThe Job Scheduler is a batch program operating as a demon, and can be controlled using a graphical user interface. The Job Scheduler uses an XML configuration for the scheduled programs, scripts and for the timing and frequency of task processing. An API is available for Java, Javascript, Perl, VBScript that hands control of events and logging to your jobs. The Job Scheduler is used for Job Automation - for example, automatically running database procedures with the free database systems MySQL, PostgreSQL, with SQL Server or with Oracle. The Job Scheduler is available for the following operating systems: Windows 2000 and Windows XP, Linux, Solaris and HP-UX. Jan 30 » Build Systems » AutojarAutojar helps creating jar files of minimal size from different inputs like own classes, external archives etc. It starts from one or more given classes (e.g., an applet), recursively searches the bytecode for references to other classes, extracts these classes from the input archives, and copies them to the output. The resulting archive will only contain the classes that are really needed. Thus one can keep size and loading time of applets low or make applications independent of installed libraries. In a similar way, autojar can search directories and archives for other resources (like image files), extract them and copy them to the output. Although autojar can't know exactly which classes get loaded dynamically, it can search the bytecode for invocations of Class.forName() and warn about it. In some cases (constant class name), it can even find out which classes are to be loaded, and add them automatically to the output. Jan 26 » CMS » jLibraryjLibrary is a DMS (Document Management System), oriented for personal and enterprise use. This double approach make from jLibrary an unique product. With jLibrary, you can classify your documents, videos, or any other media type. You can export those contents to static web pages based on templates, search on those content, add comments, categorize it, etc. Companies can find in jLibrary all the features present in most modern content management systems, including team work support, version management, offline document edition, document locking, security constraints based on roles, users and groups, easy web access, etc. jLibrary is multiplatform, so you can run the client and the server in both Windows and Linux. jLibrary is based on web services so it boosts interoperatility between platform and lenguages, being an ideal solution for heterogeneous environments. Jan 24 » J2EE Frameworks » GlassFishGlassFish 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. Jan 20 » Web Servers » firecatfirecat is a Server-Side JavaScript Webserver. With firecat you can build complete Web Applications using JavaScript on both the Client-Side(AJAX) and the Server-Side(NSP). It is similar to ASP and JSP, but instead of VBScript and Java, it uses JavaScript as the main scripting language. firecat is written in Java and can run on any Java Virtual Machine, but the main target will be to support Free Java Runtimes such as SableVM, JamVM, Kaffe, GCJ/GIJ and Apache Harmony. Firecat is geared towards Webmasters, Web Designers and Web Developers, who want to leverage their JavaScript skills on the server-side. Building webpages should be simple. Any Internet User should be able to create webpages with server-side functionality, without being forced to learn complicated programming languages. Jan 17 » Web Frameworks » RestletRestlet is a framework that brings the simplicity and efficiency of the REST architectural style to Java developers. It is composed of two parts, a neutral API and a reference implementation (Noelios Restlet Engine). It supports all REST concepts (resource, representation, data, connector, components, etc.) and is suitable for both client and server REST applications. The server connectors provided are HTTP (via Mortbay's Jetty or an adapter Servlet) and the client connectors are HTTP, JDBC, and SMTP (via JavaMail). Jan 16 » Web Frameworks » HelmaHelma is an open source web application framework for fast and efficient scripting and serving of your websites and Internet applications. Jan 11 » RSS & RDF Tools » FaceRSSFaceRSS is a simple JavaServer Faces (JSF) component that allows you to display news from specified RSS url source in one configurable tag. So, you can place your favorite news on your website in a very simple way. It uses rsslib4j and therefore supports RSS version 0.9x, 1.0, and 2.0 with Dublin Core and Syndication namespaces. Jan 09 » Aspect-Oriented » PROSEThe PROSE system (PROSE stands for PROgrammable extenSions of sErvices) is a dynamic weaving tool (allows inserting and withdrawing aspects to and from running applications) PROSE aspects are regular JAVA objects that can be sent to and be received from computers on the network. Signatures can be used to guarantee their integrity. Once an aspect has been inserted in a JVM, any occurrence of the events of interest results in the execution of the corresponding aspect advice. If an aspect is withdrawn from the JVM, the aspect code is discarded and the corresponding interception(s) will no longer take place. Jan 06 » NoSQL Databases » Berkeley DB Java EditionBerkeley 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. Go To Berkeley DB Java Edition Jan 06 » Installers » Java Service WrapperThe Wrapper makes it possible to install a Java Application as a Windows NT Service. The scripts provided with the Wrapper also make it very easy to install those same Java Applications as daemon processes on UNIX systems. The Wrapper correctly handles user log outs under Windows, service dependencies, and the ability to run services which interact with the desktop. Jan 02 » RSS & RDF Tools » FeedPodFeedPod is a Text-To-Speech RSS/ATOM Newsfeed reader. It generates PodCasting feeds, suitable for automatically downloading onto your portable MP3 player. Dec 29 » Connection Pools » SmartPoolSmartPool is a connection-pooling component modeled on pooling features provided by Application Server. SmartPool makes an attempt to solve critical issues like connection leaks, connection blocking, open JDBC objects like Statements, PreparedStatements etc. Features of SmartPool include support for multiple pools, automatic closing of associated JDBC objects, detect connection leaks based on configurable time-outs, track connection usage, forced recovery of least recently used connections, wrap SmartPool to an existing pool, monitor runtime status of the pools apart from conventional pooling support. Dec 23 » XML Parsers » StAXStAX is a standard XML processing API that allows you to stream XML data from and to your application. It's a standard pull parser implementation for the java platform. Dec 16 » Portals » PortletBridgeThe Portlet Bridge Portlet is a web clipping proxy portlet that allows web application be hosted as portlets. The web clipping can be customized using XSLT. Dec 15 » Databases » H2H2 is a SQL database engine written in Java. JDBC and ODBC drivers, embedded and client/server mode. Clustering is supported. In-memory and disk based tables. A web console application is included. Dec 14 » Workflow Engines » SwishSwish is an open source web services-based workflow API/Engine. The name Swish is an acronym derived from the phrase Simple Web services Interface to Shark. Swish provides a convenient web services layer on top of Enhydra Shark, offering two key benefits: 1. It opens Shark to a wider range of developers by supporting both Java and non-Java clients. Java clients are supported natively and can use Swish in 'embedded' mode in addition to the web services alternative. 2. It greatly simplifies access to the more commonly-used features of Shark. Dec 12 » Charting & Reporting » Pentaho - Business IntelligenceEnterprise-class Business Intelligence (BI) - including reporting, analysis, dashboards, data mining and workflow. Inlcudes Eclipse BIRT, JasperReports, Mondrian, JPivot, scheduling, web services, busienss rules. Released under the Pentaho Public License Go To Pentaho - Business Intelligence Dec 09 » Web Frameworks » wingSwingS is a component based web framework resembling the Java Swing API with its MVC paradigm and event oriented design principles. It utilizes the models, events, and event listeners of Swing and organizes the components as a hierarchy of containers with layout managers. Version 2.0 comes with a completly rewritten rendering subsystem focusing on optimal stylability via CSS and new features like Drag & Drop support, context menus and Server-side code execution (AJAX). Selected features of wingS 2.0 are: * Comprehensive set of widgets including trees, tables, tabbed panes menus and more. * Highly flexible dynamic layout managers * Drag & Drop support * Component context menus and tooltips * Handling of browser back navigation * Improved styleability via CSS The distribution contains an extensive user documentation and various demo applications also available >>online. wingS is released under the LGPL licence. PermaLink Dec 08 » JMX » jManagejManage is a open source, web and command-line based JMX client, which provides a centralized console for managing application clusters and distributed-application environments. jManage goes beyond an ordinary JMX client by providing features like Alerts, Graphs, Security, SNMP support, etc. The jManage mission is to provide an open source management platform, which can be used to manage and monitor complete production environment. Dec 06 » Web Frameworks » CarambaThe caramba framework is built from bottom to top with one main goal: creating Responsive, Rich Internet Applications. With the AJAX technology we could already achieve this, but it was hard to debug, error prone and time intensive to make it work. We are sure that simplicity can be achieved by following the event driven architecture: Caramba is 100% event driven, so very, very easy to use. Using Caramba makes it possible to make fancy, responsive web-applications without having to write a single line of JavaScript. You don't need to learn another language. Just the good old java syntax and JSP, that's all you need to know to get started. Dec 04 » ByteCode » SootSoot is a Java optimization framework. It provides four intermediate representations for analyzing and transforming Java bytecode: 1. Baf: a streamlined representation of bytecode which is simple to manipulate. 2. Jimple: a typed 3-address intermediate representation suitable for optimization. 3. Shimple: an SSA variation of Jimple. 4. Grimp: an aggregated version of Jimple suitable for decompilation and code inspection. Soot can be used as a stand alone tool to optimize or inspect class files, as well as a framework to develop optimizations or transformations on Java bytecode. Dec 02 » Workflow Engines » AntflowAntFlow is a tool for the automation and scheduiling of data system tasks, including those with complex dependencies and workflow logic. Antflow represents a new approach to simplifying system automation that leverages pipelines of hot folders chained together to perform a given task. Using XML, Antflow associates an automated task, such as data transfer, compression, or encryption, with a directory on the local system. Whenever a file is copied or written into the hot folder, the associated task is executed and the file is moved to the next hot folder in the pipeline for further processing. Dec 01 » Workflow Engines » DalmaThe heart of the engine is an ability to capture the execution state of a thread and resume it later. Many applications of today need to have a part of the program that waits for other entities. . Often there are multiple conversations running concurrently. Those are what we call \"workflow\" applications. Today, those applications can be written, but one can't write it very productively. Dalma makes it very easy to write those workflow applications by letting you write it as an ordinary procedural program without any boilerplate. Nov 30 » Search Engines » LiusLIUS - Lucene Index Update and Search LIUS is an indexing Java framework based on the Jakarta Lucene project. The LIUS framework adds to Lucene many files format indexing fonctionalities as: Ms Word, Ms Excel, Ms PowerPoint, RTF, PDF, XML, HTML, TXT, Open Office suite and JavaBeans. LIUS is very easy to use; all the configuration of the indexing (types of files to be indexed, fields, etc...) as well as research is defined in a XML file, so the user only have to write few lines of code to carry out the indexing or research. LIUS has been developed from a range of Java technologies and full open source applications. Nov 28 » JSP Tag Libraries » DBGrid for JSPA small tag library offering similar functionality as that of the data grid control available in ASP.NET Nov 23 » RSS & RDF Tools » RDF2GoRDF2GO is an abstraction over triple (and quad) stores. It allows developers to program against rdf2go interfaces and choose or change the implementation later easily. Program now, decide on triple store later - Triple-centric API Easy to extend - only 6 simple methods have to be implemented by a triple (or quad) store Triple and quad support - All techniques are available for triple and quad models Nov 22 » Wiki Engines » Elsie WikiElsie is a wiki engine written in Java. It supports most popular wiki features including wiki markup syntax, content management (view, edit, attachment..), version control (history, diff, revert..), access control list, etc. Elsie implements an IoC-based wiki kernel, which loads service providers and wiki action plug-ins dynamically during runtime. Elsie also offers a clearly-defined, servlet-independent wiki API set via which a wiki may be extended and customized easily. Nov 21 » Cache Solutions » JoftiJofti is a simple to use, high-performance object indexing and searching solution for Objects in a Caching layer or storage structure that supports the Map interface. The framework supports EHCache, JBossCache and OSCache and provides for transparent addition, removal and updating of objects in its index as well as simple to use query capabilties for searching. Features include type aware searching, configurable object property indexing, indexing/searching by interfaces as well as support for Dynamic Proxies, primitve attributes, Collections and Arrays Nov 18 » Profilers » InfraREDnfraRED is a tool for monitoring performance of a J2EE application and diagnosing performance problems. InfraRED uses AOP to weave the performance monitoring code into the application. It comes with out of the box support for AspectJ & Aspectwerkz. Salient Features: * Fully non-intrusive. No coding required by developers. * Layer-wise performance statistics summary (Web, Session, JDBC etc). * API level detailed performance statistics. * Call tree views (like in other profiler tools). * JDBC API and SQL statistics. * Last invocation statistics. * Correlation of statistics across layers. * Support for centralised gathering and presentation of performance data for one or more applications in a cluster. * Remote or local collection of performance metrics. * User-friendly web GUI. * Simplified ant-based integration with application. * Support for multiple application servers * Weblogic * Jboss * Tomcat * Useful for applications with or without use of EJBs. * Export summary of performance statistics into Excel spreadsheets. * Very low overhead, Can be used in production environments. * Ability to save and reload snapshots. Nov 17 » General Purpose » JSci - A science API for JavaThis is a free set of JavaTM packages. The aim is to encapsulate scientific methods/principles in the most natural way possible. As such they should greatly aid the development of scientific based software. Go To JSci - A science API for Java Nov 16 » CMS » Corinis CCMCorinis CCM is a Java-based, open-source content and community management system. It combines all the power of a professional content management solution (WYSIWIG editing, versioning, role-based QA, and more) with the flexibility and ease of use of a web community framework. The system's modular design encourages the development of reusable extensions (like the included forum, voting or photo album modules), while the carefully designed framework, the Java codebase and the extensive use of XML for data formats guarantee interoperability. Building your Intra- or Internet presence with Corinis CCM will reduce costs, required skill levels and time to market while giving you the confidence of having chosen a dependable and open development platform. Nov 15 » Web Frameworks » ZKZK is an AJAX-based, event-driven, XUL-compliant, all Java framework for enabling Web applications to have the rich user experiences. With intuitive event-driven model, you represent your application in feature-rich XUL components, and manipulate these components by listening to events triggered by users, as simple as you did for years in desktop applications. No JavaScript. No replication of business logic at the clients. No proprietary components. No compilation. ZK works with existent frameworks and technologies, such as JSF and Portals, so the pace of adapting it is all under your control. Nov 15 » J2EE Frameworks » Mdarad-toolboxMDARAD is an open source modeling tool that generates web applications under simple servlet containers or, alternatively, in J2EE containers. It uses the dataïsland (www.dataisland.org) platform independent modeling (PIM) specifications. The generated application is packaged and built in order to facilitate user customizations to the generated code and implements many of the J2EE core design patterns. Some of the generated features are: * Struts JSP Tiles and actions to manage web layer * Persistence Facades using Hibernate * XML Serialization Services * ReST and SOAP Web Services * Lucene Full Text Search Facades * JUNIT Tests The MDARAD J2EE webapp project is divided in three components: * mdarad-framework: collection of interfaces, utilities and abstract classes used by the generated web application. * andromda-webapp: the cartridge used to generate the application. * mdarad-genapp: the development environment generator and manager. This is where you generate your project and control what will be generated or not. MDARAD also has a vision to allow ontology communications based on web semantics and ontology alignment. Nov 11 » Rule Engines » Open LexiconOpen Lexicon is a business rules and business process management tool that rapidly develops applications for transaction and process-based applications. It includes a business rules metadata repository, a business rules engine, and a comprehensive web-based UI for managing and testing the busines rules. It also includes process management tools for orchestrating complex interactions within business rules and business objects. Nov 10 » Profilers » MessAdminMessAdmin is a notification system and Session administration for J2EE Web Applications, giving detailed statistics and informations on any Web application. It installs as a plug-in to any Java EE WebApp, and requires zero-code modification. Nov 09 » CMS » Xincoxinco [eXtensibe INformation COre] is a powerful Web-Service based Information and Document Management System (DMS) for files, text, URLs and contacts, featuring ACLs, version control, full text search and an FTP-like client. (easy install, J2EE+MySQL) Nov 08 » JDBC » jxDBConjxDBCon a framework to ease the development JDBC drivers. By using it you can concentrate on the tasks specific to your DBMS and benefit from the generic solutions provided by jxDBCon. jxDBCon also contains a featureful driver implementation for PostgreSQL Nov 08 » Code Analyzers » MackerMacker is a build-time architectural rule checking utility for Java developers. It's meant to model the architectural ideals programmers always dream up for their projects, and then break -- it helps keep code clean and consistent. You can tailor a rules file to suit a specific project's structure, or write some general \"good practice\" rules for your code. Macker doesn't try to shove anybody else's rules down your throat; it's flexible, and writing a rules file is part of the development process for each unique project. Nov 07 » Testing Tools » MocquerMock is a widely used technology in unit test domain. It shields exteral and unnecessary factors and helps developers focus on the specific function to be tested. EasyMock is a well known mock tool which can create mock object for given interface at runtime. The mock object's behavior can be fine defined prior the test code in the test case. EasyMock is based on java.lang.reflect.Proxy, which can create dynamic proxy class/object according to the given interfaces. It has the inherent limitation from the Proxy. It can create mock object for given interface only. Mocquer is a similar mock tool as EasyMock. With the help of Dunamis Project, it extends the function of EasyMock to support mock object creation for both class and interface. Nov 04 » SQL Clients » QuantumDBQuantumDB is a simple but powerful database access plug-in for the Eclipse Development Platform. QuantumDB allows you to: * connect to databases using standard JDBC drivers * review schemas, tables, views and sequences * look up column, index and foreign key information * issue ad-hoc queries or other SQL statements against the database * manage, edit, and work with SQL files (*.sql) * issue updates, deletes, and inserts using simple, easy-to-use wizards QuantumDB works with any JDBC-complaint database, including: * Adabas * DB2 * DB2 on AS400 * HSQLDB * Informix * MySQL * Oracle * Pointbase * PostgreSQL * Sybase The QuantumDB developers regularly use a wide variety of database products as they add new features to the plugin. Nov 03 » UML & Modeling » UniModUniMod states for Unified Modeling. Currently, UniMod project is focused on designing and implementing applications behavior. UniMod defines its own methodology for describing application behavior and delivers set of tools that consists of Java Finite State Machine Framework and Eclipse Plug-in. Tools allow designing application logic with help of set of Class and Statechart Diagrams, generating finite state machine XML-description and then launch this XML-description using Runtime Framework that is part of Java Finite State Machine Framework. UniMod is distributed under the Open Software License v. 2.1 Nov 02 » Web Services » Apache ScoutApache Scout aims to be an open source implementation of the Java API for XML Registries (JAXR) specification. It has level 0 capability support. It can talk to UDDI registries. Nov 01 » CMS » OpenEditOpenEdit includes online editing, dynamic layouts, spell check, user manager, file manager, version control and notification tools. Ecommerce tools include online catalog manager, shopping cart, electronic payments, presentation tools and advanced product search with no database required. Blog includes online administration, comments, registration and RSS/Atom engine. Oct 31 » CMS » AtLeapBlandware AtLeap is a multilingual free Java CMS (Content Management System) with full-text search engine. Blandware AtLeap is also a framework which allows you to rapidly start your own Web application. Blandware AtLeap is destined to creating both content-based sites and web applications with complicated business logic. Blandware AtLeap has the following features: * Simplicity of using. You can navigate on your site and choose editable areas by double mouse click or context menu. * rich text formatting possibilities using WYSIWYG editor. * Multilingual content. There is an ability to store content on several languages simultaneously in UTF-8 encoding. 100% of content are stored in the database. You can edit any data using web interface. * AtLeap allows all available pages to be indexed on all languages by external search engines (Google, Yahoo, etc). * Full text search engine. The embedded engine provides ability to search on several languages taking into account inflexions and stop words. Indexing the following document formats: RTF, PDF, Word, Excel, PowerPoint, HTML, XHTML, XML, TXT. * Individualization. AtLeap?s CMS ideology does not restrict creative graphical design of the site. The customer does not want template, banal routine graphical design. Blandware AtLeap allows creating individual, unique, exceptional solution. However nowadays the site has a lot except of content. The site can have complicated business logic. So Blandware AtLeap is: * Lightweight. It does not require (but can be run on) heavy and/or expensive EJB (Enterprise Java Bean) application server to run. * Independent from: Hardware platform, OS, DBMS, Servlet-container and Browser. * Stable: ** Multi-user work, implemented using application transactions (optimistic concurrency control). As for big texts you can even merge simultaneously edited content. ** Database transactions: rollbacks and pessimistic locking. ** The big texts are still saved even the HTTP session is invalidated. ** The input forms are validated at server and client side. ** Transparently saves state information and repopulates forms when they are redisplayed. ** Prevents of double form submission (client and server side). ** Bidirectional relationships between links and resources in order to prevent creating broken links and deleting used resources. ** There is ability to replace almost all dependent links during changing URL of Content Page or Resource. * Based on modern open source technologies: Hibernate, Spring, XDoclet, Struts, FCKEditor, Lucene, Quartz, Acegi, TinyMCE etc. Oct 26 » Network Clients » snmp4jopen source SNMP implementation for Java2SE 1.4 or later. supports command generation (managers) as well as command responding (agents). Its clean object oriented design is inspired by SNMP++. Oct 24 » JSP Tag Libraries » Ditchnet JSP TabsThe Ditchnet JSP Tabs Taglib provides an incredibly simple toolkit for adding rich, sophisticated tabbed-pane GUI components to web-based user interfaces. The Tabs Taglib combines the powerful features of DHTML, Java, and JSP to allow you to create web-based tabbed interfaces that behave in a manner remarkably similar to what you would expect from a rich client toolkit like Java Swing. The Tabs Taglib utilizes JavaScript and DHTML to respond to client-side, user-initiated events, while leveraging JSP and the Servlet API for rendering the tabbed components and persisting the state of individual selected tabs. Oct 23 » JDBC » SequoiaSequoia is a transparent middleware solution for offering clustering, load balancing and failover services for any database. Sequoia is the continuation of the C-JDBC project. The database is distributed and replicated among several nodes and Sequoia balances the queries among these nodes. Sequoia handles node failures and provides support for checkpointing and hot recovery. Oct 22 » JDBC » SQL ProfilerThis small tool connects to the P6Spy JDBC logger and displays in real time the queries going to the database. It uses an integrated SQL parser to build statistics on the most accessed tables and columns and can generate SQL index creation files. Other information is also gathered and displayed, such as the request time for a single request, for a class of request, and for all the requests. Sorting may be done on these views to detect database problems efficiently. Oct 21 » JDBC » HA-JDBCHA-JDBC is a JDBC driver proxy that provides light-weight, transparent, fault tolerant clustering capability to any underlying JDBC driver. Features * Supports any database accessible via JDBC. * High-availability/Fault Tolerance - An HA-JDBC database cluster can lose a node without failing/corrupting the current transaction. * Live activation/deactivation allows for maintenance/upgrading of a database node without loss of service. * Improves performance of concurrent read-access by distributing load across individual nodes. * Support for full JDBC 3.0 (Java 1.4) feature set. * Compatible with JDBC RowSet implementations found in Java 1.5. * Out-of-the-box database-independent strategies for synchronizing a failed cluster node. * Exposes JMX management interface to allow administration of database clusters. Oct 21 » JDBC » C-JDBCC-JDBC is a free open source database cluster middleware that allows any Java application (standalone application, servlet or EJB container, ...) to transparently access a cluster of databases through JDBC(tm). The database is distributed and replicated among several nodes and C-JDBC balances the queries among these nodes. C-JDBC handles node failures and provides support for checkpointing and hot recovery. Oct 21 » JSP Tag Libraries » AjaxAnywhereAjaxAnywhere is designed to turn any set of existing JSP components into AJAX-aware components without complex JavaScript coding. In contrast to other solutions, AjaxAnywhere is not component-oriented. You will not find here yet another AutoComplete component. Simply separate your web page into multiple zones, and use AjaxAnywhere to refresh only those zones that needs to be updated. Oct 18 » Workflow Engines » ActiveBPELActiveBPEL engine is a robust runtime environment that is capable of executing process definitions created to the Business Process Execution Language for Web Services (BPEL4WS, or just BPEL) 1.1 specifications. Oct 17 » CMS » MeshCMSMeshCMS is an online editing system written in Java. It provides a set of features usually included in a CMS, but it uses a more traditional approach: pages are stored in regular HTML files and all additional features are file-based. It has been thought as a quick tool to edit pages online, without many of the features that most CMSes offer. MeshCMS simply helps you to edit pages, manage files and create some common components like menus, breadcrumbs, mail forms, image galleries and so on. There is no database, no content approval and no versioning. Not all people need those features and those giant-sized products that require too much time to be learned and too much system resources to run. MeshCMS is essential and requires few resources: the default 64MB heap is enough to host a handful of sites. Main features are: file-based, easy to install, cross-browser, wysiwyg editor integrated, file manager, themes, modules, tag library, page caching, hotlinking prevention. Oct 16 » Testing Tools » DDTUnitDDTUnit is a testing framework based on JUnit that focus on a datadriven approach to testing. It separates testcode from testdata by suppliing an easy to learn xml based data description schema. DDTUnit supports complex object description like collections, maps and value objects out of the box. Oct 15 » Build Systems » ContinuumContinuum is an easy-to-use, Continous Integration server for building Java-based projects, with built-in support for Maven 2, Maven 1, Ant and Shell Scripts. Oct 14 » Testing Tools » JemmyJemmy is a JavaTM library that is used to create automated tests for Java GUI applications. It contains methods to reproduce all user actions which can be performed on Swing/AWT components (i.e. button pushing, text typing, tree node expanding, ...). JemmyTest is a program written in Java which uses the Jemmy API to test applications. Oct 13 » Web Servers » WinstoneWinstone is a servlet container that was written out of a desire to provide servlet functionality without the bloat that full J2EE compliance introduces. It is not intended to be a completely fully functional J2EE style servlet container (by this I mean supporting extraneous APIs unrelated to Servlets, such as JNDI, JavaMail, EJBs, etc) - this is left to Tomcat, Jetty, Resin, JRun, Weblogic et al. Sometimes you want just a simple servlet container - without all the other junk - that just goes. This is where Winstone is best suited. Winstone supports v2.4 servlet specification, and is available in a lite version (155KB) and a full version (329KB). It supports JSP 2.0 spec when apache jasper is enabled. Oct 12 » SQL Clients » Datastream ProDatastream Pro is a database browser and data manipulation tool. It is intuitive, easy to use, reliable and stable. It supports almost any JDBC compliant database (tested on Oracle, MySQL, postgreSQL and HSQLDb). It is avaliable on both Linux and Windows. Browse and edit the data in your database. Run SQL query's and scripts. Simultaneously connect to multiple databases. Easy to use connection wizard. Secure, personalised settings for connections and preferences. Built in text editor. Oct 11 » Testing Tools » JacaretoJacareto is a capture & replay tool for programs written in Java. You can capture actions on applications and replay them later on (like macros). Jacareto can be used for many purposes: * GUI tests * Creation of animated demonstrations * Creation of macros * Qualitative and quantitative analyses of user behavior There are two front ends included in Jacareto: * CleverPHL is a GUI front end for Jacareto * Picorder is a command line front end for Jacareto Jacareto is subject to the GNU General Public License (GPL). Oct 10 » Code Analyzers » XRadarThe XRadar is an open extensible code report tool that produces HTML/SVG reports of the systems current state and the development over time. Uses DependencyFinder, JDepend, PMD, PMD-CPD, JavaNCSS, Cobertura, Checkstyle, XSource, JUnit, Java2HTML, ant and maven. Oct 09 » Template Engines » VientoViento is a general purpose template language written in Java. It is syntactically similar to Velocity in many ways. The most notable difference is the absence of 'special' directives. The language features (mixins, blocks, custom method names) allow simple Java tools to serve these functions and open the way for user extensions to look just as nice as the core language constructs with minimum work. Released under the Eclipse Public License (EPL). Oct 07 » XML Parsers » woodstoxWoodstox is a fast Open Source StAX-compliant XML-processor written in Java (processor meaning it handles both input (== parsing) and output (== writing, serialization)). Oct 04 » General Purpose » TrueZIPAlthough the ZIP file format it is a proprietary, de-facto standard by PKWARE Inc., ZIP files are ubiquitous on the Internet and thus on many platforms today. The J2SE API provides a well known package java.util.zip with classes like ZipInputStream, ZipOutputStream and ZipFile for easy access to ZIP compatible files. However, this package has some limitations/disadvantages: * Sun's implementation uses the character set UTF-8 (eight bit Unicode character set) for entry names and comments instead of CP437 (the genuine IBM-PC character set) as used by the de-facto standard PKZIP from PKWARE. As a result, you cannot read or write ZIP files with international entry file names such as \"t?cht.txt\" in a ZIP file created by a (southern) German. * You need to use an additional API (the package java.util.zip) if your application needs to support ZIP compatible files in addition to ordinary files and directories, thereby significantly inflating your code and adding unnecessary complexity (which adds bugs, bugs, and even more bugs). * You can either read or completely write ZIP compatible files, but you cannot just update individual entries. * The classes do not support the concept of a directory, which you may want to create, modify, list or delete. * You cannot browse a ZIP compatible file with a JFileChooser or FileSystemView. The TrueZIP Library has been developed to overcome these limitations/disadvantages. Oct 03 » General Purpose » JGAPJGAP (pronounced \"jay-gap\") is a genetic algorithms component written in the form of a Java package. It provides basic genetic mechanisms that can be easily used to apply evolutionary principles to problem solutions. The ground is laid for introducing Genetic Programming to JGAP in the near future! JGAP has been written to be very easy to use \"out of the box,\" while also designed to be highly modular so that more adventurous users can easily plug-in custom genetic operators and other sub-components. Sep 30 » General Purpose » GeminiGemini is a very simple-to-use non-intrusive Java framework that seamlessly enables bidirectional relationships between plain old Java objects (POJO). It helps developers to write simpler code to implement rich domain models by eliminating the need to manually check referential integrity and take care of updating the opposite property of a relationship (both simple and container properties). Gemini is available under dual license: * General Public License (GPL) - if you use this version of Gemini you must release your code under GPL * Commercial license - if our GPL version of Gemini does not serve your needs (mostly intended for commercial software developers) Sep 27 » Testing Tools » UISpec4JUISpec4J is an Open Source functional and/or unit testing framework for Swing-based Java applications, built on top of the JUnit test harness. What makes it special is that its APIs are designed to ease the testing process by making the test scripts as close possible to human-readable text. Sep 26 » Web Frameworks » ClickClick is a J2EE web application framework created for commercial Java developers. Click Highlights * Very easy to learn * Component and Page Oriented design * Event base programming model * Automatic form validation * Page templating * Velocity page rendering * Superb error reporting * High performance The design philosophy behind Click is best summarized in the Swedish word lagom which translates to not too little or too much, but optimal. Sep 22 » UML & Modeling » fujabaFujaba is the acronym for 'From Uml to Java And Back Again' and originally aims to provide an environment for round-trip engineering using UML as visual programming language. During the last years, the environment has become a base for several research activities, e.g. distributed software, database systems, modelling mechanical and electrical systems and their simulation. Thus, the environment has become a project, where this source code is part of. Sep 20 » SQL Clients » HenplusHenPlus is a SQL shell written in Java that works for any database that offers JDBC support. It supports: * Any JDBC aware database. * Has context sensitive command line completion for commands and tables / columns / variables within SQL-commands. * Multiple open connection-sessions can be handled in parallel. You can just switch between them. So you can be connected to different databases to experiment with the same statement in all of them, for example. * All JDBC-Urls of opened sessions are stored for later command line completion in the connect command. * Command line history just like in the bash (with cursor-up/down, CTRL-R, ...) * A describe command for database tables, that work all JDBC-Drivers that unveil the appropriate MetaData (Oracle, PostgreSQL, MySQL, DB2...) * supports variables that are expanded like shell variables with $VARIABLENAME or ${VARIABLENAME} (with completion of their names, just like in bash) * Dumping/Loading files across databases * Supports several built-in commands (start, @, @@, spool) and syntax from the Oracle SQL-plus utility (like the single '/' on a line to close a statement). Most Oracle SQL-plus scripts will run directly, so its simple to switch to HenPlus. * Allows a per-project storage of the commandline history, variables, plugins and connections. * Allows to add your own plugins that behave just like the built-in commands. Sep 19 » General Purpose » Joda-TimeJoda-Time provides a quality replacement for the Java date and time classes. The design allows for multiple calendar systems, while still providing a simple API. The 'default' calendar is the ISO8601 standard which is used by XML. The Gregorian, Julian, Buddhist and Coptic systems are also included, and we welcome further additions. Supporting classes include time zone, duration, format and parsing. Sep 19 » Network Clients » PolePositionPolePosition is a benchmark test suite to compare database engines and object-relational mapping technology. As of today it is by no means complete. Database vendors and open source database project participants are invited to improve the test implementations and to contribute further disciplines (\"Circuits\"). The PolePosition framework source code will help to implement own tests quickly and to time and output the results as number series and graphic visualisations. Sep 16 » Network Servers » ApacheDSThe Apache Directory Server is an embeddable LDAP server written in Java. It has been designed to introduce triggers, stored procedures, queues and views to the world of LDAP which has lacked these rich constructs. Sep 13 » Scripting Languages » YoixThe Yoix scripting language is a general-purpose programming language that uses syntax and functions familiar to users of C and Java. It does not use reflection to access Java functionality and thus adds value by not only simplifying access to that functionality, but also improving application reliability by coding through Java gotchas and complicated Java features one-time, behind-the-scenes. The Yoix language includes pointers, addressing, declarations, and global and local variables. In addition to supporting native user functions, users can add their own builtin functions written in Java. It is licensed under the Open Source Foundation CPL 1.0. Sep 12 » Profilers » JBoss ProfilerJBoss Profiler is a log based profiler using the JVMPI system. It uses an agent written in C that captures events from the JVM and logs them to disk. A web application running on JBoss or another machine can be used to analyze these logs through a web browser. Sep 11 » ByteCode » JenJen is a lightweight, high-level Java(tm) bytecode manipulation and generation library that permits Java classes to be modified in terms of 'rename this class', 'make a field public', and 'add a new constructor'. Jen is based on ASM 2.1, and includes full support for J5 annotations and generics. An additional set of utilities is provided to facilitate working with generated classes at runtime (e.g. allowing definition of new classes in the system classloader and so on). Sep 08 » Code Coverage » CoverlipseAn eclipse plugin for code coverage visualization of JUnit Tests. Supported coverages include block coverage and all-uses coverage (Data Flow Analysis). License is CPL (Common Public License) Sep 07 » Wiki Engines » JBossWiki* Full support of the JBoss Portal 2.0 security constructs to allow users and roles to be associated with editing and display of wiki pages and attachments within the context of a JSR 168 compliant portal. * Full support of wiki page histories and rollback. * An integrated DIFF tool. * A Plugin framework which allows different wiki types to be defined and associated with different plugin stacks which add contextual content to wiki pages or do translations. * Full support for attachments (attachment histories are pending). * Currently supports the JSPWiki wikitext syntax. * Includes a prototype search engine. * Simple URL support even while running within JBoss Portal so users can access wikipages by the URL pattern: http://host/wiki/PageName Sep 06 » Web Frameworks » StripesStripes is a Java web framework that makes web development as easy as it should be. It requires zero external configuration beyond the registration of one servlet and one filter. Stripes includes simple yet powerful solutions to common problems such as indexed properties, multi-event forms, localization and use of domain objects in the web tier. All of this in a compact framework with hardly any dependencies! Sep 05 » Web Services » CrispyThe intention from Crispy is a easy communication with different kind of services. Services are RMI, WebService, REST, XML-RPC, EJB, Burlap, Hessian or other. With Crispy you can invoke all services with the same interface. You must don't know, how the service-technology work. The kind of communication is describe in properties and it can be easy change. The remote calls are simple Java Object call. You can integrate Crispy (for example) in a Service Oriented Architecture (SOA) or in a Rich Client Platform (RCP). Sep 02 » Network Clients » Java SNMP PackageThis is an open-source implementation of the SNMP protocol as a Java package. It provides support for basic SNMP client and agent operations as defined in SNMP versions 1 and 2 (excluding the security model proposed as part of SNMP version 2, which was never widely accept or deployed). The package provides a mechanism for \"getting and setting\" SNMP object identifier (OID) values through a simple communication interface, and represents SNMP structures and datatypes as corresponding Java objects. The package has been used to provide SNMP communication capabilities for the Airport/RG-1000 Configurator and SNMP Inquisitor applications. Sep 01 » Network Clients » JMIBBrowserJMIBBrowser is a 100% java based (and 100% free) MIB Browser. It supports GET and SET queries for SNMP enabled devices. MIB Files can be dynamically loaded and can be browsed in the MIB Tree. It is a great tool if you want to get started with the SNMP protocol. Aug 31 » General Purpose » KasaiKasai an open source 100% Java based authentication and authorization framework. It allows you to integrate into your application a granular, complete and manageable permission scheme. The goal of the framework is to provide a simple-to-use-yet-powerful security environment for multi-user applications. Aug 29 » Mail Clients » SnowmailAn opensource & freesource complete simple mail client that focuses on security. All protocols have been reimplemented from scratch (Mime, POP, SMTP). With a statistical spam filter, international characters & keyboard. With global encryption for the mail data on the disk and support for optional external GnuPG. Aug 26 » Web Testing » slimSlim is a templating engine that uses JSP syntax. It includes tools for unit testing JSP pages without deploying to a container. Aug 22 » Code Analyzers » PathFinderJava PathFinder (JPF) is a system to verify executable Java bytecode programs. In its basic form, it is a Java Virtual Machine (JVM) that is used as an explicit state software model checker, systematically exploring all potential execution paths of a program to find violations of properties like deadlocks or unhandled exceptions. Unlike traditional debuggers, JPF reports the entire execution path that leads to a defect. JPF is especially well-suited to finding hard-to-test concurrency defects in multithreaded program Aug 21 » Logging Tools » Pencil - log message compiler\"Pencil\" is a log-message-compiler for java (keyword: generative programming). It takes bytecode produced by javac (or another java-compiler), transforms it and enriches it with real logging expressions. The main goal of the \"Pencil\" project is to provide a mechanism to make logging easy, safe and fast. To achieve this result, \"Pencil\" uses its own expression language developed with the ANTLR parser-generator. Features: * The Pencil log statements are more readable than usual log instructions. * Java source files with Pencil statements are shorter the java files with usual logging. * Pencils way to log forbids errors during the log process (no NullPointerExceptions, no unmeant business logic). * Pencil is based on commons logging. so yuo can use your favorite logging framework to log. * The modified bytecode is automaticaly enriched with isDebugEnabled() calls, to make the logging fast. Go To Pencil - log message compiler Aug 19 » Template Engines » WebMacroWebMacro is a 100% Java open-source template language. WebMacro is a viable (and proven!) alternative to JavaServerPages, PHP, and ASP. It's the fundamental page technology behind several major websites such as AltaVista, but can be used to generate any kind of text content. Aug 18 » Workflow Engines » PXEPXE (short for Process eXecution Engine and pronounced like \"pixie\") is a runtime component for executing processes defined by the BPEL4WS 1.1 specification. Aug 15 » Search Engines » CompassThe Compass Framework is a first class open source Java framework, enabling the power of Search Engine semantics to your application stack declaratively. Built on top of the amazing Lucene Search Engine, Compass integrates seamlessly to popular development frameworks like Hibernate and Spring. It provides search capability to your application data model and synchronises changes with the datasource. With Compass: write less code, find data quicker. Aug 13 » Issue Tracking » jTracjTrac is a web-based application ideal for issue tracking with built-in workflow. Designed to be generic, you can customize fields to track items (like bugs) & allocate tasks etc. jTrac is a lightweight J2EE application built on the Spring Framework. Aug 11 » Issue Tracking » TrackItTrackIt is a Web-based project tracking tool designed from the ground up to provide maximum flexibility, customization, and most importantly, usefulness to the developer. It has built-in support for various Extreme Programming constructs, as well as full CVS and Subversion integration. It also supports simple listings via HQL and advanced reporting via SQL. Aug 10 » Web Frameworks » OpenXavaXML / Java Framework to develop J2EE business applications rapidly and easily. It is based in business components defined with XML. Feature rich and flexible since is used for years to create real business applications. Aug 09 » Search Engines » YaCyThis is a distributed web crawler and also a caching HTTP proxy. You are using the online-interface of the application. You can use this interface to configure your personal settings, proxy settings, access control and crawling properties. You can also use this interface to start crawls, send messages to other peers and monitor your index, cache status and crawling processes. Most important, you can use the search page to search either your own or the global index. Aug 08 » General Purpose » CSVObjectsA free Java library and extensible framework for mapping, parsing and unmarshalling CSV file contents into Plain Old Java Objects. It provides Xdoclet support for easy and painless mapping of CSV records to Java Objects. The library requires J2SE 1.5 Aug 08 » Web Testing » ImprimaturImprimatur is a web application testing tool. The tests are described in a simple XML file. Along with the standard GET and POST actions, Imprimatur handles HTTP sessions and file uploads. The responses can be validated using regular expressions and response code checks. Aug 08 » General Purpose » CSVBeansCSVBeans is an object/csv mapping library that helps to build or parse CSV files in Java. There is no dependency on the library when creating your Java beans: you only work with POJOs. Its design allows to create your own parsers or builders if needed. Aug 08 » Testing Tools » TestGen4JTestGen is a collection of open-source tools that automatically generates unit test cases. The first released component of TestGen is TestGen4J. TestGen4J automatically generates test cases from your own Java class files, or source files. Its primary focus is to exercise boundary value testing of the arguments passed to the method. It uses a rules engine, with a user-configurable XML file, that defines boundary conditions for the data types. The test code is separated from test data with the help of JTestCase. The test code is generated in a hierarchical manner. A main test suite is generated which invokes test suites of individual classes. The individual class test suite is formed by collection of test methods of that class. The test data is also organized hierarchically, corresponding to the structure of the test code, in XML format. This XML file actually has data for all unit test cases for each method. JTestCase helps to loop through all the test cases of each method and executing one by one against JUnit. Aug 05 » CMS » GeiNukeGeiNuke is CMS written in Java, it supports HSQLDB and MySql, it is stable simple and scalable. Its configuration is very easy, it uses iBatis for the persistence layer and Spring + Caucho Hessian for Scalability features. For MVC layer it uses Velocity, at this time he has 5 themes. Aug 04 » Testing Tools » TagUnitIn the same way that JUnit allows us to write unit tests for Java classes, TagUnit allows us to unit test JSP custom tags, inside the container. In essence, TagUnit is a tag library for testing custom tags within JSP pages. Aug 04 » Logging Tools » Craftsman SpyA JDBC logging framework : Craftsman Spy is a framework for JDBC logging. It is a JDBC driver implementation which logs all SQL connections and processing with the spent execution time, all the stored procedures with arguments, all the batch processing, and the result sets. Aug 02 » Inversion of Control » LoomLoom is a micro-kernel designed and implemented on top of the DNA framework. It supports components developed using the Avalon framework. In the future Loom will also support DNA and Pico components. Jul 31 » Inversion of Control » SpiceSpice is a repository of Components which support Component Oriented Programming (COP) paradigms - in particular, the Inversion of Control (IoC) design pattern. Jul 29 » Scripting Languages » LuaJavaLuaJava is a scripting tool for Java. The goal of this tool is to allow scripts written in Lua to manipulate components developed in Java. LuaJava allows Java components to be accessed from Lua using the same syntax that is used for accessing Lua`s native objects, without any need for declarations or any kind of preprocessing. LuaJava also allows Java to implement an interface using Lua. This way any interface can be implemented in Lua and passed as parameter to any method, and when called, the equivalent function will be called in Lua, and it's result passed back to Java. Jul 29 » Inversion of Control » DNADNA is a lightweight Inversion of Control (IOC) framework. DNA components have associated metadata that declares what resources they need to be provided and what resources they are capable of providing to other components. Jul 29 » Testing Tools » MockLibA very small library and therefore easy to use to dynamically create a mock object. You can throw exceptions from fake systems that are returned from this library to ensure your system handles faults correctly. It is also a threadsafe mocklibrary unlike most other similar mock object libraries out there. Jul 26 » Workflow Engines » SyrupAn adaptive workflow engine based on simple concepts. It offers full persistence, so that work is never lost, and deals with partial failure in a distributed setup. Syrup is also used reliably as a distributed scheduler to replace cron. Jul 25 » Databases » OzoneThe Ozone Database Project is a open initiative for the creation of an open source, Java based, object-oriented database management system. Ozone includes a fully W3C compliant DOM implementation that allows you to store XML data. You can use any XML tool to provide and access these data. Support classes for Apache Xerces-J and Xalan-J are included. Jul 24 » Code Analyzers » ByecycleByecycle is an auto-arranging dependency analysis plugin for Eclipse. Its goal is to make you feel sick when you see bad code and to make you feel happy when you see good code. Jul 22 » Build Systems » AntmodAntmod is a build management, release management, and repository management tool. Its implementation is an Ant-based extensible engine for retrieving, versioning, building, and deploying code to and from Subversion or CVS. It standardizes build files for Java projects and provides build plugins for various tasks. It also standardizes tagging and branching for both CVS and Subversion, and its module and repository management can also be used for non-Java projects. It greatly speeds up Java software development, promotes reuse of Java software, and standardizes the build-test- release cycle. Jul 21 » SQL Clients » jisqlA command line interactive SQL tool that can connect to any database with a JDBC driver. By default it works like the Sybase isql or MS/SQL's isql/osql commands but can also behave like the Oracle's sqlplus or PostgreSQL's psql. Jul 17 » JSP Tag Libraries » Ajax Tags Libraryhe AJAX Tag Library is a set of JSP tags that simplify the use of Asynchronous JavaScript and XML (AJAX) technology in JavaServer Pages. Jul 15 » XML UI Toolkits » XAMJXAMJ is an XML UI and markup language tightly integraded with Java. It is deployed in a similar manner to JNLP without the need to compile or package the application. Jul 14 » CMS » AlfrescoAlfresco is an open source enterprise content management repository and portlets (CMS) built by a team that includes the co-founder of Documentum. Its modular architecture uses the latest open src Java technologies: Spring, Hibernate, Lucene and JSF. Jul 06 » Web Frameworks » JATJAT is a flexible Java base-framework which can be easily extended to improve projects start-up time. JAT allows to build Web applications (J2EE) or standalone application (server, batch, etc.). JAT supplies the main basic functionalities of any Java application, such as: * High Business Object abstraction * Integration facilities (provided for DBMS, LDAP and open to any software product) * Authentication and user privileges management * MVC pattern implementation (with privileges management and page flow control) * HTML layout structure management (header, footer, menu, etc.) * HTML dynamic contents and facilities (form, report, paging) * Logging feautures * Help on-line utility * High configuration of all described functionalities * Administration and configuration GUI Jul 04 » Connection Pools » Primrose - Java Database Connection PoolPrimrose is a database connection pool, written in Java. Current containers supported are Tomcat 4 & 5, Resin 3 and JBoss 3. It provides control over SQL transaction monitoring, configuration, dynamic pool management via a Web interface, automatic closing of connection related objects, and much more ! Go To Primrose - Java Database Connection Pool Jun 30 » Charting & Reporting » BIRTBIRT is an Eclipse-based open source reporting system for web applications, especially those based on Java and J2EE. BIRT has two main components: a report designer based on Eclipse, and a runtime component that you can add to your app server. BIRT also offers a charting engine that lets you add charts to your own application. Jun 29 » Testing Tools » TESTARETESTARE is a testing framework that aims to simplify the test development process for distributed enterprise JAVA applications. It tries to achieve this goal by focusing on two main directions: * provide straightforward and easy to use \"in container\" testing capabilities * provide native support for test environment management and introspection techniques such as fixtures, global fixtures, probes and guards Its initial focus is on \"in ejb container\" testing but its extensible architecture makes it very easy to develop support for other execution environments such as SERVLETS, JMS listeners, CORBA ORBs or RMI. Jun 27 » General Purpose » DozerDozer is a powerful, yet simple Java Bean to Java Bean mapper that recursively copies data from one object to another. Typically, these Java Beans will be of different complex types. Dozer supports simple property mapping, complex type mapping, bi-directional mapping, implicit-explicit mapping, as well as recursive mapping. The mapper is used any time you need to take one type of Java Bean and map it to another type of Java Bean. Most field mapping can be done automatically by Dozer using reflection, but any custom mapping can be predescribed in XML format. Jun 27 » Charting & Reporting » Open ReportsOpenReports is a flexible open source web reporting solution that allows users to generate dynamic reports in a browser. OpenReports uses JasperReports, an excellent full featured open source reporting engine, and was developed using leading open source components including WebWork, Velocity, Quartz, and Hibernate. Jun 27 » General Purpose » CougaarCougaar is a Java-based architecture for the construction of large-scale distributed agent-based applications. It is the product of a multi-year DARPA research project into large scale agent systems and includes not only the core architecture but also a variety of demonstration, visualization and management components to simplify the development of complex, distributed applications. Jun 25 » Persistence » PATPAT stands for \"Persistent Applications Toolkit\". Like many other software it simplifies developing of persistence layers of business applications. It does it by providing object-oriented environment for persistence of your objects: POJOs And.. it really does it. PAT provides almost transparent data layer for a business application. It employs state-of-the-art techniques to achieve it. These are OO, AOP (JBossAOP), Java, Prevayler, Ant, JUnit, Log4j, @@annotations and others. It cooperates well with web applications: Struts (and possibly other web frameworks), Tomcat, JBoss AS. (AOP term: persistence aspect) Jun 21 » Network Servers » JsmtpdJsmtpd is a small and modular smtp email server daemon, written in Java. Jsmtpd is heavily based on plugins, and supports : TLS, authentication, spam detection (Spamassassin, Jasen, RBL servers, BlackList), anti virus (Clam Antivirus), and many others filters. Jun 14 » Build Systems » GenJarGenJar is a specialized Ant task that builds jar files based on class dependencies rather than simply the contents of a directory. Jun 14 » Build Systems » IvyIvy is a free java based dependency manager, with powerful features such as transitive dependencies, ant integration, maven repository compatibility, continuous integration, html reports and many more. Jun 13 » XML UI Toolkits » gui4jgui4j is a framework for describing Java Swing GUIs completely in XML. The graphical user interface is created dynamically based on the XML definitions. Each GUI window is associated with exactly one top-level XML file. Each XML file can dynamically include other XML files to support complex GUI definitions. Each XML file is associated with a java object that acts as both a Controller and a Model for the GUI. There is a strong layer separation between the GUI and the Controller: GUI definitions in the XML files can access all Java methods of the Controller, but Java methods cannot access any GUI elements directly. Events are used to trigger changes in the GUI. Jun 10 » Web Frameworks » JOSSOJOSSO, or Java Open Single Sign-On, is an open source J2EE-based SSO infrastructure aimed to provide a solution for centralized platform neutral user authentication. May 31 » Installers » AntigenAntigen (Ant Installer Generator) is a tool to take an Ant build script, combine it with a GUI and wrap it up as an executable jar file. Its primary purpose is to create powerful graphical installers from Ant scripts. May 31 » Web Frameworks » JSPWidgetJSPWidget is a JSP Framework that provides event-driven,view state retained,server-side GUI controls to make JSP development as intuitive as in traditional client forms or in client-based Web applications. May 26 » Network Servers » MinaMINA (Multipurpose Infrastructure for Network Applications) is a network application framework which helps users develop high performance and high scalability network applications easily. May 23 » Web Frameworks » DWRDWR is AJAX and XMLHttpRequest made easy. It makes it simple to call Java on the server directly from Javascript in the browser marshalling all the parameters and return values. It gets rid of almost all the boiler plate code between the web browser and your Java code. interaction diagram DWR helps you in producing highly interactive web-sites by providing some Javascript libraries to help with DHTML and by giving you a set of examples to copy from. May 18 » Persistence » AmmentosA lightweight persistence framework for Java (JDK5.0 or later). Extremely simple to use, works whith annotations, does not require any configuration/mapping file, runs whith any JDBC compliant database (no SQL dialects to configure) and supports multi-device persistence. May 18 » Persistence » O/R BrokerO/R Broker is a convenience framework for applications that use JDBC. It allows you to externalize your SQL statements into individual files, for readability and easy manipulation, and it allows declarative mapping from tables to objects. Not just JavaBeans objects, but any arbitrary POJO. This is the strength of O/R Broker compared to other similar persistence tools. It allows the developer to design proper object-oriented classes for persistence, without having to be forced to use JavaBeans only, and it has full support for inheritance hierarchies and circular references. One of the design goal for O/R Broker was simplicity, which means that there are only 4 public classes, and an XML Schema file for validation of the very simple XML configuration file. In short, O/R Broker is a JDBC framework that does not dictate domain class design, whether that be having to conform to the JavaBeans spec, having to extend a superclass or implement an interface, but allows persistence independence and proper object-oriented class design. May 11 » Testing Tools » JTR Java Test RunnerJTR (Java Test Runner) is a framework meant for fastening the building of both complex and simple test enviroments. It is based on concepts such as Inversion of Control, and is ready for EJB and JMS testing. The JTR 2.0 framework will give you the chance to code only the testing logic. All the boring middleware-related tasks (connecting to ConnectionFactories, opening connections, sharing connections, opening sessions, handleing exceptions, retrieving administered objects) are carried out by the JTR 2.0 runtime on your behalf according to what you have stated in the jtr.xml configuration file. Thanks to IoC (Inversion Of Control), the JTR 2.0 runtime is able to inject all these resources into your IRunner concrete implementations. This entails that you are not required to actively retrieve the resources you need: you declaratively tell the JTR 2.0 framework you are going to need them at runtime, and Inversion Of Control will do the work. The thing same happens with EJBs: all the low-level details are always handled by the JTR framework to let you work only on the pure logic of your tests. May 01 » CMS » ContineoContineo is a web based document management system. It supports its users by managing documents in most popular formats. Contineo aims to fulfill all phases of document lifecycle. You can create and develop documents by using office software. With contineo itself, you can publish, search, and manage the versions of documents. Further, you can communicate with some other users directly or via e-mail. May 01 » Portals » JamecsThe JAva ManagEd Content System, or Jamecs, is a powerful Content Management Framework / Portal System for the J2EE Servlets environment. Jamecs provides a flexible, tightly integrated object persistence layer together with advanced view creation and rendering functionality. Jamecs integrates the Apache Velocity template engine, and while JSP can be used with ease the system encourages use of Velocity Template Language (VTL) code throughout the system, and provides many advanced features such as conditional VTL views, inheritable properties containing VTL, and a rich standard Velocity environment totally integrated into the CMF. The system is fairly young at the moment, and is more Framework than CMS / Portal, but we're getting there! Apr 15 » Profilers » JAMon APIThe Java Application Monitor (JAMon) is a free, simple, high performance, thread safe, Java API that allows developers to easily monitor production applications. JAMon can be used to determine application performance bottlenecks, user/application interactions, and application scalability. JAMon gathers summary statistics such as hits, execution times (total, average, minimum, maximum, standard deviation), and simultaneous application requests. JAMon statistics are displayed in the clickable JAMon Report. Apr 12 » Network Servers » EJBCAEJBCA is a fully functional Certificate Authority. Based on J2EE technology it constitutes a robust, high performance and component based CA. Both flexible and platform independent, EJBCA can be used standalone or integrated in any J2EE application. Apr 10 » Web Frameworks » RIFERIFE offers an alternative approach to web application development and design. It builds upon the Java platform, but offers all required tools and APIs to implement and perform all common website related tasks in a fast, intuitive and consistent manner. RIFE has been designed for perfect separation of tasks during a development cycle. Every developer, dba and designer only has to focus on his own tasks. At any moment the work can be effortlessly integrated with the work of the rest of the team. This results in a loosely coupled and very robust system. One can make incremental improvements with little or no risk of unwanted side-effects elsewhere in the system. RIFE is composed out of a large collection of modular parts, which include: * web application engine, * integrated web continuations, * customizable multi-format template engine (html, xml, sql, java, txt, ...) * support for template content transforming through for example XSLT, * authentication framework, * database query builders, * simple persistance layer, * fault-tolerant JDBC wrappers and connection pooling, * web-oriented database utilities, * central data repository, * cron-like scheduler, * configuration framework. The central part is the engine which formalizes all aspects of dynamic web development. It graciously solves all doubt, confusion and maintenance problems of HTTP's statelessness and liberal CGI interface. Apr 10 » Code Coverage » CoberturaCobertura is a free Java tool that calculates the percentage of code accessed by tests. It can be used to identify which parts of your Java program are lacking test coverage. It is based on jcoverage. Features of Cobertura: * Can be executed from ant or from the command line. * Instruments Java bytecode after it has been compiled. * Can generate reports in HTML or XML. * Shows the percentage of lines and branches covered for each class, each package, and for the overall project. * Shows the McCabe cyclomatic code complexity of each class, and the average cyclomatic code complexity for each package, and for the overall product. * Can sort HTML results by class name, percent of lines covered, percent of branches covered, etc. And can sort in ascending or decending order. Apr 05 » General Purpose » Java Plugin Framework (JPF)JPF provides a runtime engine that dynamically discovers and loads \"plug-ins\". A plug-in is a structured component that describes itself to JPF using a \"manifest\". JPF maintains a registry of available plug-ins and the functions they provide (via extension points and extensions). One major goal of JPF is that the application (and its end-user) should not pay any memory or performance penalty for plug-ins that are installed, but not used. Plug-ins are added to the registry at application start-up or while the application is running but they are not loaded until they are called. Go To Java Plugin Framework (JPF) Apr 05 » Build Systems » JAMJAM consists of a collection of Ant scripts designed to perform common Java/J2EE build tasks such as compilation, packaging, testing, deployment and J2EE application server control. JAM combines Mavens high-level project description and repository features (via a Maven-to-Ant bridge) with the low-level capabilities of Ant. By assembling JAM modules, one is able to quickly create sophisticated IDE-independent build scripts. JAM supports various J2EE application servers, XDoclet invocation, JUnit unit testing, Apache Cactus integration testing, UML-based code generation and other technologies. Mar 30 » JMX » JFoxMXJFoxMX is a open source implementation of the JSR-3 Java(TM) Management Extension (JMX) and JSR-160 JMX Remoting API specifications. It comes with http based adaptor to view / invoke operations / attributes on its MBean Server. Mar 24 » Job Schedulers » OddjobOddjob is a free open source Java job scheduler and job tool kit. Oddjob's goal is to provide some order and visibility to all the batch files and cron jobs that tie an enterprise's critical business processes together. Additionally Oddjob will often offer a more robust alternative to an existing process from it's toolkit. Mar 21 » Network Clients » jCIFSJCIFS is an Open Source client library that implements the CIFS/SMB networking protocol in 100% Java. CIFS is the standard file sharing protocol on the Microsoft Windows platform (e.g. Map Network Drive ...). This client is used extensively in production on large Intranets. Mar 10 » Build Systems » CPMakeCPMake is a build tool similar to GNU make where as it lets file dependencies determine what tasks to perform. The build files can be written in either BeanShell or Jython script. CPMake has a built in dependency parser for both Java and C/C++ files. Mar 09 » Web Services » XfireXFire is a next-generation java SOAP framework. At its core is a light message processing model used to interact with SOAP messages via STAX. Mar 08 » JSP Tag Libraries » Prize TagsA collection of tags for various purposes. The most well-known and used of these is the Tree Tag which is capable of displaying dynamic tree controls in JSP pages. The HTML generated is of course 100% customizable (you write it yourself between the Tree Tags) and so are any icons used. You can add both client side and server side listeners for expand, collapse, select, and unselect events. In addition to the tree tag there are tags for - displaying calendars, - alternations (fx. the background color of the rows in a table, or the weekdays etc.) - more lively icon buttons. - formatting text containg html tags as text, not html. Mar 04 » General Purpose » JoSQL (SQL for Java Objects)JoSQL provides SQL capabilities for querying, ordering, and grouping of collections of Java objects. It allows a SQL statement to be applied to the collection of objects and the matching set returned, ordered and grouped. It should be used when a RDBMS is either too heavyweight or too impractical. Go To JoSQL (SQL for Java Objects) Mar 02 » Logging Tools » Log BridgeLog Bridge allows the abstraction of logging from a particular logging implementation. Log Bridge allows you to do this by providing a simple API that acts as a bridge from your library or component through to the logging package that the developers using your components choose. The features built into Log Bridge that are not readily available in other packages are: Tracing (entry and exit) is supported Programmatic control A simple API Less magic Built-in support for Simple Log Wide logging package support Log Bridge currently provides bridges to the following logging packages: Simple Log J2SE Logging Log4J IBM's Logging Toolkit for Java jLo Protomatter Syslog Feb 24 » Rule Engines » OpenRulesOpenRules is a full-scale open source Business Rules Management Framework. It efficiently uses the power of MS Excel, Eclipse IDE and open source Java libraries to create, deploy, execute, and maintain different rule engines with complex business logic controlled by business analysts. Feb 22 » Web Frameworks » BarracudaBarracuda is an open-source Presentation Framework designed to make it easier to build servlet based webapps by applying proven client-server patterns to the web development paradigm. It features a DOM based templating mechanism for better separation of code from content (default XMLC), a UI component model that provides a series of server side widgets (table, list, template, etc) that make it easy to manipulate DOM structures, and a strongly typed MVC interfaces just like in Swing. With support for multiple markup languages (HTML, WML, XML, etc). It has an event model that provides Model 2 style flow control and allows for true event driven programming on the server. You can add listeners to components and your server-side event handler code will automatically get notified when an action occurs on the client. Feb 15 » Network Servers » JGroupsJGroups is a toolkit for reliable multicast communication. (Note that this doesn't necessarily mean IP Multicast, JGroups can also use transports such as TCP). It can be used to create groups of processes whose members can send messages to each other. The main features include * Group creation and deletion. Group members can be spread across LANs or WANs * Joining and leaving of groups * Membership detection and notification about joined/left/crashed members * Detection and removal of crashed members * Sending and receiving of member-to-group messages (point-to-multipoint) * Sending and receiving of member-to-member messages (point-to-point) Feb 12 » Testing Tools » Surrogate Test frameworkSurrogate is a complimentary unit testing framework, especially suitable for unit testing of large, complex Java systems.The framework integrates seamlessly with JUnit,MockEJB and various mock object implementations and is based on the AspectJ technology. Go To Surrogate Test framework Feb 11 » Web Testing » SlimdogSlimDog offers a simple script based webapplication testing tool. It is based on httpunit. The tool offers a wide range of commands to work with forms, check the content of tables and navigation between HTML pages. Rather than writing long JUnit testcases or crucial XML files the users can write simple text scripts. Each line of the script file will contain one command which is a testnode. All commands inside one file will be processed as a testcase. The syntax of every command is simple and easy to learn. Several scripts can be combined to a testsuite. The results are written either to the console, a file or as a HTML page. Feb 10 » Charting & Reporting » JChart2dA Java swing widget (JComponent) for precise runtime-dynamic display of tupels in form of a stripe chart. Intended for engineering task where precision is more important than a huge variety of different beautiful presentations. Key features are a minimal configuration effort, automatic scaling and labeling, thread-safeness, a clean and extendible API and extensive documentation. Feb 09 » Profilers » NetBeans ProfilerNetBeans 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. Feb 09 » Parser Generators » runccRunCC is a new kind of parsergenerator that generates parsers and lexers at runtime. Source generation is only optional. It features the absence of any cryptography. Although intended for small languages, it comes with Java and XML example parsers. Feb 07 » XML UI Toolkits » LaszloLaszlo 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. Feb 06 » General Purpose » NailGunNailGun: Insanely Fast Java NailGun is a client, protocol, and server for running Java programs from the command line without incurring the JVM startup overhead. Programs run in the server (which is implemented in Java), and are triggered by the client (written in C), which handles all I/O. Feb 06 » Bloggers » Blogunity* Community based blogging software * Uncomplex easy one minute installation routine * Easily deployable on any j2ee compliant application- and web servers * Provides support for 16 well known database-engines * Offers freely configurable number of individual/communtiy blogs per user * Simple but powerful editing of blog-articles using wiki-syntax * Flexible theme editing separate for each blog * Simple user management and blog administration via web interface Feb 01 » RSS & RDF Tools » Mind RaiderMindRaider is Semantic Web outliner. It aims to connect the tradition of outline editors with emerging technologies. MindRaider mission is to organize not only the content of your hard drive but also your cognitive base and social relationships in a way that enables quick navigation, concise representation and inferencing. [RDF Resource Description Framework Metadata] Jan 31 » Code Analyzers » ClassycleClassycle's Analyser analyses the static class and package dependencies in Java applications or libraries. It is especially helpful for finding cyclic dependencies between classes or packages. Classycle's Dependency Checker searchs for unwanted class dependencies described in a dependency definition file. Dependency checking helps to monitor whether certain architectural constrains (e.g. in a layered architecture) are fulfilled or not. Jan 31 » Inversion of Control » HiveMindHiveMind is a services and configuration microkernel: Services: HiveMind services are POJOs (Plain Old Java Objects) that can be easily accessed and combined. Each service defines a Java interface it implements. 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 powerful, data-driven solutions which combine seemlessly 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. Jan 29 » CMS » Open HarmoniseOpen Harmonise is a metadata, taxonomy and content management system written in Java and based upon the WebDAV standard. Unlike traditional CMSs it focuses on metadata management and integrates that with content management and publishing. Jan 27 » CMS » DaisyDaisy is a comprehensive content management application framework, consisting of a standalone repository server accessible through HTTP/XML and/or a high-level (remote) Java API, and an extensive browsing and editing DaisyWiki application running inside Apache Cocoon. Daisy is licensed under the commercially-friendly Apache License 2.0. Jan 26 » JSP Tag Libraries » uitagsuitags is an open source JSP custom-tag library that makes developing friendly UI (user interface) effortless. It has a unique aim of helping developers create UIs that don't confuse end-users and instead let them work more efficiently. Jan 25 » Databases » One$DBOne$DB is a version of Daffodil DB , a J2EE-certified, JDBC 3.0 and SQL-99 compliant Java database. It is available in both Network and Embedded editions and has been designed to handle complex computing environments that demand a robust, scalable and feature-rich RDBMS that can operate across platforms. Jan 25 » Scripting Languages » seppiaSeppia is a java technology which allows you to build applications from constituent parts. Each part is a module: a unit of function integrating seamlessly javascript files, jar files and other resources. (Seppia uses Mozilla Rhino to empower its javascript engine.) Many scripting technologies allow the developer to embed scripting code into their java code. Seppia turns this approach by 180' degrees and let your javascript code governing your application. It's the javascript code that uses java libraries (jars) and not viceversa. Seppia will challenge the way you think of Java based component computing. Jan 24 » SQL Clients » FreeQueryBuilderWith FreeQueryBuilder, you can create SQL queries without directly writing SQL. Included: Query Preview, Queries history, JDBC Administrator, Metadata search, Command editor. Works with any JDBC compliant database(ORACLE, MySQL, HSQLDB, Firebird etc.) Jan 19 » XML UI Toolkits » WidgetServerWidgetServer is a Java/XML server-side GUI-framework which enables an application to run as either a monolithic Swing app, a client/server Swing app, or as a Web app without any change. It includes a mixed deployment mode, which supports one server to serve Swing clients and Web clients at the same time. The framework uses XML or a single java API to define an application's GUI independently from target client technology. It provides a common widget-based, object-oriented programming interface for Web and Swing GUIs, which prevents the developer from struggling with HTML and HTTP or with the internals of Swing. The project includes a GUI builder that is based on the framework's functionality. Jan 11 » Installers » AntInstallerAntInstaller is an installer framework which uses a simple XML file to define the UI, and Apache Ant as a back end. The installers can therefore do anything Ant can, and are compatible with Ant's extension mechanism. Installers can be packaged as a selfextracting Jar and can run from the command line or a Swing GUI. AntInstall can also be used as a GUI front end for existing Ant builds. Jan 10 » Source Control » SuperVersionSuperversion is a multi-user distributed version control system based on change sets. A major focus in its development is efficiency and ease-of-use. Features include a graphical user interface, branches, conflict detection and resolution, a history tree view, export and report functions, CVS-compatible keyword substitution, overridable file type autodetection and a transactional internal database. Jan 05 » Build Systems » LuntBuildLuntBuild is a powerful build automation and management tool. Continuous integration or daily build can be easily setup through a clean web interface. Generated builds are well managed through functions such as search, categorization, promotion, patching, deletion, etc. It also acts as a central build artifacts download area for your whole team. Jan 03 » Aspect-Oriented » DynamicAspectsDynamicAspects enables you to do aspect-oriented programming in pure Java. Using the \"instrumentation\" and \"agent\" features introduced with Sun JDK 1.5, aspects can be installed and deinstalled during runtime! Jan 02 » Build Systems » BeeBee is a Java-based build tool. Bee inherited some principles of Make. Bee provides more procedure languages constructions, so generally can be used for script programming. It's highly extendable and base DTD can be easily changed, so it allows to create own dialects of Bee. Dec 28 » Source Control » JavaSVNJavaSVN is a pure java Subversion (SVN) client library. This means that users of the library, i.e. java applications do not have to include svn native binaries or javahl bindings to work with subversion repository. JavaSVN library is not only a 100% java replacement for javahl bindings, but also a library that provides high level of control over subversion repository operations. Dec 27 » Databases » db4odb4o (database for objects) is the open source object database for Java. Features include: fast native Java object persistence, ACID transactions, query-by-example, S.O.D.A. object query API, automatic class schema recognition, small footprint. Dec 27 » Wiki Engines » ButorWikiThis is a Java based wiki. It is a web-app using Butor Java Framework and struts MVC framework. ButorWiki use a filesystem folders and files to store everything. No database are needed. Dec 20 » Aspect-Oriented » ColtOpen Source Libraries for High Performance Scientific and Technical Computing in Java Dec 20 » Logging Tools » Simple LogSimple Log is a logging anti-framework. It is a small library that does logging very simply and requires you to do almost nothing (other than actually logging) to get log output happening. It is much simpler to use than a logging framework, especially in terms of configuration. It doesn't attempt to solve every logging problem in one package, but contains enough features to be a viable alternative for most applications that need logging. Dec 13 » Testing Tools » TestNGTestNG is a testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to use, such as: - JSR 175 Annotations (JDK 1.4 is also supported with JavaDoc annotations). - Flexible test configuration. - Default JDK functions for runtime and logging (no dependencies). - Powerful execution model (no more TestSuite). - Supports dependent methods. Dec 02 » General Purpose » Thought River CommonsThe Thought River Commons is a collection of utilities and other nifty code items developed by Thought River North and Thought River South for use in our various internal projects, and made available for public use. Most experienced developers know that over time, the same needs are often encountered again and again. We wrote the Thought River Commons to satisfy those sorts of needs, and we figured that some other developers out there might make use of it, as well. Nov 29 » General Purpose » JEggJEgg provides an implementation for Java Active Objects that simplifies the development of multithreaded Java applications. JEgg objects interact using arbitrary messages rather than synchronous method invocations. It can be configured to execute on the same or separate threads without changing the application logic, and it does not require the explicit use of Java synchronization or the java.lang.Thread class. Consequently, application objects are highly cohesive and loosely coupled with no compile-time dependencies. Nov 16 » Network Clients » SSL-ExplorerThe 3SP SSL-Explorer is the world's first open-source SSL-based VPN solution of its kind. Released under the GPL, this entry-level VPN solution provides users and businesses alike with a means of securely managing their IT infrastructure from outside the network perimeter, armed with just a standard web browser. Nov 03 » Inversion of Control » JICEJICE is an XML-based tool for constructing and configuring Java applications. JICE specifies an XML-vocabulary for configuring the object in a Java application and provides tools for processing the XML-data into Java instances. JICE supports Inversion of Control (IoC) / Dependency Injection: it can provide constructor parameters for objects and set the properties of the objects. However, JICE is more than just an IoC container - in addition to setter methods, it can call any method of an object during initialization. JICE is capable of constructing complex object graphs, it is not limited in initializing beans. the XML format especially is very compact and nice. Oct 29 » Network Servers » Java SocketsJava Sockets is a class library which wraps the nonblocking network I/O (java.nio.*) package from SUN Microsystems, in the style of the C++ Sockets library. Oct 21 » Web Frameworks » SwingWebSwingweb is an implementation of AWT toolkit that enables AWT/Swing application to be operating inside a web container and presented as a web application to the web browser, purely in HTML/CSS/javascript. There's no code conversion required for the swing application to run in the SwingWeb environment. Some of the features of SwingWeb include the following: * Support web-environment with multiple concurrent application sessions * Component-oriented architecture that allows developer to enable existing swing component to web environment easily * Support common AWT/Swing components in java.awt.* and javax.swing.* * Support all component layouts in jdk * Highly configurable use of jxp template for component presentation Oct 20 » EJB Servers » ResinResin Open Source provides JSP, Servlet, and EJB functionality Oct 20 » RSS & RDF Tools » SesameSesame is an open source Java framework for storing, querying and reasoning with RDF and RDF Schema. It can be used as a database for RDF and RDF Schema, or as a Java library for applications that need to work with RDF internally. Oct 20 » JSP Tag Libraries » TableTagTableTag is JSP tag library intended to build simple data entry pages, like ASP.NET's DataGrid. It has plugable renderers for table, rows and columns, event driven data handling, and data feeding based on java.util.List. Oct 18 » XML Parsers » XMLBeansAt 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. Oct 14 » Persistence » JDBCPersistenceJDBCPersistence is yet another OR mapping layer. It differs from its peers in both implementation and API. Using bytecode generation at its core the framework generates classes that implement JDBC Logic which is specific to a table/bean pair. JDBCPersistence generates persistor classes at runtime on demand incurring no noticeable overhead on the development process. The entire framework configuration is done via API, which significantly improves start-up time and reduces library size. Oct 08 » Cache Solutions » WhirlyCacheWhirlycache is a fast, configurable in-memory object cache for Java. It can be used, for example, to speed up a website or an application by caching objects that would otherwise have to be created by querying a database or by another expensive procedure Oct 04 » J2EE Frameworks » jGuardBuild on top of JAAS, for J2EE web applications. his goal is to provide for webapp developers, an easy way to manage authentication and authorizations. Sep 30 » Network Clients » SmackSmack is an Open Source XMPP client library for instant messaging and presence. Sep 28 » Forum Soft » JavaBBJavaBB is a software based on Java, developed specifically with intention to join communities. Based in phpbb, we are working pledged by the success of phpBB, to become javaBB so efficient as it. Sep 27 » Logging Tools » Log4AntCollection of Ant tasks that let a build script issue custom messages and diagnostics to remote monitors (like Chainsaw) via Apache's Log4J framework. Sep 26 » Inversion of Control » SotoSoto is a lightweight, non intrusive service framework relying on a powerful configuration format based on Java's introspection capabilities. The framework implements neat ideas such as conditional instantiation, resource resolving and layers. It comes with JMX and AOP functionality. Sep 24 » Charting & Reporting » ARTART is a lightweight, multiplatform web based query tool and reporting environment. Easy customizable, support graphs, export resultset in various formats via plug-ins. Sep 23 » Network Clients » PlanetaMessenger.orgUniversal Instant Messenger that joins all well known Instant Messaging protocols. Supports multiples Look-and-Feel, ICQ, MSN, AIM, Yahoo, ComVC networks. PlanetaMessenger.org is easy to use and very fast. Sep 21 » General Purpose » ProtomatterThe Protomatter Classes is a collection of (hopefully) useful Open Source Java classes. The package provides the following: Syslog A robust logging system. JDBC Connection Pool A JDBC driver that maintains a pool of connections. PAS A lightweight application server framework. (JavaDoc) Object Pooling Framework A generic object pooling framework. These baseclasses are used to implement the JDBC connection pool, thread queues, mutex locks, etc. Misc Utility Classes Base64 encoder/decoder, blocking queues, work queues, mutex locks, and other stuff... Sep 20 » Scripting Languages » JudoscriptJudoScript is a functional scripting language. It is a normal algorithmic/object-oriented programming and java scripting language, and also has a number of built-in domain support. And, because it can fully script Java, all Java resources are readily avaiable through Java scripting. This means that, you can do everything directly and easily in a single environment, to deal with database, XML, SGML, spreadsheet and other files, application servers, web services and internet resources, Windows ActiveX controls, archive and Ant build scripts and processes, creating user-friendly GUI-based tools, ... so that you can focus more on the business of data analysis, reporting or aggregation, automated unit and system testing and batch processing jobs. Sep 17 » RSS & RDF Tools » Commons FeedparserGeneric FeedParser interface and concrete implementations for Atom , FOAF, OPML and RSS. These FeedParser implementations are based on JDOM and Jaxen and is based around XPath and JDOM iteration. Sep 15 » RSS & RDF Tools » curncurn is an extensible, cacheing RSS reader, written entirely in Java. Unlike many RSS readers, curn does not use a graphical user interface. It is a command-line utility, intended to be run periodically in the background by a command scheduler such as cron(8) (on Unix-like systems) or the Windows Scheduler Service (on Windows). It supports several output formats and will automatically email its results, if desired. Sep 14 » Template Engines » jxpJxp (Java scripted page) is a script-processor/template-engine that can execute template files containing text + java code. It contains a parser to parse the script file into an abstract syntax tree and a tree processor (JxpProcessor) that will process the syntax tree to execute the code using reflection API to produce output. Some of the main features of Jxp includes: - java as template language. so why learn another one? ;) - support common java language 1.4 constructs (1.5 syntax support pending) - practical template sources management framework - support caching of parsed syntax tree to eliminate reparse of template - a servlet implementation to enable web-scripting - extensible processing context for defining built-in function on the scripts Sep 13 » Groupware » Open-XchangeThe Open-Xchange Collaboration and Integration Server Environment allows you to store appointments, contacts, tasks, emails, bookmarks, documents and many more elements and share them with other users. This environment can be accessed via any modern web browser and multiple fat clients like KDE Kontact, Ximian Evolution (announced), Konqueror, Mozilla Calendar and many more. Every 3rd party product can access this application over many different interfaces like the WebDAV interface (XML), LDAP, iCal and HTTP(S). Sep 09 » Code Coverage » JBlanketJBlanket is a tool for assessing and improving method coverage of unit test cases. It is integrated with JUnit and Ant. Sep 06 » Project Management » MPXJThe MPXJ library provides a set of facilities to allow project information to be manipulated in Java. MPXJ supports three file formats, Microsoft Project Exchange (MPX), Microsoft Project (MPP), and Microsoft Project Data Interchange (MSPDI). The library is currently based around a set of data structures modelled on the data described by the MPX file format. All manipulation of project data takes place using these data structures, which can be read from or written to the various supported file formats. The following notes explain what facilities MPXJ offers for each file format. MPX: The MPX file format can be read by all versions of Microsoft Project, and written by all versions up to Microsoft Project 98. MPXJ allows MPX files to be created, read and written. See http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q270139 for a definition of the file format. MPP: The MPP file format is Microsoft's proprietary way of storing project data. MPXJ supports read only access to MPP files produced by Microsoft Project 98, Microsoft Project 2000, Microsoft Project 2002, and Microsoft Project 2003. MSPDI: The MSPDI file format is Microsoft's XML file format for storing project data. Microsoft Project 2002 and Microsoft Project 2003 can read and write MSPDI files. MPXJ allows MSPDI files to be created, read, and written. is an open source Java implementation of a file handling library to create, read, and write Microsoft Project Exchange (MPX) files, Project 2002 and 2003 MSPDI XML files, and read Microsoft Project 98, 2000, 2002, and 2003 (MPP) files. Sep 06 » Testing Tools » MarathonMarathon is a testing framework for GUI applications developed using Java/Swing. Marathon composes of recorder, runner and editor. The testscripts are composed of python code. Marathon focuses on end-user testing. One need not know Java or Swing to record test scripts using Marathon. Marthon is kept intentionally simple. The aim to produce test scripts that are readable by everyone on the project. This includes the developers, testers and the customers. Marathon is flexible and provides facilities to extend the functionality available through python scripts or through writing ones own component resolvers. Marathon captures the semantic actions on components instead of the mouse & keyboard events. This results in scripts that are simple and at a higher granular level. Marathon suites well for applications that mostly depend on forms-paradigm. Sep 03 » Logging Tools » SMTPHandlerSMTPHandler is a handler for the java.util.logging library. The handler sends LogRecord's via email using the Simple Mail Transfer Protocol. Sep 03 » ERP & CRM » openCRXProfessional CRM suite limitless relationship management powerful and comprehensive best-of-breed features for sales, service, marketing, contact center, and analytics; multi-language and multi-currency for players in a global market... Sep 02 » Network Clients » JXplorerJXplorer is an open source ldap browser originally developed by Computer Associates' eTrust Directory development lab. It is a standards compliant general purpose ldap browser that can be used to read and search any ldap directory, or any X500 directory with an ldap interface. It is available for immediate free download under a standard OSI-style open source licence. Aug 28 » Databases » Apache DerbyApache Derby, an Apache DB subproject, is an open source relational database implemented entirely in Java and available under the Apache License, Version 2.0. Some key advantages include: * Derby has a small footprint -- about 2 megabytes for the base engine and embedded JDBC driver. * Derby is based on the Java, JDBC, and SQL standards. * Derby provides an embedded JDBC driver that lets you embed Derby in any Java-based solution. * Derby also supports the more familiar client/server mode with the Derby Network Client JDBC driver and Derby Network Server. * Derby is easy to install, deploy, and use. Aug 27 » JSP Tag Libraries » ValueListPaging, sorting and filtering data in a web environment using java, jsp and taglibs. Aug 26 » Workflow Engines » YAWLYAWL (Yet Another Workflow Language), an open source workflow language/management system, is based on a rigorous analysis of existing workflow management systems and workflow languages. Unlike traditional systems it provides direct support for all of the workflow patterns (http://www.workflowpatterns.com). YAWL supports the control-flow perspective, the data perspective, and is able to interact with web services declared in WSDL. It is based on a distributed, web-friendly infrastructure. Aug 26 » General Purpose » Kataba DynamicsSet of core libraries for Java, inspired by dynamic languages like Ruby and Python. Aug 26 » General Purpose » JoddJodd is a generic purpose open-source Java library. It helps in development of Java applications, both stand-alone and server-side. You may think of Jodd as swiss army knife for Java: small, sharp and with plenty handy gadgets included. Jodd contains many useful and ready to use features: it provides Java beans manipulation, loads beans with ease from various sources, simplifies JDBC connectivity and code, profiles sql queries, manages date and time, manipulates and format Strings, searches files on disk, helps with handling servlet requests. Additionally, Jodd contains small, yet useful mvc2 JSP-based framework. And there is more inside... Aug 26 » General Purpose » Ostermiller UtilsLibraries for common tasks such as CSV, Base64, Circular Buffers, MD5, and Significant Figures. Aug 26 » General Purpose » jga: Generic Algorithms for Javahe goal of this project is to provide functionality roughly analogous to the portions of the C++ STL library that are not already provided by java. The primary functionality to be provided is: * a set of functors and predicates that may be applied both the the generic collections and to other areas of the standard java library. * basic utility algorithms for use with java collections such as those found in STL * implementations of standard java classes that are intended to be user-derivable that apply the algorithms and functors for general benefit (for example, implementations of standard swing models that take advantage of predicates and functors) We will not necessarily reproduce STL in all of its details: where Java and C++ provide different interpretations of standard design patterns, we will stay true to standard Java practices in order to be as comfortable for Java programmers to adopt as is practical. We will also not necessarily be limited by the scope or approach of STL Go To jga: Generic Algorithms for Java Aug 26 » General Purpose » J.A.D.E. Java Addition to Default EnvironmentThe JADE library provides \"Context Programming\" which allows: - Objects to be allocated on the \"stack\" to avoid garbage collection and provide faster execution speed (PoolContext). - Automatic concurrency in low level method to take advantage of multi-processors (or hyper-threading) in a transparent manner (ConcurrentContext). - Thread-based inheritable local/global settings (LocalContext). This library also provides - Struct/Union classes for interoperability with C/C++. - A math package with the first (and unique) generic Matrix class to solve linear systems of any kind. - Physical quantities for which the dimension checking is done in the form of class-type checking (e.g. the division of a length by a duration returns a velocity instance). - Real-time XML parser with no dynamic object creation (the world fastest by a factor 2-3x) And much, much more... Go To J.A.D.E. Java Addition to Default Environment Aug 26 » Installers » Launch4JWindows native executable (.exe) java application wrapper. Offers native splash screen, application icon, search for JRE or use bundled one, feedback on startup failure, passes command line arguments. Aug 25 » Installers » JSmoothJSmooth is a Java Executable Wrapper that makes a standard Windows executable binary (.exe) from a jar file. It makes java deployment much smoother and user-friendly, as it is able to find a Java VM by itself. When no VM is available, it provides feed-back to the users, and can launch the default web browser to an URL that explains how to download a Java VM. Note: NOT COMPLETELY WRITTEN IN JAVA Aug 23 » Web Frameworks » WicketWicket is a Java web application framework that takes simplicity, separation of concerns and ease of development to a whole new level. Wicket pages can be mocked up, previewed and later revised using standard WYSIWYG HTML design tools. Dynamic content processing and form handling is all handled in Java code using a Swing-like component model backed by POJO data beans that can easily be persisted with Hibernate. Aug 20 » Portals » StringbeansStringbeans is a portal framework compatible with JSR 168 Portlet API standard. Stringbeans offers JAAS based authentication, flexible portlet access control and monitoring, and support for mobile clients. It is bundled with portlets for displaying charts, reports, database tables, XML documents, RSS headlines, etc. Aug 19 » Web Frameworks » Millstonea nice alternative to struts like framework you do not need to xrite a signle html line Aug 18 » Charting & Reporting » iReportiReport is a visual reporting tool based on JasperReports written in 100% pure java. You can manage charts, images, subreports,... Data can be retrived using JDBC, TableModels, JavaBeans, XML,...It supports output in PDF,XML,XLS,CSV,HTML,Java2D,... Aug 17 » Web Frameworks » SwingletsProgram your JPS & Servlets like you program your Swing components. Swinglets is a server side component library that uses an identical design to Swing. Swinglets has look and feels for HTML, Java Script and WML. The Components, Models, Renderers, and LookAndFeels are very similar. It has Swing event handling too. In fact Swinglets actually uses the Swing models (e.g. TableModel). This means you can take your existing models and start working with Servlets straight away. It's just about as close to a standard as you can get without it actually coming from Sun themselves. Aug 14 » Inversion of Control » GravityGravity is a dependency and configuration management framework that allows multiple forms of configuration via a plugin model with a primary focus on the Dependency Injection / Inversion of Control (IoC) design pattern. The framework comes with a default BeanShell plugin for configuring the components. Aug 13 » Template Engines » Better Templates for EverybodyA \"bottom up\" template specification in which data knows how to insert itself into the proper place in your template. Templates can be built from static files or from Java servlets. Go To Better Templates for Everybody Aug 10 » Project Management » MemorandaMemoranda (formerly known as jNotes2) is an open source cross-platform diary manager and the tool for scheduling personal projects Aug 06 » Charting & Reporting » DatavisionDataVision is an Open Source reporting tool similar to Crystal Reports. Reports can be designed using a drag-and-drop GUI. They may be run, viewed, and printed from the application or exported as HTML, XML, PDF, LaTeX2e, DocBook, or tab- or comma-delimited text files. The output files produced by LaTeX2e and DocBook can in turn be used to produce PDF, text, HTML, PostScript, and more. Aug 03 » Persistence » SpeedoSpeedo is an open source implementation of the JDO (TM) specification. Aug 03 » Persistence » XORMXORM is an extensible object-relational mapping layer for Java applications Aug 03 » JMS » JORAMJMS implementation similar to openJMS, and distributed by ObjectWeb Aug 01 » Logging Tools » Commons LoggingThe 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. Jul 30 » ERP & CRM » Ohioedge CRM ServerOhioedge is a Web-based, Enterprise Java (J2EE) CRM/Workflow Mgmt portal, designed for organizations requiring centralized, enterprise-wide co-ordination of sales generation and workflow activities. Uses Jetspeed/Turbine MVC J2EE-Verified by Sun Jul 30 » ERP & CRM » SellWinSellWin is an open source CRM Sales application Jul 30 » ERP & CRM » JERPAThe Java Enterprise Resource Planning Architecture (JERPA) is an advanced architecture model for ERP software. It is written in pure Java and is based on XML-RPC and J2EE. Jul 30 » Forum Soft » JForumFusionJForumFusion is a platform independent discussion board program. Some of it main features include: support of unlimited discussion forums, topics and member, threaded or linear discussions, file attachments, private messaging, web based administrative tools, UBBCode, multiple authentication sources, and high performance search engine. Jul 30 » ERP & CRM » Compiere ERPCompiere is a Open Source ERP software application with fully integrated CRM software solutions. Compiere is a fully integrated business solution for small-to-medium enterprises worldwide. Compiere is based on business process rather then departmental boundaries. Jul 30 » ERP & CRM » HipergateHipergate is an open source web based application suite. It's mission is to cover a full range of technical requirements in any organization. All applications are addressed from a browser, without needing any other additional software in the client computer. This suite is multi-company capable, and can be used in a single company, a corporate group or working as an ASP solution capable of serving an unlimited cuantity of single customers. Jul 30 » Source Control » Java CVS ClientA library that implements a CVS protocol client in Java. The library is essentially complete. There are a few non-essential commands still to be implemented but the code is stable. Jul 30 » Source Control » jCVSJCVS 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. Jul 30 » Source Control » GruntspudGruntspud is a graphical CVS client written in Java. It uses the CVS client library from NetBeans as its core and supports nearly all of the commands that this library provides. Jul 30 » Source Control » StatCvsStatCvs retrieves information from a CVS repository and generates various tables and charts describing the project development, e.g. timeline for the lines of code, contribution of each developer etc. The current version of StatCvs generates a static suite of HTML documents containing tables and chart images. Jul 30 » Source Control » JSVNJSVN is a Java Subversion Client Jul 30 » Source Control » SourceJammerSourceJammer is a source control and versioning system written in Java. It consists of a server-side component that maintains the files and version history, and handles check-in, check-out, etc. and other commands; and a client-side component that makes requests of the server and manages the files on the client-side file system. Jul 30 » Source Control » CBECBE is revision control system with integrated make-like functions written in pure Java. It can be used similar to CVS but offers some new features like renaming files (while still keeping the history) and using a database as backend (optional). Jul 30 » Template Engines » JDynamiTeJDynamiTe is a simple yet powerful tool used to create dynamic documents from \"template\" documents. Jul 27 » Aspect-Oriented » CAESARCAESAR is a new aspect-oriented programming language compatible to Java, that is, all Java programs will run with CAESAR. Jul 27 » Aspect-Oriented » EAOPEvent-based Aspect-Oriented Programming (EAOP) for Java. EAOP 1.0 realizes the EAOP model through the following characteristics: * Expressive crosscuts: execution points can be represented by events and crosscuts can be expressed which denote arbitrary relations between events. * Explicit aspect composition: Aspects may be combined using a (extensible) set of aspect composition operators. * Aspects of aspects: Aspects may be applied to other aspects. * Dynamic aspect management: Aspects may be instantiated, composed and destroyed at runtime. Jul 27 » Aspect-Oriented » JACJAC (Java Aspect Components) is a project consisting in developing an aspect-oriented middleware layer. Jul 27 » Parser Generators » JFlexJFlex is a lexical analyzer generator (also known as scanner generator) for Java Jul 27 » Parser Generators » JTopasThe JTopas project provides a small, easy-to-use Java library for the common problem of parsing arbitrary text data. These data can come from a simple configuration file with a few comments, a HTML, XML or RTF stream, source code of various programming languages etc. Sometimes a text has to be parsed completely, sometimes only parts of it are important. Jul 27 » ByteCode » JBETThe Java Binary Enhancement Tool (JBET) is a general Java program analysis and manipulation tool. Existing class files can be disassembled, reassembled, or edited programmatically through the JBET API. JBET can also be used to create new Java class files from scratch. JBET uses a convenient internal representation of all the contents of Java binary (.class) files, allowing the user to edit the classes easily, in a structured manner. Jul 27 » Logging Tools » Just4LogJust4Log is a library to enhance dynamically the performance of various logging systems inside a java application. Dynamically because the sourcecode in java is not modified but rather the optimization occurs on the compiled ByteCode files. Jul 27 » Logging Tools » LN2LN2 is a logging framework based on pattern matching for the logging process. It's designed loosely on Log4J, without binding categories to levels quite so tightly. Jul 27 » Logging Tools » TracingClassLoaderA replacement for the system ClassLoader that instruments classes on load-time with tracing output statements. Jul 27 » XML UI Toolkits » jXULThe jXUL project is an open source project to integrate the XUL language into the Java Platform Jul 27 » XML UI Toolkits » KoalaGMLKoalaGML, the koala GUI Markup Language, allows developers to rapidly generate graphical user interfaces by writing XML documents that define the layout and content of the interfaces. It is both a markup language and a toolset for generating the Java GUI code from the markup. Inspired by Java Server Pages (JSP), koalaGML consists of a rich and growing set of features, including: session beans, custom imports, exception handling, custom error forms, relative layout of elements (with tables ala HTML) and a huge set of widgets. Jul 27 » Job Schedulers » Gos4jGoal Oriented Scheduling for Java is a way of organising processing priorities based on goals. Each goal is processed based on its time to complete, and its progress towards that goal. Deadlines are used to act as the target completion time for a goal, and can be expressed in either relative or absolute terms. Jul 27 » JMS » PresumoPresumo is an implementation of the Java Message Service API. Jul 27 » UML & Modeling » Violeteasy-to-use UML editor Jul 26 » Network Clients » jIRCiijIRCii is a powerful cross platform Internet Relay Chat client. It is fully scriptable using a Perl-like language called sleep. The focus is to provide a console client experience with the advantages of a solid GUI. It includes DCC/CTCP support, the ability to connect to SSL servers, and over 70 built-in commands. Jul 24 » Web Servers » TornadoTornado HTTP Server is a multi-threaded web server written in Java. It aims to be secure, efficient, and portable, and provide a full implementation of HTTP 1.1. Jul 24 » Web Servers » NanoHTTPDA free, simple, tiny (1 java file!), nicely embeddable HTTP server in Java. Jul 23 » Installers » Mini InstallerA simple package to build self installating programs in Java. The process is script driven, the result is a unique JAR file that the user can double click to execute a wizard-like installation process. Jul 23 » Code Beautifiers » BeautyJBeautyJ is a source code transformation tool for Java source files. One main feature of BeautyJ is to auto-format Java source code by generating a clean, normalized representation of the code. BeautyJ is also capable of auto-generating Javadoc comments with semantic information derived from identifier names. Jul 22 » Scripting Languages » SleepSleep is the Simple Language for Environment Extension Purposes. Sleep is a small language with perl-like syntax for integration into Java applications. The attribute that makes Sleep different is it allows an application developer to develop \"bridges\". A bridge is a very simple class for adding new functions, predicates, operators, and even keywords for binding blocks of code. Sleep is easily extendable to make an application's features available to end-user scripters. Jul 22 » Scripting Languages » ObjectScriptObjectScript is a general purpose object-oriented programming language. It is designed to be simple to learn, easy to use, yet still powerful, combining the convenience of an interactive interpreter with many of the features of Java: Jul 18 » Logging Tools » HoustonHouston is an open-source, light-weight status and logging toolkit offering a plug-in architecture to let you choose the underlying, industry-strength logging toolkit such as Apache log4j or Java 1.4's built-in java.util.logging toolkit. Houston uses the publish/subscribe model and sends reported errors, warnings, infos, hints, and so on to subscribed status handlers. Status handler for command-line apps usually display incoming messages in plain text on the console, while classic desktop apps display incoming messages in the status bar or in a message box using styled text in various colors (e.g red for errors, orange for warnings, etc) with icons and other visual gimmicks. Jul 18 » Logging Tools » qflogqflog is a tool for displaying log messages which is built on top of the de.qfs.lib.log package Jul 18 » Logging Tools » JTraceDumpJTraceDump provides a facility to keep a history of application processing steps in memory and dump it in case of an error. It is not a replacement, but an addition to trace- or debug-logging. Jul 18 » Logging Tools » MonoLogMonoLog was designed to: * to standardize the instrumentation code * to support a component architecture * to allow an efficient implementation of logging * to abstract source code instrumentation from a specific implementation of logging * to support internationalisation * to support monitoring Jul 18 » Logging Tools » LumberjackThe Lumberjack project provides an open source (covered by the GNU Lesser Public License) implementation of the logging APIs first introduced in JDK 1.4 that will work for JDK 1.2 and 1.3. The goal is for this implementation to work transparently on JDK 1.2 and 1.3 without recompile and with no significant difference in behavior between it and the implementation provided in JDK 1.4 Jul 18 » Logging Tools » Log4jLog4j 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. Jul 18 » Logging Tools » jLojLo is a logging framework written in Java. It has some uniqiue features compared to other existing frameworks. List of features: * supports multiple log configurations * offers loggers, channels, filters and pipes * uses either a direct or asynchronous log processor (handle the logging in a separate thread * compataible to commons-logging * auto reload of the configuration if the file has changed * simple XML structure to configure jLo * supports filters to limit the output * supprts the use of variables in the configuration * supports the use of environment variables or java system properties * comes with mock objects for handler and formatter to be integrated into JUnit testcases for example * all testcases are included in the source distribution Jul 18 » Rule Engines » Prova languageProva (from Prolog+Java) is a rule-based system for Java and agent scripting and information integration extending the Mandarax engine with a proper language syntax and enhanced semantics. The language breaks new ground in combining expressive and declarative programming. It combines natural syntax and typing of Java with Prolog-style rules and database wrappers. Java calls may include both constructor and method calls as wellas access to public variables in classes. Distributed and agent programming transported via JMS or JADE protocols is based on reaction rules specified in a natural syntax. The language makes it easy for agents to engage in concurrent conversations without starting new threads by using reaction and novel inline reaction rules in a very natural and ecoonomic syntax, directly capturing conversations as state machines. Jul 18 » JSP Tag Libraries » MicroNova YUZU JSP Tag LibraryMicroNova YUZU is a BSD-licensed JSP tag library designed to augment JSTL (JSP Standard Tag Library) using EL (Expression Language). YUZU is compatible with both JSP 1.2 and JSP 2.0 specifications (tomcat 4.x/5.x). Features include: nestable/encodable map structure, \"codec\" functions (also useable as JSP 2.0 EL functions), structured parameters and \"subroutine\" call returning any (non-string) Object, embedded EL pattern evaluation for regular text and SQL query, HTTP client and response control, HTML-to-DOM parser, multipart email. YUZU consists of the following tags: set, out, map, eval, param, call, include, log, postData, throw, synchronized, query, update, response, system, filter, parseHtml, mail. All YUZU tags follow a simple common behavioral pattern (prepare/import/default/process/assign/export) for ease of learning and extension. Go To MicroNova YUZU JSP Tag Library Jul 15 » PDF Libraries » PJXPJX is a general purpose PDF programming library for Java; with support for reading, combining, manipulating, and writing PDF documents. Jul 15 » Inversion of Control » ExcaliburExcalibur 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. Jul 14 » Testing Tools » SQLUnitSQLUnit is a regression and unit testing harness for testing database stored procedures. An SQLUnit test suite would be written as an XML file. The SQLUnit harness, which is written in Java, uses the JUnit unit testing framework to convert the XML test specifications to JDBC calls and compare the results generated from the calls with the specified results. Jul 14 » Code Beautifiers » JalopyJalopy 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. Jul 14 » Code Beautifiers » JxBeautyJxBeauty is a sourcecode formatter and beautifier for java files. Documentation comments can be created on demand and are filled with formal parameters. A beginning comment (module header) will be created if missing. It takes into accout the sun code conventions for the java programming language. Jul 14 » Code Beautifiers » Java2HtmlJava2Html converts Java (and other) source code (complete files or snippets) to HTML, RTF, TeX and XHTML with syntax highlighting. This open source Java project consists of an extendible library along with a Java application, a Java applet and many plugins in order to integrate the library into other programs. Jul 14 » Code Beautifiers » ImportScrubberA utility to clean up the import statements in a Java source code file. Jul 14 » Connection Pools » DDConnectionBrokerDDConnectionBroker is a simple, light database connection-pooling tool Jul 14 » Connection Pools » DBPoolA Java-based database connection pooling utility, which supports time-based expiry and statement caching, connection validation, and easy configuration using a pool manager. Also included is a generic object pool which can be extended to create your own pools of custom types. Jul 14 » Connection Pools » Jakarta DBCPDBCP 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. Jul 14 » Connection Pools » C3P0C3P0 is an easy-to-use library for augmenting traditional (DriverManager based) JDBC drivers with JNDI-bindable DataSources, including DataSources that implement Connection and Statement Pooling, as described by the jdbc3 spec and jdbc2 standard extensio Jul 14 » Connection Pools » Db Connection BrokerDbConnectionBroker 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 from a configurable pool of connections. The Broker creates a dynamic pool of connections and manages them for you with a background housekeeping thread. Jul 14 » Connection Pools » ProxoolProxool is a Java connection pool.It transparently adds connection pooling to your existing JDBC driver. Jul 13 » Web Services » Caucho Hessian\"Hessian is a lightweight, self-describing binary RPC protocol\" The Hessian binary web service protocol makes web services usable without requiring a large framework, and without learning yet another alphabet soup of protocols. Because it is a binary protocol, it is well-suited to sending binary data without any need to extend the protocol with attachments. Jul 13 » Web Services » Caucho Burlap\"Burlap is a lightweight XML RPC protocol.\" The Burlap web service protocol makes web services usable without requiring a large framework, and without learning yet another alphabet soup of protocols. Jul 12 » JMS » MantaRayMantaRay is an Open Source serverless messaging fabric, based on peer-2-peer technology, and 100% pure Java. Features include: - Publish/subscribe (topic) and Point-to-point (queue) messaging services - Support for JMS 1.1 and 1.02 - Automatic discovery - Guaranteed message delivery - Persistent/non-persistent and durable messages - Security - Transactions support - Message filtering using selectors - Integration with WebLogic and WebSphere - TCP, UDP and HTTP transport protocols Jul 10 » Inversion of Control » PicoContainerPicoContainer is a lightweight embeddable container for components that honour Dependency Injection. Jul 10 » Inversion of Control » AvalonAvalon consists of a number of products and sub-projects supporting service and component management. Jul 10 » Inversion of Control » NanoContainerNanoContainer is a Dependency Injection (DI) container that manages trees of PicoContainers. NanoContainer adds the following features to PicoContainer: * classloader (classpath) management * class name based composition (via reflection) * Scripting language support Jul 10 » Inversion of Control » PeapodPeapod is a lightweight container. Peapod lets you take a plain Java class, an interface and a small fragment of XML metadata and hand off responsibility to a host. The combination of an interface, and implementing class and the metadata is a component; the host is Peapod. The responsibilities the host can take over are many. Here are some that Peapod handles: * hot-deploy and undeploy of JARs: just drop in a directory or remove a file to install or uninstall a component * intelligent dependency management: components are active only when all their declared dependencies have been satisfied--remove a component and all its dependents gracefully shut down; re-add it and they wake up * code versioning: declare you require version 1.0 and seamlessly receive a access to facilities provided by a 1.1 implementation--you can even have both versions running in the same container * combining the above three you get hot upgrades: undeploy a component, thus putting the dependents to sleep, deploy a newer version and not have to restart at all, enabling very high uptimes with a single lightweight server * external configuration by metadata * declarative aspect-oriented programming: use metadata to select code to insert at runtime between method calls made to an interface or even to a single method--tracing, security, transactions, single-threading, and more; the container includes several useful aspects you can use out of the box Jul 10 » Inversion of Control » CarbonCarbon is a light-weight component model and services framework providing enterprise quality services. Carbon is built on the following principles: * Create a more flexible architecture via a decoupled, metadata-centric system * Reduce complexity by providing access to services as small replaceable components * Encourage the separation of concerns, resulting in code assets that are easier to maintain, adapt and reuse in a complex and dynamic operating environment * Improve quality with highly documented, fully tested code Jul 10 » JMX » JMX4AntJMX4Ant is a set of optional Ant tasks that allows interactions with JMX MBeans. Jul 10 » JMX » PanoptesPanoptes is a graphical JMX Management Console for JFace/SWT. Panoptes is designed to work with any JMX Server such as JBoss or Tomcat or any J2EE server. Panoptes uses Jelly to provide customized rich user interfaces for MBeans using the powerful widget set of JFace/SWT. Jul 10 » JMX » XMOJOThe 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. Jul 10 » JMX » MX4JMX4J is a project to build an Open Source implementation of the Java(TM) Management Extensions (JMX) and of the JMX Remote API (JSR 160) specifications, and to build tools relating to JMX. Jul 10 » JMX » EJTools JMX BrowserThe EJTools JMX Browser is a tool which allows to view and interact with the JMX space in a JMX compatible implementation. It provides the following features: * remote connections via RMI/IIOP/others (Swing-based) * local connection (Web-based) * a hierarchical view of the domains and the mbeans * access to the attributes, the operations and the notifications * attribute plotting The EJTools JMX Browser comes in two flavors : * A Swing-based application, that can be connect remotly to interact with the JMX server/implementation. * A Web-based application, that can be run in any J2EE 1.3 Web stack. It provides an easy way interact with the JMX server. Jul 10 » JMX » MC4JThis software allows for remote connections to JMX servers and provides the ability to browse existing managed beans (MBeans) and execute operations on them. Jul 10 » Mail Clients » ColumbaColumba is an Email Client written in Java, featuring a user-friendly graphical interface with wizards and internationalization support. Its a powerful email management tool with features to enhance your productivity and communication. Jul 10 » Mail Clients » PolarbarPolarbar is a 100% pure Java email application that runs on all platforms supporting Java. This software is free to all users and supports most standard email technologies used today. Jul 10 » Mail Clients » ICEMailICEMail is an email client written entirely in Java. ICEMail supports the latest email standards, including SMIME, vCard, and PGP. ICEMail is based on the Java Mail, Activation, and Help libraries. Jul 10 » Mail Clients » PookaPooka is an email client written in Java, using the Javamail API. It supports email through the IMAP (connected and disconnected) and POP3 protocols. Outgoing mail is sent using SMTP. Jul 10 » Mail Clients » GrendelGrendel 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. Jul 09 » Wiki Engines » XWikiXWiki is a WikiWiki clone written in Java which supports many popular features of other Wikis like: * Wiki syntax (uses Radeox engine) * Content management (view/edit/preview/save) * Version Control * Attachments * Rights Management * Full-text Search It also has many advanced features that many other wiki engines lack: * Document Templates to ease creation of common documents. * Relational Database storage using Hibernate. * Design Engine for Meta-Data and Forms. * In-place (inline) editing of form information in pages. * Powerfull programming API in documents. * Search API for more detailed searching in the Meta-Data. * Plugin System in Java. * Plugin compatibility layer in perl with some TWiki plugins. * Scalability and Performance using J2EE. * Complete Skin System (templates content as well as CSS). * RSS output and display of external RSS feeds * Multi-Lingual capabilities * XML/RPC Remote API * Portlet Integration * Groovy scripting support Jul 08 » Network Servers » JCGridJCGrid is an easy-to-use tools for real-world grid-computing. It requires only to install Java Runtime. It doesn't require any OS specific setup (works on any platform thanks to Java). It doesn't require too any file system sharing capability (i.e. NFS, etc). You can easy split your cpu-intensive task among several Workstations/PCs/Macs/etc by using the JCGrid framework. Any file required for completing the task will be transferred by the framework. A cache is used in order to minimize file transfers. You can easy add or remove Workstations/PCs/Macs from the grid at runtime without the loose of any work. It includes the support for POVRay as an example of use. A demonstration of a public grid with anonymous users for rendering Mandelbrot set is included too. Jul 06 » XML UI Toolkits » thinletThinlet is a GUI toolkit, a single Java class, parses the hierarchy and properties of the GUI, handles user interaction, and calls business logic. Separates the graphic presentation (described in an XML file) and the application methods (written as Java code). Its compressed size is 38KB, and it is LGPL licensed. Thinlet runs with Java 1.1 (browsers' default JVM) to 1.4, Personal Java, and Personal (Basis) Profile. Swing isn't required. Jul 05 » Code Analyzers » CheckStyleCheckstyle is a development tool to help programmers write Java code that adheres to a coding standard. It automates the process of checking Java code to spare humans of this boring (but important) task. This makes it ideal for projects that want to enforce a coding standard. Checkstyle is highly configurable and can be made to support almost any coding standard. An example configuration file is supplied supporting the Sun Code Conventions. As well, other sample configuration files are supplied for other well known conventions. Can be integrated into CruiseControl and Eclipse. Jun 30 » J2EE Frameworks » ExpressoExpresso is an open standards-based, enterprise-strength J2EE architectural framework for developing database-driven web applications based on open standards. Jun 29 » Job Schedulers » Essiembre J2EE SchedulerJ2EE Scheduler is a simple task scheduling mechanism for J2EE applications. This library can be considered a wrapper around the Timer and TimerTask classes found in the standard Java API. Configuration for tasks to be executed and their frequency is XML-based. A typical use for it is to periodically refresh in-memory data to ensure it stays up-to-date. It can also be used for automated maintenance tasks or anything else that suits your need. Go To Essiembre J2EE Scheduler Jun 27 » Aspect-Oriented » dynaopdynaop, a proxy-based Aspect-Oriented Programming (AOP) framework, enhances Object-Oriented (OO) design in the following areas: code reuse decomposition dependency reduction Jun 26 » Persistence » SmyleSimple data storage API to help developers to focus on their applications instead of writing JDBC code. Jun 24 » Web Mail » Claros inTouchClaros inTouch (previously known as Claros Webmail) is an Ajax communication suite with key features such as webmail, address book, post-it notes, calendar(in progress), built in instant messenger, rss reader, webdisk(in progress). It is an open source web application which features built in spam protection and instant messaging capabilities. Jun 22 » Web Services » IvoryIvory provides easy integration between your exiting java classes, Avalon services, and Axis. It allows easy deployment of soap services with none of the WSDD configuration that Axis normally mandates. Simply register your class or service and wa-la, you have a new RPC SOAP service. However, it also allows Avalon services to be used with the standard WSDD configuration easily. Jun 22 » Code Analyzers » Dependency FinderExtracts dependencies and OO metrics from Java class files produced by most Java compilers. Jun 22 » Web Services » SOAP UDDISOAP UDDI is UDDI 2.0 compliant registry for Web services. With this UDDI Registry, Web services developers can publish and test their applications in a secure, private environment for their own applications. Jun 22 » Web Services » UDDI4JUDDI4J is a Java class library that provides an API to interact with a UDDI (Universal Description, Discovery and Integration) registry. The UDDI Project is a comprehensive, open industry initiative enabling businesses to (I) discover each other, and (II) define how they interact over the internet and share information in a global registry architecture. UDDI is the building block which will enable businesses to quickly, easily and dynamically find and transact with one another via their preferred applications. Jun 22 » Web Services » AxisAxis is the third generation of Apache SOAP (which began at IBM as \"SOAP4J\"). It also includes: * a simple stand-alone server, * a server which plugs into servlet engines such as Tomcat, * extensive support for the Web Service Description Language (WSDL), * emitter tooling that generates Java classes from WSDL. * some sample programs, and * a tool for monitoring TCP/IP packets. Jun 22 » Web Services » WSIFThe Web Services Invocation Framework (WSIF) is a simple Java API for invoking Web services, no matter how or where the services are provided. Jun 22 » Web Services » WSIL4JWSIL4J is a Java class library that provides an API that is can be used to locate and process WS-Inspection documents. This class library can be used to read and parse a WS-Inspection document, as well as generate a new WS-Inspection document. Jun 21 » Project Management » BORGBORG is a combination calendar and task tracking system. Jun 21 » Project Management » RaplaThe objective of the project \"Rapla\" is to provide an easy-to-use resource-management system. Jun 21 » Project Management » XPlannerXPlanner is a web-based project planning and tracking tool for agile development teams Jun 21 » XML UI Toolkits » UIHierarchyUIHierarchy is a library that facilitates creation of user interfaces. The main idea is to enforce the mental picture of the containment hierarchy of GUI components by writing the code in the same logical way. Code gets much easier to understand, much shorter, and easy to maintain. Additionaly, UIHierarchy can manipulate resulting components hierarchies in a powerful way. [It is a UI helper library, but no category of this site really match. UIHierarchy has a small XML module though but it is not the main focus.] Jun 21 » Testing Tools » MockCreatorGiven the interface or class, it generates source of Mock object for it. Jun 21 » Testing Tools » jMockjMock is a library for testing Java code using mock objects. The jMock package: * makes it quick and easy to define mock objects, so you don't break the rhythm of programming. * lets you define flexible constraints over object interactions, reducing the brittleness of your tests. * is easy to extend. Jun 21 » Testing Tools » MockEJBLightweight framework allowing to run EJBs without the application server support for testing purposes. Jun 21 » Testing Tools » EasyMockEasyMock provides Mock Objects for interfaces in JUnit tests by generating them on the fly using Java's proxy mechanism. Due to EasyMock's unique style of recording expectations, most refactorings will not affect the Mock Objects. So EasyMock is a perfect fit for Test-Driven Development. Jun 21 » Testing Tools » XMLUnitXMLUnit for Java provides two JUnit extension classes, XMLAssert and XMLTestCase, and a set of supporting classes (e.g. Diff, DetailedDiff, Transform, SimpleXpathEngine, Validator, NodeTest) that allow assertions to be made about: * The differences between two pieces of XML * The outcome of transforming a piece of XML using XSLT * The evaluation of an XPath expression on a piece of XML * The validity of a piece of XML * Individual nodes in a piece of XML that are exposed by DOM Traversal XMLUnit for Java can also treat HTML content (even badly-formed HTML) as valid XML to allow these assertions to be made about the content of web pages too. Jun 21 » XML Parsers » dom4jdom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP Jun 21 » Testing Tools » StrutsTestCaseStrutsTestCase is an extension of the JUnit TestCase class that allows testing of individual Action objects with or without a running servlet engine. This framework provides both mock servlet objects as well as Cactus support to simulate the environment. Jun 20 » Testing Tools » The GrinderThe Grinder is load-testing framework. The Grinder makes it easy to orchestrate the activities of a test script in many processes across many machines, using a graphical console application. Test scripts make use of client code embodied in Java plug-ins. Most users of The Grinder do not write plug-ins themselves, instead they use one of the supplied plug-ins. The Grinder comes with a mature plug-in for testing HTTP services, as well as a tool which allows HTTP scripts to be automatically recorded. Jun 20 » Testing Tools » jfcUnitjfcUnit enables developers to write test cases for Java Swing based applications. It provides support for: 1. Obtaining handles on Windows/Dialogs opened by the Java code. 2. Locating components within a component hierarchy that occur within the containers found above. 3. Raising events on the found components, e.g. clicking a button, typing text in a TextComponent. 4. Handling testing of components in a thread safe manner. Since version 2.0, jfcUnit provides XML Recording and playback. This allows users to quickly and automatically generate/edit scripts to drive the testing. Jun 20 » Testing Tools » JTestCaseJTestCase uses XML file to organize multi-testcase data and asserting conditions (action and expected result), and provides a set of easy-to-use methods to retrieve test cases out from XML, and asserts results against those expected ones in data file. Jun 20 » Code Coverage » jcoverage/gpljcoverage/gpl is a free code-coverage tool for Java programmers that allows them to measure the effectiveness of their Java tests and how much of a software program's code has been tested. jcoverage/gpl identifies how many times each line of code in your application has been executed and you can see which parts of your software remain untested. After instrumenting your code and running your tests, a report is generated allowing you to view information coverage figures from a project level right down to the individual line of code. This process is called 'code coverage'. Jun 19 » Web Frameworks » VRaptorVRaptor is a MVC web framework. It is highly based on the Inversion of Control principles, using constructor injection to decouple your components from your business logic classes. Jun 17 » SQL Clients » PKLite SQL ClientPKLite SQL Client is an Open Source Java program can connect to any JDBC compliant database. It has basic query and update functionality and some simple database information capabilities. The goal of this project was to create a lightweight SQL client (under 1 MB) that was portable, easy to install and be vender independent. There are still some issues to be worked out so that is can be completely database vender independent but with this new build it is able to connect to any database that has a JDBC driver and run on any OS that has a Java VM. You can find more information about this project at http://pklite.sourceforge.net/. Jun 16 » Persistence » Ibatis SQL MapsThe SQL Maps framework will help to significantly reduce the amount of Java code that is normally needed to access a relational database. This framework maps JavaBeans to SQL statements using a very simple XML descriptor. Simplicity is the biggest advantage of SQL Maps over other frameworks and object relational mapping tools. To use SQL Maps you need only be familiar with JavaBeans, XML and SQL. There is very little else to learn. There is no complex scheme required to join tables or execute complex queries. Using SQL Maps you have the full power of real SQL at your fingertips. The SQL Maps framework can map nearly any database to any object model and is very tolerant of legacy designs, or even bad designs. This is all achieved without special database tables, peer objects or code generation. Jun 16 » RSS & RDF Tools » RSS ReaderThe RSS Reader provides a Java API and a graphical client by which feeds in the RSS format can be analyzed and displayed. Jun 16 » Obfuscators » yGuardyGuard is an improved version of RetroGuard that comes with an ant task. Jun 16 » RSS & RDF Tools » SandlerSandler is an Atom parser and manipulation library implemented in Java. Sandler provides an idiommatic Java object model for working with Atom feeds, as well as mechanisms to build said object models from various types of XML input. Jun 15 » UML & Modeling » JUGJug is a tool for converting Java .class files into UML class diagrams. It can read .class and .jar files, and output .emf or .eps files of the generated diagrams. Jun 15 » Template Engines » TeaTea is a simple yet powerful template language. Tea is most commonly used for creating dynamic web pages in the TeaServlet. Jun 15 » Template Engines » JamonJamon is a general purpose template engine written in java. Jamon has a rich feature set to support encapsulation, parameterization, functional decomposition, and reuse of presentation logic. Jun 15 » Template Engines » JByteJBYTE - JavaBY Template Engine is a Java-based template engine. JBYTE is a general template engine used for generating any type of text document from a template. JBYTE is used mostly for generating HTML from JSP or servlets but it can also be used for generating XML, RTF, WML, e-mail text, source code and configuration files. Jun 15 » Template Engines » StringTemplateStringTemplate is a java template engine (with ports for C# and Python) for generating source code, web pages, emails, or any other formatted text output. StringTemplate is particularly good at multi-targeted code generators, multiple site skins, and internationalization/localization. It evolved over years of effort developing jGuru.com. StringTemplate also generates this website and powers the ANTLR v3 code generator. Its distinguishing characteristic is that it strictly enforces model-view separation unlike other engines. Jun 15 » Template Engines » FreeMarkerFreeMarker is a template engine. It provides an easy way to generate textual (HTML, RTF, PostScript, TeX, source code, etc) output from your data and helps you separate design issues from application logic. Integrates with servlets, XML, Python and more. Jun 15 » Template Engines » VelocityVelocity 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 Jun 15 » RSS & RDF Tools » BlogBridgeBlogBridge is an RSS Reader/Aggregator designed for people who read and follow a large number of RSS feeds. Jun 11 » JMS » SomnifugiSomnifugi is an implementation of JMS that works inside a single JVM to send JMS Messages between Threads. Jun 11 » Code Analyzers » JDependJDepend traverses Java class file directories and generates design quality metrics for each Java package. JDepend allows you to automatically measure the quality of a design in terms of its extensibility, reusability, and maintainability to effectively manage and control package dependencies. Jun 11 » EJB Servers » JFoxJFox is an Open Source, standards-compliant, J2EE based application server implemented in 100% Pure Java, It comes from China Enterprise Open Source Community. Jun 10 » RSS & RDF Tools » RomeRome is a set of Atom/RSS Java utilities that make it easy to work in Java with most syndication formats. Today it accepts all flavors of RSS (0.90, 0.91, 0.92, 0.93, 0.94, 1.0 and 2.0) and Atom 0.3 feeds. Jun 10 » Persistence » JPOX Java Persistent ObjectsJPOX is a full compliant implementation of Java Data Objects (JDO) API. The JDO API is a standard interface-based Java model abstraction of persistence. JPOX is free and released under an OpenSource license, and so the source code is available for download along with the JDO implementation. Go To JPOX Java Persistent Objects Jun 10 » Code Analyzers » JCSCJCSC is a powerful tool to check source code against a highly definable coding standard and potential bad code. The standard covers naming conventions for class, interfaces, fields, parameter, ... . Also the structural layout of the type (class/interface) can be defined. Like where to place fields, either before or after the methods and in which order. The order can be defined through the visibility or by type (instance, class, constant). The same is applicable for methods. Each of those rules is highly customizable. Readability is enhanced by defining where to put white spaces in the code and when to use braces. The existence of correct JavaDoc can be enforced and various levels. Apart from that, it finds weaknesses in the the code -- potential bugs -- like empty catch/finally block, switch without default, throwing of type 'Exception', slow code, ... Jun 10 » Network Servers » JAVA SOCKS ServerIt is a SOCKS server written entirely in Java, which supports both SOCKS4 and SOCKS5 protocols. Jun 10 » Web Servers » Miniature Java Web ServerThe Miniature Java Web Server includes most of functionality of real Web Servers including running servlets. The server is pretty small as in Java code as in result byte code. General purpose of the Web server is running and debugging servlets. However, if you host not so high loaded web site, you can use the server as a regular web server with some benefits against big brothers. Go To Miniature Java Web Server Jun 09 » RSS & RDF Tools » FlockFlock is an RSS aggregator written in Java. It is a server-side web application accessible with a browser, Jun 09 » JSP Tag Libraries » JPivotJPivot is a JSP custom tag library that renders an OLAP table and let users perform typical OLAP navigations like slice and dice, drill down and roll up. It uses Mondrian as its OLAP Server. Jun 09 » JSP Tag Libraries » JSP Survey LibraryThe JSP web survey tag library is for making dynamic web surveys Jun 09 » JSP Tag Libraries » CewolfCewolf can be used inside a Servlet/JSP based web application to embed complex graphical charts of all kinds (e.g. line, pie, bar chart, plots, etc.) into a web page. Therefore it provides a full featured tag library to define all properties of the chart (colors, strokes, legend, etc.). Thus the JSP which embedds the chart is not polluted with any java code. Everything is described with XML conform tags. Jun 09 » JSP Tag Libraries » EasyLDAPEasyLDAP is JSP tag library for LDAP operations Jun 09 » JSP Tag Libraries » WebJMXThe WebJMX Tag Library is a project with the goal of producing a JSP tag library which allows any skilled JSP developer to produce a customized, branded, web based interface for JMX enabled \"MBeans\". Jun 09 » JSP Tag Libraries » DbFormsDbForms enables developers to build sophisticated web-based database driven applications in very short time and with very little efforts. DbForms - applications are built in a manner conceptually similar to RAD - database building tools such as Microsoft Access (for Windows-based applications) or Sybase PowerSite (for web-based applications). Jun 09 » JSP Tag Libraries » Google JSP Tag LibraryWith the Google JSP Tag Library, developers and designers can easily incorporate Google queries, search results, cached pages and spelling suggestions into any web site or application. Jun 09 » JSP Tag Libraries » Display tag libraryThe display tag library is an open source suite of custom tags that provide high level web presentation patterns which will work in an MVC model. The library provides a significant amount of functionality while still being simple and straight-forward to use. Jun 09 » JSP Tag Libraries » JCE taglibJCE taglib is a set of Open Source JSP tags and expression language EL functions (J2EE 1.4/JSP 2.0), communicating with Sun's JCE (Java Cryptographic Extensions) library to bring high-level strong encryption to your JSP applications. Classes are organized in such way that they can also be used for other non-JSP projects. Jun 09 » JSP Tag Libraries » Jakarta TaglibsThis 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. Jun 09 » Web Frameworks » ChrysalisChrysalis is a Java web development framework. It has a different focus from most Model-View-Controller (MVC) web frameworks. Chrysalis controllers resemble normal Java classes with multiple methods. Client request URLs are mapped to each controller method. Jun 08 » Web Frameworks » WebOnSwingWebOnSwing is a revolutionary multiple environment application framework that allows you to create web applications in the same way you develope a desktop one. You dont need to use JSP files, special tags, XML files, requests, posts, etc. Everything is Java and pure HTML files that comes directly from the graphic designer. This framework constructs and handles html pages with Swing components, allowing to use MVC architecture and all the facilities provided by Swing in the web. Jun 08 » RSS & RDF Tools » JenaJena is a Java framework for building Semantic Web applications. It provides a programmatic environment for RDF, RDFS and OWL, including a rule-based inference engine. Jun 08 » RSS & RDF Tools » RSSOwlRSSOwl 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. Jun 08 » RSS & RDF Tools » HotSheetHotSheet is a program that retrieves news headlines from multiple websites, displays them, and allows you to interact with them (e.g. to get the story that goes with a particular headline). Jun 08 » RSS & RDF Tools » RSSLib4JRSSLib4J is a set of Java API to parse and retrive information from a RSS Feed. Jun 08 » RSS & RDF Tools » RSS ViewRSS View is a comfortable and portable viewer for RSS/RDF-compatible newsfeeds. Jun 08 » RSS & RDF Tools » JSwingReaderIt is a Java/Swing RSS NewsFeed Reader Jun 08 » RSS & RDF Tools » RSSLibJRSSLibJ is a Java class library designed primarily to generate RSS data in various formats, based on a simple object model. Jun 08 » RSS & RDF Tools » nntp-rssnntp//rss is a Java-based bridge between RSS feeds and NNTP clients, enabling you to read your favorite RSS syndicated content within your existing NNTP newsreader. RSS feeds are represented as NNTP newsgroups, providing a simple, straightforward and familiar environment for news reading. nntp//rss contains both an NNTP server and an RSS aggregator, with a web interface for administration and monitoring. Installation is as simple as unpacking the distribution and running the application. Jun 08 » XML UI Toolkits » XUIXUI is a Java and XML framework for building rich client, desktop and mobile applications. The framework can save you up to 60% of the code typically needed to build an application. The results is real savings in development time and maintenance costs and greater stability. Jun 08 » XML UI Toolkits » SwingMLSwingML is an effort to create a markup language to render in a web browser JFC/Swing based graphical user interfaces. Jun 08 » XML UI Toolkits » Purnama XUIThe XUI tagset is an XML format that describes graphical user interfaces. On its own this tagset isn't terrifically useful. With an application programming interface however, it becomes a powerful cross-platform and cross-language scripting language allowing the creation of GUIs without actual program code. Jun 08 » XML UI Toolkits » LuxorLuxor is a free, open-source XML UI Language (XUL) toolkit in released under the GNU General Public License (GPL) that lets you build UIs using XML and includes an ultra-light weight, multi-threaded web server, a portal engine, a template engine (Velocity), a scripting interpreter (Python) and more. Jun 08 » XML UI Toolkits » Beryl XML GUIThe Beryl XML GUI library was written to ease the development of graphical user interfaces using Swing on Java. It lets you store user interfaces as XML markup. This will help you avoid unnecessary clutter in your source - Swing code mixed with application logic can become a troublesome and hard to read mess as the application size increases. The library comes with a visual component builder, which makes development a breeze. Jun 08 » XML Parsers » XStreamXStream is a simple library to serialize objects to XML and back again. Jun 08 » XML Parsers » XP ParserXP is an XML 1.0 parser written in Java. It is fully conforming: it detects all non well-formed documents. It is currently not a validating XML processor. However it can parse all external entities: external DTD subsets, external parameter entities and external general entities. Jun 08 » XML Parsers » XOMXOM is a new XML object model. It is an open source (LGPL), tree-based API for processing XML with Java that strives for correctness and simplicity. Jun 08 » XML Parsers » XercesThe Xerces Java Parser 1.4.4 supports the XML 1.0 recommendation and contains advanced parser functionality, such as support for the W3C's XML Schema recommendation version 1.0, DOM Level 2 version 1.0, and SAX Version 2, in addition to supporting the industry-standard DOM Level 1 and SAX version 1 APIs. Jun 08 » XML Parsers » Piccolo XML ParserPiccolo is a small, extremely fast XML parser for Java. It implements the SAX 1, SAX 2.0.1, and JAXP 1.1 (SAX parsing only) interfaces as a non-validating parser and attempts to detect all XML well-formedness errors. Jun 08 » XML Parsers » NekoPullNekoPull is an XML document parsing API that extends the Xerces Native Interface (XNI) to provide pull parsing functionality. The pull parsing paradigm is different from tree-based APIs like the Document Object Model (DOM) and event stream APIs like the Simple API for XML (SAX) in that the application controls the parsing of documents. NekoPull is similar to lex in that the application requests, or pulls, the document information one piece at a time instead of having document information pushed to the application. Jun 08 » XML Parsers » NanoXMLNanoXML is a small XML parser for Java. NanoXML comes in three different components: * NanoXML/Java - The standard parser for Java. * NanoXML/SAX - A SAX adapter for NanoXML/Java. * NanoXML/Lite - An extremely small (6KB) XML parser which is the successor of NanoXML 1. It only provides a limited functionality: no mixed content and the DTD is ignored. Jun 08 » XML Parsers » kXMLkXML 2 is a small XML pull parser, specially designed for constrained environments such as Applets, Personal Java or MIDP devices. Jun 08 » XML Parsers » JiBX: Binding XML to Java CodeJiBX is a framework for binding XML data to Java objects. It lets you work with data from XML documents using your own class structures. The JiBX framework handles all the details of converting your data to and from XML based on your instructions. JiBX is designed to perform the translation between internal data structures and XML with very high efficiency, but still allows you a high degree of control over the translation process. Go To JiBX: Binding XML to Java Code Jun 08 » XML UI Toolkits » SwiXmlSwiXml, is a small GUI generating engine for Java applications and applets. Graphical User Interfaces are described in XML documents that are parsed at runtime and rendered into javax.swing objects. Jun 08 » XML Parsers » JDOMJDOM is, quite simply, a Java representation of an XML document. JDOM provides a way to represent that document for easy and efficient reading, manipulation, and writing. It has a straightforward API, is a lightweight and fast, and is optimized for the Java programmer. It's an alternative to DOM and SAX, although it integrates well with both DOM and SAX. Jun 08 » Workflow Engines » XFlowXFlow is a pure J2EE platform for building, executing and managing business processes and workflows. It is a basis for building collaborative applications as well as integrating processes across an enterprise. XFlow has a small footprint but is extremely powerful. It is designed to be easy to use from the development, deployment and management standpoints. Jun 08 » Workflow Engines » WfMOpenWfMOpen is a J2EE based implementation of a workflow facility workflow engine) as proposed by the Workflow Management Coalition (WfMC) and the Object Management Group (OMG). Jun 08 » Workflow Engines » WerkflowWerkflow is a flexible, extensible process- and state-based workflow engine. It aims to satisfy a myriad of possible workflow scenarios, from enterprise-scale business processes to small-scale user-interaction processes. Using a pluggable and layered architecture, workflows with varying semantics can easily be accomodated. Processes can revolve around documents, objects or any other entity. The core werkflow engine can be accessed through a Java API, EJB, JMS, SOAP and other conduits. Jun 08 » Workflow Engines » The Open for Business Workflow EngineThe Open for Business Workflow Engine is based on the WfMC and OMG spec; (See the related documents for information on these specs.) it is a member of the Services Framework, and is tightly integrated with the Entity Engine. It uses the entities found in entitymodel_workflow.XML for definition information and entitymode_workeffort for runtime storage. All changes to a process or activity are persisted real-time. Therefore, the engine does not run in a thread, it is simply a group of APIs and common objects which handle the flow. When a change to the workflow is made, the engine then processes that change. When finished, the engine returns. Hence, if the application does crash, or the system reboots, the workflow will continue right where it left off upon restart. Go To The Open for Business Workflow Engine Jun 08 » Workflow Engines » TavernaThe Taverna project aims to provide a language and software tools to facilitate easy use of workflow and distributed compute technology within the eScience community. As a component of the EPSRC funded myGrid project, Taverna is available freely under the terms of the LGPL. Jun 08 » Workflow Engines » OpenWFEOpenWFE is an open source java workflow engine. It is a complete Business Process Management suite, with 4 components : an engine, a worklist, a webclient and a reactor (host for automatic agents). A python access library is available : your python application / client can interact with an OpenWFE REST worklist. Jun 08 » Workflow Engines » OpenSymphony OSWorkflowOSWorkflow can be considered a \"low level\" workflow implementation. Situations like \"loops\" and \"conditions\" that might be represented by a graphical icon in other workflow systems must be \"coded\" in OSWorkflow. Jun 08 » Workflow Engines » Open Business EngineThe Open Business Engine is an open source workflow engine written in Java. OBE workflow definitions are written in XPDL, the WfMC's XML process definition language and are typically executed inside of a J2EE container. Jun 08 » Workflow Engines » ObjectWeb BonitaBonita is a flexible cooperative workflow system, compliant to WfMC specifications, based on the workflow model proposed by the ECOO Team, which incorporates the anticipation of activities as a more flexible mechanism of workflow execution. Bonita is Open Source and is downloadable in LGPL License. Jun 08 » Workflow Engines » Micro-FlowThe micro-workflow framework targets developers who want to separate the control and logic aspects in their programs, thus making them flow independent. A well-factored flow independent application facilitates change because the most frequent business changes translate into process changes, thus leaving the code intact. Jun 08 » Workflow Engines » JFolderJFolder (formerly PowerFolder) is workflow server and development studio. It can be configured to work on J2EE application servers and a variety of persistance stores (databases). Jun 08 » Workflow Engines » JFlowerJFlower is a very light workflow handler. You can write complex flow, with conditions and other flow invocations, and JFlower evaluate each step of the flow to the end of the flow. Jun 08 » Workflow Engines » jBPMjBpm is a flexible, extensible workflow management system. Business processes , expressed in a simple and powerfull language and packaged in process archives, serve as input for the jBpm runtime server. jBpm bridges the gap between managers and developers by giving them a common language : the jBpm Process definition language (jPdl). Jun 08 » Workflow Engines » FreefluoFreefluo is a workflow orchestration tool for web services initially developed by IT Innovation but now available to all from the Freefluo Sourceforge Site. It can handle WSDL based web service invocation. It supports two XML workflow languages, one based on IBM's WSFL and another named XScufl that is under development as part of the Taverna Sourceforge project. Jun 08 » Workflow Engines » Enhydra SharkShark is an extendable workflow engine framework including a standard implementation completely based on WfMC specifications using XPDL (without any proprietary extensions !) as its native workflow process definition format and the WfMC \"ToolAgents\" API for serverside execution of system activitie Jun 08 » Workflow Engines » con:cerncon:cern is a workflow engine based on an extended case handling approach. A process is described as a set of activities with pre- and postconditions. An activity is executed when its preconditions are met. It manipulates the process item, thereby creating postconditions. The process flow is determined at run-time. Jun 08 » Workflow Engines » BossaBossa is a workflow engine written in Java. The engine is very fast and lightweight, uses a very expressive Petri net notation to define workflows, does not require a RDBMS and is very simple to use and to integrate with java applications. Jun 08 » Wiki Engines » yaWikiyawiki - yet another wiki Jun 08 » Wiki Engines » VeryQuickWikiVery Quick Wiki is a WikiWiki web clone written using JSPs and servlets and designed to install and run with minimum effort on Tomcat or some other Java application server. Jun 08 » Wiki Engines » UseModjUseModj is a Java based Wiki Clone, using Struts Framework, Velocity Layout, log4j. It's goal is to be the same functional and file database as UseMod wiki, but is deployed by dropping a single war file into Tomcat or JBoss Server and support korean. Jun 08 » Wiki Engines » Snip SnapSnipSnap is a Java-based WikiLog (wiki + WebLog) Jun 08 » Wiki Engines » Platypus WikiPlatypus Wiki is an enhanced Wiki Wiki Web with ideas taken from Semantic Web. We call it a Semantic Wiki Wiki Web. It offers a simple user interface to create a Wiki Page plus metadata according with W3C standards. It uses RDF (Resource Description Framework), RDF Schema, and OWL (Web Ontology Language) to create ontologies and manage metadata. Platypus Wiki is an ongoing project started on 23th December 2003. We distribute a pre-alpha version to test the concept and have a feedback from some earlier users. If you want to try it, read the download section to find how you can get it and the installation section to install and run it. The pre-alpha version is again in early stage of development and implements only few features, but you can already try it and see how it works. Jun 08 » Wiki Engines » JSPWikiA WikiWiki web clone written using JSPs and Servlets Jun 08 » Wiki Engines » FrikiFriki is a Java Wiki. It is simple to deploy (just drop in to any modern servlet container), very small (the full application war file is just 67k !) and easy to customise after deployment. Supports the classic wiki markup and a few common extensions. Jun 08 » Wiki Engines » FitNesseThe fully integrated standalone wiki, and acceptance testing framework. New users should download the .zip file to give Fitnesse a try. This includes a started installation and user guide and other goodies. Jun 08 » Wiki Engines » DevWikiWiki engine that stores pages in CVS. Jun 08 » Web Testing » MaxQMaxQ 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. Jun 08 » Web Testing » LatkaLatka 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. Jun 08 » Web Testing » JWebUnitjWebUnit is a Java framework that facilitates creation of acceptance tests for web applications. It evolved from a project where we were using HttpUnit and JUnit to create acceptance tests. Jun 08 » Web Testing » JMeterApache 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. Jun 08 » Web Testing » HttpUnitOpen source Java API for testing web sites without a browser. Jun 08 » Web Testing » HtmlUnitHtmlUnit is a java unit testing framework for testing web based applications. It is similar in concept to httpunit but is very different in implementation. Which one is better for you depends on how you like to write your tests. HttpUnit models the http protocol so you deal with request and response objects. HtmlUnit on the other hand, models the returned document so that you deal with pages and forms and tables. Jun 08 » Web Servers » SimpleSimple is a truly embeddable Java based HTTP engine. It also provides a component based framework for extendability, which is used to facilitate loadable services similar to Java Servlets. Simple has consistently out performed both commercial and open source Java Servlet engines and has a fully comprehensive API that is as usable for experienced Java developers as it is for beginners. Jun 08 » Web Servers » RimfaxeThe Rimfaxe Web Server (short name RWS) is a powerful Web Server with a servlet engine. Made with simplicity, speed and scalability in mind, RWS has many unique features Jun 08 » Web Servers » ReattoreReattore is a simple single threaded HTTP server written in Java. Unlike most Java server applications, Reattore uses the socket channel features added in Java 1.4 to serve all requests from one thread, instead of spawning each request off to a new thread. In theory this provides better performance and allows the system to degrade well under high load. Jun 08 » Web Servers » PygmyPygmy is a tiny webserver ment for embedding into applications. The core of the server around 40KB. It provides a flexible way to plug-in features, similiar to apache modules or servlets, but it's a much more lightweight API. However, pygmy isn't a replacement for servlet technology. Servlet containers can be integrated into pygmy, and replace other heavyweight http servers. Pygmy can scale it's functionality down to the bare neccessities. Features can be optionally added and removed to reduce pygmy's already small binary size. Pygmy tries to err on the side of simplicity, but allow for enough flexiblity so that it can be tightly integrated with applications. Jun 08 » Web Servers » Jo!jo! is a pure Java webserver that implements the Servlet API 2.2, JSP 1.1, and HTTP/1.1. It features support for servlet tag, support for SSI, advanced thread management, virtual hosts, memory sensitive file cache, authentication using a role abstraction, automatic compressed transfer of text or HTML files, auto internationalization, auto servlet and JSP reloading, auto reload of WARs, hot deployment of WARs, and an easy-to-use Swing console. jo! can be used as a webcontainer for jboss and jakarta avalon-phoenix. Jun 08 » Web Servers » JigsawJigsaw is W3C's leading-edge Web server platform, providing a sample HTTP 1.1 implementation and a variety of other features on top of an advanced architecture implemented in Java. Jun 08 » Web Servers » JicarillaHTTPA componentized, scriptable, event-based webserver, based on the JDK 1.4 New I/O (nio) package and on JicarillaFramework. Jun 08 » Web Servers » JettyJetty is a 100% Java HTTP Server and Servlet Container. This means that you do not need to configure and run a separate web server (like Apache) in order to use java, servlets and JSPs to generate dynamic content. Jetty is a fully featured web server for static and dynamic content. Unlike separate server/container solutions, this means that your web server and web application run in the same process, without interconnection overheads and complications. Furthermore, as a pure java component, Jetty can be simply included in your application for demonstration, distribution or deployment. Jetty is available on all Java supported platforms. Jun 08 » Web Testing » Canoo WebTestCanoo WebTest is a free open source tool for automated testing of web applications. It calls web pages and verifies the results, giving comprehensive reports on success and failure. Jun 08 » Web Servers » Jakarta TomcatTomcat 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. Jun 08 » Web Servers » Fizmez Web ServerIt is a very simple webserver, written in Java and completely portable to any Java environment which supports sockets. Jun 08 » Web Servers » Caucho ResinResin's high-performance application server features load balancing for increased reliability. Resin encourages separation of content from style with its fast XML and XSL support. Jun 08 » Web Servers » BrazilBrazil is a distributed content Web application server. The framework enables stand-alone systems to work together within the Web space, and a strong authentication architecture allows extranets to access intranets in an open environment without compromising security. Jun 08 » Web Mail » WebMailPrimarily jwma is a WebMail implementation in Java, enabling the user to access, manage and compose email using a standard web browser. Jun 08 » Web Mail » JWebMailWebMail is a www-frontend to IMAP/POP3 mailboxes. You can compare it to the systems Hotmail, YahooMail etc use. It allows a user to access his mailbox via the world wide web and do most things other mail programs allow to do, even if he is not sitting on his own personal computer or corporate LAN. Jun 08 » Web Mail » GatorMailGatorMail is a servlet-based Webmail built on the Struts framework. It was originally developed to meet the needs of the University of Florida. Efficient interaction with the mail store along with a low support overhead are the goals of the project. Jun 08 » Web Frameworks » WebWorkWebWork is a web application framework for J2EE. It is based on a concept called \"Pull HMVC\" (Pull Hierarchical Model View Controller). Jun 08 » Web Frameworks » VergeThe Verge Framework is an open source J2EE application framework written entirely in Java using only the standard J2EE APIs. This project aims to develop and promote a highly flexible and extensible framework for building enterprise applications. Jun 08 » Web Frameworks » TurbineTurbine is a servlet based framework that allows experienced Java developers to quickly build secure web applications. Turbine is an excellent choice for developing applications that make use of a services-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 simple task to create new services particular to your application. Jun 08 » Web Frameworks » TapestryTapestry is a powerful, open-source, all-Java framework for creating leading edge web applications in Java. Tapestry reconceptualizes web application development in terms of objects, methods and properties instead of URLs and query parameters. Tapestry is an alternative to scripting environments such as JavaServer Pages or Velocity. Tapestry goes far further, providing a complete framework for creating extremely dynamic applications with minimal amounts of coding. Jun 08 » Web Frameworks » StrutsThe 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. Jun 08 » Web Frameworks » SpringSpring is a layered Java/J2EE application framework, based on code published in Expert One-on-One J2EE Design and Development Jun 08 » Web Frameworks » SOFIASOFIA is the Salmon Open Framework for Internet Applications. Conceptually, SOFIA is similar to other J2EE MVC open source frameworks, like Apache Struts. But SOFIA sets a new standard for Java development by delivering so much more in a framework matching best-of-breed tools integration with robust JSP class and tag libraries. SOFIA shortens application development time on the strength of its visual development capabilities and pre-built Java components that dramatically simplify coding. Jun 08 » Web Frameworks » MyFacesMyFaces is an implementation of JavaServer(tm) Faces (JSR 127), a new and upcoming web application framework that accomplishes the MVC paradigm. It is comparable to the well-known Struts Framework but has features and concepts that are beyond those of Struts. Jun 08 » Web Frameworks » MaverickMaverick is a Model-View-Controller (aka \"Model 2\") framework for web publishing using Java and J2EE. It is a minimalist framework which focuses solely on MVC logic, allowing you to generate presentation using a variety of templating and transformation technologies. Jun 08 » Web Frameworks » JucasJucas is a web-framework which brings together the pull MVC concept with component orientated design GUI programming. Jun 08 » Web Testing » LoadSimLoadSim is a web application load simulator. It allows you to create simulations and have those simulations run against your webserver. Jun 08 » Web Frameworks » JappleJapple is a rapid application development environment for building web applications and services. Built on the JavaTM2 Platform and open-standards, Japple allows you to develop and deploy web applications faster, easier and more efficiently than traditional methods. Jun 08 » Web Frameworks » JaffaJaffa (Java Application Framework For All) is an enterprise-focused Java framework for rapid application development. It provides a complete Java Web application development stack, extending exsiting projects like Tomcat and Struts at the frontend with MVC-based web widgets, all the way through to a high-performance lightweight O/R persistence engine, with plenty of rich features in between including rules engines, declarative application, and data security. Jun 08 » Web Frameworks » EchoEcho is a framework for developing object-oriented, event-driven Web applications. Echo removes the developer from having to think in terms of \"page-based\" applications and enables him/her to develop applications using the conventional object-oriented and event-driven paradigm for user interface development. Jun 08 » Web Frameworks » CocoonApache 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. Jun 08 » Web Frameworks » JPublishJPublish is a powerful web publishing system designed to ensure a clean separation of developer roles. JPublish includes support for multiple templating engines, including Jakarta Apache's Velocity, FreeMarker and WebMacro. JPublish supports numerous scripting languages including Python, BeanShell, and JavaScript. JPublish is modular and provides for easy extensibility. Jun 08 » UML & Modeling » UML/DotThis program makes UML class diagrams from JAVA source or bytecode. Jun 08 » UML & Modeling » ArgoUMLArgoUML is a powerful yet easy-to-use interactive, graphical software design environment that supports the design, development and documentation of object-oriented software applications. Jun 08 » UML & Modeling » AlmaAlma is a software workshop for modeling and analyzing. It reads several sources (languages, models, etc.), helps you design for object-oriented modeling (definition of classes, relations, patterns, etc.), modifies the structure and the code, and outputs new sources, documentation, diagrams, etc. Jun 08 » UML & Modeling » UMLetUMLet is an open-source lightweight Java tool for rapidly drawing UML diagrams with a sound and pop-up-free user interface. UMLet lets you draw diagram sketches fast, teach UML with a simple user interface, and export diagrams to SVG, JPG, PDF and LaTeX-friendly EPS. Jun 08 » Testing Tools » MockrunnerMockrunner is a lightweight framework for unit testing applications in the J2EE environment. It supports Struts actions and forms, servlets, filters and tag classes. Furthermore it includes a JDBC and a JMS test framework. The JDBC test framework can be used standalone or in conjunction with MockEJB to test EJB based applications. Jun 08 » Testing Tools » JUnitPerfJUnitPerf is a collection of JUnit test decorators used to measure the performance and scalability of functionality contained within existing JUnit tests. Jun 08 » Testing Tools » JUnitJUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java. Jun 08 » Testing Tools » JamelonJameleon is an acceptance-level automated testing tool that separates applications into features and allows those features to be tied together independently, creating test-cases. These test-cases can then be data-driven and executed against different environments. Even though it would be possible to write unit tests using Jameleon, Jameleon was designed with integration and acceptance-level testing in mind. Jun 08 » Web Frameworks » AnvilAnvil is a Java based server environment and object oriented programming language with templating support, being especially well-suited to for web applications. Jun 08 » Testing Tools » dbMonsterTest data generator for SQL databases. Jun 08 » Testing Tools » CactusCactus is a simple test 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. Jun 08 » Testing Tools » AbbotThe Abbot framework is a Java library for GUI unit testing and functional testing. It provides methods to reproduce user actions and examine the state of GUI components. The framework may be invoked directly from Java code or accessed without programming through the use of scripts. Jun 08 » Testing Tools » DbUnitDbUnit is a JUnit extension (also usable with Ant) targeted for database-driven projects that, among other things, puts your database into a known state between test runs. This is an excellent way to avoid the myriad of problems that can occur when one test case corrupts the database and causes subsequent tests to fail or exacerbate the damage. Jun 08 » SQL Clients » ViennaSQLViennaSQL is a GUI SQL client written in 100% Java. ViennaSQL can communicate with any database that has a JDBC driver. It should run anywhere Java runs. I use it on Linux and Windows NT 4.0 with Oracle's 100% Java JDBC driver. Jun 08 » SQL Clients » SQuirreL SQL ClientSQuirreL 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 Jun 08 » SQL Clients » SQLMinusSQLMinus is an SQL Client with many developer-friendly features Jun 08 » SQL Clients » SQL AdminSQL Admin is a Java client application to connect and send queries to different databases through JDBC. The main idea is to create a multiplatform and multidatabase thin client. Jun 08 » SQL Clients » QueryFormQueryForm is a robust Java application that provides a powerful GUI front end for JDBC-enabled databases. It creates forms on-the-fly through which you can query tables and browse the results with just a few keystrokes or mouse clicks. It also lets you insert, update and delete table rows without typing any SQL statements. Jun 08 » UML & Modeling » UMLGraphUMLGraph allows the declarative specification and drawing of UML class and sequence diagrams. The current features are part of an ongoing effort aiming to provide support for all types UML diagrams. Jun 08 » SQL Clients » iSQL-VieweriSQL-Viewer is an open-source JDBC 2.x compliant database front end written in Java. It implements across multiple platforms features of the JDBC API. It does everything through a single interface. iSQL-Viewer works with most database platforms, including PostgreSQL, MySQL, Oracle, and Informix. iSQL-Viewer provides a variety of tools and features to carry out common database tasks. Jun 08 » SQL Clients » GUAMGUAM is, as the name implies, a GUI frontend to allow easy administration of MySQL users. It is written in Java and uses the Swing toolkit. Since it is a pure Java application, it is completely cross-platform and should work on any platform that has a full Java implementation (and maybe even some of the cut-down implementations). GUAM is released under the GNU General Public License (GPL). Jun 08 » SQL Clients » DbmJDbmJui is an attempt to clone DBMGUI, the database manager for SAPDB. Jun 08 » SQL Clients » DataBase Java ConsoleDataBase Java Console (DBJC) is a console program that allows people to query a database with predefined SQL queries, or to make repetitive queries (with different parameters) for administration purposes. Jun 08 » SQL Clients » AditAdit is another database interface tool built with Java. Adit is meant to be a lightweight tool for querying a database. Jun 08 » Search Engines » ZilverlineZilverline is what you could call a 'Reverse Search Engine'. It indexes documents from your local disks (and UNC path style network disks), and allows you to search through them locally or if you're away from your machine, through a webserver on your machine. Zilverline supports collections. A collection is a set of files and directories in a directory. PDF, Word, txt, java, CHM and HTML is supported, as well as zip and rar files. A collection can be indexed, and searched. The results of the search can be retrieved from local disk or remotely, if you run a webserver on your machine. Files inside zip, rar and chm files are extracted, indexed and can be cached. The cache can be mapped to sit behind your webserver as well. Jun 08 » Search Engines » OxyusOxyus Search Engine is a Java based Application for indexing web documents for searching from an intranet or the Internet similar to other propietary search engines of the industry. Oxyus has a web module to present search results to the clients throught web browsers using Java Server that access a JDBC repository through Java Beans. Jun 08 » Search Engines » NutchNutch is a nascent effort to implement an open-source web search engine. Nutch provides a transparent alternative to commercial web search engines. Jun 08 » Search Engines » LuceneJakarta 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. Jun 08 » Search Engines » EgothorEgothor is an Open Source, high-performance, full-featured text search engine written entirely in Java. It is technology suitable for nearly any application that requires full-text search, especially cross-platform. It can be configured as a standalone engine, metasearcher, peer-to-peer HUB, and, moreover, it can be used as a library for an application that needs full-text search. Jun 08 » Search Engines » BDDBotDDBot is a web robot, search engine, and web server written entirely in Java. It was written as an example for a chapter on how to write your search engines, and as such it is very simplistic. Jun 08 » Scripting Languages » Tcl/JavaThe Tcl/Java project's goal is to make integrating the Java platform and the Tcl scripting language as easy as possible. The project actually consists of two distinct packages, called Tcl Blend and Jacl. Jun 08 » Scripting Languages » RhinoRhino is an open-source implementation of JavaScript written entirely in Java. It is typically embedded into Java applications to provide scripting to end users. Jun 08 » Scripting Languages » JythonJython is an implementation of the high-level, dynamic, object-oriented language Python written in 100% Pure Java, and seamlessly integrated with the Java platform. It thus allows you to run Python on any Java platform. Jun 08 » Scripting Languages » JRubyJRuby is a pure Java implementation of the Ruby interpreter Jun 08 » Scripting Languages » JellyJelly is a tool for turning XML into executable code. So Jelly is a Java and XML based scripting and processing engine. Jelly can be used as a more flexible and powerful front end to Ant such as in the Maven project, as a testing framework such as JellyUnit, in an intergration or workflow system such as werkflow or as a page templating system inside engines like Cocoon. Jun 08 » Scripting Languages » GroovyGroovy 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. Jun 08 » Scripting Languages » BeanShellBeanShell is a small, free, embeddable, Java source interpreter with object scripting language features, written in Java. BeanShell executes standard Java statements and expressions, in addition to obvious scripting commands and syntax. BeanShell supports scripted objects as simple method closures like those in Perl and JavaScript(tm). Jun 08 » Scripting Languages » Bean Scripting Framework (BSF)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. Go To Bean Scripting Framework (BSF) Jun 08 » Rule Engines » MandaraxMandarax is an open source java class library for deduction rules. It provides an infrastructure for defining, managing and querying rule bases. Jun 08 » Rule Engines » JLisaJLisa is a powerful framework for building business rules accessible to Java and it is compatible with JSR94 V, the JavaTM Rule Engine API Jun 08 » Rule Engines » JEOPS - The Java Embedded Object Production SystemJEOPS is a Java based forward chaining RULE ENGINE. This Rule Engine is used to power up the business process by rules in Java Application Servers, client applications, and Servlets. Go To JEOPS - The Java Embedded Object Production System Jun 08 » Rule Engines » DroolsDrools is an Object-Oriented Rule Engine for Java. Drools is an augmented implementation of Forgy's Rete algorithm tailored for the Java language. Adapting Rete to an object-oriented interface allows for more natural expression of business rules with regards to business objects. More importantly, Drools provides for declarative logic programming and is flexible enough to match the semantics of your problem domain. The various parts that compose a rule may be extended to lend domain-specific sense to the rule. Jun 08 » RSS & RDF Tools » InformaInforma Project provides a RSS (Rich Site Summary) library based on the Java Platform. Features include: import, export, storing, search, etc. Jun 08 » Profilers » JTreeProfilerA JVMPI based profiler for Java that collects all methods calls in a XML File and displays them in a TreeMap. Jun 08 » Profilers » JRatJRat is the Java Runtime Analysis Toolkit. Its purpose is to enable developers to better understand the runtime behavior of their Java programs. The term \"behavior\" includes, but is not limited to performance profiling. Jun 08 » Profilers » JMPJMP is a profiler for java that can be used to trace objects usage and method timings. JMP uses the JVMPI interface to gather statistics and interact with the JVM. JMP uses a GTK+ interface to show the status. Jun 08 » Profilers » JMemProfJMemProf is a live Java memory profiler suitable for deployment in web containers such as JBoss, Tomcat and others. JMemProf allows you to retrieve memory profile information while your application is running. Jun 08 » Profilers » Extensible Java ProfilerExtensible Java Profiler (EJP) is an open-source profiling tool for Java with a scalable and extensible architecture, allowing its usage for exotic programming languages that use a Java backend. Go To Extensible Java Profiler Jun 08 » Profilers » DrMemA simple heap profiler for Java, based on JVMPI. The profiler can be attached to a non-interactive JVM, creating heap statistics from time to time. Jun 08 » Profilers » Cougaar Memory ProfilerThe Cougaar memory profiler is a tool for debugging memory usage and leaks in any Java application. It features a scalable 100% Java design that is lighter weight than existing JVMPI-based profilers. Jun 08 » Portals » uPortaluPortal is an open-standard effort using Java, XML, JSP and J2EE. It is a collaborative development project with the effort shared among several of the JA-SIG member institutions. Jun 08 » Portals » oPortalThe OWASP Portal project, oPortal, is a portal written in java that aims to become the standard for secure web applications. The OWASP portal is based on the Jakarta Struts . Jun 08 » Portals » MyPersonalizerMyPersonalizer is a J2EE-based framework for engineering personalizable \"My\" portals. It is structured according to the Model-View-Controller (MVC) architectural pattern, providing generic and adaptable model and controller layers. The model layer represents persistent objects (e.g. user registration information, workspace layout, service personalization, etc.) in a generic way and makes use of meta-information about their structure, handles their persistence in a relational database, includes a framework to execute model actions and provides a generic action for each typical use case in the portal (sign in, sign up, service personalization, layout modification, etc.). The controller layer is built upon Jakarta Struts, the \"de facto\" MVC framework for J2EE web applications and provides a Struts action per use case, that delegates on the corresponding model action. In order to support the construction of the portal view, rather than providing a large and specific JSP tag library, controller actions are tightly integrated with Struts, so that the developer can implement the portal view as JSP pages by using Struts and JSTL tags, without inserting Java code. Personalized service replies are integrated in the portal by providing plug-ins as extensions to the controller layer. Jun 08 » Portals » LiferayLiferay 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) Jun 08 » Portals » jPortletjPortlet is an open-sourced implementation of a Portlet Container. Portlets are components that run inside the portlet container of a portal server, similar to a servlet running on an application server. The interface between the container and the portlets is defined by the Portlet API. Jun 08 » Portals » jPortajPorta is a fully functional portal engine built on top of the Jeenius Framework (http://jeenius.sourceforge.net). It works with any 2.3 compilant servlet engine and comes with a number of useful gadgets. Jun 08 » Portals » Jakarta PlutoPluto is the Reference Implementation of the Java Portlet Specfication (JSR 168) Jun 08 » Portals » Jakarta JetSpeedJetspeed is an Open Source implementation of an Enterprise Information Portal, using Java and XML. The data presented via Jetspeed is independent of content type, This means that content from for example XML,RSS or SMTP can be integrated with Jetspeed. Jun 08 » Portals » GridsphereThe GridSphere portal framework provides an open-source portlet based Web portal. GridSphere enables developers to quickly develop and package third-party portlet web applications that can be run and administered within the GridSphere portlet container. It is JSR 168 and Websphere Porlet API compliant. Version 2.0 will be released in June 2004. Tutorials (sources, presentation) , slides and documentation (docbook in source, pdf and html) as well as the sourcecode are available from the homepage Jun 08 » Portals » basicPortal CMS (TM)basicPortal CMS (TM) is an Enterprise Information Portal (EIP) based entirely on open source software technology that enables users to develop standard and inexpensive, cross-platform web applications that are dynamic, flexible, and very fast. Jun 08 » Persistence » TorqueTorque is a persistence layer. Torque includes a generator to generate all the database resources required by your application and includes a runtime environment to run the generated classes. Jun 08 » Persistence » TJDOTriActive JDO (TJDO) is an open source implementation of Sun's JDO specification (JSR 12), designed to support transparent persistence using any JDBC-compliant database. TJDO has been deployed and running successfully in many commercial installations since 2001. Jun 08 » Portals » Gluecode Portal Foundation Server (PFS)PFS is a Java-based portal framework that enables companies to easily build personalized applications that optimize the delivery of shared information assets. Gluecode portal allows business content owners, rather than IT departments, to build and maintain portal content, and self-administer user access without any programming. With high-level core functionality, PFS speeds and simplifies the development, customization, and maintenance of portal content and business applications, assuring low cost of ownership throughout the production lifecycle. Go To Gluecode Portal Foundation Server (PFS) Jun 08 » Persistence » SimpleORMSimpleORM is Java Object Relational Mapping open source project (Apache style licence). It provides a simple but effective implementation of object/relational mapping on top of JDBC at low cost and low overhead. Not even an XML file to configure! Jun 08 » Persistence » pBeanspBeans is a Java based persistence framework and an Object/Relational (O/R) database mapping layer. It is designed to be simple to use and completely automated. Jun 08 » Persistence » OJBObJectRelationalBridge (OJB) is an Object/Relational mapping tool that allows transparent persistence for Java Objects against relational databases. Jun 08 » Persistence » JDBMJDBM is a transactional persistence engine for Java. It aims to be for Java what GDBM is for other languages (C/C++, Python, Perl, etc.): a fast, simple persistence engine. You can use it to store a mix of objects and BLOBs, and all updates are done in a transactionally safe manner. JDBM also provides scalable data structures, such as HTree and B+Tree, to support persistence of large object collections. Jun 08 » Persistence » PrevaylerPrevayler is the free-software Prevalence layer for Java. Ridiculously simple, Prevalence is by far the fastest and most transparent persistence, fault-tolerance and load-balancing architecture for Plain Old Java Objects (POJOs). Jun 08 » Persistence » JaxorJaxor is a code-generating OR mapping tool which takes information defined in XML relating to the relational entities to be mapped and generates classes, interfaces and finder objects which can be used from any Java application (including JFC/Swing, J2EE and command-line tools). The actual code generation is handled by Velocity templates rather than by fixed mechanisms within the tool. This flexability allows easy tailoring and modification to the formatting or even the code that gets generated. Jun 08 » Persistence » Java Ultra-Lite PersistenceA small (less then 50KB) persistence framework. Go To Java Ultra-Lite Persistence Jun 08 » Portals » EXO PlatformThe eXo platform is a powerful Open Source - JSR 168 compliant - enterprise portal built from several modules. It's based on Java Server Faces, Pico Container, JbossMX and AspectJ. Jun 08 » Persistence » HibernateHibernate is a powerful, ultra-high performance object/relational persistence and query service for Java. Hibernate lets you develop persistent objects following common Java idiom - including association, inheritance, polymorphism, composition and the Java collections framework. Extremely fine-grained, richly typed object models are possible. The Hibernate Query Language, designed as a \"minimal\" object-oriented extension to SQL, provides an elegant bridge between the object and relational worlds. Hibernate is now the most popular ORM solution for Java. Jun 08 » Persistence » CayenneCayenne 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. Jun 08 » Persistence » CastorCastor is an open source data binding framework for Javatm?. It's basically the shortest path between Java objects, XML documents and SQL tables. Castor provides Java to XML binding, Java to SQL persistence, and then some more. Jun 08 » PDF Libraries » PDF BoxPDFBox is a Java PDF Library. This project will allow access to all of the components in a PDF document. More PDF manipulation features will be added as the project matures. This ships with a utility to take a PDF document and output a text file. Jun 08 » PDF Libraries » JFreeReportJava reporting tool for formatting PDF reports. It is possible to simply hand off a swing TableModel to JFreeReport and get a paginated pdf as a result. Jun 08 » PDF Libraries » iTextiText 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. Jun 08 » PDF Libraries » gnujpdfgnujpdf is a Java package (gnu.jpdf.*) licensed under the LGPL. It provides a simple API to create pdf files and print using subclasses of java.awt.Graphics and java.awt.PrintJob. The PDF classes write to an OutputStream in pdf format instead of a typical Graphics object, but the method calls are the same as they would be in any Applet or Application drawing to a canvas. Jun 08 » PDF Libraries » FOPFOP is an XSL formatter written in Java. It is used in conjunction with an XSLT transformation engine to format XML documents into PDF. Jun 08 » Parser Generators » SableCCSableCC is an object-oriented framework that generates compilers (and interpreters) in the Java programming language. This framework is based on two fundamental design decisions. Firstly, the framework uses object-oriented techniques to automatically build a strictly typed abstract syntax tree. Secondly, the framework generates tree-walker classes using an extended version of the visitor design pattern which enables the implementation of actions on the nodes of the abstract syntax tree using inheritance. Jun 08 » Parser Generators » JavaCCJava Compiler Compiler (JavaCC) is the most popular parser generator for use with Java [tm] applications. A parser generator is a tool that reads a grammar specification and converts it to a Java program that can recognize matches to the grammar. In addition to the parser generator itself, JavaCC provides other standard capabilities related to parser generation such as tree building (via a tool called JJTree included with JavaCC), actions, debugging, etc. Jun 08 » Parser Generators » CUPA LALR parser generator. Jun 08 » Parser Generators » BeaverBeaver is a LALR(1) parser generator. It takes a context free grammar and converts it into a Java class that implements a parser for the language described by a grammar. Jun 08 » Parser Generators » ANTLRANother 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. Jun 08 » Obfuscators » RetroGuardThe RetroGuard bytecode obfuscator modifies the contents of your class files in such a way that their behaviour is unaffected, while minimizing the amount of information from the source code that is exposed. A side effect of obfuscation is that the class size is reduced, leading to faster download times for your Java applets and applications. Jun 08 » Obfuscators » ProGuardProGuard 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. Jun 08 » Obfuscators » JODEJODE is a java package containing a decompiler and an optimizer for java. The optimizer transforms class files in various ways with can be controlled by a script file. It supports the following operations: * Renaming class, method, field and local names to shorter, obfuscated, or unique names or according to a given translation table * Removing debugging information * Removing dead code (classes, fields, methods) and constant fields * Optimizing local variable allocation Jun 08 » Obfuscators » JavaGuardJavaGuard is a general purpose bytecode obfuscator, designed to fit effortlessly into your regular build and testing process, providing peace of mind that your valuable Java code is more secure against decompilation and other forms of reverse engineering. Jun 08 » Obfuscators » jargThe jarg reduces the size of a jar file in which java class files are stored. \"Size curtailment can be carried out simply\" is the 1st target. However, as a result of processing by jarg, since a Java class file is optimized, it becomes quicker, and since it is renamed, it becomes that it is harder to be analyzed. That is, jarg is 'Java Optimizer', and it is 'Java Obfuscator' and is also 'Java Shrinker' or 'Java Reducer'. Jun 08 » Network Servers » QuickServerQuickServer is a free, open source Java library for quick creation of robust and multi-threaded, multi-client TCP server applications. With QuickServer one can just concentrate on just the application logic/protocol on hand. Jun 08 » Network Servers » Netty2Netty 2 is an event-driven network application framework. It provides an easy event-based API (like Swing) to develop high-performance, maintainable TCP/IP server/client application. Netty handles many essential features such as readiness selection, thread pooling, and buffer reuse which are required to build high- performance and capacity network applications in Java. Netty 2's interesting features are: * Each messages of the user defined protocol are mapped to message classes; Protocols are maintainable in object-oriented way such as inheritance and polymorphism. * Utilizes Java NIO. * Thread pooling is implemented out-of-the-box. * NIO direct buffer is reused to reduce direct buffer allocation overhead. * I/O threads and event process threads are separated to avoid I/O to slow down from business logic. Jun 08 » Network Servers » DrFTPDDrFTPD is a Distributed FTP server written in java. DrFTPD consists of a master and a collection of file transfer slaves which handle actual file transfers. A single master may have an indefinite amount of slaves at its disposal. Some names that could be used to describe this are: ftp site merger, ftp cluster, ftp grid or multi site bnc. Jun 08 » Network Clients » JFTPJFtp is a graphical Java network and file transfer client. It supports FTP using its own FTP API and various other protocols like SMB, SFTP, NFS, HTTP, and file I/O using third party APIs, includes many advanced features such as recursive directory up/download, browsing FTP servers while transferring files, FTP resuming and queueing, browsing the LAN for Windows shares, and more. Jun 08 » Network Clients » Jakarta Commons NetJakarta Commons Net implements the client side of many basic Internet protocols. The purpose of the library is to provide fundamental protocol access, not higher-level abstractions. Therefore, some of the design violates object-oriented design principles. Our philosophy is to make the global functionality of a protocol accessible (e.g., TFTP send file and receive file) when possible, but also provide access to the fundamental protocols where applicable so that the programmer may construct his own custom implementations (e.g, the TFTP packet classes and the TFTP packet send and receive methods are exposed). Jun 08 » Network Clients » Jakarta Commons HttpClientHttpClient provides an efficient, up-to-date, and feature-rich package implementing the client side of the most recent HTTP standards and recommendations. Go To Jakarta Commons HttpClient Jun 08 » Job Schedulers » QuartzQuartz 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. Jun 08 » Job Schedulers » jcrontabJcrontab is a scheduler written in java. Jcrontab is designed to be extended and integrated with any project. Reads and stores the tasks to execute in a file, a database or an EJB and provides a web UI and a basic swing GUI. Jun 08 » Job Schedulers » Fulcrum SchedulerThis component provides a scheduler service. It is based on the TurbineScheduler provided with Turbine, but all older stuff has been removed. Currently ONLY the non persistent Scheduler is done. It loads scheduled jobs from the component config xml file. Jun 08 » JMS » UberMQUberMQ is a clean room implementation of the Java Message Service specification. JMS is a part of the Java 2 Enterprise Edition. We wrote UberMQ because many of the established JMS vendors have turned their back on the core tenets of distributed computing: fast and simple. If you are frustrated with your current JMS vendor, or looking for a solid messaging platform for a new project, please consider our product. Jun 08 » JMS » OpenJMSOpenJMS is an open source implementation of Sun Microsystems's Java Message Service API 1.0.2 Specification. Features include: * Point-to-Point and publish-subscribe messaging models * Guaranteed delivery of messages * Synchronous and asynchronous message delivery * Persistence using JDBC * Local transactions * Message filtering using SQL92-like selectors * Authentication * Administration GUI * XML-based configuration files * In-memory and database garbage collection * Automatic client disconnection detection * Applet support * Integrates with Servlet containers such as Jakarta Tomcat * Support for RMI, TCP, HTTP and SSL protocol stacks * Support for large numbers of destinations and subscribers Jun 08 » JMS » Hermes JMSSwing UI allows you to interactively use and monitor JMS providers. Jun 08 » JMS » ActiveMQActiveMQ 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. Jun 08 » J2EE Frameworks » SpringSpring is a layered Java/J2EE application framework, based on code published in Expert One-on-One J2EE Design and Development Jun 08 » J2EE Frameworks » JeeniusJeenius is a framework to simplify the creation of J2EE applications. It has a strong focus on building web-based applications. Jun 08 » J2EE Frameworks » Dinamica FrameworkThis framework is based on the MVC architecture (model-view-controller), but in contrast with other MVC frameworks, most of its parts are highly reusable, meaning that your programming effort is minimized whenever possible, avoiding unnecessary programming. Many tasks are accomplished by simply configuring some XML files and templates. Presentation templates are completely separated from logic. Dinamica does not use any template language nor JSP pages technology, just plain text files with some special markers that will be replaced by the actual data. Jun 08 » Network Clients » JSchJSch 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. Jun 08 » Issue Tracking » ScarabThe 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 Jun 08 » Issue Tracking » BugTrackerThe Bugtracker is a complete bug/issue management system, built around MySQL utilizing Java Servlets for a web based front end. This will soon grow into a complete project development architecture encapsulating project management, issue tracking, QA, etc Jun 08 » Installers » VAInstallVAInstall is a multi-platform installer written in Java. It is distributed under the GNU GPL License 2. Through a simple config file, it allows the packager to pick files and directories from various places on disk, and not only one root dir like other installers. The packager can completely reorganize the files and dirs on the destination host. He can choose the install mode for the destination host (graphic, xtra, text or ansi). Jun 08 » Installers » PackletPacklet is a simple installer tool for Java. A packlet is similar to a zip or tgz file: it packages an application into a single compressed file that can be distributed. Packlet files are Java class files that can be executed on any machine with Java 2 Runtime Environment installed. Executing a packlet brings up an installer gui to configure and unpack the application. Jun 08 » Installers » Lift Off Java InstallerLift Off Java Installer is an installer for Java applications. Highlights are self-extracting class files, minimal requirements for the Java installation on the target system, and cross platform installation. Jun 08 » Installers » IzPackIzPack 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. Jun 08 » IDEs » NetBeansA full-featured integrated environment for Java Developers Jun 08 » IDEs » jEditjEdit is a mature and well-designed programmer's text editor that has been in development for over 5 years. Jun 08 » IDEs » JJ is a text editor written entirely in Java and distributed under the GNU General Public License. Jun 08 » IDEs » EclipseEclipse is a kind of universal tool platform - an open extensible IDE for anything and nothing in particular. Jun 08 » IDEs » DrJavaDrJava is a lightweight development environment for writing Java programs. It is designed primarily for students, providing an intuitive interface and the ability to interactively evaluate Java code. It also includes powerful features for more advanced users. Jun 08 » IDEs » BlueJBlueJ is an integrated Java environment specifically designed for introductory teaching. Jun 08 » HTML Parsers » TagSoupTagSoup 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. Jun 08 » HTML Parsers » NekoHTMLNekoHTML is a simple HTML scanner and tag balancer that enables application programmers to parse HTML documents and access the information using standard XML interfaces. The parser can scan HTML files and \"fix up\" many common mistakes that human (and computer) authors make in writing HTML documents. NekoHTML adds missing parent elements; automatically closes elements with optional end tags; and can handle mismatched inline element tags. Jun 08 » HTML Parsers » JTidyJTidy is a Java port of HTML Tidy , a HTML syntax checker and pretty printer. Like its non-Java cousin, JTidy can be used as a tool for cleaning up malformed and faulty HTML. In addition, JTidy provides a DOM interface to the document that is being processed, which effectively makes you able to use JTidy as a DOM parser for real-world HTML. Jun 08 » HTML Parsers » Jericho HTML ParserA simple but powerful java library for parsing and modifying HTML documents, including analysis of abritrary HTML forms to determine the structure of submitted data. Jun 08 » HTML Parsers » Java HTML ParserHTML Parser that produces a stream of tag objects, which can be further parsed into a searchable tree structure. Jun 08 » HTML Parsers » HTML ParserA fast real-time parser for real-world HTML. Jun 08 » HTML Parsers » HotSaxHotSAX is a fast, small footprint, non-validating SAX2 parser for HTML/XML/XHTML. It can be used in simple web agents, page scrapers, and spiders. It is similar to the Apache Xerces parser, except that it can generate SAX events for badly formatted HTML as well. Jun 08 » Groupware » JETeam: Enterprise TeamworkJETeam is a J2EE application that aims to help members of a team working together by offering enterprise services (follow ups of tasks by managers or developers, notification when the status of the project change and so on). Go To JETeam: Enterprise Teamwork Jun 08 » Groupware » ivata opivata op is a great tool to enable teams to: * find contacts in team and private address books * share documents * post articles & notes * comment on articles * receive notifications via mail * plan meetings and other events in the calendar * access email via the web * store different document versions in a virtual drive Jun 08 » Groupware » Data ShareDataShare is network application for clients that wish to share data using a central server-> DataShare. DataShare is written in Java, and allows clients to share data (send and receive) without having to know anything about the other clients. It is envisioned that DataShare will be used in collaborative type environments. A client called Rendezvous is already written and available to use DataShare. Rendezvous allows multiple users to simultaneously collaborate using chat, paint, desktop sharing, and audio-video conferencing. Jun 08 » Groupware » CoefficientCoefficient is a scalable open source project based collaboration platform that can run in J2EE and web application containers. It currently provides basic collaboration tools as hot deployable modules. It also provides a workflow engine to help guide projects through their development cycle. Jun 08 » Groupware » CHEFThe CompreHensive collaborativE Framework (CHEF) initiative has as its goal, the development of a flexible environment for supporting distance learning and collaborative work. Jun 08 » Groupware » Lucane GroupwareLucane is a free groupware platform written in Java, designed with extensibilty in mind. Bundled apps are instant messaging, file sharing, chat, forum, personnal notes, shared calendar, audioconf, mail... The platform is a simple way to develop networked application. Jun 08 » Forum Soft » YazdThis forum software is a Java based discussion forum, that uses JDBC to store it's data in a database. Features of the discusion forum are: Moderation, Admin pages for disucsion forum maintenance, Content filters. Jun 08 » Forum Soft » Sk ForumSK Forum is an open source (see licensing) web-based J2EE forum application. But it's so much more, it's a comic system, an addressbook, a wiki, a timetracking system, a todo list, a poll system, a guestbook system and a few other small nuts and bolts. Jun 08 » Forum Soft » nemesis-forumA discussion forum using JAVA J2EE technologies. Some features include: i18n Back-Office, users/groups/permissions management, Forum pre and post moderation, content filters, integrated Search engine, Multi-databases support Jun 08 » Forum Soft » mvnForummvnForum 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. Jun 08 » Forum Soft » JsForumA J2EE Jsp and Servlet based Forum which is easy to use and with it have many features like User types, Smiles, Divided into different forums, threads and messages. Supported by database currently only MySQL Jun 08 » Forum Soft » jGossipjGossip is a simple and powerful forum implemented on J2EE platform using Struts framework. The project supports all the main features: reply-to user, page navigation, email-notification, administration of the users. Jun 08 » Forum Soft » JForumJForum is a powerful and robust discussion board system implemented in Javatm. It provides an attractive interface, an efficient forum engine, an easy to use administrative panel, an advanced permission control system and much more. Jun 08 » Forum Soft » FreeForumsAn XML based Java 2 Enterprise Forum Solution for webmaters. FreeForums uses CSS, DHTML and JavaScript for rendering pages and can be changed to suit the needs of every website. FreeForums also features a Desktop client for MS-Windows. Jun 08 » Web Servers » XerverXerver is an advanced free GNU GPL Web and FTP server. Jun 08 » EJB Servers » OpenEJBA modular, configurable, and extendable EJB Container System that comes with Servers for both Local and Remote access Jun 08 » EJB Servers » JOnASJOnAS is a full J2EE platform, developed within the ObjectWeb consortium (www.objectweb.org), currently in the process of passing the Sun J2EE 1.4 Certification. Jun 08 » EJB Servers » JBossJBoss is advanced middleware with a full J2EE based personality that IT departments look for. But that is not all, the OEM and ISV community embraced JBoss as a highly flexible service oriented architecture on which to build their own products. Jun 08 » EJB Servers » GeronimoApache Geronimo is a new effort coordinated by the Apache Software Foundation to make a J2EE compatible container. Jun 08 » Databases » yaRDBMSThe yaRDBMS (yet another relational database management system) is a Java based, transactional highly concurrent relational database management system with advanced query optimization, indexing features and crash recovery. Jun 08 » Databases » TinySQLA very lightweight 100% Java text SQL engine that includes a JDBC driver Jun 08 » Databases » Quadcap Embeddable DatabaseQED, the Quadcap Embeddable Database. QED is a fast, small, pure Java, relational database, implementing the SQL 92 standard, with transactions and resilient failure recovery. QED has a novel open source license permitting free use of QED by all and free redistribution in other open source projects. Go To Quadcap Embeddable Database Jun 08 » Databases » Mckoi SQL DatabaseMckoi SQL Database is optimized to run as a client/server database server for multiple clients, however it can also be embedded in an application as a stand-alone database. It is highly multi-threaded and features an extendable object-oriented engine. Jun 08 » Databases » Hypersonic SQLhsqldb is a relational database engine written in Java, with a JDBC driver, supporting a rich subset of ANSI-92 SQL (BNF tree format). It offers a small (less than 160k), fast database engine which offers both in memory and disk based tables. Embedded and server modes are available. Additionally, it includes tools such as a minimal web server, in-memory query and management tools (can be run as applets) and a number of demonstration examples. Jun 08 » Databases » Excel JDBC DriverJDBC Driver for the spreadsheets Excel, StarOffice and OpenOffice. Turn a directory with spreadsheets into a database. xls filenames become database schema's, sheets become tables. Use a rich subset of SQL to create sheets and query sheets. Join sheets, query database data and store it into excel or fill database tables with spreadsheets. Jun 08 » Databases » AxionAxion is a small, fast, open source relational database system (RDBMS) supporting SQL and JDBC written in and for the Java programming language. Jun 08 » Databases » AshpoolAshpool is a lightweight XML Database written in Java(tm). It's goal is to use standard SQL92 syntax to query, add, update, and delete XML documents via a JDBC driver. The XML documents must hold to a table like structure. The reason for the table structure restriction is that SQL was designed to query table data not hierarchical data. Jun 08 » Crawlers » WebSPHINXWebSPHINX ( Website-Specific Processors for HTML INformation eXtraction) is a Java class library and interactive development environment for Web crawlers that browse and process Web pages automatically. Jun 08 » Crawlers » WebLechWebLech is a fully featured web site download/mirror tool in Java, which supports many features required to download websites and emulate standard web-browser behaviour as much as possible. WebLech is multithreaded and will feature a GUI console. Jun 08 » Crawlers » WebEaterA 100% pure Java program for web site retrieval and offline viewing. Jun 08 » Crawlers » JSpiderA highly configurable and customizable Web Spider engine, Developed under the LGPL Open Source license, In 100% pure Java. Jun 08 » Crawlers » ArachnidArachnid is a Java-based web spider framework. It includes a simple HTML parser object that parses an input stream containing HTML content. Simple Web spiders can be created by sub-classing Arachnid and adding a few lines of code called after each page of a Web site is parsed. Jun 08 » CMS » WebmanWebman is a professional content management or website production system. It was used in more than forty big websites in germany. Jun 08 » CMS » webEditorwebEditor is born with the intention to become a helpful tool for the web content management. Jun 08 » CMS » SlideThe Slide project main module is a content repository, which can be seen as a low-level content management framework. Conceptually, it provides a hierarchical organization of binary content which can be stored into arbitrary, heterogenous, distributed data stores. In addition, Slide integrates security, locking, versioning, as well as many other services. It can integrate and manage data stored within external repositories, requiring only small abstraction layers to be written for each repository. That way, Slide can integrate the data from various physical locations in a hierachical and unified way. Slide uses can range from managing intranet application content to using it as a file server. Slide also offers a WebDAV access module (implemented as a servlet). WebDAV is an IETF standard endorsed by companies like Microsoft, IBM, Novell, Adobe and many others. It makes Slide an ideal choice for web-based content management. All the data managed by Slide can be accessed through WebDAV, and enable remote administration and manipulation of the data managed by Slide using standard third party tools, along with the custom ones provided in the Slide distribution as additional tools. Jun 08 » Crawlers » HeritrixHeritrix is the Internet Archive's open-source, extensible, web-scale, archival-quality web crawler project. Jun 08 » CMS » OpenCMSOpenCms is a professional level Open Source Website Content Management System. OpenCms helps to create and manage complex websites easily without knowledge of html. An integrated WYSIWYG editor with a user interface similar to well known office applications helps the user creating the contents, while a sophisticated template engine enforces a site-wide corporate layout. As true Open Source software, OpenCms is completely free of licensing costs. Jun 08 » Parser Generators » ChaperonChaperon is a project that converts structured text to XML. It includes a strong LALR(1) parser to parse the text and a tree builder, which creates an XML document. Jun 08 » CMS » MagnoliaMagnolia is the first open-source content-management-system (CMS) which has been built from scratch to support the upcoming standard API for java content repositories (JCR). Jun 08 » CMS » IonThe ion project is an effort to provide a very simple but powerful content management system based on the most recents technologies. Ion is 100% compliant with J2EE standards, uses XML to define contents structures, XSL to provide rendered contents in many format (HTML, XML, PDF, TXT, ...), and JSP with JSTL as a template system. Jun 08 » CMS » InfoGlueInfoGlue is an advanced, scalable and robust content management / Portal platform written in 100% Java. It is suitable for a wide range of applications and organisations. Typical uses include public websites, portal solutions, intranets and extranets. The platform is released under the GPL-license and it can be run on almost any platform and most known databases. Jun 08 » CMS » eAdmin/OWXJava JSP based SiteEditor, CMS, list generator software. It Includes: Modules, XML config, Struts, own API, Components, WYSIWYG, multilanguage, multiuser, webbased manager. Jun 08 » CMS » MMBaseMMBase is a Web Content Management System with strong multi media features. MMBase has a large installed base in The Netherlands, and is used by major Dutch broadcasters, publishers, educational institutes, national and local governments. MMBase is written in Java, it is Open Source Software (MPL) and all standards used are as 'open' as possible. Jun 08 » CMS » CofaxCofax is a web-based text and multimedia publication system. It was designed to simplify the presentation of newspapers on the Web and to expedite real-time Web publication. Jun 08 » CMS » Apache LenyaApache 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. Jun 08 » Collections » TroveTrove provides a \"free\", fast, lightweight implementations of the java.util Collections API. These implementations are designed to be pluggable replacements for their JDK equivalents. Jun 08 » Collections » tclibtclib - Type-Specific Collections Library. Jun 08 » Collections » PCJPrimitive Collections for Java (PCJ) is a set of collection classes for primitive data types in Java. The goal is to provide an efficient alternative to the Java Collections Framework (JCF) when using primitive data types, such as int, boolean, or double. Jun 08 » Collections » MangoMango is a Java library consisting of a number of iterators, algorithms and functions, loosely inspired by the C++ Standard Template Library. Jun 08 » Collections » FastUtilfastutil extends the Java Collections Framework by providing type-specific maps, sets, lists and queues with a small memory footprint and fast access and insertion. Jun 08 » Collections » Commons PrimitivesApache Jakarta Commons Primitives provides a collection of types and utilities optimized for working with Java primitives (boolean, byte, char, double, float, int, long, short). Generally, the Commons-Primitives classes are smaller, faster and easier to work with than their purely Object based alternatives. Jun 08 » Collections » Commons CollectionsCommons-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 Jun 08 » Code Coverage » QuiltQuilt 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. Jun 08 » Code Coverage » NoUnitNoUnit allows you to see how good your JUnit tests are. It generates a report from your code to graphically show you how many of your project's methods are being tested , and how well. Jun 08 » Code Coverage » JVMDI Code Coverage AnalyserThis small utility is a shared library which when loaded into a Java VM (1.4+) which supports JVMDI will record all the lines of code executed. This is a relatively coarse coverage method, but good enough for a lot of purposes. Go To JVMDI Code Coverage Analyser Jun 08 » Code Coverage » JesterJester finds code that is not covered by tests. Jester makes some change to your code, runs your tests, and if the tests pass Jester displays a message saying what it changed. Jester includes a script for generating web pages that show the changes made that did not cause the tests to fail. Jun 08 » Code Coverage » InsECTInsECT which stands for Instrumentation Execution Coverage Tool, is a system developed in Java to obtain coverage information for Java programs. InsECT instruments (inserts instructions into) Java class files at the bytecode level with probes to report information about a system at runtime. The goal of InsECT is to provide detailed coverage information about Java programs by taking into full account the object-oriented behavior and language features of Java. Furthermore, as an open-source project, InsECT is designed to be extensible for use in a wide variety of dynamic analyses. InsECT utilizes the Byte Code Engineering Library. Jun 08 » Code Coverage » GroboCodeCoverageGroboCodeCoverage is a 100% Pure Java implementation of a Code Coverage tool. It uses Jakarta's BCEL platform to post-compile class files to add logging statements for tracking coverage. Jun 08 » Code Analyzers » QJ-ProQJ-Pro is a comprehensive software inspection tool targeted towards the software developer. Developers can automatically inspect their Java source code and improve their Java programming skills as they write their programs. QJ-Pro provides descriptive Java patterns explaining error prone code constructs and providing solutions for it. Jun 08 » Code Analyzers » PMDPMD 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 Jun 08 » Code Analyzers » JLintJlint will check your Java code and find bugs, inconsistencies and synchronization problems by doing data flow analysis and building the lock graph. Jun 08 » Code Analyzers » HammurapiHammurapi is an open source code inspection tool. Its release comes with more than 100 inspectors which inspect different aspects of code: Compliance with EJB specification, threading issues, coding standards, and much more. Jun 08 » Code Analyzers » FindBugsFindBugs looks for bugs in Java programs. It can detect a variety of common coding mistakes, including thread synchronization problems, misuse of API methods, etc. Jun 08 » Code Analyzers » DoctorJDoctorJ analyzes Java code, in the following functional areas: * documentation verification * statistics generation * syntax analysis Jun 08 » Code Analyzers » CondenserCondenser is a tool for finding and removing duplicated Java code. Unlike tools that only locate duplicated code, the aim of Condenser is to also automatically remove duplicated code where it is safe to do so. Jun 08 » Crawlers » Java Web CrawlerJava Web Crawler is a simple Web crawling utility written in Java. It supports the robots exclusion standard. Jun 08 » Chat Servers » OpenCHATOpenCHAT is a 100% HTTP and HTML based chat server written in Java. It has it´s own stand alone HTTP server integrated and does not need any Applet or special software on client side to run on, but only a frames enabled web browser. Jun 08 » Chat Servers » LlamaChatLlamaChat is designed to provide an open source, chat server/client pair for use on the web. It is written in java and supports many advanced chat functionality including secure connections, emoticons, administrative class users, and more. Jun 08 » Chat Servers » GujChatGujChat 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 Jun 08 » Chat Servers » FreeCS (the free chat server)FreeCS is a free chatserver (WebChat) written in Java. Its main features are: * Fully customizable layout (including the messages sent by users and the server) * Authentication by module (SQL-authentication or no-authentication implemented) * Authorization-framework (Who may use which command) * Networking is done with the new none-blocking-IO-Classes of Java Go To FreeCS (the free chat server) Jun 08 » Chat Servers » ChipchatChipchat is web chat program written in java language. It is web application and need web server such as Tomcat. It uses Applets on the client-side. Jun 08 » Chat Servers » Chat EverywhereChat Everywhere gives you the possibility to easily put a real-time discussion forum on your website. It allows extended (Irc-like) commands, several levels of hierarchy and an easy to modify configuration file. Jun 08 » Charting & Reporting » JOpenChartOpenChart is an open source Java library and toolkit for creating different kinds of charts and embedding them into web applications or Swing applications. Jun 08 » Charting & Reporting » JFreeReportJFreeReport is a free Java report library. It has the following features: * full on-screen print preview * data obtained via Swing's TableModel interface (making it easy to print data directly from your application) * XML-based report definitions * output to the screen, printer or various export formats (PDF, HTML, CSV, Excel, plain text) * support for servlets (uses the JFreeReport extensions) Jun 08 » Charting & Reporting » JFreeChartJFreeChart 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 Jun 08 » Charting & Reporting » jChartsjCharts is a 100% Java based charting utility that outputs a variety of charts. This package has been designed from the ground up by volunteers for displaying charts via Servlets, JSP's, and Swing apps. Jun 08 » Charting & Reporting » JCCKitThe Java Chart Constuction Kit (JCCKit) is a small (< 100Kb) Java library and a very flexible framework for creating scientific charts and plots. Jun 08 » Charting & Reporting » JasperReportsJasperReports is a powerful open source Java reporting tool that has the ability to deliver rich content onto the screen, to the printer or into PDF, HTML, XLS, CSV and XML files. It is entirely written in Java and can be used in a variety of Java enabled applications, including J2EE or Web applications, to generate dynamic content. Its main purpose is to help creating page oriented, ready to print documents in a simple and flexible manner. Jun 08 » Charting & Reporting » Chart2DChart2D is a library written in Java for adding 2D charts to Java programs Jun 08 » Charting & Reporting » CewolfCewolf can be used inside a Servlet/JSP based web application to embed complex graphical charts of all kinds (e.g. line, pie, bar chart, plots, etc.) into a web page. Therefore it provides a full featured tag library to define all properties of the chart (colors, strokes, legend, etc.). Thus the JSP which embedds the chart is not polluted with any java code. Everything is described with XML conform tags. Jun 08 » Cache Solutions » SwarmCacheSwarmCache is a simple but effective distributed cache. It uses IP multicast to efficiently communicate with any number of hosts on a LAN. It is specifically designed for use by clustered, database-driven web applications. Such applications typically have many more read operations than write operations, which allows SwarmCache to deliver the greatest performance gains. SwarmCache uses JavaGroups internally to manage the membership and communications of its distributed cache. Jun 08 » Cache Solutions » OSCacheOSCache is a widely used, high performance J2EE caching framework. In addition to it's servlet-specific features, OSCache can be used as a generic caching solution for any Java application. A few of its generic features include: * Caching of Arbitrary Objects - You are not restricted to caching portions of JSP pages or HTTP requests. Any Java object can be cached. * Comprehensive API - The OSCache API gives you full programmatic control over all of OSCache's features. * Persistent Caching - The cache can optionally be disk-based, thereby allowing expensive-to-create data to remain cached even across application restarts. * Clustering - Support for clustering of cached data can be enabled with a single configuration parameter. No code changes required. * Expiry of Cache Entries - You have a huge amount of control over how cached objects expire, including pluggable RefreshPolicies if the default functionality does not meet your requirements. Jun 08 » Cache Solutions » JCacheJCache Open Source is an effort to make an Open Source version of JSR-107 JCache. Since the JSR-107 hasn&t released any specs for years, This version still builds on the original Functional Specification. Jun 08 » Cache Solutions » JBoss CacheJBoss Cache is a product designed to cache frequently accessed Java objects in order to dramatically improve the performance of e-business applications. By eliminating unnecessary database access, JBoss Cache decreases network traffic and increases the scalability of applications. But JBoss Cache is much more than a simple cache. JBoss Cache provides fully transactional features as well as a highly configurable set of options to deal with concurrent data access in the most efficient manner possible for your application. In addition, it is a clustered cache that replicates contents to other cache instances running on separate JVMs, servers or even entire networks, making JBoss Cache a highly efficient library used by application server developers to implement clustering features. Jun 08 » Cache Solutions » Java Caching SystemJCS 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. Jun 08 » Cache Solutions » EHCacheEHCache is a pure Java, in-process cache with the following features: Fast,Simple, Acts as a pluggable cache for Hibernate 2.1., with Small foot print, Minimal dependencies, Fully documented and Production tested. Jun 08 » Cache Solutions » ShiftOneShiftOne Java Object Cache is a Java library that implements several strict object caching policies, as well as a light framework for configuring cache behavior. Jun 08 » ByteCode » SERPThe goal of the serp bytecode framework is to tap the full power of bytecode modification while lowering its associated costs. The framework provides a set of high-level APIs for manipulating all aspects of bytecode, from large-scale structures like class member fields to the individual instructions that comprise the code of methods. While in order to perform any advanced manipulation, some understanding of the class file format and especially of the JVM instruction set is necessary, the framework makes it as easy as possible to enter the world of bytecode development. Jun 08 » ByteCode » Package gnu.bytecodeContains classes to generate, read, write, and print Java bytecode (.class) files. Part of the Kawa project Jun 08 » ByteCode » ObjectWeb ASMASM is a Java bytecode manipulation framework. It can be used to dynamically generate stub classes or other proxy classes, directly in binary form, or to dynamically modify classes at load time, i.e., just before they are loaded into the Java Virtual Machine. ASM offers similar functionalities as BCEL or SERP, but is much more smaller (25KB instead of 350KB for BCEL and 150KB for SERP) and faster than these tools (the overhead of a load time class transformation is of the order of 60% with ASM, 700% or more with BCEL, and 1100% or more with SERP). Indeed ASM was designed to be used in a dynamic way* and was therefore designed and implemented to be as small and as fast as possible. ASM can of course be used in a static way too. Jun 08 » ByteCode » JiapiJiapi is a tool which can be used to alter the normal class loading behavior. Instead of letting the class to be loaded as it is, Jiapi is used to manipulate classes' bytecode. The manipulated class is then passed to a class loader which loads it into a Java virtual machine. In addition to just described just-in-time bytecode weaving, Jiapi can be used to instrument a class ahead-of-time. In this mode compiled classes are preprocessed by Jiapi instrumentors and modified classes are then serialized on a filesystem to be executed later Jun 08 » ByteCode » JClassLibjclasslib bytecode is a viewer but it also contains a library that enables developers to read, modify and write Java class files and bytecode. Jun 08 » ByteCode » JavassistJavassist (Java programming assistant) is a load-time reflective system for Java. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file before the JVM loads it. Unlike other similar systems, Javassist provides source-level abstraction; programmers can modify a class file without detailed knowledge of the Java bytecode. They do not have to even write an inserted bytecode sequence; Javassist instead can compile a fragment of source text on line (for example, just a single statement). This ease of use is a unique feature of Javassit against other tools. Jun 08 » ByteCode » CojenDynamic Java bytecode generation and disassembly tools. A builder allows code to be generated more easily, instead of having to select exact instructions. Utility classes are provided which demonstrate the code generator and loader. Cojen is a fork of the Trove class file API. Jun 08 » ByteCode » Classfile Reader & WriterThis package makes it easy to read and write java classfiles. It doesn't, however, provide any help with displaying the contents of a classfile to the user (unless you count debug output), or disassembling the bytecodes. Go To Classfile Reader & Writer Jun 08 » ByteCode » cglibcglib is a powerful, high performance and quality Code Generation Library, It is used to extend JAVA classes and implements interfaces at runtime. Jun 08 » ByteCode » BCELThe 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. Jun 08 » Build Systems » SavantSavant is an extension to the popular ant build system from the Apache group. Jun 08 » Build Systems » RantRant stands for Remote Ant. It is a distributed build system that allows an Ant build file to launch builds on other systems and receive exceptions should they occur. Jun 08 » Build Systems » MavenMaven is a Java project management and project comprehension tool. Maven is based on the concept of a project object model (POM) in that all the artifacts produced by Maven are a result of consulting a well defined model for your project. Builds, documentation, source metrics, and source cross-references are all controlled by your POM. Look here to see the full list of Maven's features. Jun 08 » Build Systems » JMKThis application is based on the make utility which is part of most Unix systems, but is designed to support the task of writing platform independe Jun 08 » Build Systems » Cruise ControlCruiseControl is a framework for a continuous build process. It includes, but is not limited to, plugins for email notification, Ant, and various source control tools. A web interface is provided to view the details of the current and previous builds. Jun 08 » Build Systems » InvictaInvicta is an open-source build management tool. Using simple project definition files, it generates powerful build scripts (Apache ANT's), while hiding their complexity. Jun 08 » Build Systems » AntAnt is a software tool for automating software build processes. It uses XML to describe the build process and its dependencies. Jun 08 » Bloggers » The Roller WebloggerA server-based weblogging software & a web application that is designed to support multiple simultaneous weblog users and visitors. Roller supports all of the latest-and-greatest weblogging features such as comments, WYSIWYG HTML editing, page templates, RSS syndication, trackback, blogroll management, and provides an XML-RPC interface for blogging clients such as w:bloggar and nntp//rss. Jun 08 » Bloggers » SnipSnapSnipSnap is a free and easy to install weblog and wiki tool written in Java. Jun 08 » Bloggers » PebblePebble is a lightweight, open source, blogger that is written as a web application to run inside J2EE web containers using standards-based technologies such as JSP, servlets, filters, JSP custom tags, JSTL and JAXP. Running as a web application in any JSP 1.2/Servlet 2.3 compatible web container, Pebble maintains blog entries as XML files and serves up blog content dynamically. All maintenance of blog entries, blog properties, themes and so on is performed through your web browser, negating the need to telnet/ssh to the host and making Pebble ideal for anybody who is constantly on the move, or accesses the Internet through a firewall/proxy server. Jun 08 » Bloggers » MapleBlogMapleBlog is a simple MVC Struts 1.1-based Web log that uses Hibernate as its model layer and Tiles/JSP for its View. Jun 08 » Bloggers » JSP BlogJSP Blog is a Weblog written in pure JSP, built with Tomcat and MySQL. Jun 08 » Bloggers » BlojsomA lightweight blog package written in Java that is inspired by blosxom. blojsom aims to retain the simplicity in design of its Perl-based \"relative\" while adding user flexibility in areas such as the flavors, templating, plugins, and the ability to run a multi-user blog with a single blojsom installation. Jun 08 » Bloggers » BlogBlog is an interface for managing a multi-topic blog (Web journal). Its easy interface allows users to quickly create journals with several topics, all of which are concurrently accessible. Jun 08 » Aspect-Oriented » NanningNanning Aspects is a simple yet scaleable aspect-oriented framework for Java. Jun 08 » Aspect-Oriented » JBossAOPJBoss-AOP allows you to apply interceptor technology and patterns to plain Java classes and Dynamic Proxies. It includes: * Java Class Interception. Field, constructor, and method interception, public, private, protected, and package protected, static and class members. * Fully compositional pointcuts caller side for methods and constructors, control flow, annotations. * Aspect classes Advices can be incapsulated in scoped Java classes * Hot-Deploy. Interceptors can be deployed, undeployed, and redeployed at runtime for both dynamic proxies and classes.(working) * Introductions. The ability to add any arbitrary interface to a Java class. Either an interceptor or a 'mixin' class can service method calls for the attached interfaces. * Dynamic Proxies. The ability to define a dynamic proxy and an interceptor chain for it. Proxies can either be created from an existing class, or from a set of interfaces ala java.lang.reflect.Proxy. * Metadata and Attribute Programming. The ability to define and attach metadata configuration to your classes or dynamic proxies. Interceptors can be triggered when metadata is added to a class. We also have Metadata Chains, the ability to define defaults at the cluster and application level, as well as the ability to override configuration at runtime for a specific method call. * Dynamic AOP. All aspected objects can be typecasted to an AOP api. You can do things like add/remove new interceptors to a specific instance or add/remove instance configuration/metadata at runtime. Jun 08 » ByteCode » Trove Class File APIThe class file API simplifies creation of Java class files. Instead of having to write byte-code, the Class File API allows you to call high-level methods which generate the byte-code for you. Development of the Trove class file API has ceased. Continued development is under the Cojen project. Jun 08 » Aspect-Oriented » AspectWerkzAspectWerkz is a dynamic, lightweight and high-performant AOP framework for Java. AspectWerkz offers both power and simplicity and will help you to easily integrate AOP in both new and existing projects. AspectWerkz utilizes runtime bytecode modification to weave your classes at runtime. It hooks in and weaves classes loaded by any class loader except the bootstrap class loader. It has a rich and highly orthogonal join point model. Aspects, advices and introductions are written in plain Java and your target classes can be regular POJOs. You have the possibility to add, remove and re-structure advice as well as swapping the implementation of your introductions at runtime. Your aspects can be defined using either an XML definition file or using runtime attributes. Jun 08 » Aspect-Oriented » AspectJAspectJ 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. |
|