When considering creating a service layer to expose a legacy application to a new client layer, most normally an internet client, be aware that services are not normally exposed 1:1 with the functions encompassed by the legacy application. Most legacy application functions are small and discreet whereas the type of services we require are typically more coarsely grained and expose larger slices of functionality at any one time. We may even find that a single service boundary services the complete legacy application functionality required.
The definition of services is more appropriately done from the perspective of the consumer of the service rather than the provider of the functionality. We should take an outside-in approach rather than deciding to provide services
solely based on what legacy applications can provide. Each service needs to support a 'current' cohesive business process which may be significantly different to any discreet function that the original application was designed to deliver. This is especially so in the self service world of today. Services today need to be loosely coupled yet still need to provide a high cohesion with the business.
If we analyze the requirements of our web applications properly and make sure we understand them completely, we will be able to design our services much more appropriately. Taken the right approach we will most likely find that, although we may have several web applications that utilize our service layer, that one well designed coarse grained service will satisfy them all, and we will not create a spider's web service layer that quickly becomes impossible to maintain and a legacy in itself.
Why Work with Caro?
Caro employs consultants with significant experience, both in legacy applications and with modern technologies. Our consultants have been involved with legacy migrations, portals and service layering since the inception of the company. We have the experience to understand that your legacy applications can still be useful to you and also the experience to see how they should be utilized today and how to appropriately construct the service layer.