Legacy systems are still being used in a number of institutions. However, these systems need modernization in order to make them up to date with emerging technological advances. Businesses are therefore faced with two choices, either to create a completely new system to replace the existing systems or to migrate components of the existing system into a structure which exploits the emerging technologies. Systems migration would result in time and money saving as compared to creation of completely new systems and also eliminate the possibility of new bugs.
Computing systems have performed and will continue to perform a central role in any business environment (Aversano et al. , 2001). These legacy systems have been of value to the various institutions employing them, but issues of maintenance emerge as they come of age. The shortcomings of legacy systems with time outweigh their value and therefore justifying modernization. One of the ideal system architectures favored in the modernization of legacy systems is called service oriented architectures (SOAs).
These architectures have characteristics which allow the legacy systems to expose its entire components without necessarily changing the system. This paper therefore examines several ways of modernizing legacy systems into service oriented architectures (Bisbal et al. , 1999). Legacy systems Legacy systems are systems which employ outdated technologies. This is where a number of systems used in today’s business environment fall. The changing technological advancements further push current systems into legacy systems category.
These drastic changes in technology render institutions which continue to use the same system for over five years into a legacy system dilemma. Institutions continue to use these systems because of their benefits. These benefits include workability, support of the needs of the institutions and dependability. These systems have been tested because of the number of years they have been in operation. Furthermore the large nature of some legacy systems implies a huge capital investment (Sneed, 2006).
These systems form the backbone of the information flow in any institution and therefore represent the fundamental vessel for strengthening business information. As a result decision makers within such institutions are not enthusiastic in incurring additional costs and risks involved in replacing these systems. However, the weaknesses of these legacy systems reach a point where they outweigh their strengths. The maintenance of legacy systems becomes difficult as a result of complexity in understanding the systems due to their dependence on out-of-date technologies.
The systems authors may no longer be in existence and the systems manual and documentation may prove obsolete. Absence of this clear comprehension causes complexities in modifications. Additionally finding systems engineers proficient in legacy technologies and software languages may be difficult. Yet still the legacy systems may run their software on outdated hardware which is difficult to maintain and their parts could no longer be available (Bisbal et al. , 1999). Service Oriented Architectures (SOAs)
Service oriented architecture is a set of services comprising of distinct interfaces and a standard model of communication (Stehle et al. , n. d). The design of SOAs is such that the services are invoked in a particular and a common way. It is an architectural design comprising of services, service consumers and SOA infrastructure. The services refer to the reusable elements of the system which could be a business task such as transaction validation, customer and account lookup. These services are reusable because of their capability of being employed in various business processes or threads.
These services are course grained and interact with applications through a loosely coupled communication model as opposed to fine grained functionality. The service consumers refers to the clients utilizing the functionalities availed by these services. These include end-user applications, gateways and other external systems. In a real business environment, a service consumer could be processing application for customer’s orders by using customer and product lookup services. The SOA infrastructure provides the connectivity between the service consumers and the services.
This is implemented in a loose coupled synchronous communication model. This infrastructure supports efficient delivery of services and security (Chung et al. , 2005). Migration techniques Having looked at the underlying issues of legacy systems and service oriented architectures, the following section therefore examines the available techniques to achieve modernization and migration of legacy systems to service oriented architectures. Redevelopment Redevelopment of legacy systems involves writing new legacy applications from scratch.
As proposed by Zhang and Yang (2004), the code of the legacy system has to be analyzed first before the redevelopment process begins in order to clearly comprehend its functionality. This analysis process reveals the business processes the legacy systems performs. In order to satisfy the requirements of the service oriented architecture, these businesses processes are then transformed into services for implementation. Redevelopment creates a new application from scratch based on the service oriented architecture.
This creates the benefit of easy maintenance and ease of expansion within the SOA because the systems development is based on SOA. It also has the advantage of eliminating additional layers predominant in other migration techniques such as wrapping. This presents any loss of performance that is associated with additional layers (Sneed, 2006). Despite these desirable qualities, the redevelopment process is associated with addition costs in terms of money and time which can be significantly excessive. Compared to other migrating techniques, redevelopment has the least influence in leveraging investment in institution’s legacy system.
This is because the original code of the legacy system is not reused in the implementation of the new system. The original code is only used to gain clear knowledge and understanding of its business processes. This process of learning the functionalities of the legacy system’s business processes is slow and tedious. This may not only lead to delays in delivering the new system, but it also produces additional expenses and working hours and therefore increasing the overall implementation cost. The possibility of system failure using redevelopment to implement legacy system migration is too great (Bisbal et al. , 1999).