|
|
![]() |
TaskServer™ is an ideal application development building block that can substantially reduce development cost and time. TaskServer’s plug-and-play architecture and powerful features offer the corporate or commercial developer many advantages when building applications that contain Business Process Automation (BPA) functionality. BackgroundConventional wisdom is that most commercial software applications have three major parts: • An application-specific component.
![]() The application-specific component contains the logic that is unique to the application. This is where a tax application, for example, will compute tax owed. The application-specific component employs the user interface component to interact with the user. It may, for example, use the windowing system of the host operating system to display information. While the application developer is responsible for how this information is formatted and should look, he depends on the user interface component to manage the window that contains this information. The user interface component is responsible for such things as resizing, minimizing and moving the window in response to user input. Designers of operating systems recognized that these functions are needed by virtually all applications. That’s why the functions are provided as a service and the application developer does not have to write new code to provide them. Recreating user interface functions inside each application would be prohibitively expensive. Similarly, the application-specific component employs the services of the data services component. A database server such as Microsoft SQL Server™ provides such a data services component. Sales automation software, for example, may store its list of contacts in the database server. The sales automation software uses an Application Programming Interface (API) to ask the database server to create a new contact record, retrieve a list of contacts in a particular city, etc. The application developer doesn’t have to worry about how a contact record is created or how a list of contacts is retrieved. But if not for the database server, the developer would have to recreate the database functions within the application code, which is a prohibitively expensive requirement. Both the windowing system and the database server have the service aspect in common. They identify certain functions that most or all applications need and provide them as a service. This results in a substantial reduction in application development time and cost. Furthermore, applications tend to be more robust and stable since the commonly provided services are used by a large number of outside applications and are subject to more rigorous use and testing. TaskServer™ brings similar benefits (in a similar manner and degree) to application development because TaskServer™ itself contains the basic elements of BPA and provides them as a service to other application components. This results in a substantial reduction in application development time and cost, and it produces applications that are more robust. In addition to their service-providing function, the windowing system and database server have another aspect in common. Both are based on a set of abstractions and properties. For example, a window has a size and location. It can be resized, moved, minimized or closed. A window can be in the foreground or background. All are abstractions common to a window. Similarly, relational tables, records, fields, primary and secondary keys, etc. are database server abstractions. Without well-defined abstractions, these systems would not be able to provide a consistent set of services. TaskServer™ is also based on a well-defined set of abstractions. These abstractions enable TaskServer™ to also provide a consistent set of services. TaskServer’s abstractions include:
The TaskServer technical white paper provides more information about the underlying abstractions and principles behind TaskServer™. Please refer to it for detailed explanations of TaskServer’s fundamental design. TaskServer™ Changes the Conventional WisdomNow we can challenge the conventional wisdom that a software application consists of three major parts. TaskServer™ will change that accepted view because it adds a fourth major application building block, the Business Process Automation component. ![]() A simple example illustrates how TaskServer™ can dramatically increase the power, flexibility and usability of an existing application with very little effort on the part of the developer. Take the case of a commercial accounting package used in a typical business. When an invoice is overdue, specific actions are usually taken. These include sending an overdue notice, calling the accounts payable department, checking customer records, etc. When the invoice is grossly overdue, another set of actions may be pursued. These may include issuing final billing notices, handing the matter over to a collection agency, changing the customer’s status, etc. Because the exact tasks vary from organization to organization, an enterprise that purchased an off-the-shelf accounting application would want to tailor the “overdue invoice” business process to its unique needs. Let’s look at what happens when the “overdue invoice” business process is not automated. Someone has to run accounting reports every day to get the list of overdue invoices. Then the tasks of sending overdue notices, making telephone calls, etc. must be manually assigned. For grossly overdue invoices, someone also has to get the printed list and assign the tasks that start the collection process. While these manual processes may be acceptable for a one-person accounting department, they’re extremely inefficient for medium and large companies where many people are performing required functions. What’s the solution? Developers could easily enhance the accounting package with TaskServer™ to automate the workflow. With the addition of TaskServer™, the accounting software can automatically trigger predefined Task Groups when an invoice is overdue. From the software development point of view, the incorporation of TaskServer™ represents minimal effort but the benefits are enormous. Once TaskServer is in place, any business can easily modify Task Groups so that its accounting package fits the business’s exact needs. As many tasks as needed can be incorporated, and the business can associate multiple fulfillers with the tasks. Tasks could be added, for example, that automatically print the overdue notices, send e-mail notifications to certain executives when overdue amounts grow too large, notify the legal department of contractual problems, etc. The business can accomplish that type of BPA quickly, without any programming, by using the graphical editors provided with TaskServer™. An even higher level of automation can be attained by using the Enterprise Application Integration (EAI) capability of TaskServer™ to seamlessly integrate the accounting package with other systems. For instance, an automated TaskServer™ software requester could be triggered by the accounting package. The software requester could then invoke a TaskServer™ software fulfiller in the order-entry system. This fulfiller might automatically defer pending customer deliveries generated by the order-entry system while an appropriate business manager is sent a customer payment history and description of the current overdue invoice. From the commercial application developers’ point of view, TaskServer™ can tremendously increase the power, flexibility, usability and the salability of their product for as little as a day’s work. The only alternative — building task services into an application without TaskServer™ — would require several person/years and would be prohibitive due to cost and time-to-market considerations. TaskServer™ is, in fact, revolutionizing the way applications are developed and the way they interact, just as database servers did when they were introduced as an application building block. And, just like a database server, TaskServer™ can dramatically increase efficiency, reduce errors, cut costs and have a significant impact on the bottom line. For additional information, please e-mail us at info@taskserver.com or call 603.881.9191 |