Friday, February 6, 2009

IBM Rational products I didn't know about

Finally I managed to find some time and go through the complete list of IBM Rational products. Here is a list of tools I found interesting and new to me:
  • Rational Host Integration Solution. It looks like an advanced screen-scrambler for existing [ugly] mainframe user interfaces, powered by Rational Host Access Transformation Services. They say it's done "without changing the existing applications". Kinda telnet2ws.
  • Rational Software Analyzer. This static software analyzer looks promising, it supports C++, Java and something else. What I'm interested in is 500+ code review rules for Java. I tried to run it against one of our projects, and it produces some quite impressive results. I mean, something I wouldn't notice in an everyday life. The major drawback is that the installation is >600 Mb, which is just too much for such a simple thing (I would prefer to have it just as a downloadable plugin for my RSA). Furthermore, Rational Software Architect which I use as a main tool already have limited support for such analysis (providing just 200+ rules).
  • Rational Business Developer. After reading this: "EGL (Enterprise Generation Language) compliments the breadth and depth of Java and COBOL technology with a simplified, more abstract development paradigm", I imagined an EGL editor with a radiobutton allowing to choose one of these: "Generate COBOL code", "Generate Java code". No COBOL please. Also they compare it with .NET for a task of retreiving data from IBM mainframe (!). In the end they claim something like "yep, we knew it would happen. Dotnet sucks, it doesn't work with mainframes". In fact, that PDF is the most exciting thing about RBD, and reading it somehow resembles watching Belarussian political news on government TV channel (that's exaclty the situation when one look is worth a hundered words).
Wheeew! To be continued.

JSF in RAD links

Here are just few good links found about how to easily implement JSF in Rational Application Developer. Haven't managed to read it yet, so posting it here just in order not to lose it:

Thursday, February 5, 2009

Habits and motivation

Recently I've read a short post by Chad Fowler about development of good habits in 20 days. In short, he says that it's easy to make yourself do something just for 20 days and at the same time that's usually enough for this activity to become a habit. I like his idea (it's so simple!) and already started gathering some good habits, mostly in the household area. Let's see and wait until March :)

Also I've looked through a Paul Gram's blog, which I frankly speaking dislike because of it's well, straightforwardness. He's an over-positive, super-optimistic, completely American businessman saying some quite obvious things trying to find some deep sense inside. Anyway, I found an interesting idea there too. Let me quote it:

If you start a new year off with massive success in the first month, it’s amazing how fast it can snowball and help propel you to your best year EVER.

I think that's a fresh idea and it's not too late to start something like that in mid-February :)

Wednesday, February 4, 2009

Tricky

I'm really intrigued by OSGi stuff. No, really, I can't understand what does it mean. They call it "technology" and "framework", but these words are so generic that it doesn't mean anything to me... I gave up and searched in Russian, and it didn't help either! It's very, very interesting.

UPD: Finally found an easy tutorial on it. They could have told "it's a megasophisticated way of using pluging" instead of "framework" :)

Tuesday, February 3, 2009

Simplifying JDBC in DSL fashion

I like these libs, which are way simpler to understand and learn (at least, for simple queries) and much more lightweight than full-blown ORM tools like Hibernate:
  • JaQu, though I can't figure out if it could be downloaded without H2
  • LIQUidFORM, which does its best to look like LINQ
  • And some other LINQ-inspired implementations for Java
To understand what I'm talking about, consider this simple example replacing all that verbose JDBC stuff:
Product p = new Product();
List soldOutProducts =
db.from(p).where(p.unitsInStock).is(0).select();
And yes, I wish you good luck, because I'm afraid, some cool features (closures, etc) which can improve DSL implementation in Java won't be included in JSE 7. That's why I'm looking at Groovy with increasing interest and can't wait to see good IDE support for it.

Update: they actually will include closures in JSE 7! Not looking at Groovy anymore :)

Monday, February 2, 2009

Functional Programming in Architecture

While reading an article about Functional Programming (it's in Russian), I've caught myself that RESTful web service is a kind of Pure Function, so REST is kinda FP approach :)

BDD is too repetitive?

I've got acquainted with Behavior-driven testing, though it still looks too verbose for me. The aforementioned article doesn't give the JBehave annotation "syntax" examples, which I don't like so much.

UPD: Thinking of our poor testers who were unable to document their functional tests, start suspecting that this is what they might have needed instead of using IBM Rational Functional Tester...