Monday, January 28, 2008

Hang on ! Spring integration is due

One on the most expecting even happened on 25th January. Spring integration 1.0 M1 is released. This is something I have been looking for our integration framework design. People will have their options for these in different varieties. ActiveMQ is a well known option for EIP (Enterprise Integration Pattern). But it is used as MQ server more often than a platform for EIP. Then we have Mule which is an ESB solution, but Mule has its own flavor for EIP and it really works.

But spring integration framework must be much better option with time. Not just because it is spring, but it is because of its IOC. Even before you dig in to this Reference Manual you can think of how easy the applications could be wired using spring. And with spring web services and Spring integration , you can model a good SOA architecture in your applications.

I am going to have a try on this. Will update you with progress.

Monday, January 21, 2008

IVY 2.0 is released as apache project


Delighted to see Apache IVY released its 2.0 version under apache. IVY is a long time sitter under incubator and I surprised about it in this post. Good to see IVY is under apache label now. Even better I see it under ant which will definitely help promoting IVY. I always feel that ivy + ant will always a better option over maven for small and medium proprietary projects. We at hsenid use ivy heavily and it is our major dependency management setup.

Click here to see the release notes.

Congratulations IVY.

Monday, January 14, 2008

Is Your HTML Good Enough?

I found an article that have few links for browser testing services. Here are copy paste part of that article. You can access the original one from here.

IE NetRenderer will show your page in IE 5.5, 6, or 7, to give Mac and Linux-based designers a quick sanity check. It’s free and quick.

BrowsrCamp is designed to show off how your page looks under the various Mac browser out there. You can view Safari screenshots for free, or take VNC control of a live Mac loaded with 11 different browser for prices starting at $3 for 2 days.

Browsershots is the most comprehensive of the free services, offering screen captures of your site under dozens of different Linux, Mac, and Windows browsers. It’s also popular, and it can take quite a while for requests to work to the head of the queue to be rendered. They’ve recently introduced a $15 per month priority processing program to jump requests to the head of the queue.

BrowserCam offers an online interface for managing screenshots across a variety of recent browsers and operating systems including Linux, Mac, and Windows; their coverage is excellent. You can get a 24-hour free trial; after that, plans range from $19.95 for one-day access to $399.95 for a full year. Their separate Device Capture service is the only one I know that will do screenshots of your site on Blackberry and Windows Mobile devices.

Litmus covers a variety of Windows browser, from IE 5.0 up to the alpha of Firefox 3, and say they’re adding Mac browsers soon. Results are returned via screenshots. They also integrate bug tracking, version management, and private URLs you can use to share compatibility results with clients. These features come at a price after the initial 30-day trial: 39 euros monthly for an individual account, or 129 euros monthly for a team account.

Browser Photo comes from Keynote NetMechanic. They promise screenshots from Windows, Mac and Linux systems for a $15 one-time fee or $150 per year, but don’t offer any details on which browsers or versions they cover in advance of sign-up, or any trial program.

BrowserPool takes the VNC approach to provide access to Mac, Windows, and Linux systems. Their pricing starts at 29.99 euros for one month, but unfortunately their software versions are a bit out of date.

Monday, December 24, 2007

Deploying mobicents services on startup


I had spent about 20 minutes to search in the mobicents documentation to find out the way to make the mobicents deployments permanent. But unfortunately I could not find in the documents which I thought should be a important documentation for any such servers. It might be my mistake to look out the wrong documents or I am afraid, it might have missed in their documents.

But fortunately I didn't spend too much of time to find the way. It is of course an easy and straightforward task. but I wonder how this good procedure made unnoticed and not documented properly. My apologizes to mobicents community if I didn't really look into the correct documentations.

You just have to use a template BSH script to make it working .. thats it.

For example I need my http-servlet-ra to be deployed on server startup and make it permanent.

Here are the steps I followed.

  1. Copy the /resources/http-servlet-ra/*.jars into server/server/all/deploy-mobicents/
  2. Copy the /resources/http-servlet-ra/deploy-http-servlet-ra.bsh into server/server/all/deploy-mobicents/scripts/

Thats it. Your resource adapter will be installed on server startup. You don't have to do ant ra-deploy from ra folder anymore !

Now how about installing and activating our own sbb jars on startup? Simple .. I have a http connector sbb to be deployed and activated upon startup. These are the steps I followed to do so.

  1. Copy the httpconnectorsbb-DU.jar into server/server/all/deploy-mobicents/

  2. Now you have to write a httpconnectorsbb-DU.bsh file and copy in to server/server/all/deploy-mobicents/scripts/

Use the following sample bsh file and modify it for your service. Make sure you have the same name as your DU jar file name.

You may just have to modify these two variables. Add your sbb name, sbb vendor and the version mentioned in your sbb jar xml.

String thirdPCCTriggerURL = "${jboss.server.home.url}deploy-mobicents/ThirdPCCTrigger-DU.jar";
ServiceIDImpl serviceId = new ServiceIDImpl("se.jayway.sip.slee.service.ThirdPCCTrigger-service", "Jayway", "0.1");

Now start your mobicnets server and you will see your RAs and SBBs installed and activated there.

Coool !!!

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 .