July 2005

JSF, Spring & Hibernate

I was given the opportunity recently to work on a from-scratch project. We are using JSF for the front end, Hibernate for the data persistance teir, and Spring to wire them together. The app is running in WebSphere Portal, with a DB2 database, both on Linux. RAD 6 is our IDE.

It has been a blast to build a full application from scratch. We are learning a lot about the new technologies, but I think I got the most out the “intangibles” of the project: working with people, managing the project, etc.

Couple of things I have learned on this project:

  • Don’t spring new technologies, i.e. Hibernate/Spring (please forgive the pun) on people when you yourself are not exactly a seasoned developer on them. While this project is supposed to be a chance to learn new things, too many things at once is hard. It took us a lot longer to get things working together than we had hoped. We did make our dates, but it was a long road with some potholes.
  • I need to do a better job of breaking up units of work (managing the project). We were all so excited to start the project that we jumped in with some prototyping and “forgot” about that aspect. I really like the idea of XP’s User Stories and wanted to add that to the experiment, but I was afraid to add yet another new thing to the pile, and this was a small project, so I didn’t push.
  • Working in an open area is a good and bad thing. We kept stealing conference rooms for a whole day, and holed ourselves up in it for whatever time we could spend. This was nice from the perspective of communication and problem solving, but is difficult for heads down focusing on a single piece of code. I like my own space when I am developing new code from scratch. I can “groove” much better. Also we had to move occasionally, which was irritating.
  • Hibernate is not easy. Its easier, but not easy. Hibernate development is very much an iterative process: you generate the first batch of hbm.xml files and then tweek them as necessary to get what you want. Part of the problem here could be me, as I am not very seasoned at building SQL data models, but I know what I want, and it took quite a while to get Hibernate to give it to me.
    Also, we had the classic problem of Lazy Initialization that took weeks to figure out. Hint: when you want to keep your Data model around for a while (when wouldn’t you), that you make sure you think about how Spring and Hibernate work regarding session management. We are using the
    OpenSessionInViewFilter from Spring, at a level above our JSF code, to hide the management of HIbernate Sessions. Yuck.
  • JSF… Where to begin… I think I’ll talk about THAT gem in another post someday…

General
Java

Comments (0)

Permalink

Cleanup

I am taking down the JKeyManager links, as I have not had time to work on it, and I have found that Portecle (link) does almost everything I want. The only thing that is missing is SecretKey generation functions, which I will work with them on adding (if they are interested).

It was interesting to start working on an open source project. As usual, life got in the way and I eventually pushed it off of my working stack. I did learned alot about SWT, which may come in handy someday, so its not a complete waste of time.

General
Security

Comments (0)

Permalink

Movie Plot Security

Bruce Schneier has posted yet another great example of humans being stupid in his blog. In New York, officials have turned off cellular signals in the subway tunnels, for fear of a remotely detonated bomb. Brilliant. Now, not only can the terrorists STILL use their tried and true method of suicide bombs, but know no one knows about it until well after the attack. “Should the train have gotten here like 15 minutes ago?”

General
Just Stupid

Comments (0)

Permalink

NoFluffJustStuff

So, I am at the NoFluffJustStuff conference this weekend in Des Moines. It is really interesting to finally meet some of the people who have affected my development style. I went to Dave Thomas’s wonderful talk on development teams called Herding Racehorses and Racing Sheep, which Matt Payne recommended on his blog. Fantastic.

I also met and talked with Venkat Subramaniam, of Agile Developer. I have never met a better speaker. I thouroughly enjoyed his talks - Test First Development, Prudent OO, and Agile Development. In fact, I skipped the sessions on Ruby to continue to hear his topics.

Matt Payne has raved about this conference to me before, and after the first one and a half days, I completely agree. In fact, I have been talking with Scott Davis about getting one of these conferences in Omaha. I’ll be bringing this up at the JUG meeting on Tuesday. I’ve also talked with the head of the Central Iowa JUG , as well as Scott (who is (was?) prez of djug) about how to successfully run a JUG. It sounds like we are doing somethings right, but have some room for improvement.

This is the first conference that I have ever attended, though with all of the blogs and pics that come out of conferences such as PDC and JavaOne, I think I can safely say that this is a much more focused conference. No marketing deptartments here.

General

Comments (0)

Permalink