So with all of this cool and exciting technology why do the faces looking back at me not look happy? Because, while all of these things may be necessary to the finished application, they are not the application. What I want, what I need, is the tool that helps me build the application and of course although there are certain known application patterns I will need to define my own or at least customize what is provided. I need the tool to provide guidance and structure so that I understand that I need pages, schema, classes and when and why I need them. Today's developer tools (and not just those from IBM) focus very much on the individual task, a better page designer, a better schema designer and very little time on application design.
Obviously there is a lot that can be done, we can use patterns and templates to define application structures as well as providing active process guidance to suggest activities and help developers understand the moving parts they are manipulating. But more is still required to help developers in making choices and selecting the right technology to solve the application problems without having to become a platform/middleware guru. So, to finish this thought for today (as I am still thinking about it and may well come back to it) I want to paraphrase IBM Fellow Don Ferguson who has an excellent slide he uses frequently (obviously you will have to imagine the amusing graphics and builds).
Customer: I want to build a service that converts Business Objects
Don: What type of EJB do you want to build?
Customer: Um. I do not want to build an EJB. You see, I have these Business Objects...
Don: Maybe you didnt understand the question. Your choices are SLSB, SFSB, CMP Entity, BMP Entity, MDB
Customer: Youre not very nice.
Comments and thoughts welcome.[Read More]