Last week I took up software development again at home. In 2007 I wrote a web application (Dutch) for 1st line psychological healthcare administration using Java, Spring (including Spring sub-projects like Spring-WS, Security, Web-MVC) and Hibernate and it definitively needs a couple of updates and some additional functionality.
However, I want to make some changes to the application structure as well: while writing the application, I discovered OSGi and Spring-DM, but did not use it in the application because at that time I did not want to risk any delay in delivering the application. But now that I did projects with OSGi/Spring-DM, I want to re-factor the application for using OSGi as well. The reasons for this are multiple:
I have become a fan of using OSGi from an architecture point of view. The reason for this is that its module and service structure forces designers to think about the structure of their modules. Although I (still) think the architecture of the application to re-factor here is sound, I am curious whether I will find any architectural improvements when looking at it from an OSGi point of view.
I originally designed the application for SaaS use: I set-up a practice on our dedicated server and the practice doesn't need anything more than an Internet connection and a web browser. However, some organisations have objections against this model because they don't like the idea that private information is stored somewhere out of their control, regardless of the advantages. I therefore want to keep the option open to distribute the software as a product. With OSGi I get the option to modularise functionality and only include functionality for customers that need it.
Although I am using Spring-DM for some time now, I never used the blueprint set-up of it (OSGi 4.2 compendium chapter 121). When 4.2 was released, I read the blueprint specification globally and I wonder whether I will find any difficulties using it "as specified".
I will keep you posted.
No comments:
Post a Comment