Thursday, July 28, 2005

Fox Valley JUG

Rob and I just got back from presenting at the Fox Valley JUG, in Appleton, WI (Green Bay for those not from around here). Our topic was Ajax, providing a general overview and introduction before delving into the DWR, JSON-RPC-Java, and Echo2.

Rob also announced our very simple demonstrations being made available on his site. Definitely feel free to check them out but do keep in mind that these are used only to illustrate very simple (hello world type) examples, so don't expect too much in the way of spectacular! We will be updating our presentation and these examples for another talk in September, so you may also want to check back later.

... back to the Fox Valley JUG... It was a very conversational presentation which was great. I think everyone, including the presentor(s), gets more out of it when there is a more open environment for questions and feedback.

The one somewhat unfortunate effect of the light atmosphere was that it did slow down the presentation a bit. I gave a little higher overview of JSON-RPC-Java and Echo2 than I would normally have liked but it was towards the end of the presentation anyway and I think the audience was in a "skip the details" sort of mood anyway.

Thursday, July 21, 2005

SQL code beautifier and SQL Formatter

Looks like while I've been wandering in the land of Hibernate I missed out on SQLinForm getting a new look. For those of us frequently waste deep in unformatted SQL statements this is an incredibly handy (and incredibly free) tool. I've used it for about a year now and it's saved me a lot of hassle.

Sounds like he's working on a desktop version too.

Wednesday, July 20, 2005

MADJUG meeting

I went over to the MADJUG meeting tonight to check out "The Art of Agility and the Agile Unified Process (AUP)", with Sinan Si Alhir tonight.

Si compared the 'agile revolution' to the 'object oriented revolution' in the 80s-90s. Stating that agile principles and concepts will serve a similar purpose, overhauling the way that sofware development is approached - and I suppose for many of us, this is already taking place.

I have recently received my first dose of 'real world' exposure in a serious RUP shop and it's been quite eye opening, largely due to the raw amount of documentation being generated. I quite enjoyed hearing Si discuss that RUP done properly (still talking RUP, not AUP) does not require all of these documents and in many cases not even most of them. Instead a more 'common sense' strategy should be applied, generating documents that either aid the creation of a working end product or provide meaningful documentation for those that will maintain the system (or required documentation for gov't bodies, etc).

When you take a step back and look at it, it does appear to be 'common sense', but it's pretty simple to glaze over and just start generating documentation for documentation-sake when you're faced with a checklist. Especially when that checklist ends with a line for your signature and (gasp) that of your superior's boss, or something to that effect.

Monday, July 18, 2005

iBatis

So, I've done some looking into iBatis after a colleague (names are hidden to protect the innocent, so let's just call him Gike Mengler) recommended I check it out. Following my first Java-ORM experience (Hibernate), iBatis looks very appealing to me.

Looking back on my first Hibernate exposure, my biggest struggle was "giving up so much control" to Hibernate. That's in quotes because I realize that this is only my perception and an experienced Hibernate developer would surely argue that they gain a lot of control from Hibernate. My experience is/was that I was coming from an environment where I felt like I had a lot of control and could make my data retrieval and persistance do what I wanted... writing SQL statements with bells and whistles to shape data before mapping that data to Java objects with a custom framework has become second nature. It is what I've experienced in the vast majority of applications I've done to this point. In my specific Hibernate experience, this was not the case.

Another struggle was regarding unit testing. I was not too happy with Hibernate mappings coupling together mapping files which it views as being a single unit. I can see where it's coming from: in its eyes, it's populating and persisting (etc) all of these objects at once, so it makes sense that they should also be tested together. It makes sense in my head, but creating tests that make sense with this in mind proved challenging.

From what I've learned on iBatis in the last week, it makes no claims at being an ORM tool. Instead of "automatic" SQL statement creation, I have to (get to) provide my own SQL statents. I also can provide the logic needed to map them in a way that (to me) seems a bit more straightforward.

As it says in the first line on the iBatis homepage: Simplicity is the biggest advantage of the iBATIS Data Mapper over object relational mapping tools. I am looking forward to investigating the accuracy of this statement.

Tuesday, July 12, 2005

Echo2 - Initial Progress Report

Well, I've moved through the Echo1 stuff pretty quickly. It served it's purpose of basically giving me a well documented look at what they're trying to achieve with both Echo products. I would admit though that I didn't look at things in a ton of detail - which I don't think will get me in trouble. I can always refer back.

Getting the Echo2 test email app setup was pretty simple. A couple bumps since there isn't a whole lot of documentation and they didn't include a couple of jars that probably should be there. All of the missing things were readily available for download elsewhere so it wasn't a big deal... although it would have been nice of them to give me a readme.txt that told me what was missing, oh well.

Sunday, July 10, 2005

Echo2

I/we are considering replacing the JSON-RPC-Java portion of our Ajax presentation with Echo2. To sum up what Echo2 is attempting: it is a component based web framework that would allow developers to create web applications (utilizing Ajax) with relatively little knowledge of html and javascript.

The original Echo attempted a very similar goal but leveraged iFrames to accomplish it. The new version leverages the XmlHttpRequest object; yet another example of the power of this approach.

Probably the most intriguing part of this would be that the final solution will contain lots of javascript and html. It will be interesting to see how this all works out. I am expecting to find that anything more than a very basic implementation will require javascript and html knowledge, as you expand on what they are providing, but we'll see.

Anyway, I am in the very early stages of looking at it but am hoping to make some progress pretty quickly. I'd like to have a couple of slides ready for the Fox Valley JUG presentation coming up in a couple of weeks, and expand that out to 20-30 minutes for the NFJS conference.

Wednesday, July 06, 2005

Domain registered

This blog can/should now be accessed by http://jameshalberg.com