W H I T E P A P E R Beyond Job Scheduling: The AppWorx Vision of Enterprise Automation April, 2003 INTRODUCTION The relentless pace of today s business environment and its enormous pressures upon IT staff have created continually increasing requirements for the improved responsiveness and rock-solid reliability of corporate business systems. End-user expectations for reliability and speed grow dramatically as more and more users come in contact with a wider array of software applications. Expectations now approach that of the telephone, with users demanding business systems to be available instantly and to operate flawlessly. Coincident with rising user expectations are the increasing complications of enterprise computing. IT personnel have been forced to come to grips with the accelerating rates of change, and with the demands of corporations everywhere to quickly respond to the competitive threats and opportunities brought about by e-business. The rise of the web has proven to be the ultimate nemesis for the socalled batch window - that nightly opportunity to run large groups of transactions offline. In its place we have witnessed the invention of the real-time organization, responding to changing business conditions quickly and effortlessly in a 24 / 7 fashion. This creates significant challenges for corporations as they try to adapt to the demands of near real time processing with antiquated batch-oriented back end systems. In traditional enterprise computing, the availability of the batch window meant that a significant period of time could be set aside to launch, Beyond Scheduling: The AppWorx Vision of Enterprise Automation Page 1
monitor and manage a variety of batch/sequential activities that were necessary for the proper running of the business. The new global business environment and in particular the Internet with its on-line, real time, 24x7 operation has dramatically altered this rigid notion of scheduling. The idea of having batch processes with a multitude of similar transactions processed at night is still relevant in some cases, but there are many more examples where traditional time-based, operations-centric scheduling is wholly inadequate. Processing Load Day 3 Day 1 Day 2 Day 4 Traditional batch scheduling held that business processes could be mapped out and executed in predictable ways that followed one or more business calendars. The dominant concept was that certain business activities and the software systems that supported those activities operated in sequential, predictable ways. Scheduling tools were only required to support notions of day, date, time and multiple business calendars to support corporate and/or departmental needs. For example, accounting might be scheduled on a calendar year basis and the emphasis would be on months, quarters, and fiscal year end. Alternatively, manufacturing might place all of its emphasis on weekly periods for purposes of planning, inventory analysis, and production. Manufacturing would also be forced to deal with plant shutdowns and holiday periods that impact production cycles, but may have little relevance for accounting purposes. Today s supercharged environment requires companies to respond much more swiftly to changing business conditions. Referring to the discussion above, it might still be viable for a company s fiscal operations to run on a fairly routine basis. However, the realities of increased global competitiveness dictate a manufacturer to be linked electronically with Beyond Job Scheduling: The Road to Enterprise Process Automation Page 2
its business partners in an extended just in time enterprise. To exploit the extended enterprise, the manufacturer must replace or automate its manufacturing, ordering and inventory processing systems to respond dynamically to changing business requirements and competitive pressures. Improving business responsiveness through automation is best accomplished with a comprehensive approach built in from the start. The selected solution must automate processing across a wide spectrum of software, computing platforms, and business processes. Implementing a solution that moves beyond mere scheduling and fulfills the promise of enterprise process automation can mean the difference between corporate success and failure. Traditional batch job scheduling products cannot meet today s enterprise automation needs, leading to the creation of a new breed of software to handle this increasingly complex and demanding role. Implied in this accelerated business climate is the requirement that IT staffs build flexible computing infrastructures that can become responsive platforms for change. Job scheduling tools with their rigid adherence to the limitations of automating tasks based on day, date and time don t meet this requirement. New solutions are required that can automate and accelerate existing business processes and adapt to new processes and systems as they arise. This white paper demonstrates the ever-increasing value of adding enterprise process automation software to the IT infrastructure. It traces the evolution of traditional batch scheduling, illustrates where leading edge products are today, and outlines a set of requirements for moving beyond batch processing and into the realm of true enterprise process automation. The paper concludes by illustrating how AppWorx addresses these advanced product requirements. JOB SCHEDULING DEFINED At the most basic, job scheduling is the orderly, reliable sequencing of batch program execution. To handle this duty properly, a modern job scheduler provides a host of features that allow it to schedule workload efficiently and in a manner consistent with the goals of the business. For instance, all businesses rely on one or more business calendars. Calendars govern such things as when payroll is run, when corporate reports are generated, and when fiscal months and quarters are closed. The key issues with calendars and other important scheduling features are flexibility and reliability: Can the scheduler adapt to the changing needs of the business, and deliver predictable results time after time? Beyond Job Scheduling: The Road to Enterprise Process Automation Page 3
Additionally, programs and applications need to run on a variety of platforms, at specified times, in specified orders, and with varying levels of resource demands and prioritization. Schedulers need to be flexible enough to accommodate these varying technology, business and resource demands. If the job scheduler is able to sequence processes and manage resource contentions, applications will execute faster and more predictably, and scheduling throughput will increase. Unfortunately, most scheduling products only focus on sequential activities and ignore other opportunities to balance and prioritize workload. CALENDAR S M T W T F S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Run at 1:00 A.M. on the 12th Job Stream Job A Job B Job C Simple job scheduling THE EVOLUTION OF JOB SCHEDULING Simple job scheduling has been around for decades, and dates back to the mainframe where all business activity was driven through batch transactions. In this section we will examine the evolution of job scheduling and discuss the strengths and shortcomings of various approaches. In the following section we will outline the requirements for moving beyond job scheduling and into the realm of true enterprise process automation. Manual When beginning to manage batch workload, most firms inevitably launch their jobs manually. This is understandable and even appropriate, but it is also easy to see how quickly this approach breaks down as the number of machines, jobs, and scheduling dependencies increase. Most operating systems provide a command line interface for launching tasks in a manual fashion. As an example, UNIX provides the BATCH and AT commands that allow users to launch background tasks immediately (BATCH) or AT a specific time. These commands represent Beyond Job Scheduling: The Road to Enterprise Process Automation Page 4
the bare bones of scheduling and are hopelessly inadequate for complex scheduling requirements. Surprisingly, many otherwise modern enterprise applications still require a great deal of manual intervention. Often a required business process will span several batch processes, with each batch process being preceded by a manual process to set up new batch runs, review program output, gather additional input data, initiate subsequent processes, etc. Standard scheduling tools cannot automate many of these processes due to inherit limitations in their design. UNIX CRONtab If the manual approach is not the answer for distributed scheduling, the next logical step is to look to UNIX or other distributed platforms to supply some of the necessary tools. In the world of UNIX the tool is CRONtab. CRONtab is a positional, character-based tool designed to facilitate repetitive scheduling. To use CRONtab, a user enters the required positional characters in a text file that in turn is read by CRONtab. An example of CRONtab is: 10 5 * * 1-6 /usr/lib/myprog Translated, this statement runs a job at 10 minutes after 5am six days a week (the week starts on Sunday, which is day zero). Surprisingly, CRONtab is still in very wide use despite a number of serious limitations including: No business calendars No dependency checking between tasks No centralized management functions from which to control and monitor the overall workload across the network of CPUs. No cross platform dependencies are allowed. CRONtab only manages workload on the specific machine where it resides and it is unaware of dependencies on other machines. No audit trail of jobs that have executed. No automated restart/recovery of scheduled tasks. No recovery is possible from machine failure. If the machine where CRONtab is executing crashes, there is no mechanism to move processing to a backup machine to continue the scheduling. The scheduling rules are rigid and not easily changed. No dependencies are possible on the arrival of a file Beyond Job Scheduling: The Road to Enterprise Process Automation Page 5
In other environments, parallels to CRONtab exist, including MVS/JES and DOS/Windows BAT files. Distributed Scheduling Products When mainframe-centric computing began to give way to distributed computing, job schedulers were soon created for this new environment. Conceptually, the requirements for distributed job scheduling were thought to be no different than they were for the mainframe time-based sequencing and dependencies. With mainframe scheduling tools providing the conceptual model for how job scheduling worked, the implementation challenges in the distributed environment were mainly architectural. Specifically, how do you implement secure job scheduling across a potentially large number of diverse platforms? When the batch workload is widely distributed, scheduling becomes increasingly complicated. Specific distributed scheduling issues include: 1. In the event of a failure, how will the machines resynchronize with one another when the network is restored? 2. How can I manage and monitor the workload from these broadly distributed systems? 3. How can I keep my activities secure from unauthorized users? High-end distributed scheduling solutions address these issues. Moreover, improvements in the reliability of networking, security and hardware have made the underlying environments stable and secure. In recent years, hardware and operating system vendors have concentrated on building fail-over mechanisms into their systems, which have dramatically improved reliability of the underlying IT infrastructure. This has the additional benefit of allowing a single failover approach to be implemented across the enterprise instead of needing to create and document fault tolerance and recovery routines for each application or tool in the environment. Despite these architectural advances, most modern schedulers are no more than updated versions of CRONtab: they simply schedule a script written around a core program that needs to execute. With traditional job schedulers, scheduling involves not only the creation of scheduling rules within the scheduler, but the creation of a script for each program to be executed. Distributed RDBMS-based Scheduling Early distributed scheduling solutions relied on flat or index files for their implementations. This made sense at the time given the lack of Beyond Job Scheduling: The Road to Enterprise Process Automation Page 6
reliable, high performance distributed database software to manage the scheduling repository. The flat file structure was highly portable and fast, but lacked standards for data access, which limited interoperability and reporting capabilities. Early Scheduler Architecture State-of-the-Art Scheduler Architecture Scheduler Proprietary Database Scheduler Relational Database Scheduler Agent Scheduler Agent Script Script Application Application Application Application State-of-the-art schedulers use a relational database and eliminate scripting. Modern scheduling solutions rely on relational database technology to store their scheduling data. Today s relational database technology is portable, fast, efficient, and easily accessed using SQL queries or third party reporting tools. Given the dramatic improvements and wide availability of relational technology today, it is the right choice. Application API s The rise of ERP (Enterprise Resource Planning) and other packaged applications in the late 1990 s created another force for change in distributed job scheduling. Historically, job scheduling and systems management emphasized the management of the various components in the IT infrastructure. Networks, CPU s, databases, controllers, programs, Beyond Job Scheduling: The Road to Enterprise Process Automation Page 7
disks and more require management and monitoring. Specific tools appeared for each of these areas, to monitor each component in the infrastructure. Over time, IT personnel realized that focusing strictly on a given infrastructure component without regard to the applications that these components supported was missing the big picture: monitoring and managing the enterprise. Therefore the notion of application management became popular, and large systems management frameworks became available. One-size-fits-all frameworks have lately been discredited as costly, difficult to implement, and lacking best of breed functionality. But the goal of managing applications and not just the underlying components has survived. For many IT organizations, managing and monitoring core business applications and maintaining service level agreements based on those applications is the essential service they provide to the rest of the organization. Interestingly, most packaged applications have some type of rudimentary scheduling and management capability. This built-in scheduling capability creates its own challenge as each application becomes its own island of automation, isolated from other applications in the enterprise. This creates significant integration problems when trying to synchronize processing across the multitude of enterprise applications. Enterprise application vendors responded to this challenge by creating application/program interfaces (APIs). APIs, designed for use by programmers and other technical personnel, allow the scheduler to communicate directly with the packaged application to launch and monitor jobs. Sometimes these APIs work in conjunction with the application s own scheduling/automation tool. In other implementations the application s scheduling tool is completely bypassed with the external scheduler controlling all batch activity. The scheduling vendor writes an interface to the application s API, which then allows the scheduler to perform some minimum subset of commands necessary to launch and monitor the application s batch jobs. As we will discover, this is an important, yet still incomplete step toward automating packaged application processing. ENTERPRISE PROCESS AUTOMATION The previously discussed features are the minimum core selection criteria for any job-scheduling product. However, the market requirements for automating system and business processes have moved beyond job scheduling and its rigid paradigm of scheduling jobs based on day, date, and time. Today s enterprise process automation solutions use day, date, and time as pieces of the automation puzzle, but incorporate additional Beyond Job Scheduling: The Road to Enterprise Process Automation Page 8
features designed to address the dynamics of the business and improve the responsiveness of enterprise computing. Enterprise process automation goes beyond job scheduling in the following areas: 1. Dynamic, data-driven automation 2. Conditional business rules 3. Workload balancing 4. End-user involvement 5. Fast, flexible implementations 6. Accelerating information delivery 7. Interactive graphical management 8. Security and auditability The following section describes how AppWorx implements the above requirements to provide unprecedented levels of automation, ease-of-use, reliability, and security. Dynamic, Data-Driven Automation Traditional schedulers completely ignore the application s data as a source for automating business processes. By doing so, schedulers miss the opportunity to remove processing latency and respond dynamically to the changing needs of the business. As a result, simple job schedulers don t fulfill today s increased requirements for automating, integrating, and accelerating complex business processes. Application data found in flat files, reports, and relational databases represents the current state of the enterprise. Cash fluctuates, inventories rise and fall, and invoices are paid on a day to day, hour by hour basis. To accelerate application processing, automation products must respond dynamically to the changing state of the business as represented by changes in the corporate data. Take the case where the inventory of a part has dropped below its reorder level. A typical scheduling approach would run a job at some interval daily or weekly to determine inventories. If the corporation wanted to accelerate this process it would need to write a program to check this reorder quantity and take some subsequent action order more parts. Depending on the nature of the application, several programs might need modification, which could potentially take significant time and money. AppWorx can accelerate this application process with a completely different approach. With minimal effort, AppWorx can be configured to Beyond Job Scheduling: The Road to Enterprise Process Automation Page 9
analyze changing application data and trigger events based on that data. AppWorx advanced design allows it to interrogate a data value, check its status, and initiate events immediately or at some future time. IT personnel are then in a position to accelerate business processing without making expensive modifications to program source code. As we ll see later, AppWorx is also capable of incorporating complex conditional processing into its automation rules to create custom solutions that further automate and integrate corporate business processes. As shown above, AppWorx is capable of dynamically automating applications. This contrasts with typical job scheduling tools that rigidly schedule system events or scripts. As discussed above, true enterprise automation requires the ability to interact with the application and its underlying data to achieve a complete solution. AppWorx is designed to manage applications, and can leverage information stored in multiple application databases to accelerate application processing. It is important in this discussion to define a business process. For purposes of this document, a business process is a series of interrelated steps to achieve some stated goal. Frequently, the business process while conceptually simple close the books is very complex when broken down into its individual tasks. A process is not a single task or a job; it is more likely a collection of tasks. Surprisingly many packaged applications still rely on extensive manual effort to complete a business process. This manual intervention typically involves supplying data necessary for processing and validating the results of each step in the business process - checking date ranges, generating additional reports, validating file arrival and file contents etc. There are numerous examples where the application vendor simply did not provide all of the necessary facilities to automate a given business process. The result is that critical processes are labor intensive, error prone, and consume inordinate amounts of time. Using AppWorx, organizations can automate these previously manual processes by combining scheduling, conditional business processing, and an awareness of application data. Including all of these capabilities in the automation effort, and using them to drive processing, allows AppWorx to automatically interrogate, update, process, and check this data as a part of the business process. This in turn improves timeliness, accuracy, and reliability. Beyond Job Scheduling: The Road to Enterprise Process Automation Page 10
Let s imagine a process that looked like this: Business Process X Begin Start task 1 Manually review results of task 1 Manually start task 2 using data from task 1 Manually review the results of task 2 Manually start task 3 using data from task 2 Etc. Step n End The entire business process X runs from Step 1 to Step n, but is broken up by a series of manual reviews and job submissions. Using AppWorx to eliminate the manual steps of gathering input data, reviewing output, and launching tasks changes the entire character of the business process, as illustrated below: Business Process X with AppWorx Begin Start task 1 AppWorx validates data from task 1, passes it to task 2 Start task 2 AppWorx validates data from task 2, passes it to task 3 Start task 3 Step n End By eliminating the manual process, AppWorx accomplishes two very important goals. First, the processing latency inherent in manual tasks is removed and processing is accelerated. Secondly, human errors are reduced or eliminated by removing or reducing end-users involvement in the process. Error reduction is critical, as recovering from the effects of bad data or incorrectly managed processes can be costly and time consuming. Additionally, in today s accelerated business environment, there is very little time available to recover from processing errors. Beyond Job Scheduling: The Road to Enterprise Process Automation Page 11
Scheduling Triggers Calendar S M T W T F S Application Database Scheduled Task System Event User Request Application Data Scheduler Agent Application Application The decision to run a job is based on calendars, system events, application events, and user requests. AppWorx uses application data to provide superior automation, and by doing so improves business responsiveness, eliminates errors, and frees up staff time. Conditional Business Rules Another important requirement for enterprise process automation is the ability to implement conditional business rules. These rules can be based on the underlying application data as described above, or may be based on other factors. AppWorx provides powerful tools for modeling these conditional business rules. When implementing business rules with AppWorx, logical operators are used to check for a variety of business conditions including greater than, less than, equal to, is like, etc. AppWorx also provides a wide variety of conditional operators for querying data values and making decisions based on the results of those queries. Creation of these conditional operations is straightforward and supported through a natural language interface meaning non-programmers can create business rules without coding. Traditional schedulers only provide conditional processing for return codes, if they are provided at all. Beyond Job Scheduling: The Road to Enterprise Process Automation Page 12
Simple examples of the use of conditional logic include: If the value in row x of table y is greater than 100, start process A. If there are more than 50 transactions in table y, start process A. With the ability to add additional logical operators like AND and OR, it is easy to see how complex business rules can be constructed to model the dynamics of the business. AppWorx also provides the ability to apply this conditional logic before, during and after task execution. This provides tremendous flexibility when attempting to model complex business processes. With this capability, any process can be checked to ensure that all precedent conditions, execution conditions, or successor conditions are valid. Often this conditional logic will eliminate required manual intervention or writing of program code. A simple example of this would be to check to see if a task or requirement has completed prior to starting a process, or possibly checking to see how long the current job has run and canceling it if it has run in excess of some predetermined time. More complex processes can be constructed around a variety of inputs, temporal conditions and events. An example of one of these more complex conditionals would be: Number of rows in Table A > 100, AND Inventory_Quantity in Table B < 1000, AND Time is > 22:00, AND Files A, B and C are all present, THEN Start Task(s) X, Y, Z Traditional job scheduling products don t provide the advanced functionality required to model conditional business logic. Workload Balancing Application processing today cannot be separated from the notion of workload balancing. Workload balancing ensures that scarce computing resources are allocated appropriately among competing tasks and applications. Ignoring the effects of these resource contentions can severely impact processing, and service levels suffer. Efficient automation products need to provide technology for managing these resource contentions. Beyond Job Scheduling: The Road to Enterprise Process Automation Page 13
Sources of Requests Calendar S M T W T F S Queue A: High Priority Scheduled Task Queue A: Nightly Production Jobs Executed Dynamic Tasks Queue C: User Requests Jobs Executed Queue N: Other criteria Jobs Executed User Request AppWorx uses queues to balance the workload on application machines Workload balancing provides not only the ability to set priorities for processes, but also to create multiple queues so that jobs of similar priorities can be grouped together and run according to a predetermined algorithm. Additionally, priorities and queues must be easily modified to accommodate the changing needs of the business. AppWorx provides solutions for creating and managing queues, changing queue priorities and for assigning different priorities to users, processes and schedules. These capabilities optimize application throughput and balance the load across systems and applications. End-user involvement Many of today s enterprise applications are designed to empower the end user. Users submit their own requests, generate their own reports, and are free to make demands on the system round the clock. As organizations have implemented these large applications and their companion reporting products, they have realized some additional challenges. The users, enticed by the promise of more control and better data access, want to submit requests and reports 24/7. This poses a problem for the operations staff as these user requests create fluctuations in system load that can quickly impact overall system performance. These fluctuations are often severe enough that operations personnel can no longer meet their service level objectives. Some user requests also collide with other Beyond Job Scheduling: The Road to Enterprise Process Automation Page 14
mission critical business processes. The challenge is to continue to allow end-users the freedom to maximize their use of the system while maintaining a reasonable system load and managing resource contentions. The answer to this problem lies in the unique end-user capabilities in AppWorx. By combining the AppWorx end-user component with the AppWorx workload balancing and security capabilities, both operations and end-users receive the control and responsiveness they need. Like the enterprise applications themselves, an enterprise process automation product must be flexible and easy to use so that end-users can maximize the product s features. End-users often have the best grasp of the business and know how their business processes can be accelerated or streamlined AppWorx gives them that chance. AppWorx Request Manager provides a mechanism to safely manage conflicting user requests and gives end-users the ability to request jobs (modules) on an ad-hoc basis. Additionally, authorized users can submit chains (groups of modules linked together with one or more dependencies) and monitor and manage them to completion. Upon completion, users have the ability to view output online or redirect output to a desired printer. The key to making this all work in the enterprise is being able to set the correct processing and prioritization policies for managing user requested jobs. AppWorx provides facilities so that Operations personnel can create and maintain process queues, priorities and end-user profiles. These parameters can be tuned to eliminate undue system load and resource contention. Queues can be established that only handle certain classes of requests and/or operate only during certain times of the day, which in turn allows users the flexibility to submit jobs for execution at any time without IT staff needing to worry about unmanageable processing loads. From an end-user s perspective, he or she has gained unprecedented levels of control and visibility. Launching, monitoring and canceling requests at will no longer requires intervention from IT staff. This eliminates an unwelcome and unnecessary burden from IT staff in terms of handling ad hoc user requests via phone or email. Moreover, since endusers control the submission, the chance for human errors to be introduced when the user passes the request to the IT group is eliminated. And because AppWorx can validate input data sources at the time of the user s request, you can eliminate the simple but costly errors associated with running ad hoc submissions with faulty data. In some cases, IT departments have found it desirable to have AppWorx in the background, intercepting user requests after they have been submitted through some other means. With this approach it is not Beyond Job Scheduling: The Road to Enterprise Process Automation Page 15
necessary for users to learn a new interface to submit their requests. They re often not even aware that AppWorx is involved in the processing of the request. AppWorx can still be configured to control the requested tasks, and operations personnel can capitalize on AppWorx queue management and prioritization schemes to meet their service objectives. However, involving the end-users in the managing and monitoring of their requests increases user satisfaction and cuts down on help-desk calls. Users feel empowered and more involved when they are able to actively participate in managing the application. AppWorx provides the necessary facilities to permit and to supervise this type of user participation. Fast Flexible Implementations As stated above, most schedulers are nothing more than updated versions of CRONtab: they schedule a script written around the core program that needs to execute. With traditional job schedulers, scheduling involves not only the creation of scheduling rules within the scheduler, but the creation of a script for each program to be executed. This reliance on scripts, rigid scheduling rules, and complex API s slows implementations and limits flexibility. The reliance on scripts, and the technical knowledge required to write them, precludes most job schedulers from being used by end-users, and adds enormous maintenance overhead. AppWorx provides a unique and much more efficient method for managing classes of programs: the AppWorx scriptless approach to automation. This method is based on the module concept. A module is a template that describes a given set of inputs, outputs and error handling for an entire class of programs. Once a module or template is developed for a class of programs, then it s simply a matter of pointing and clicking to automate additional programs of that type. This saves time not only by eliminating the error-prone development of scripts, but also by improving future maintainability and flexibility. For example, if a database login or a parameter value changes, then the administrator makes a single change in AppWorx that propagates through all applicable modules. A traditional job scheduler could require modifications to tens or hundreds of scripts using commands such as grep and find, with no assurance that all required modifications were made. Note that there is nothing that precludes AppWorx from scheduling the typical UNIX script or Windows NT Batch file, but efficiency and costsavings are gained when the scriptless approach is implemented for an application from the beginning. Another benefit of the AppWorx scriptless approach is that it speeds migration of programs from development to production. Because the automation rules are stored in a database, objects can be freely exported Beyond Job Scheduling: The Road to Enterprise Process Automation Page 16
and imported across environments. AppWorx mapping utility replaces fields unique to a given environment (i.e. database logins/passwords) with ease. Unique import/export functions allow quick migration of AppWorx automation rules through the entire application lifecycle - development, quality assurance, and production. The scriptless approach speeds deployment and creates a flexible platform for rapid changes in the environment. Dozens of standard templates are available for AppWorx, with new templates being added as new opportunities arise. Accelerating Information Delivery To further accelerate business processes, it is imperative that the data and reports move swiftly through the system and get delivered to the right systems and personnel. Internet time is standard across all industries, placing a premium on accelerating processing and making fast, informed decisions using accurate data. Unlike most other schedulers, AppWorx offers sophisticated output distribution capabilities. Using the AppWorx object-oriented approach, you can create a printer definition for each output device, then assign the printer definition to one or more jobs (modules). In this way, a printer definition can be created once and reused for multiple tasks. Printer definitions can specify a single printer, or a distribution list of multiple output devices. In AppWorx, a printer definition includes output devices such as laser printers, plotters, faxes, pagers and e-mail. This ability to drive output to a number of different media has become increasingly important and is now an expected part of the information delivery chain. An additional feature allows administrative personnel to create retention strategies for output files. Administrators create policies to determine how long output should remain on the system and how many copies of a given piece of output should be retained. System Administrators can manage available disk space by combining business needs with hardware and software limitations. Essentially, important files are stored and less important ones can by systematically removed. This alleviates users and administrators from housekeeping duties, and ensures that identical reports aren t re-run time and time again if they are lost. AppWorx provides its own built-in ftp capability. This functionality allows programmers, systems personnel, and end-users to transfer files without the need for coding. Files may be moved between servers and applications or even sent to users desktops. Likewise, conditionals in AppWorx can be designed to check for the FTP arrival of a file before executing a business process. This function is extremely convenient when consolidating data transferred from different locations. Beyond Job Scheduling: The Road to Enterprise Process Automation Page 17
The easy-to-use FTP feature improves developer, administrator, and enduser efficiency by saving time during setup and maintenance that would otherwise have been spent developing scripts. AppWorx provides integrated online-viewing for standard job output (stdout), and report output. Operations personnel, as well as end-users, can use this viewing function. On-line viewing results in significant cost savings over printed output since it allows users to either skip the printing process entirely, validate report contents prior to printing, and/or print only selected parts of desired reports. Desktop Viewing and storage Jobs Executed AppWorx retrieves output Printer AppWorx retrieves output Output Distribution Function Pager/Emai Jobs Executed AppWorx retrieves output Fax Jobs Executed FTP File Transfer AppWorx can distribute output to any type of output device. Java-Enabled Client Since the Internet has become ubiquitous in corporate computing, AppWorx offers a fully Java-enabled client. It can be accessed from any standard web browser, and is automatically installed when the user enters the correct URL. The new AppWorx client greatly reduces the maintenance demands on IT staff, since updating to the latest release of AppWorx only needs to happen at the AppWorx master. Clients are updated automatically the next time the users log in to AppWorx. Beyond Job Scheduling: The Road to Enterprise Process Automation Page 18
Interactive Graphical Management AppWorx graphical monitoring component provides a graphical tree view of the current scheduling activity and an intuitive point-and-click management console. For instance, if the graphical display indicated that a process has abnormally terminated, a user simply right-clicks on the object and can abort, restart, or retrieve job information. This instant action gets the job back up and running quickly. Many graphical displays provide forecasting information, but only AppWorx displays job streams in a real-time, interactive environment, and allows users to interact with the display fine-tune processing. Security and Auditability Enterprise security and auditability become increasingly important as the automation solution expands to include additional users, applications, and data. A distributed environment is inherently more prone to security intrusions. The widely distributed machines, networks, and multiple end-users present myriad opportunities for unauthorized access. An enterprise process automation solution must be flexible enough to allow the product to be safely used by the widest number of users without jeopardizing security. Security has a minimum of two dimensions: user and network. User security prevents individual users from taking unauthorized actions with the tool. These include creating and modifying modules and chains, launching processes, viewing output, etc. User-level security must provide enough granularity to allow or deny access to the complete range of functions within the product. For instance, personnel might be assigned to creating scheduling objects, but other personnel might be chartered with managing the production systems. AppWorx provides administrative control over every major function and every AppWorx object. Network security focuses on the distributed nature of today s computing environment. It is well known that standard UNIX security has some holes-- many products are already on the market to improve distributed security. AppWorx uses standard system interfaces and data encryption and does not open up holes that allow unauthorized network access. AppWorx also improves security over and above typical script-based scheduling solutions. AppWorx stores required database user logins and passwords in a central repository and eliminates the security risks created when passwords are embedded directly in scripts or given to endusers requesting jobs. Beyond Job Scheduling: The Road to Enterprise Process Automation Page 19
Auditability AppWorx provides an optional logging capability that keeps track of user activity. If this feature is enabled, AppWorx tracks modifications to the AppWorx repository, including which user made the modification, date, time, and before and after images of the data that was changed. This feature improves systems integrity and ensures compliance with various regulatory statutes. Financial and governmental institutions have historically been the most security conscious, but any organization that holds sensitive personnel, financial, or trade-secret data in their network should closely investigate the security issues surrounding their distributed applications environment. CONCLUSION The rapid pace of today s business environment has created demand for a new breed of tool to automate business processes. This new breed of tool must go beyond the world of scripting and simple time-based events, venturing into a new realm where applications and events can be driven dynamically in response to constantly changing business conditions. To achieve this new level of automation the tool selected needs to reach across a wide array of platforms and applications to offer maximum functionality and flexibility. Additionally the tool must be easy to use and responsive to change. Users need to be able to easily interact with a new breed of tools so that the corporation can leverage their skills and free the IT resources better utilized on profitable initiatives like e-business. Finally, this new breed of tool needs to be highly application- and dataaware, with facilities to access the underlying application s data, and use that data to drive the dynamics of the business. AppWorx provides all these capabilities and more in a straightforward and easily implemented solution. The product has proven itself in hundreds of corporations worldwide as the right solution for enterprises seeking a state of the art solution to their automation needs. By adopting AppWorx early in a development cycle, organizations maximize their ROI, and build in a comprehensive automation philosophy from the ground up. Beyond Job Scheduling: The Road to Enterprise Process Automation Page 20
EVALUATION MATRIX To assist in comparing AppWorx with other schedulers, a checklist is included below. It highlights the key features in AppWorx. Enterprise Automation Evaluation Matrix General AppWorx Other Multi-platform, UNIX and NT Support Single point-of-control for entire network Import/Export Utility for migrating test to production Fault tolerant architecture Resynchronization of schedules after network failure Use RDBMS for data storage and reporting Built in FTP capability Schedule Creation AppWorx Other Schedule processes using day, date, time, interval Schedule processes using business calendars Schedule processes based on file arrival, size and stability Initiate processing via application events, data or conditions Automate complex business processes Balance workload among several machines Allow static and dynamic parameter passing Evaluate conditions before, during or after job execution Event Management AppWorx Other Centralized management console SNMP capability for communicating events Insert job information in alert messages Notification via fax, email, pager, etc. Job Execution/Recovery AppWorx Other Step restart Automated recovery from failed tasks or schedules Prioritize jobs via queues, roles, and load balancing Customizable on-line documentation Retention parameters for archiving job output Beyond Job Scheduling: The Road to Enterprise Process Automation Page 21
Graphical User Interface AppWorx Other Support remote access Light-weight, web browser enabled Display current schedules, real-time events, and history End user component Output management AppWorx Other Allow on-line viewing, text searching and local printing Allow printing of just selected pages Control output distribution Send output to multiple output devices Retention parameters for archiving application output Auditing AppWorx Other Capture before and after images of all modifications Track automated and manual activities. Security AppWorx Other Role-based security for all AppWorx objects Role-based security for all AppWorx users Encrypted application passwords Use secure network protocols Application Integration AppWorx Other Extensions to major applications Automate non-standard jobs Scriptless approach for application integration Published API for developers Beyond Job Scheduling: The Road to Enterprise Process Automation Page 22
CONTACT APPWORX For more information about AppWorx, contact us or visit our website at www.appworx.com. AppWorx Corporation 2475 140th Ave NE, Bellevue, WA 98005, USA Toll Free 1.877.APPWORX Tel +1 425 644 2121 Fax +1 425 644 2266 info@appworx.com AppWorx Europe Falcon Park, Hophurst lane Crawley Down, West Sussex, RH10 4XF, UK. Tel +44(0)1342 710 560 Fax +44(0)1342 714 358 uk@appworx.com AppWorx is a registered trademark of AppWorx Corporation. Other products mentioned are trademarks of their respective companies. AppWorx Literature Part # TD022_0303 Beyond Job Scheduling: The Road to Enterprise Process Automation Page 23