Logo
Cooperative Software Systems, Inc.
CoopSoft.com
Home Products Company Contacts News Licensing
 

 

 

 

 

  Home

 

  Products

 

  Company

 

  Contacts

 

  News

 

  Licensing

 

Frequently Asked Questions

divider

Contents:

  1. What is an Asynchronous Process?
  2. What is an Asynchronous Task?
  3. What is a backend service?
  4. When would I use it?
  5. Why limit the number of tasks in a Queue?
  6. Does Tymeac support delayed processing?
  7. I can do this myself.  Why should I get this product?

 

Q.  What is an Asynchronous Process?

Other names for this are the Background Process, Attendant Process, or Daemon.

The classic example is printing. Rather than tying up a foreground process with physically printing a document, the foreground process creates a new background process that handles the logic and I/O for the printer.

It is when the application becomes mission-critical and/or more complex that designing a full feature asynchronous process becomes a major undertaking.

  • Providing prioritized queues for the requests,
  • providing multiple asynchronous tasks to process the queues and the management that goes with it,
  • providing synchronous access (wait until complete) and asynchronous access with call-back,
  • providing automated error recovery,
  • providing back-out and restart,
  • providing inquiry and modification to the execution environment.

This major design and implementation may cost so much in time and resources that the team looks for easier alternatives.

It is for these reasons that there is Tymeac™.

top

 

Q.  What is an Asynchronous Task?

Tymeac is an asynchronous process / task manager.

Synchronous tasks are the Client tasks started by CICS in response to input of some kind.

Asynchronous tasks are the tasks either the application starts and controls or the tasks Tymeac starts and controls on a Backend Server. Tymeac relieves you of the burden of managing asynchronous tasks.

You set up a Tymeac Queue for each component application specifying the maximum number of asynchronous tasks.

  • Tymeac balances work among those asynchronous tasks so that they use the minimum amount of resources.
  • Tymeac handles the recovery from anomalies (a huge burden for applications.)
  • Tymeac synchronizes all the asynchronous tasks (another huge burden for applications.)
  • Tymeac offers timing of requests (a synchronous request is when you wait for completion of all Tymeac Queues.)
  • Tymeac offers background processing (an asynchronous request is when you schedule a request and do not wait for it to complete.)
  • Tymeac links to your user-written application program to execute the application logic.

top

 

Q.  What is a backend service?

Back-ends are the opposite of front-ends.

Front-ends are green screen, GUI services or any application that one considers a client.

Back-ends are generally hidden from the user of the application. These are any applications that one considers a server. In addition, the server itself may require "services." This is where Tymeac fits in.

top

 

Q.  When would I use it?

Anytime an asynchronous tasking is desirable. The list is only limited by imagination.

See also Real World Examples

To make use of persistent storage on a Backend Server.

Tymeac is a Backend Server environment. Once Tymeac starts, the storage acquired by asynchronous tasks within this environment persists.

For parallel processing:

For example:
A process requires access to two databases, (customer and pricing). 

Set up a Tymeac Queue for each database access. Set up a Tymeac Function that uses these two Queues.  [This is as easy as filling in the blanks.] When the client application uses this Tymeac Function, both Queues are active simultaneously.

To time a request:

In the above example, simply tell Tymeac how long to wait for completion of all Queues before purging the request.

To run an autonomous request with call-back:

In the above example, tell Tymeac not to wait for completion. The client is free to perform other work. When the last Queue finishes, it may optionally schedule an Output Agent. The Agent may take the responses from the Queues and send them anywhere.

To separate components:

See the key benefit, Gateway

In the above example, the application requires two database accesses. Each of these may be for a different vendor's database or even legacy applications.  Incompatibilities between products and/or applications is irrelevant. Tymeac segregates logical units of work.

To separate client from server:

One of the essentials of Tymeac is the ability to separate the Web-based interface from the rest of the company.

In the above example, this 'process' may be the back-end for an Internet/Intranet front-end. You can put security, or anything else, in each component without ever touching the front-end.

To isolate failures:

See the key benefit, Containment

In the above example, if one database access 'hangs' or abnormally terminates, recovery is easier. There is no need to handle every possibility in relation to every other possibility. Tymeac isolates components. 

top

 

Q.  Why limit the number of asynchronous tasks in a Queue?

Resources:  Less asynchronous tasks means less memory and less cycles.

Competition:  Asynchronous tasks compete with each other within a Tymeac Queue, with other task in CICS, and with other processes in the Box. Sometimes adding more tasks slows down overall processing because of resource limits, (memory, cycle, network, locks, blocking, etc.)

Let's say you have an application that uses two (2) additional asynchronous tasks such as the prior example

In an n-tier application server you may have one hundred (100) of these applications active at one time. That means that there are two hundred (200) tasks for these applications competing with each other for resources.

Now the same application with Tymeac.

You set up a Tymeac Queue for each database access component.  For this example we set ten (10) as the maximum number of asynchronous tasks for each Queue.

When one hundred (100) applications are active, the maximum number of  asynchronous tasks for these processes is twenty (20), not two hundred (200). That means that there are one hundred and eighty (180) LESS asynchronous tasks competing with each other for resources.

When no asynchronous task is immediately available to process a request, Tymeac places the request in a prioritized wait list (your request designates the priority). This assures that the "hot" request processes first. When an asynchronous task finishes a request, it looks in the wait lists for more work.

Of course this means that requests "stack up". This is the balance:  How many requests may stack up before it is better to have another asynchronous task?  

You have the option of specifying the maximum number of asynchronous tasks for each Queue.

You have the option of specifying when a new asynchronous tasks becomes a participant in processing through new task thresholds.

You have the option of specifying task creation time (at Tymeac start up or when first needed) and task destruction (after an idle period or never.)

You have the option of timing requests.

You have the option of prioritizing requests.

You are in control, not chance.

Tymeac keeps detailed information about each Queue and Function. Tymeac provides tools to monitor, alter, and log these statistics dynamically and statically.

top

Q. Does Tymeac support delayed processing?

No, Tymeac is a process now system. Delaying the processing is outside the scope of an asynchronous process manager.

However, there are numerous middleware, message-queuing systems on the market. The scope of these systems is that one sends a message, (this could be the parameters for Tymeac), to a Queue with instructions to deliver the message to another Queue at a later time.

top

Q.  I can do this myself.  Why should I get this product?

Tymeac is not rocket science. Tymeac is grunt software.

Any reasonably capable programming team can write software that manages queues and tasks.

. What Tymeac does is:

  • Manage the asynchronous-process environment very, very well.
  • Provide a generalized management framework for all your asynchronous-process work so that you do not have to write custom code for each application.
  • It is written -- saving you months or years of development time.
  • The price is right.

top

Tymeac is a trademark of Cooperative Software Systems, Inc
CICS is a registered trademark of International Business Machines Corporation

   

1998 - 2006 Cooperative Software Systems, Inc.  All rights reserved.