Friday, June 09, 2006

Week of 06-09-2006

For my ongoing project to glue the missing pieces between ibm portal and documentum this week i was busy cleaning up my code mostly. There were code fragments that was not used and I took those out. Fixed most of the issues reported by checkstyle, findbugs, and pmd reports.

Another key feature was to parse the server side include files as well. The idea is take all relative links published by documentum to modify for portal to recognize those. We are using the wps:urlGeneration tag to do that. The issue was that include files were being ignored but that is fixed now.

Next week I am hoping to provide caching for parsed content files and navigation files.

Also, read up an article in DDJ on web 2.0 and the key thing that I got was that the new brave web world will be more contextualized and collaboration driven than ever before. Another interesting information was software engineering podcast on domain driven development. We seem to now have model driven developement and event driven development as new paradigms as well. Interesting and hope to have fun learning more on those.

Thursday, June 08, 2006

Tuesday, June 06, 2006

Week of 06-02-2006

I am currently involved in the development of a portal project using IBM websphere portal. The project involves integration of portal and documentum based publishing. It is surprising that there is no direct integration between the two products, something like what BEA portal and documentum has. Here one system has no idea about the other so we are writing glue code that integrates the two. We are providing customization around personalization, navigation, and content rendering.

Project will continue for few more weeks and this week was focussed on integrating the navigation feature. Authors will be publishing the content and associating the navigation with taxonomy files (represented as xml files) and our glue code will take that content and render it withing a portal page. Navigation glue code is in a custom portal theme which paints the left nav. Now I will be focussing on the different scenarios how the navigation should behave. There are several requirements where the entire tree will be displayed or display just the same level nodes and so on. Each level is denoted in the taxonomy file and there can be n-levels.

Continuous integration thoughts

I came across the continuos integration concept a while back and found the idea interesting. I have been developing j2ee applications for a while in teams of 1 to 15 people now and this seemed like an helpful process to deliver less buggy code in a well controlled environment. But I have looked at this concept at a very high level and hoping to dig a little deeper in future. What prompted me to blog was chance hit at Martin Flower's blog on the subject at : http://martinfowler.com/articles/continuousIntegration.html.

One of the issues that we have been facing is how to do unit testing of components that go out to external systems like database and web services. And this article sheds some light on what possible steps can be taken : http://martinfowler.com/articles/evodb.html

Need to start looking into this more seriously.


Sunday, June 04, 2006

Why not integrate design patterns directly into java language?

I have been doing java programming for over 5 years now and trying these days to understand the design patterns better especially the ones proposed by gang of four. The more I read these design patterns the more I feel that these patterns should have direct support in the java language (and for that matter any OO language). I mean think about this for a minute why not let the language evolve in the direction of best practises by building the same into it so that there is less and less scope for doing things wrong. I believe that if there are more than one way to do something and a particualr way is a design pattern or best practices than it should be directly built into the language as default and if someone wants to use some other way than he has to follow extra steps to do so. Today you have to follow extra steps to do the right thing.

I am hoping to post my thoughts on each pattern as I read more about it. Some initial thoughts are as follows. Take Observer design pattern, it is currently built into java which is good. The Singleton design pattern support is somewhat provided by java's static keyword but should be expanded so that it is not required to worry about doing those extra steps of making the constructor private and providing getInstance() method or front it by Factory pattern and so on.

test for tagworld widget