By considering the costs and benefits of providing a common service, the project is properly justified. As such, the project has a greater chance of being successful and being supported through to completion. The risks to the project are further reduced by working on one application at a time. If the project ceases you are left with stable working systems and will have tackled the most important areas first.
Eventually only one instance of the service is left which will reduce maintenance costs and reliance on the legacies. However, if this service goes down - for whatever reason - all of the applications will be adversely affected.
Since the applications rely on a standard ORB interface, the opportunity exists to replace the service with a commercial product which can provide the same interface. Bear in mind, however, that the standard may become less popular in the future and be replaced by a new generation of interfaces.
Inevitably, the wrapped code will need to be changed to interface with the wrapper. Indeed, the code may not be readily decomposable from the legacy. Whatever the case, such adjustments provide an opportunity to make the code easier to maintain ( FantaRajlich98 claim that even small restructuring steps can have a positive effect on the code's comprehensibility and maintainability). However, to retain the idiosyncrasies present in the original applications may prove too costly and some compromises may have to be reached.
To make the legacy applications easier to understand and maintain, the now redundant functionality should be removed, but time and cost constraints may not allow this.
There are multiple applications being worked on; perhaps at different times, in different places and by different people. The proliferation and tracking of the effects of even a simple change can become complex. Configuration management tools help manage the different and changing versions of the various applications involved in the project.
It is time consuming to test distributed systems, however testing will contribute to the success of the project. |