If you need to start a new web application today – what would you base it on?

Will the client experience be managed by Pure HTML or RIA ( Yahoo UI or GWT or DOJO toolkit or ATF  or  OpenLaszlo or Flash or Swing…)

Will the web tier use MVC (Struts  2.0 or 1.3 Or Spring MVC) Or Tapestry or JSF ( MYFaces , Seam ) ….

What about templating and mashups? Tiles / Velocity / Framemarker / portal servers ….

How to address security and state management for Ajax UI? will you use a BPM engine?

And on the app layer? Pojo, AOP (Spring ..), EJB, ….

Which JDK 1.4/5/6( half the world is on 1.4)?

Java technology has never been as fragmented as it is now. There is no centre of gravity with Sun no longer being a dominant player.

This is making life extremely difficult for enterprises and architects – as you need to bet on a technology while creating enterprise applications which are supposed to last a few years.

We ( MindTree as Software development and consulting organization ) – are increasingly finding customers requesting our help to define a technology stack and if possible a framework. Neel who heads the Framework group at MindTree has an innovative solution in the form of a Meta Framework.

His team has created thin wrappers for various layers of frameworks which make accessing one layer from the other layer uniform ( regardless of whether its  Spring or an EJB behind the scene, and regardless of whether its struts or Spring MVC calling the business logic).

This approach makes it possible to swap in and out different layers without impacting the other layers.  This way he has been able to limit the problem in half (assuming only one layer will go desperately out of fasion at a time). Also the developers dont need to re-learn a lot if a new framework component is introduced.

He also spends time in tracking the list of mature options at each layer and has opinion on which technologies you can bet on . As always best option depends on requirements and what the customer organization has already invested in. Organizations may end up having hybrids – based on demands of individual options.

I faced with the above dilemma for a development I am going to jump into approached him and walked back with a stack of

(YUI And/OR OpenLaszlo ) => (Struts 2 OR Spring MVC) => Spring

though I am still not convinced on why not Seam.

Last week, Microsoft launched the much awaited sharepoint templates. These are kind of solution accelerators and have been available with earlier versions as well.  However the release was a bit disappointing, coming only for Sharepoint Services – covering workgroup scenario with dashboard of events, projects and collection of documents.  Most of these templates are an upgrade of those available earlier, with nothing being available for ECM and WCM scenarios.

Like MS CMS, there are some things which are difficult to do in MOSS – like making a story appear in two places on a website, or making a display template look different from content entry template.  Providing application templates , which also cover such scenario are definitely needed as they would cut down implementation time by 3-4 weeks.

The default templates  and Role Based Templates also leave much to be desired with simple WCM scenario available in default templates.

While Microsoft’s Marketing machine is positioning up MOSS from department to enterprise levels, these templates are just not helping confirm the same.

Lets hope that better application templates are on the anvil and would be out soon.

Notes on Archival

March 11, 2007

Had the pleasure of talking to Dr. Ram (Ramachandran Narayanaswamy) on a flight back from europe this week. Dr. Ram heads the storage vertical at MindTree  and we had very passionate opinions about content archival – and I expressed the same opinions which I had at this post on Apoorv’s blog Challenges of ECM 1.0 still not solved.

Dr. Ram needed some 90 year old records from the local council – and he was able to get that, a sheet of paper, hand written, still available and still understood. Consider this with records archived about 20 years ago. They will be on an 8 inch floppy drive. As he puts it – there are multiple dimensions of complexity here

1) You need to find the physical disk (Lets assume you do – after all you can still find a 90 year old paper)

2) Media should be in good quality (Lets assume  it is)

3) You need to have a drive to load it ( Lets assume you archived a drive along with the disk, every year)

4) You need to be able to physically connect it (do you need a yesteryear’s PC)

5) You need drivers for it (do you need a yesteryear’s PC/OS etc. to be archived as well?)

6) You need to make sure you are able to read files from the file system of that time and the encoding/characterset  of that time

7) You need a copy of wordstar to read the file, something which can run on current PCs/ OSes – or you should have a way to export data to currently readable formats – if you use an old machine / OS. Now will you need to print it and go for OCR ?

All this is too complex and too much work.  Something you might be able to do for information which is very valuable. If so – whats the point in archiving the rest ?

Now imagine the data in archive Databases -how much chances are there of the same making sense even if you are able to fulfull all the 7 conditions above ? What about images? Will JPEG be available tomorrow ? We are still able to see 100 year old photographs – but will we be able to see our albums – which are JPEG – just 20 years later ?

So whats the solution ?

Constant upgrade of archived content ? Isnt that too expensive and too much work as well?

His opinion was that any long term storage needs to be readable in Natural Language ( Including database data). Makes sense for a piece of paper – but for digital records ?? Well Dr. Ram said that we still have to find a solution – and that is one thing he will be looking at as a part of his and his teams work on storage.

Well, with the short sigtedness of an engineer and not a researcher – I look at it slightly differently. While there may be no solution today – I believe that if ever there is a solution – it will be for the most popular content format. Thus I will rather place my bets on HTML. Better still if I have a XML version of the data for these HTMLs. Also that the archive storage should be online – like a NAS and not offline. So when you upgrade your NAS – you automatically upgrade your data as well.

Dr. Ram and others working on this field of archival and storage – Please solve this soon and solve for documents first and database later :-)