Integrate advanced search functionalities into your apps
Lucene is a powerful and widely used open source full-text search engine written in Java. Lucene is well known for its full-text indexing and searching, but some of its more advanced features, such as multi-criteria searching and filtering, and sorting, are less well known. In this article, John Ferguson Smart shows how to integrate these advanced search functionalities into your application using Lucene.
John Ferguson Smart, September 2006

Enterprise mashups
Mashups are quickly moving beyond annotated map services and into enterprise development as developers are starting to consider them as easy solutions to integration problems. Though they require little investment and are easy to create, mashup services do come with some inherent risks.
Galen Gruman, August 2006

Javalution
Third-party products that extend the Java language or migrate legacy source code to Java (resulting in software that is part Java and part non-Java) contribute to Java's evolution—or Javalution (my terminology). This installment of Java Fun and Games introduces two such products: the Infiqs macro expander, which simplifies big decimal arithmetic, and the Snobol3 language interpreter, which merges Snobol3 with Java. Note: You can now build and run the applets presented in Java Fun and Games using DevSquare, an online development tool. Read the user guide available in Resources to get started.
Jeff Friesen, July 2006

Ruby for the Java world
Dynamic languages are the up-and-coming competitors to Java. Expanding their scope beyond glue code and Web GUIs into the heavy-duty challenges once faced only with a compiler, languages such as Python, PHP, Groovy, and Ruby have rapidly gained popularity among programmers. Ruby in particular has attracted attention, with a big boost from the Ruby on Rails Web framework. Java programmers who appreciate the value of Ruby still need a way to get it to play nicely with the huge installed base of Java software. The JRuby interpreter provides the solution. Like the Jython interpreter and the Python language, JRuby executes Ruby code and allows Ruby objects to call Java code, and vice versa. In this article, Joshua Fox introduces Java programmers to Ruby, focusing on the similarities, differences, and connectivity between the two languages.
Joshua Fox, July 2006

Keep JMS simple with Spring and MantaRay
Java Platform, Enterprise Edition is complex and cumbersome. Using lightweight frameworks is a new trend, as illustrated by the popularity of Spring, a lightweight application framework. This article describes how to integrate Spring with MantaRay, a lightweight messaging solution, to create a distributed, easy-to-use-and-deploy application framework.
Amir Sehvat and Yuval Lubowich, June 2006

Develop configurable software applications with ease
The Obix Framework is an XML and Java configuration framework that provides developers with the ability to easily and quickly develop configurable software applications. This tutorial is a quick and short introduction to the framework, which demonstrates how to develop configurable Java Platform, Standard Edition applications. It shows how to create basic XML configuration files and access their values using plain Java objects. It also illustrates how to create modular configuration sets, as well as how to import/include files into one another to create better delineated and reusable configuration data.
Obi Ezechukwu, June 2006

The Maven 2 POM demystified
This article finally pins down the elusive Maven 2 POM, version 4.0, the single largest configuration file you are likely ever to love. Readers will learn that the successful Maven 2 build system derives much of its power and portability from the POM, and that—despite what you may have heard—it is really not so bad after all.
Eric Redmond, May 2006

Speak your own programming language with Web scripting
In Char Wu's previous JavaWorld article, " Build Your Own Scripting Language for Java" (April 2006), he designed and implemented a simple Boolean language called BoolScript and used it to illustrate all the aspects of Java Specification Request 223, Scripting for the Java Platform, except for the JSR's Web scripting capability. This article will take that same language and equip it with that missing piece. The end result of these efforts is the ability to run BoolScript code in a servlet container.
Chaur Wu, May 2006

So, you want to communicate?
This article familiarizes you with the instant messaging API (IM). With the growing popularity of P2P (peer-to-peer) technologies such as IM and SMS (Short Message Service) and resulting user's expectations, your own projects might benefit from incorporating IM features. This article shows you how, with JClaim.
Alex Rass, Alex Leshinsky, Robert Reutter and Pankaj Agnihotri, May 2006

Build your own scripting language for Java
The upcoming Java Standard Edition 6.0 release will include an implementation of Java Specification Request 223, Scripting for the Java Platform. This JSR is about programming languages and their integration with Java. This article demonstrates the power and potential of JSR 223 through the implementation of a simple Boolean language. Throughout the example, you will see how to program to the Scripting API (javax.script.*), how to package and deploy a language implementation in accordance with the script engine discovery mechanism, and how to make your script engine compilable as well as invocable the JSR 223 way.
Chaur Wu, April 2006

Convert HTML content to PDF format
In this article, Nick Afshartous illustrates a way to convert HTML content to PDF, a function that would prove useful, for example, in a Web application that has the "Download as PDF" feature on some of its pages. Supporting access to PDF files facilitates printing and saving for future reference. Afshartous's conversion method uses only open source components. Commercial products are also available for this type of conversion. Hence, the advantage of the method described here is price and source code availability.
Nick Afshartous, April 2006

Update: Java FTP libraries benchmarked
FTP, or File Transfer Protocol, is the third most popular protocol over the Internet, right after HTTP (for Web browsing), and SMTP (for sending email). However, FTP is only partially supported in the JDK; complete support must be sought from third-party libraries available on the Internet. This article presents a comparison of the available libraries to help decision-makers choose a library that suits their specific needs. The evaluation weighs several criteria, including available features, licensing terms and commercial aspects, and file-transfer performances. Finally, the author suggests how to help forge the future of the Java platform with respect to FTP support.
Jean-pierre Norguet, March 2006

Get the most out of Maven 2 site generation
One of the nicer features of Maven is the ability to create an internal technical Website at very little cost. Maven 2 extends this functionality and gives you powerful new ways to generate site content. This article takes you step-by-step through creating a good Maven site.
John Ferguson Smart, February 2006

Business logic in a hurry
In many projects, business logic changes over night—often meaning overtime and stress for everyone involved. Early on, you learn that though documentation is rarely fun, it's always welcome. But good documentation is only half the job. Handling business logic systematically is also important, and this article offers some suggestions on how to do that by applying a business rules system.
Samuel Michaelis, January 2006

Wicked Cool Java: Crawling the Semantic Web
In this article, an excerpt from Wicked Cool Java (No Starch Press, November 2005; ISBN 1593270615), Brian Eubanks explains how Java developers can participate in the Semantic Web, a project that strives to create a universal medium for information exchange by linking concepts together. He introduces the Resource Description Framework standard and presents some APIs that aid in producing or consuming content.
Brian D. Eubanks, December 2005

All

Wizard API updated!
Tim Boudreau has released a new version of the Swing Wizard library (version 0.997) that fixes the WizardException bug reported in JavaWorld's recent Open Source Java Project profile. The article's examples have been reworked to test out the new, improved WizardException. Thanks, Tim, for this helpful fix!
Open Source Java Projects: The Wizard API

Newsletter sign-up

Sign up for our technology specific newsletters.

Enterprise Java
View all newsletters

Email Address: