Reusing old code
- 02 February, 2005 15:53
Adopting an SOA design philosophy can reduce costs while making IT more nimble. Once, during a tour of a modern vehicle building plant, Eric Newcomer was startled to come upon an ageing VAX -- the original minicomputer -- controlling some machinery.
"It was sitting on the assembly line between the tyre robot and something that put on the fenders," recalls Newcomer, CTO of Iona Technologies. Newcomer asked the guide when the company planned to replace the VAX. "The day before it dies!" came the reply.
Although that plant represents the extreme, I doubt there is anyone in IT who hasn't saved legacy hardware or software during a modernization. Some may consider this a weakness, but I think it's a strength. IT has matured to the point where it no longer needs to rip out the old in order to erect the new. Instead, legacy apps may sometimes be left gracefully in place and new ones built on top of them, just as new genes layer over old ones in evolution or new cities arise from ancient foundation stones.
Nowhere is the power of preservation more evident than in SOA, the design philosophy usually implemented using Web services.
A clever SOA designer, for example, could create a Web service to talk to the VAX. Then other applications could drive its machinery using the service as an interface. After an initial up-front investment, SOAs help IT departments control costs by reusing old code and meet business needs faster by assembling new functions from modular parts.
I have long been an advocate of the SOA model. Newcomer -- whose book "Understanding SOA with Web Services" (with co-author Greg Lomow) was recently published by Addison-Wesley -- says companies are most likely to adopt SOA when facing a painful integration, such as integrating legacy customer databases after a bank merger. The most common mistake? Failing to build for the future. Each new Web service must be designed not only to fit existing ones but to serve new ones that have yet to be imagined.
Preserving legacy apps is another important reason to consider SOA, as Newcomer was reminded when a neighbour griped about his work. The man's company tracks incoming shipments using an old system but does accounting on a new one. The old system feeds the new one, but the interface is clumsy. "So whenever somebody enters a shipment incorrectly, it has to be fixed twice -- once in the old system, and once in the new," Newcomer says. "That's the world we live in."