ONJava.com -- The Independent Source for Enterprise Java
oreilly.comO'Reilly NetworkXML.comONLamp.comONJava.comOpenP2P.com
 Newsletters | Events | Jobs | API Map | Daily Recipe | OS Java Directory | java.net


  JSP and Servlets
  EJB Components
  Web Services
  Open Source
  Best Practices
  Java Security
  Java IDE Tools
  Java SysAdmin


  Feature Articles
  Java API Map
  Web Logs
  Book Excerpts
  OS Java Directory


GGZ-Java  May. 12, 2006

JTrac  May. 8, 2006

Dao-zero: implement your DAO intefaces  Apr. 28, 2006

DualRpc easy bidirectional RPC for GUI client to server  Apr. 25, 2006

ColoradoFTP - The Open Source FTP Server  Apr. 19, 2006

More Resources

 Java API Map


Java Enterprise in a Nutshell, Third Edition

Head First Design Patterns Poster

Eclipse IDE Pocket Guide

JBoss: A Developer's Notebook

Maven: A Developer's Notebook

Swing Hacks

Killer Game Programming in Java

Learning Java, Third Edition

Ant: The Definitive Guide, Second Edition

Spring: A Developer's Notebook

Java in a Nutshell, Fifth Edition

Jakarta Struts Cookbook

Head First Java, Second Edition

QuickTime for Java: A Developer's Notebook

AspectJ Cookbook

More Java Books



Open Source Java

Open Source Java includes projects and initiatives including Apache's Jakarta (including Ant) and Batik.

What is Java Content Repository
By Sunil Patil
You might have heard of JSR-170, but what is a content repository, and what can you do with it? Well, do you want to manage documents with versioning, search, access control, and more? Content repositories offer these features, and JSR-170 codifies them into a single API. Sunil Patil shows how to use the reference implementation--Apache Jackrabbit--to create a blogging application. Oct. 4, 2006

Tapestry: A Component-Centric Framework
By Hemangini Kappla
Tapestry offers an open source framework for rapid development of web applications using Java. It offers high performance, good code re-use, line-precise error reporting, and more. Hemangini Kappla offers an introduction to this widely used framework. Sep. 27, 2006

Eclipse RCP: A Platform for Building Platforms
By Wayne Beaton
Where do you start when building a Java desktop application? All Java gives you by default is public static void main (String[]); it's up to you from there. Eclipse's Rich Client Platform (RCP) offers a tested design, commonly-needed widgets, a standardized component model, pervasive extensibility, and more. Wayne Beaton has an introduction to get you up to speed with RCP-based development. Aug. 23, 2006

Ant 1.7: Using Antlibs
By Kev Jackson
Most Java developers use Ant to do builds and are familiar with its core tasks. But Ant's tasks tend toward an undesirable coupling: everything important had to be a core task because it was hard to distribute new plug-in tasks. Fortunately, Ant 1.7's new antlibs feature makes it much easier to distribute and use new Ant tasks. In this article, Kev Jackson shows you how to use, write, bundle, and test antlibs. Aug. 9, 2006

Deploying BIRT
By Jason Weathersby
If you have a need for generating or displaying reports, you may want to have a word with BIRT. The Business Intelligence and Reporting Tools project is an open source Eclipse effort to enable the creation and deployment of complex reports. Jason Weathersby shows you how to grind out reports and display them in web applications and RCP-based desktop apps. Jul. 26, 2006

What Is Geronimo?
By Kunal Jaggi
Geronimo is Apache's open source, Java EE-compatible application server, based on a flexible system of interchangeable components. This makes it ideal for a wide range of enterprise deployments. In this article, Kunal Jaggi shows you how to get started with Geronimo. Jul. 19, 2006

Outsourcing Java SE
By Daniel H. Steinberg
Many eyes are on Sun, awaiting the promised eventual open-sourcing of its Java SE implementation. But Daniel Steinberg has another idea: instead of open-sourcing Java, Sun should outsource it, so that it can be developed by parties more attuned to the needs and opportunities of cross-platform development. Jul. 12, 2006

What Is Jetty
By Q Ethan McCallum
Of course Tomcat is the first Java application server you think of, but is it the right tool for every job? The open source Jetty serves up JSPs and servlets in just a fraction of the memory needed by other app servers and is designed for easy embedding in other applications and non-traditional Java environments. Ethan McCallum takes a look at the big things in this small package. Jun. 14, 2006

