Over the last few years, I've written many articles on different topics in the Java/Open Source field. Just for the record, here is a list of all the articles I've written over the past couple of years on various topics. Who knows, someone might find something useful somewhere!
Integrating Maps into Your Java Web Application with Google Maps and Ajax
Want to provide maps in your web application? The Google Maps API is straightforward to call from Java, and with an Ajax-ian approach, you can make it extra user-friendly. This article shows you how to combine these approaches. Oct. 26, 2006
Instant Messaging in Java Made Easy: The Smack API
Jabber is a popular and widely supported XML-based API for exchanging instant messages. You could compose the messages by hand, but there's an alternative. This article introduces the Smack API, which makes it easy to use Jabber services from Java. Oct. 5, 2006
Web Services Made Easy with JAX-WS 2.0
Standards are so much easier to adhere to when your tools do it for you. Thanks to JAX-WS and its implementation in application servers like GlassFish, you can write web services as plain ol' Java objects, just by adding a few annotations. This article shows how it's done. Jun. 13, 2006
Continuous Integration with Continuum
The best way to integrate in a hurry is to have been doing it all along. This practice of continuous integration is greatly helped by automated tools to check out and build your team's code on a more or less constant basis. Apache Continuum offers a free and open source tool to do continuous integration; This article looks at how it works. May. 30, 2006
Agile Legacies: Using Iterative Methods to Import Legacy Data
Often, your new code replaces an older system whose data must be migrated to the new system. This isn't a process that gets a lot of thought, but it probably should. In this article, he shows how an iterative, test-driven approach can save you a lot of headaches later. Mar. 2, 2006
Profiling Your Applications with Eclipse Callisto
Callisto, a bundle of optional plugins for Eclipse, now comes with a profiling tool called the Test & Performance Tools Platform (TPTP). TPTP includes testing, tracing, performance monitoring, profiling, and static-code analysis tools. This guided tour shows how to use TPTP to speed up your apps. Aug. 16, 2006
The Mustang Meets the Rhino: Scripting in Java 6
Hibernate Class Generation Using hbm2java
Hibernate uses mapping files to express the mapping of Java classes to database tables. In a complex project, keeping mappings in sync with your Java code can be burdensome and error-prone. Fortunately, the hbm2java tool can automate this by generating POJO classes from the mapping files. This article shows how to use hbm2java with Ant and Maven, and how to customize the behavior of the generated classes. Dec. 14, 2005
Test-Driven Development Using StrutsTestCase
JUnit and DbUnit can help test your web application, but they're not ideal for testing Struts Actions. Fortunately, the StrutsTestCase framework exists to help you close this gap in your testing coverage. We look at how it works and what it can do for you. Oct. 26, 2005
Which open source CI tool is best suited for your application's environment?
Automating the build process is a difficult task, and fairly quickly a continuous integration tool becomes a must. But which one? This article test drives a few of the open source CI tools to see how they compare. Nov. 1, 2006
Integrate Advanced Search Functionalities into Your Apps
Implement powerful multi-criteria search criteria and filters with Lucene. Sept. 25, 2006
Java-XML mapping made easy with JAXB 2.0
Do you need a way to manipulate XML documents within Java simply by using ordinary Java classes, and without the headaches of the Document Object Model and the Simple API for XML Processing? JAXB 2.0 could be the answer. Jun. 26, 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. Feb. 27, 2006
An introduction to Maven 2
Do you spend too much time maintaining complex Ant build scripts for your Java projects? Do you have to reinvent or relearn a new set of build targets for each new project? Do you end up with lots of unnecessary dependencies and never exactly know the ... Dec. 05, 2005
Eclipse Callisto Project Profile: Web Tools Platform
The Web Tools Platform (WTP) is a powerful set of Eclipse add-ons that make Web application development with Eclipse easier and faster. Take a look under the hood and see how it can help you.
Peer Code Reviews Made Easy with Eclipse Plug-In
Code reviews are a cost-efficient way to detect defects early and improve both the quality of your code and the skills of your team. Jupiter is an innovative Eclipse plug-in designed to make collaborative code reviews much easier.
PMD Squashes Code Bugs
Despite being among the most effective ways of finding defects and improving code quality, code reviews are rarely done with any consistency. Enter PMD, a static analysis tool that can make reviewing code easier and more fun.
Maintain Better Coding Standards with Ease Using Checkstyle
Coding standards are a time-honored and widely respected programming best practice. However, they are not always easy to put into action. Find out how Checkstyle can help you define and enforce a set of coding standards and promote good and consistent programming habits across your team.
Rapid Java Web Application Development with Tapestry
Tapestry is a powerful and innovative framework for developing component-based Web applications. With Tapestry 4, things get even better.
Speed Up Your Hibernate Applications with Second-Level Caching
Newer Hibernate developers sometimes don't understand Hibernate caching and use it poorly as a result. However, when used correctly, it can be one of the most powerful ways to accelerate Hibernate applications.
Open Source Java Reporting with JasperReports and iReport
JasperReports is a powerful and flexible open source reporting solution. The iReport visual designer enables you to take advantage of the full power of JasperReports without in-depth knowledge of the JasperReports native XML format.
Hibernate Criteria API: Multi-Criteria Search Made Easy
The Hibernate Criteria API, a powerful and flexible alternative to traditional HQL queries, makes writing all those tricky multi-criteria search functionsâ€”as well as dynamic queries in generalâ€”much easier.
Mastering Subversion in the Eclipse IDE
CVS is cool, but Subversion is cooler. If you're using Eclipse, though, you couldn't take advantage of Subversion until recently. With the advent of Subclipse, Subversion can finally be used to its full effect from within your Eclipse IDE environment. Jul 28, 2006.
Lucene: A Tutorial Introduction to Full-Text Indexing in Java
This article provides a quick intro to Lucene, a powerful and elegant library for full-text indexing and searching in Java, with which you can add rich full-text search functionality to your Java web application. Apr 14, 2006.
Hibernate Querying 103: Reporting with JasperReports
In the final part of the series, John Smart investigates how you can integrate JasperReports reporting with Hibernate data sources in an optimal manner, without sacrificing ease-of-use or performance
. Aug 11, 2005
Hibernate Querying 102: The Criteria API
John Smart continues his Query API tutorial with a step by step guide to using the Hibernate Criteria API, a powerful and elegant alternative to HQL well adapted for dynamic search functionalities.
. Jul 13, 2005
Hibernate Querying 101 : tips and tricks
Simple techniques can often yield serious performance improvements. In this first article of a 3-part series, John Smart shares real-world insights about how to fine-tune your Hibernate queries.
. Jul 8, 2005
Sticky Minds Articles
Test-based Project Progress Reporting
Deliverable-oriented project management and test-driven development can be combined to provide an objective and easily understandable way of measuring project progress for the client, team members, and management. In this article, John Ferguson Smart presents a case study of how this approach was made to work.
Dec 27, 2005
An Offshore Development War Story
Offshore development is not simple; it raises technical, organizational, and managerial issues that require solid project management and a good dose of innovative thinking. This article is a case study of one such project: what worked, what didn't, and what corrections were applied. Places and names have been changed.
Sep 9, 2005