An Autonomic Approach to Extend the Business Value of a Legacy Order Fulfillment System James J. Mulcahy Shihong Huang Department of Electrical and Computer Engineering and Computer Science Florida Atlantic University Boca Raton, FL, USA jmulcah1@fau.edu Department of Electrical and Computer Engineering and Computer Science Florida Atlantic University Boca Raton, FL, USA shihong@fau.edu Abstract— In the modern retailing industry, many enterprise resource planning (ERP) systems are considered legacy software systems that have become too expensive to replace and too costly to re-engineer. Countering the need to maintain and extend the business value of these systems is the need to do so in the simplest, cheapest, and least risky manner available. There are a number of approaches used by software engineers to mitigate the negative impact of evolving a legacy systems, including leveraging service- oriented architecture to automate manual tasks previously performed by humans. A relatively recent approach in software engineering focuses upon implementing self- managing attributes, or “autonomic” behavior in software applications and systems of applications in order to reduce or eliminate the need for human monitoring and intervention. Entire systems can be autonomic or they can be hybrid systems that implement one or more autonomic components to communicate with external systems. In this paper, we describe a commercial development project in which a legacy multi-channel commerce enterprise resource planning system was extended with service- oriented architecture an autonomic control loop design to communicate with an external third-party security screening provider. The goal was to reduce the cost of the human labor necessary to screen an ever-increasing volume of orders and to reduce the potential for human error in the screening process. The solution automated what was previously an inefficient, incomplete, and potentially error-prone manual process by inserting a new autonomic software component into the existing order fulfillment workflow. Keywords: autonomic computing; self-managing systems; self- adaptive systems; legacy software systems; software maintenance; software evolution; systems of systems; systems interoperability; service-oriented architecture I. INTRODUCTION By the mid-1970s – nearly twenty years before the arrival of the public internet and the transformation of retail commerce by the World Wide Web – software engineering researchers and practitioners were already aware that cost, complexity, and quality would be significant challenges for the evolution of future software systems. One of Lehman’s “laws of software evolution” assured us that software would have to be continually changed over time in order to retain its business value. Another warned that every change to software and software systems added complexity, unless explicit measures were taken to address it [1]. Complexity has indeed become a challenging issue as large- scale legacy commercial systems have continued to proliferate. These systems are often evolved or re-engineered instead of scrapped or replaced. With the arrival of the internet came the ability for systems owned by independent parties to communicate with one another, be it for simple data exchange or to offer and consume more complex services. Many of the retailers with legacy systems originally designed to process orders from traditional channels like physical stores and mail order have since modified their systems to communicate with web-based services, establishing new revenue channels derived from the ecommerce model [2]. Today, shoppers are able to order products online whenever they prefer and from wherever they have an internet connection. Vendors and retailers and shippers are able to exchange information about orders, operating as separate components of a single supply chain [3]. With the convenience and business value of interoperable systems comes even more potential for costly system complexity. It is no surprise, then, that the challenge of mitigating complexity has garnered significant attention by stakeholders and software engineers alike, seeking to improve the reliability and efficiency of their legacy ERPs while extending their business value relative to the cost of doing so.