IBM BPM, V8.0.1, All platforms > Authoring services in Integration Designer > Services and service-related functions > Access external services with adapters > Configure and using adapters > IBM WebSphere Adapters > IBM i > Overview of WebSphere Adapter for IBM i > Technical overview > Inbound processing > Supported object types
Data queues
A Data queue is a system object that exists on IBM i system. Data queues are a cross-reference between data areas and message queues. These data queues help you to communicate asynchronously between programs, also known as control language programs.
A typical use for a data queue would be for a job in a batch system that is waiting for the data queue entry to be created while multiple other programs are requesting for entries to be created in the data queue. Each data queue object requires the integrated file system path name of the data queue. The system-recognized identifier is *DTAQ.
Characteristics of data queues: Data queues on IBM i system have the following characteristics:
- The Data queue allows for fast communication between jobs. Therefore, it is an excellent way to synchronize and pass data between jobs.
- Many jobs can simultaneously access the data queues.
- Messages on a data queue are free format.
- Fields are not required because they are in database files.
- The data queue can be used for either synchronous or asynchronous processing.
Advantages of data queues: The data queues:
- Provide a fast means of process communication, requiring minimal setup.
- Are designed to provide a flexible, highly efficient, yet temporary means of process communication.
- Interfaces require no communications programming and can be used either for connected or disconnected communication.
- Messages are merely described at the record-level, allowing you to define the field-level structure as required.
By default, when one program reads an entry in the queue, the entry is then deleted. Pointers to the queue entries are then updated to reflect the change in the record stack. A data queue can exist with no entries, a single entry, or multiple entries. Multiple concurrent jobs and programs can access data queues.
Benefits of using data queues: Data queues provide many benefits including:
- Contents of a data queue message are free-format (fields are not required), providing flexibility that is not provided by other system objects.
- Accessing data queues through control language (CL) command, which provides a straight forward means of developing client server applications. A control language (CL) command is a single statement to request a system function.
Ordering data queue messages: There are three ways to designate the order of messages on a data queue or message queue:
- Sequential Last-in first-out (LIFO) - The last message (newest) placed on the data queue is the first message taken off the queue.
- Sequential First-in first-out (FIFO) - The first message (oldest) placed on the data queue is the first message taken off the queue.
- Keyed - Each message on the data queue has a key associated with it. A message can be taken off the queue only by requesting the key with which it is associated.