Telling Stories at JavaOne
By Daniel H. Steinberg
JavaOne 2006 left attendees with an incomplete answer to the big question: will Sun open source Java? The answer was better than a definite maybe, but not by much. Daniel Steinberg looks back at the conference, its mixed message, and its many successes outside of the general sessions.  May. 24, 2006

Using Lucene to Search Java Source Code
By Renuka Sindhgatta
Most uses of the Java-based Lucene search engine are for searching typical text documents. But what if you want to search Java code itself? Renuka Sindhgatta argues that this would be a boon for finding reusable code, and shows how to adapt Lucene to parse Java code for maximum searchability. Jan. 18, 2006

Give Your Business Logic a Framework with Drools
By Paul Browne
It's almost too easy to express your business logic as a spaghetti-code fiasco. The result is hard to test, hard to maintain, and hard to update. Rule engines offer an alternative: express your business logic as rules, outside of your Java code, in a format even the business side of the office can understand. Paul Browne uses the open source Drools framework to introduce the idea. Aug. 3, 2005

Upload Files with JSF and MyFaces
By Andrei Cioroianu
Want to support uploading of files from the user's browser to your web application? You could parse the multipart form data yourself--or you could let Java do it for you. JSF doesn't support this out of the box, but, as Andrei Cioroianu shows, several JSF-based frameworks do. Jul. 13, 2005

An Ant Modular Build Environment for Enterprise Applications
By Les A. Hazlewood
Most Java developers already use Ant for their builds, but are you getting everything you could out of this tool? With a complex enterprise application, in which classes may be used in several tiers, it's important to control where the code lives and how it gets built, so you can build .jars with just the code needed for each tier. Les Hazlewood shows how this approach leads to faster builds and downloads, and even catches errant dependencies. Jun. 22, 2005

Building Modular Applications with Seppia
By Lorenzo Puccetti
Isn't object-oriented programming supposed to be about code reuse? The Seppia framework encourages reuse by allowing you to combine functionality collected in multiple .jar files, stitching the behavior together with JavaScript. Lorenzo Puccetti has an introduction to this interesting framework. Mar. 16, 2005

Introducing JBoss Remoting
By John Mazzitelli
With JBoss World 2005 a week away, JBoss has introduced a new remoting framework. Before you say "another one?" John Mazzitelli hopes you'll take a look at JBoss Remoting, which rids you of RMI-style skeletons and stubs, and offers flexibility and extensibility on both the client and server sides. Feb. 23, 2005

Mock Objects in Unit Tests
By Lu Jian
Unit testing your code against a service or process that's either too expensive (commercial databases) or just not done yet is something you can deal with by simulating the other piece with a mock object. EasyMock can suffice in some cases, but it can only create mock objects for interfaces. Mocquer, based on the Dunamis project, can create mocks for classes, too. Lu Jian shows how it works. Jan. 12, 2005

XML Messaging Using JBoss
By Benoit Aumars
Simple communication in an enterprise system is possible through various schemes, but not all of them answer the question of coordination. Benoit Aumars presents a hypothetical case study that shows how generating and sharing information in XML is made easier with Java Messaging Service (JMS) and Java Management Extensions (JMX). Oct. 13, 2004

What's So Java About Sun's Linux Desktop?
By Sam Hiser
Sun attracted some sharp criticism when it released a tightly integrated Linux desktop distribution under the name Java Desktop System. But as Sam Hiser, coauthor of Exploring the JDS Linux Desktop shows, JDS has much to recommend it. Oct. 6, 2004

Documenting Projects with Apache Forrest
By Kyle Downey
Apache Forrest helps you develop the documentation to accompany your application, automatically providing a number of neat features such as menus, links, cross-references, and breadcrumb navigation. Kyle Downey provides an introduction. May. 26, 2004

Wiring Your Web Application with Open Source Java
By Mark Eagle
Building a web application with Java can be a complex process when architecting a combination of UI, business logic, and persistence. This article introduces a way to leverage open source software to lessen the burden. Apr. 7, 2004

Extending Maven Through Plugins
By Eric Pugh
Maven is the build tool that does everything for you, from compiling code to setting up structures for process and documentation. But what if there's something more that you do and you want to integrate it into Maven? Eric Pugh shows you how to do this with Maven plugins. Mar. 17, 2004

