Thursday, October 30, 2003

This year is winding up.... it has been a good year

It's been a good year.

This last month. I've been doing a lot of work with Struts for this client. There system is well designed and thought out and a real pleasure to work on.

I just wrote a pagination tile/tile controller. Earlier I wrote a navigation system, essentially a Struts plugin that does secured menuing. (Only shows menu's user are allowed to visit.)

I've also been helping to resolve build issues and J2EE environment issues (classloader, jars in the wrong location, etc.) In addition, I have been doing a lot of mentoring. Developers come to me with their Struts/J2EE questions and we figure things out together. It helps "to have been there and done" that many times before.

The navigation system worked really well until we integrated it wtih the real security system. There was some integration pain and some late night coding sessions, but in the end it works really well. It was architected well.

I wrote a replacement for LookupDispatch that allows multiple buttons on the same page to have the same label.

I spent a fair bit of time wrestling with CSS to make buttons look like links and work in both Netscape 6.22 and IE 5.0 and higher (the requirement for the project).

We were able to avoid requiring JavaScript and still meet the fairly rigid GUI guidelines.

More to come.....

Next time I will write about the joys of Mock Object testing...

I've moved on over into the Mock Object testing love fest crowd, and I have started to not rely on Cactus so much.

Tuesday, October 21, 2003

IBM Web Service Wizards

Rick Hightower, CTO at Trivera Technologies LLC ( ), a training and consulting firm helping companies with Web services implementations, said that he's impressed with the wizard technology in IBM's new WSDK 5.1. These wizards are not just for simplistic tasks, he said; they really get to the meat of Web services development. "They have a UDDI wizard. They also have wizards for creating Web services from a WSDL file," he noted. The wizards provide developers with a flexible but easy path to Web services development, according to Hightower. ...

Saturday, October 11, 2003

Wireless Modem, StarBucks, WebLogic 7, Mastering BEA WebLogic

I just got a wireless modem from SprintPCS. It is nice. I can get 150K bandwidth for $60.00 a month from anywhere in the U.S. where SprintPCS works. (Which seems to be everywhere....)

I got tired of not being able to connect. A lot of my clients have their networks locked down so its hard for me to send and recieve email. This way, I can stay connected no matter where I am. Some hotels have high speed, and some of the actually work, but why pay $10.00 a night.

I figured out how to use an exploded EAR file with an exploded WAR file in BEA WebLogic 7. I found the information on google. The info was written by the author of Mastering BEA WebLogic. So I figured it was in his book as well. BTW I really dig Mastering BEA WebLogic.

I got use to using WebLogic 8.1 which automatically expands EAR and WARs and lets you hot deploy JSPs and such.

Well I am off to StarBucks to write an article about Custom Tags and drink some liquid motivation.

Tuesday, October 07, 2003

Yet Another Discovery with LookUpDispatch and the resouce bundles

We are noticing the LookUpDispatchAction reads all of the bundles not just the default.
However, when you invoke an LookUpDispatchAction the first time, it cannot find the bundle/key if it is not the default. The second time and forevermore, it works.... it just fails the first time.

This may be a bug.

Another resoruce bundle discovery

The default bundle is not the first bundle in the struts config file (I read this somewhere).
It is the last bundle without a key. We found this out the hard way!

Struts 1.0 overides 1.1 resource bundle

I was helping a co-worker solve a problem.
Appraently if you have the application init parameter set for ActionServlet (which specifies the resoruce bundle), it overrides the one that is set in struts-config with message-resoruces.

The moral of this story, don't use the 1.0 init parameters with a 1.1 application.