XML-Enabling a Legacy Application
Introduction
If most developers had their way, they would spend their time building new systems using exciting, cutting-edge technology. In the real world, as most of us know all too well, the majority of us spend our time adding new features to and fixing bugs in legacy applications. However, when one of those new features we're asked to add happens to be support for a new technology, we can experience that rare, happy intersection of the humdrum and the adventurous. Building XML support into a legacy application is just such an intersection. In this article, I present an approach for conducting such a project and summarize some of the major issues involved.
I've observed a tendency for people to forget everything they ever knew about good project planning when they deal with new technology. So, at the risk of being a bit old-fashioned, I offer a very traditional, phased approach to XML-enabling an application. What may be a bit different about an XML-enablement project is the time you spend in the various phases. If you're given a requirement to support a specific schema, your analysis phase may account for less time and effort than is usually the case with other types of projects. However, you're probably going to find that the design phase takes more time than usual, due to the complexities of bolting new technology onto old technology. In addition, as with other real-world (as opposed to textbook) projects, you'll very likely find that some of the activities spill over between phases.