Analyze Your Classes
By Vikram Goyal
Java reflection allows you to discover your code's abilities, but what about changing the code? Vikram Goyal introduces the Byte Code Engineering Library, which opens up classes for low-level changes from code. Oct. 22, 2003

Java for Bioinformatics
By Stephen Montgomery
Bioinformaticians and biological scientists have to sift through a lot of data. Visualization helps. While Perl has been a mainstay of bioinformatics, several projects and APIs in the Java world are making Java a viable development language. Stephen Montgomery surveys the scene. Sep. 24, 2003

Using the Jakarta Commons, Part 3
By Vikram Goyal
Ever find yourself thinking, "Someone's surely solved this problem before?" The Jakarta Commons is a good place to start looking when that thought tickles your mind. In this third of three articles, Vikram Goyal explores the logging, pooling, and validating packages in the Commons. Jul. 23, 2003

Using the Jakarta Commons, Part 2
By Vikram Goyal
Ever find yourself thinking, "Someone's surely solved this problem before?" The Jakarta Commons is a good place to start looking when that thought tickles your mind. In this second of three articles, Vikram Goyal explores the Packages and XML groups of the Commons. Jul. 9, 2003

Using the Jakarta Commons, Part 1
By Vikram Goyal
Ever find yourself thinking "Someone's surely solved this problem before?" That's the beauty of open source. In this first of three articles, Vikram Goyal explores the Jakarta Commons, mature and well-defined reusable Java components. Jun. 25, 2003

Aspect-Oriented Programming and JBoss
By Bill Burke
Is aspect-oriented programming (AOP) the OOP of the oughts? It promises to apply common behavior across different object models. Bill Burke and Adrian Brock explore AOP by example in a JBoss application. May. 28, 2003

JBoss Optimizations 101
By Sacha Labourey
"First make it work, then make it fast." Your J2EE application works, but it's slower than you'd like under peak load. Before you rush out for new hardware, check out your configuration. Sacha Labourey and Juha Lindfors demonstrate a few simple techniques to improve JBoss performance without spending money. May. 28, 2003

Enums in Java (One More Time)
By John I. Moore, Jr.
Depending on who you ask, the lack of built-in enum support in Java is either a travesty or no big deal. They're convenient in some cases, and are often requested for future versions of Java. John I. Moore, Jr. explores the alternatives for emulating enums in core Java and presents the mini-language jEnum as proof-of-concept. Apr. 23, 2003

Reading and Writing Excel Files with POI
By Andrew Oliver, Avik Sengupta
The Jakarta POI project provides a nice Java API for reading and writing Microsoft file formats. After learning about the project, most people ask, "How can I write a spreadsheet?" Andrew C. Oliver and the POI folks demonstrate how to read and write Excel files using the Horrible SpreadSheet Format class. Apr. 16, 2003

Custom PMD Rules
By Tom Copeland
The real fun of automated code analysis is writing your own rules. In his third article on the PMD project, Tom Copeland shows two approaches to detecting error patterns: writing custom Java code and simple XPath expressions. Apr. 9, 2003

Detecting Duplicate Code with PMD's CPD
By Tom Copeland
Code reuse has been a grail for years. Why, then, is there still so much copying and pasting going on? Tom Copeland introduces CPD, the Copy/Paste Detector, which can identify large swaths of duplicate Java code. Now go refactor! Mar. 12, 2003

Using Hierarchical Data Sets with Aspire and Tomcat
By Satya Komatineni
While much of the database world is relational, a great deal of data is hierarchical--think web pages, XML, and Java classes. Aspire lets you retrieve and manipulate hierarchical data sets. Satya Komatineni explains why you might want to do this. Mar. 5, 2003

Using JMeter
By Budi Kurniawan
Apache's JMeter is a Java-based tool for load testing client-server applications. Budi Kurniawan demonstrates how to use JMeter to test the performance of your Web applications. Jan. 15, 2003

Introduction to Text Indexing with Apache Jakarta Lucene
By Otis Gospodnetic
Lucene is an immensely popular free text indexing and searching API written in Java. In this first of a series of Lucene articles, Otis Gospodnetic explains how to get started with Lucene, introducing the project and its indexing capabilities. Jan. 15, 2003

Configuring Tomcat with IIS Web Server
By James Goodwill
In this installment of Using Tomcat, James Goodwill continues his discussion of the JK1.2 connectors with a turotial on configuring Tomcast with Microsoft's IIS server. Dec. 18, 2002

