Integrating legacy systems with modern corporate applications
Paul Robertson · Communications of the ACM · 1997
Modern software development has taken a multitude of directions that simultaneously brings unprecedented access to corporate data and frustrates efforts to control software costs. The monolithic software development paradigms of the early years of the industry have yielded to diversity that grows at an increasing rate. Legacy software systems evolve at a sometimes painfully slow pace against an established bureaucracy, modern software systems evolve at a pace that challenges corporate efforts to introduce new products. In an environment in which new technologies and solution paradigms are being developed at great speed while legacy systems are evolving slowly, a reflective programming approach not only provides a clean factorization for object system diversity, but offers a way of impedance-matching parts of cooperative software systems that are moving at very different speeds. The trend toward greater access to data has been established and the pace of new developments in client server and intranet technologies continues to grow, while legacy data issues continue to coexist. Technologies like dynamic object oriented programming and reflective programming principles have a growing place in pulling the pieces together.