This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Check in/out Problem
In one of our projects, we are converting an existing Thick Client Application (Swing Based) to a thin client solution using Spring MVC, JQuery and Websphere application Server. As a part of this conversion we plan to convert all existing functionalities AS IS using the new technology stack.
One of the existing functionalities has dependencies with the user’s desktop environment. Below points detail out the overall functionality of this feature:
User can upload any type of documents in the application.
User can navigate to the link of the uploaded document and double click it to open and change it.
On saving the document the document directly goes to the data base with the changes.
When we install the fat client application at a machine we also add Microsoft Add ins for the Word, Excel, e.t.c these add ins are invoked at the time of save or close of these MS Office document. So on save or close of the document the VBA code written inside the add ins send a notification to one of the ports on the desktop m/c.
Another client side program unit keeps listening to this port and on notification reads & transmits document to the server for updating the database.
If document is a non MS office document then after opening it from the java program a thread keeps track of the document whether it is closed or not by using it’s process id and after the close of document thread reads & transmit document to the data base.
As a part of this conversion to thin client architecture, we want to achieve the same functionality AS IS
Considering the various aspects and constraints in a web based environment, we are trying to seek for a possible or alternate solution towards this problem.
We would like to have the new solution considering following aspects:
Zero/minimalist changes to the users usability pattern that he is used to with the existing thick client solution
Any potential security issues
Any suggestion/solution towards this problem will be of great help.