12 Using the Business Catalog

This chapter describes how to use the business catalog to store and organize the components needed to implement the processes in your BPM Project. It also describes how the artifacts in your BPM project are represented in the business catalog.

This chapter includes the following sections:

12.1 Introduction to the Business Catalog

The business catalog is a repository that stores the components you use to implement some flow objects in BPMN processes.

The business catalog stores the following types of components:

  • Errors

  • Events

  • Human Tasks

  • Business Rules

  • Service Adapters

  • Synthesized Types

  • BPEL Processes and Mediators

  • Business Objects

  • Business Exceptions

Depending on the component you can use them for the implementation of a specific activity or multiple flow objects or to define the data associations of a flow object.

Table 12-1 shows which flow objects use each of the components in the business catalog for their implementation.

Table 12-1 Flow Object Implementation

Component Flow Objects


  • Start error event

  • Throw error event

  • Catch error event

  • End error event

Business exception

  • Start error event

  • Throw error event

  • Catch error event

  • End Error Event


  • Start signal event

  • Throw signal event

  • End signal event

Human Task

User task

Business Rule

Business rule task

Service Adapter

  • Service task

  • Message throw event

  • Message catch event

  • Message end event

  • Send and receive tasks


  • Service task

  • Message throw event

  • Message catch event

  • Message end event

  • Send and receive tasks

BPEL Process

  • Service task

  • Message throw event

  • Message catch event

  • Message end event

  • Send and receive tasks

Business Object

You can use them as arguments in the data associations of the following:

  • Service task

  • User task

  • Business rule task

  • Message throw event

  • Message catch event

  • Message end event

  • Send and receive tasks

Depending on the type of component, the business catalog uses two different ways of storing them. You can divide the components by the way the business catalog stores them into the following categories:

  • Non-Synthesized Components

  • Synthesized Components

12.1.1 Non-Synthesized Components

The business catalog stores a file with information about these components. When you open a BPM project, the business catalog reads the file it created to load the component.

The following components are not synthesized:

  • Business objects

  • Exceptions

  • Modules

  • Customized services and references

12.1.2 Synthesized Components

The business catalog generates the component structure dynamically based on an SOA component included in the SOA composite or an XML type or element. You cannot modify these components. Depending on the type of component they appear on a different predefined module. You cannot move the component to another module. To modify or store the component in another module, you must customize the service or the type.

The business catalog does not store any type of file for synthesized components. It generates the structure of synthesized components dynamically based on the XML or SOA component they represent.

You cannot modify synthesized components or move them to another module. Because these components are dynamically generated, they automatically reflect any change you make to the XML schema or SOA component they are based on.

The following components are synthesized:

  • Synthesized Types

  • Business Rules

  • Human Tasks

  • BPEL Processes

  • Mediators

12.1.3 Adding Components to the Business Catalog

The way you add a component to the business catalog varies according to the type of component.


If you add a component that references resources that are missing or corrupted, the business catalog shows this missing dependencies with an error node. The label of the node displays the path of the resource. For more information on the missing resource place the mouse over the node to display the tooltip, or build the BPM project. Building the BPM project enables you to find the component that requires the missing resources.

12.1.4 Using Modules to Organize Business Components

You can organize the Business Objects in the business catalog into different groups using modules. Generally you group all the related components into a module.

In the Sales Quote example you can create a module named Quotes to store all the components used to manage the information about the quotes used in the process.

You can nest modules. Nesting modules enables you to create a hierarchical structure that reflects the organization of your components.

In the Sales Quote example you might want to group all the modules that handle the information in the project into a single module. To do this you can create a module named Data that contains modules like Quotes and Contracts.

Organizing components using modules has the following benefits:

  • It improves the readability of your project. Ideally the name of the module provides information about the components it contains.

  • It makes it easier to locate a specific component.

  • If needed, you can use the same name to identify different components that belong to different modules.

You cannot add Business Objects in the root level of the business catalog. You must always create a module where you can store your Business Objects.

It is a good practice to name the modules using a descriptive identifier. This makes it easier to find a component and makes your project easier to understand for other developers. Predefined Modules

The business catalog contains the following predefined modules:

  • Errors: Stores the errors that the operations in the services and references in your project define.

  • Events: Stores the Events that you add to the SOA Composite.

  • HumanTasks: Stores the Human Tasks that you add to your project.

  • References: Stores the interfaces you can use to define the interface of your BPMN process.

  • Rules: Stores the Business Rules that you add to your project.

  • Services: Stores the components that you can use to implement the flow object in your BPMN process.

  • Types: Stores the types that Studio generates when you add a service or a reference that require arguments of types that do not exist in the business catalog.

These modules are a permanent part of the business catalog and you cannot remove or rename them. Studio does not allow you to create new top level modules with these names.

You cannot create new modules within these predefined modules. Because the components stored in them are synthesized, you cannot rename them or move them to other modules.

Figure 12-1 Custom and Predefined Modules

Description of Figure 12-1 follows
Description of "Figure 12-1 Custom and Predefined Modules"

12.2 Adding a New Module

The business catalog enables you to create new modules to store and organize the Business Objects in your project. You can add a module at the root level of the business catalog or within another module.

12.2.1 How to Add a New Module

You can create a new module to store the new components you create and the customized services and references.

To add a new module:

  1. In the BPM Project Navigator, right-click the Business Catalog node or a user-defined existing module.

  2. Select New.

  3. Select Module.

  4. Enter a name to identify the module.

  5. Click OK.

12.2.2 What Happens When You Add a New Module

The new module appears in the business catalog. You can create new business objects, business exceptions and modules within the new module. You can also customize services and references

12.3 Deleting a Module

You can delete the custom modules in the business catalog. You cannot delete the predefined modules. When you delete a module, you also delete all the components within the module.

12.3.1 How to Delete a Module

You can delete those modules that you do not use or need.

To delete a module:

  1. In the BPM Project Navigator, right-click the module you want to remove.

  2. Select Delete.

    A confirmation message appears.

  3. Click OK.

12.3.2 What Happens When You Delete a Module

When you delete a module, the module and the components within the module are removed from the business catalog.

If there are any flow objects or components in your project that use any of the deleted components, then this causes errors when you build your BPM project.

12.4 Customizing Synthesized Types

You can customize a synthesized type to change its name for a more descriptive name that helps process analysts and process developers understand the use of the component. When you customize a type you must also provide a user-defined module in which to store the customized type.

12.4.1 How to Customize a Synthesized Type

You can customize a synthesized type to change its name and move it to a user defined module.

To customize a synthesized type:

  1. In the BPM Project Navigator, expand the Types predefined module.

  2. Right-click the type you want to customize.

  3. Select Customize Type.

    The Create Business Object dialog appears.

  4. In the Name field, enter a name for the customized type.

  5. In the Destination Module field, enter the name of the module in where you want to store the customized type, or click the browse button to browse the available modules and select one.

  6. Click OK.

12.4.2 What Happens When You Customize a Synthesized Type

The synthesized type in the Types predefined module disappears and a new business object appears in the module you selected for the customized type.

Oracle BPM Studio automatically replaces all the references to the synthesized type with references to the customized type.

If you delete the customized type, then the synthesized type appears back in the Types predefined module.