Process Driven Development Webinar

BEA is hosting a free webinar entitled ‘Process Driven Development’ on Wednesday, April 7th. In this webinar, Garrett Conaty, Principal Technologist at BEA, will walk you through various technologies and best practices used to rapidly build Service Oriented Applications from requirements to implementation to production. He will start with business use cases and proceed to build a SOA implementation of these use cases by rapidly combining current technologies such as Web Apps, Web Services & Business Process Management, showing how they can be leveraged for service enablement and orchestration. Along the way you’ll get insight into some tips and tricks on leveraging this combination of existing technologies to jumpstart your own SOA projects.

Attendees will walk away best practices used to rapidly build Service Oriented Applications and tips and tricks for leveraging existing technologies to jumpstart your own SOA projects.

Date: Wednesday, April 7, 2004
Time: 9:00am PST / 12:00 Noon EST
Place: Your desktop

Servlet Filters as poor man’s AOP

I was just discussing this idea of Servlet Filters with a friend and I was trying to explain to him how Filters work and how they are really aspects in the AOP world. I think filters are really incredibly helpful and yet very few developers know about them and even fewer developers implement them. So my thought was that if we started using buzzwords like AOP around filters, suddenly Filters become sexy and everyone’s jumping over to implement Filters. :-)

The filter API was introduced in the Servlet 2.3 specification and is defined by the Filter, FilterChain, and FilterConfig interfaces in the javax.servlet package. You define a filter by implementing the Filter interface. A filter chain, passed to a filter by the container, provides a mechanism for invoking a series of filters. A filter config contains initialization data. The most important method in the Filter interface is the doFilter() method, which is the heart of the filter. Filters intercept request to your web application based on the url-pattern specified in the web.xml, where the filters are defined.

I have used Filters extensively and have a few Filters ready to go when I am called into debug applications in production that are misbehaving or just broken. One of the filters I use quite often is a simple authentication filter that makes is easy to ensure consumers of the web application is authenticated. Here’s a simple snippet:

Here’s a copy of the original documented Filter java class.

Books I’m currently reading

I am a voracious book collector and (usually) reader as well. I love books and could spent hours reading – Just sad when life and work get in the way. :( Books I am currently reading include:

Need a few 3-day weekends to catch up and finish these books.

Java Examples in a Nutshell – Book Review

Java Examples in a Nutshell, 3rd Edition
by David Flanagan
Paperback: 720 pages
Publisher: O’Reilly & Associates; 3rd edition (January 1, 2004)
ISBN: 0596006209

In this 3rd edition, author David Flanagan has updated the book with coverage of Java 1.4. In keeping with the tradition of the other nutshell books, this book is an instant must-have book. This book is divided into 4 sections. The first section is a short yet very nice Java and OO tutorial. This book is not meant to replace your regular tutorial book, but can certainly act as that for someone who already knows the basics and is trying to bone up on the language API and usage.

The second section of the book covers the core Java API, including I/O, NIO, threads, networking, security and cryptography, serialization, and reflection. This section of the book is really solid and includes great working and commented examples of most of the core set of Java API. I really liked the network section as it includes code that will fulfill most of your needs in terms of network related development.

The third section of the book deals with graphics and user-interface including Swing, Java 2D graphics, preferences, printing, drag-and-drop, JavaBeans, applets, and sound. Not being much of a UI guy, I glossed over most of this section but it seemed complete and comprehensive. I know where I am going to turn if I ever need to work with Swing or applets.

The last section of the book includes coverage of the server-side Java or J2EE development, including JDBC, JAXP (XML parsing and transformation), Servlets 2.4, JSP 2.0, and RMI. Being a back-end or server side developer, I spent a lot of time consuming this section and I was very impressed with the quality of the coverage, explanation and examples included in this section. The section starts off with a nice introduction to JDBC, database metadata and includes some nice examples configurable example that are ready for use with little or no modifications. I think that’s important to new developers that are getting familiar with an API. In reading the code, it was nice to see the author using the execute() method instead of executeUpdate() or executeQuery() method along with a simple explanation of why he is doing that. Sounds simple, but I can’t tell you the number of times junior developers have come to me and asked me about this exact topic.

After JDBC, the book jumps into XML with a nice intro to SAX, DOM, and XSLT. Not a lot of meat here, but XML is always a moving target in terms of the API. I wish this section had a little more to it as it is missing the whole idea of Java-XML data binding which is a useful topic. After XML, the book moves over to Servlets and JSP. Nice intro to servlets and JSP, but leaves you wanting more. I think the whole server-side Java just needs to be another book and I think David should just come up with a Java Enterprise Examples in a nutshell. O’Reilly already has some great books in this category including the Java Servlet and JSP cookbook.

Having said all that, I still really like this book for how it deals with the core API. This book contains 193 complete, documented examples which makes it a must for any junior developer that knows or is learning Java and wants to know how to apply the API. The examples from this book are available for download from the author’s website located at

IPod Mini: Small Is Beautiful

I just read the story titled IPod Mini: Small Is Beautiful in Wired Magazine and I have to completely, wholeheartedly agree with the article. Talk about love at first sight. My friends Chris and Douglas each bought an iPod mini and the mere site of one will make you buy one. Be warned, it’s a hypnotic almost religious experience holding the mini in your hand for the first time. The minute I held the iPod mini in my hand, I knew I was going to buy one for myself. I already own the 30 GB regular iPod and I still couldn’t resist this one. Kudos to Apple engineers for designing a beautiful device that’s incredibly visually appealing as well as functional. The mini weights just 3.6 ounces and easily fits into any pocket.

The iPod mini looks just amazing in its anodized aluminum case that resists stains and scratches. The iPod mini holds 1000 songs or 4 GB of music and lasts up to 8 hours on a single battery charge. Unlike the bigger iPod, Apple has moved the iPod buttons under the scroll/click wheel which makes for a better user experience allowing you to scroll single-handedly though your music collection. Besides the smaller size and gorgeous form-factor, the mini has all of the same features of the regular iPod.

The mini ships with an AC adapter, traditional white headphones, FireWire and USB 2.0 cable and iTunes software for Windows and Mac. With iTunes, I am able to sync both my regular iPod and mini at the same time. A lot of people would urge you to spend $50.00 more and get the 15 GB iPod. I own both the iPod and now the mini and given the choice, I would trade in my regular iPod for my mini any day. Most of the iPod accessories including the iTrip work correctly with the mini. The only accessory that hasn’t worked yet is the Belkin iPod Voice recorder.

There are a lot of people that are writing reviews saying they would rather pay $50.00 more and the 15 GB iPod, but we are talking about apples and oranges. In fact, I completely agree with Chris’s blog entry about many of the iPod mini reviews. My only complaint about the whole package are the puny little earbud headphones that comes with the standard package. They are not bad, but they really don’t do justice to the great audio quality of the iPod. I am thinking about picking up a set of the Sony MDREX71SL Fontopia In-Ear portable headphones. After reading Chris and Cameron’s reviews, I am convinced. I love my Bose QuietComfort Acoustic Noise Cancelling headphones, but they are just too bulky for every day use. I love them for those long flights, but they are not for every day use.

If you are in the market for a great MP3 player, look no further. It holds over 70 hours of music, fits in your pocket and looks great doing it. I wish I could buy a few more of these little suckers for each day of the week. In fact, I really bought my mini for my wife. Just took me 2 days to make it mine!