concurrent programs

Concurrent Programs

Concurrent, in English means, simultaneous, happening at the same time. Likewise in Oracle E-Biz, a concurrent program can be termed as a program that runs simultaneously with the application without disturbing the later. So our application is live, and hundreds of thousands of users are accessing our system, and our business needs some reports or some updates at the same time, then how are we going to do that? Oracle E-Biz gives a dedicated server to run Concurrent Programs, which is capable to run the requests without impacting the performance of the actual application. The Concurrent programs can be designed, defined and deployed to help business with these kinds of requirements.

There are four distinct processes involved with the definition of a Concurrent Program

  • Define the Execution File.
  • Define Executable
  • Define Program
  • Deploy the Program into a request group

Defining Execution File

This is the file / code that actually get executed as part of the concurrent program. It could be any of these: PL/SQL Stored Procedure, Oracle Reports, Perl Reports, SQL Loader, SQL*Plus reports, Java Reports, Unix codes etc. The first and the most essential step, is to write the code first. The code must have the Business logic in it. Once the code or file is done, the next step is to registering that in to an Executable.

The Executable

This is the place where we register the code / file with the application. See Figure 3.16 – Defining Executables.

  • Responsibility: Application Developer
  • Navigation: Concurrent -> Executable

(Figure 3.16 – Defining Messages)

The different possible Execution methods are:

  • Host: It’s written in a language that the OS would understand, something like Unix scripts
  • Immediate: Written with a subroutine written in C or Pro*C.
  • Oracle Reports: It is an Oracle Report
  • PL/SQL Stored Procedure: Written in PL/SQL.
  • Spawned: it’s a stand-alone program in C or Pro*C
  • Java Stored Procedure: A Java stored procedure.
  • Java Concurrent Program: A program written in Java.
  • Multi Language Function: A multi-language support function (MLS function) is a function that supports running concurrent programs in multiple languages.
  • SQL*Loader: A SQL*Loader program.
  • SQL*Plus: A SQL*Plus or PL/SQL script.
  • Request Set Stage Function: It is a PL/SQL Stored Function that can be used to calculate the completion statuses of request set stages.
  • Perl Concurrent Program: It is a Program written in Perl Scripts.

The Program

As the Executable is all set now, the next step is to define the concurrent program. See Figure 3.17 – Defining Concurrent Programs.

  • Responsibility: Application Developer
  • Navigation:
  • Concurrent -> Program

(Figure 3.17 – Defining Concurrent Program)

Once the Concurrent program is registered, the next task is to set the parameters.

The Parameters

If our code needs parameters, then we must define parameters that will be asked when we put in the request name, and then eventually be passed on to the code being executed. In the Program window, the parameters button leads us to the parameters screen.

(Figure 3.18 – Defining Concurrent Parameters)