If you are an advanced Warehouse Builder user, you can design solutions that simplify routine tasks and implement best practices. You can develop these solutions, called experts, in the Expert Editor.
Experts are solutions that advanced users develop to automate routine or complex tasks using best practices.
For example, a common activity is extracting data from a flat file and loading that data into a table in Oracle Database. To accomplish this activity, users might take the following steps, in which they navigate a variety of user interfaces in Warehouse Builder:
Define a flat file module.
Identify the source file.
Specify the data format.
Define an external table.
Define an Oracle database module and location.
Define a mapping.
Validate, generate, and deploy all objects.
Execute the mapping.
To help users with this activity, you could design an expert that calls all the necessary user interfaces, provides customized instructions, and prompts users for input. In an expert, the steps are defined by tasks and the order of execution is defined by transitions.
Experts are reusable, shareable, and can access all areas of Warehouse Builder including user interfaces and the OMB*Plus scripting language. Experts can also call Java programs.
Figure 5-1 shows how an expert might look to a user. Three separate windows are displayed:
Progress Graph: Displays the expert in the same format as it appears on the editing canvas, but the executed transitions and the current task are highlighted. This window serves the same purpose as bread-crumbs, tracking the user's progress through the expert. It can also be a helpful debugging tool. You can set a property on the expert that controls whether the progress graph is displayed or hidden.
Task Assistant: Displays the name of the current task, its goal, and instructions for using it. You provide this information on the property sheets for the task as part of its definition. You can set a property on the expert that controls whether the task assistant is displayed or hidden.
Task Display: Tasks that obtain information from the user display various types of graphical user interfaces. Among these tasks are those that display Warehouse Builder components, such as the Object Editor, and those that provide basic functions, like the file selector shown in the figure. In this example, the user selects a file, and the filename is passed as an input parameter to the next task. You can also store the value in a variable to use later.
The Expert Editor provides the canvas and the palette that you need to create, modify, and deploy experts.
Figure 5-2 shows the Expert Editor with a sample expert. Tasks appear as icons on the canvas. The arrows connecting the tasks are transitions. Transitions identify the order in which the tasks are executed.
The Expert Editor is very similar to the Process Flow Editor. If you have created process flows, you will be able to adapt your knowledge very quickly to developing experts. However, there are important differences as well as important similarities.
Unit of Work: In a process flow, the unit of work is an activity. In an expert, the basic unit of work is a task.
Transitions: Both process flows and experts use transitions to connect the basic units of work. Transitions can be conditional.
Variables: Both process flows and experts enable you to define local variables to pass values from one task to another.
End tasks: Process flows have success, warning, and failure end activities, but experts have a single End task.
Subprocesses: You can design a process flow to open other process flows, and you can design an expert to open other experts. In this use, they are called nested experts.
Code: A process flow generates XML that conforms to the XPDL workflow standard. An expert generates Tcl.