An Introduction to the Eclipse IDE
By Scott Storkel
Eclipse, an open source Java-based IDE, brings together all of the tools a developer needs to be successful at Web application development: an extensible IDE, a standards-based compiler, remote debugging, Ant-based builds, JUnit-based testing, and plug-ins for communicating with most application servers and EJB containers.  Dec. 11, 2002

Using the Validator Framework with Struts
By Chuck Cavaness
Chuck Cavaness, author of O'Reilly's Programming Jakarta Struts, introduces the Validator framework, an open source project that is part of the Jakarta Commons subproject. Learn how to use the Validator with Struts in this article. Dec. 11, 2002

Dynamic Creation of Reports with Apache Formatting Objects
By Kevin Hartig
Is your report generation costly, proprietary, or inflexible? Check out this reporting framework based on XML and the Apache Formatting Objects Processor. Dec. 11, 2002

Improve Your Career with Tomcat and Aspire
By Satya Komatineni
RDMS staff can be easily trained to develop Web-based Java apps with Tomcat and Aspire. This article tells how. Dec. 4, 2002

Programming Jakarta Struts: Using Tiles, Part 2
By Chuck Cavaness
In part two in this series of book excerpts on using tiles from Programming Jakarta Struts, learn how to install and configure tiles, as well as get an overview on tiles. Nov. 20, 2002

Configuring Tomcat and Apache With JK 1.2
By James Goodwill
The JK modules are a conduit between Apache and Tomcat. This series of articles covers using mod_jk with Apache and Tomcat. The first article shows you how to configure the servers for use with JK 1.2. Nov. 20, 2002

Learning the New Jakarta Struts 1.1, Part 2
By Sue Spielman
Part 2 of Sue Spielmann's article on Struts 1.1 covers nested tag libraries, the Validator framework, the PlugIn API, and declarative exception handling. Nov. 13, 2002

Programming Jakarta Struts: Using Tiles, Part 1
By Chuck Cavaness
In part one in this series of book excerpts on using tiles from Programming Jakarta Struts, learn how to use tiles, and gain an understanding of templates. Nov. 13, 2002

NetBeans: Working with XML, Part 3
By Tim Boudreau, Jesse Glick, Simeon Greene, Vaughn Spurlin, Jack J. Woehr
In this final installment on working with XML, excerpted from NetBeans: The Definitive Guide, learn how to generate Java classes. Nov. 6, 2002

Learning the New Jakarta Struts 1.1, Part 1
By Sue Spielman
In this first part of a two-part series, you'll learn about the new 1.1 release of Struts, how to work with it, and how to migrate from v.1.0.x. Nov. 6, 2002

For Tomcat Developers, Aspire Comes in a JAR
By Satya Komatineni
Aspire.jar is a free, open source .jar file that can be used for declarative data access, configuration, logging and factory services needs. For Java developers who are continuing to adopt Tomcat as their primary development platform, this .jar file could save lot of time, while providing a highly-flexible data architecture.  Oct. 30, 2002

Jakarta Struts: Seven Lessons from the Trenches
By Chuck Cavaness
Chuck Cavaness, author of Programming Jakarta Struts, describes for Java programmers some of lessons he learned the hard way when he used the Struts framework to build a company application. Oct. 30, 2002

NetBeans: Working with XML, Part 2
By Tim Boudreau, Jesse Glick, Simeon Greene, Vaughn Spurlin, Jack J. Woehr
In part two of this three-part series excerpted from NetBeans: The Definitive Guide, go beyond editing XML in your editors, within the open source NetBeans framework. Oct. 23, 2002

Learning and Using Jakarta Digester
By Philipp K. Janert
Turning an XML doc into Java bean objects is a common task, but the SAX and DOM APIs are too low-level. Jakarta Digester uses a series of rules to simplify this important task. Oct. 23, 2002


GGZ-Java  May. 12, 2006

JTrac  May. 8, 2006

Dao-zero: implement your DAO intefaces  Apr. 28, 2006

DualRpc easy bidirectional RPC for GUI client to server  Apr. 25, 2006

ColoradoFTP - The Open Source FTP Server  Apr. 19, 2006

More Resources

More Events

About ONJava.comContact UsPrivacy PolicyMedia Kit
Copyright © 2000-2006 O’Reilly Media, Inc. All Rights Reserved.
All trademarks and registered trademarks appearing on the O'Reilly Network are the property of their respective owners.
For problems or assistance with this site, email