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
Some reader favorites:
EJB fundamentals and session beans
Create a scrollable virtual desktop in Swing
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
Free Download - 5 Minute Product Review. When slow equals Off: Manage the complexity of Web applications - Symphoniq
![]()
Free Download - 5 Minute Product Review. Realize the benefits of real user monitoring in less than an hour. - Symphoniq