e-Enabling the IT Infrastructure: Integrate, Automate, Centralize
Having weathered Y2K, corporate IT organizations now find themselves facing an even more daunting challenge: providing a flexible and integrated back-end to support e-business initiatives. For many IT departments, meeting this challenge is a matter, not only of success, but of survival. Already, a significant number of companies have chosen to bypass corporate IT as they make the move to e-business, either by outsourcing their e-business initiatives to an ASP, ISP, or e-business systems integrator, or simply by establishing new e-business ventures from scratch, which eventually cannibalize existing IT operations.
Effective back-end processing is vital to the success of any e-business model, as the highly publicized problems faced by Toysrus.com, among many others, has shown. Indeed, in the absence of effective back-end processing, even the best-planned e-business initiative can backfire, frustrating customers or introducing inefficiencies in the supply chain. In order to "compete" effectively for e-business projects, IT must provide a back-end computing infrastructure capable of handling the unique demands of e-business processing: continuous operations with no "batch window"; unpredictable flow of data into and through the system; and the need to move data quickly among a range of discrete applications, ranging from ERPs to SCM and CRM applications to databases and legacy applications.
Unfortunately, most IT departments still lack the kind of flexible, automated infrastructure that can serve as a platform for quickly launching and supporting new e-business initiatives. Instead, IT remains mired in "islands of functionality," operating a range of discrete back-end applications at both the central and departmental levels. A typical large organization may have as many as 50 or more discrete business applications running simultaneously in its IT environment. Such a hodgepodge of back-end systems makes it difficult to provide a stable, integrated back-end to e-business initiatives.
By now, most IT managers have recognized the need to integrate, automate and centralize control of corporate business processing. Two technologies in particular will be key to re-engineering IT as a back-end to e-business: Enterprise Application Integration and Enterprise Process Automation.
Enterprise Application Integration
In the brave new world of e-business, data must frequently flow between many different applications on both the front and back end in order to effectively support the business process. For example, a bank wishing to provide online banking features for its customers must link its front-end e-banking application to several back-end applications (a financial application, a customer relationship management application, etc.) which may in turn share data with yet other applications (a reporting and output management tool; a business intelligence tool; and the front-end e-banking application) as part of the bank's daily processing. Similarly, an order placed at an online bookstore triggers a range of back-end activities: inventory, warehouse management, financials, order processing and fulfillment, customer relationship management, etc.
Most organizations have recognized the need to knit together applications on both the front- and back-end in order to model the business process flow. At the most primitive level, companies have frequently been forced to custom-code interfaces between incompatible applications. This process is not only expensive, time-consuming and error-prone, but offers no flexibility should either of the linked applications, or the business process, change.
EAI vendors seek to address this problem by providing off-the-shelf solutions to automate the exchange of data between two or more applications. These tools range from simple interfaces designed to link two applications, to advanced "information hubs" that serve as a virtual switchboard, drawing in information from a source application and sending it out to one or more target applications in the appropriate format. Using EAI technology, for example, an online bookseller could take a customer sales order captured by a CGI script at the company's Web site, and distribute that information to a CRM system, an inventory management utility, a financial application, and a customized database used for tracking e-commerce statistics.
The ability to quickly define and execute these complex models for data distribution will be a key to quickly launching new e-business initiatives and flexibly changing existing processes in response to market developments or user needs. EAI data migration and transformation tools are vital to this process, enabling IT to effectively automate and manage the flow of data between systems. In addition, EAI eliminates the need to rewrite code each time an application changes, since vendors take care of the updates.
Unsurprisingly, EAI initiatives have become a top priority for most large IT organizations in the past year.
Enterprise Process Automation
EAI is an important tool in IT's arsenal, but it is far from a panacea. Equally important is the ability to automate business processes within the IT environment, reducing manual intervention and enabling IT to automatically launch and manage events and allocate processing resources dynamically, based on pre-defined business rules.
This is a source of some confusion, because many EAI vendors claim to offer business process automation. And, certainly, EAI tools provide automation at the level of the data, automatically transforming it into the required format and moving it to the interface table for the appropriate application. However, while EAI can speed data on its voyage around the enterprise, it does not automate at the level of the business process itself. Rather, EAI represents one step in a complex chain of events that begins when a user places an order for a copy of War and Peace, and ends when the book is shipped and re-stocked, the CRM and financial databases have been updated, and sales reports have been sent to the appropriate executives.
At many points along the way, operators must intervene to keep this process running smoothly: launching jobs in the various business applications, ensuring that interface tables have been populated, checking the status of completed jobs and responding to errors. Moreover, a typical large organization will have dozens, hundreds or even thousands of such complex processes running simultaneously in the computing environment, each of which may require a similar level of operator intervention. In the absence of effective process automation, the problem of launching and monitoring these processes can easily overwhelm an IT staff. They can also overwhelm system resources when a sudden wave of orders pour in, or when IT personnel unwittingly launch conflicting jobs (for example, launching a GL process in Oracle before an interface table has been populated by a legacy application).
Enterprise Process Automation provides a solution to this problem, enabling IT to establish conditional scheduling of business processes based on "triggers" which may be business events, changing application data, dates, times or conditions within the system. Automating process flows is a key to establishing a stable back-end for several reasons:
Reduced Manual Processing: Even within the environment of an ERP application, IT must still manually intervene at many points to complete supposedly automated tasks such as "close the books at the end of the day." The amount of manual processing increases dramatically when more than one business application is involved. EAI tools cannot automatically launch processes within business applications. As a result, operators waste countless hours performing such mundane tasks as checking to ensure that an interface table has been populated by an EAI tool before launching a batch job in an ERP system.
Again, IT organizations have frequently responded to this problem by custom-scripting automation solutions. Unfortunately, the do-it-yourself approach, while effective in any specific instance, becomes extremely inefficient when multiplied across dozens or even hundreds of instances. As the number of scripts and files proliferates, IT finds itself dedicating considerable resources to keeping these scripts updated. Moreover, without central coordination, the scripting may be performed in any of a range of scripting languages, resulting in a configuration nightmare. Nor do most custom scripts have the ability to restart jobs at the point of failure, to respond conditionally to events or to coordinate across multiple business applications.
Increased System Efficiency: Maintaining high levels of operator intervention is not only costly and error-prone, but is also inefficient. In the optimal back-end environment, processes would launch automatically when they are ready, not when an operator gets around to starting them. They would launch only when all dependencies have been met; they would run on the machines with the most available resources; and they would automatically notify the appropriate person in case of failure. Without rules-based workflow automation, operators simply cannot juggle all of the variables required to keep systems running at optimal efficiency.
Moreover, the unpredictable flow of data in e-business makes it difficult for IT to allocate resources effectively. For example, if IT collects and processes order information from a retail Web site on an hourly basis, they may find that they are processing hundreds of orders one hour, and only a few the next – needlessly taxing their back-end business applications. Conditional logic enables the system to react flexibly based on events (i.e. "distribute and process order data once 100 orders have been received, and also at the end of the day, unless it’s a weekend."). This enables IT to squeeze maximum efficiency from its existing resources. Conditional logic also prevents conflicting jobs from running, increasing efficiency by reducing errors and redundant processing.
Business-Focused Processing: In the unpredictable world of e-business, even the most efficiently-run IT infrastructure will inevitably face periods of data overload – a rush of orders, or a sudden spate of report requests, or some other combination of events that overwhelms the system's processing capacity. The problem is exacerbated in the e-business environment by the absence of a batch window in which to take care of large processing tasks. Instead, IT must be able to dynamically allocate system resources based on the relative priorities of the tasks, rather than leaving the decision to some stressed-out IT operator, who may not have the facts at his disposal. Many ERP systems provide facilities for prioritizing processes within the ERP environment, but only a centralized process automation enables IT to prioritize jobs across the entire business processing environment.
IT must move rapidly to put its own house in order if it is to lead the move to e-business, rather than watch from the sidelines. From the current hodgepodge of business applications, IT must move to create a back-end processing platform, capable of handling the demands of e-business. Enterprise Application Integration and Enterprise Process Automation tools can facilitate this process, enabling IT to knit together ERPs, SCMs, legacy applications and databases; and to leverage these applications most effectively by implementing centralized, rules-based processing. Ultimately, such an integrated, automated and centralized back-end infrastructure will enable developers to rapidly build and deploy e-business solutions in response to changing market conditions and customer needs, creating new profit centers and capitalizing on new market opportunities.
About the Author: Phil Sheridan is the Vice President of Marketing at AppWorx Corporation.