Wednesday, November 28, 2007

Observer pattern using spring AOP

I published an article on how to implement the observer pattern using spring AOP.

Visit here to have a look !

Friday, November 16, 2007

Pattern Oriented Frameworks - Need for the hour

Got to know about the project in java.net called J2EE pattern Oriented framework Which has built it patterns like DAOs, Service Locators, Adaptors, MVC etc. This is something interesting and I have been dreaming for this for long long time.

What I really wanted is little different approach. The architect should do more than the design. Every chief architect of any company should bring a pattern oriented framework for their company. I doubt we can use the above mentioned java.net project or x-rad . Because if we use a common framework for this kind of things it will often bring confusions by the garbage stuffs in there. But you can use it as a reference and build your own model for your company. That will really help the RAD approach. How many times we have seen dev teams stuck in getting the basic things right ? Plenty. The main reason is that every engineer is reinventing the wheel all the time which would affect the team efficient heavily.

Think about Ruby. It has gone to it's hype (Yes hype ! ) after the arrival of Rails. See Grails for how easy to do a project there. You will spend no time to get the basic setup done, your designs done etc.
So you need a Grails like model for J2EE. You have a build.xml or maven to create the project. Create what ever model you want. I want a MVC setup with spring MVC, DAOs with hibernate, Mysql back end .. woof .. the build will do the rest. It will create the model with basic stuffs. So you only need to consider on your business domain, not the technical domain. Because you will have the reference implementations for your companies flavor already.

Yes it is pretty hard for a service provider, every time you need to changes your technologies, designs, models etc etc. But thats what the industry is all about. Like the maven ibiblio, have a framework ibiblio repository And every time you have a model in place, just do the prototype work and commit to your framework ibiblio repository

So the need for the hour is an architect (framework architect or infrastructure architect) who should design the prototypes with every patters a company use and maintain a ibibilio like repository in the company.

RAD will be RRRRAD then I am sure !

Wednesday, November 14, 2007

Mixed reviews on Google's Android


Recently Ruchith posted about Google phone and it's new SDK. Eventually the released happened and here is a little post on it.
After the initial delightment of the announcement on Android release, people seemed giving mixed reviews on it's Dalvik virtual machine. Impressed with the linux2.8 kernel , libraries and the application stack. But the eyebrows are raised when it comes to the runtime engine Dalvik.

When I saw that the Dalvik's limited support to standard java ( Ok Sun java !) , suddenly GWT came to my mind where GWT supports core java like java.lang , still it is a different JRE and compiler. But it is understandable for GWT as end of the day you create java scripts out of it.

But here Dalvik's attempts to become a standard for mobile devices. Of course we often have enough troubles and limitations with J2ME. So Google would want to have its own standard. But it will take a bit long while to be available and compatible in the market phones.

But IPhone is yet to arrive in Asian market and Google is planning to release its own model, it won't be too long Android dominating the arena.

And since Google's lack of intention to go along with Open JDK on this, I think slowly Google is moving to its own Google JDK. So be ready !!!

Good articles found on Info Q and oreillynet .

Tuesday, November 6, 2007

Google enters into mobile




Google takes a big step forward by moving into mobile and introducing Open Hanset Alliance(OHA) which includes 34 powerful companies such as Qualcomm, Motorola, Samsung, T-Mobile, Sprint, Skype, LG, HTC, KDDI, DoCoMo and China Mobile,etc. Goal of this alliance is to develop an open source operating system for mobile phones, in other words "an alternative to Symbian OS, Windows mobile and iPhone". (I'm sure Apple will think about opening their OS and Symbian too).

Google's mobile OS will be called "Android" (No "Google" word/logo attached at all .... how humble they are .... ) which is an open source OS built on Linux and Java.
Since this mobile OS is available for free of charge for OEM vendors, this will be a major hit for proprietary mobile OS vendors.
Further it will give more flexible environment for mobile application developers.
And I'm sure ......... this will lead to come up with some more mobile OS distro like in linux desktop.

Surprise ........... this Android SDK will be available from Nov 12th, and mobile phones will be available from mid of 2008 [Not sure how fast it going to come here , since it will be launched initially USA, Europe, Japan and China ].

I think this is a great news to mobile application development companies like us, it will eliminate some of the barrier currently we have because of the closeness of the mobile operating systems.

Finally.........mobile application developers are getting more flexibility and more open environment.

Sources :
image from http://www.dailytechrag.com
info from here

Monday, November 5, 2007

commons logging and log4j

Few weeks before there was a mail discussion on getting rid of commons-logging from ws projects and the answers from people were all +1 . I wanted to have a look but I couldn't manage better time to look it.

Yesterday my friend Thayapavan was asking a related question on what's the different between log4j and commons-logging. Interestingly it was asked by a an interviewer which is clear now that people start thinking on why we use these two jars just because they are there !

First question is why we need commons logging? The idea of commons logging must have come from the concept that logging implementation is an integration feature, not a development feature. Developers use commons logging in their code without worrying of what the implementation is. It is the integration people to decide whether to use log4j, or jdk logger or any other proprietary ones.

So I think it is a development choice. You would not like to tie log4j in to your source in case you want to change it in future (example jdk one) . But I think 8 out of 10 times people wouldn't do it. And people who have tasted writing the Appenders and the other fancies what log4j has (specially after log4j 1.2) wouldn't even think of it ! So if you are comfortable using it then go for it instead wrap it with commons-logging. Or want be too smart and depend on integrators to decide then go for commons-logging !