What Happens When You Enable Oracle BAM

Using the Business Catalog 12-3 ■ 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. ■ Errors : When you add a service or a reference to your BPMN Project, if the operations they contain can generate errors, then these errors appear in the Errors predefined module. ■ Events : When you add events to the SOA Composite, they appear in the Events predefined module. See Section 20.10, Introduction to Communication Between Processes Using Signal Events , for more information on how to use events in a BPM project. 12-4 Modeling and Implementation Guide for Oracle Business Process Management ■ Human Tasks : The existing Human Tasks included in the SOA Composite and the new ones you add automatically appear as components in the HumanTask predefined module. This component is generated from the Human Task you added. See Chapter 14, Using Human Tasks for more information. ■ Business Rules : The existing Business Rules included in the SOA Composite and the new ones you add automatically appear as components in the BusinessRules predefined module. This component is generated from the Business Rule you added. See Chapter 16, Using Business Rules for more information. ■ Service Adapters : The existing Service Adapters in the SOA Composite and the new ones you add, appear in the Services and References predefined modules. See Chapter 15, Working with Services and References for more information. ■ BPEL Processes and Mediators : The BPEL Processes and Mediators included in the SOA Composite and the new ones you add, automatically appear as components in the Services and References predefined modules. See Section 15.3, Introduction to Oracle Mediator in Oracle BPM and Section 15.4, Introduction to BPEL Processes in Oracle BPM for more information. ■ Synthesized Types : When you add a service or a reference that requires one or more arguments, if the data type of those arguments does not exist in the Types predefined module, then Studio automatically adds them. See Section 15.1, Introduction to Services and References for more information. You can customize a synthesized type to change its name and move it to a user-defined module. See Section 12.4, Customizing Synthesized Types for more information on how to customize a synthesized type. ■ Business Objects : There are different ways of adding Business Objects to the business catalog. See Chapter 13, Modeling Business Objects for more information.

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. Using the Business Catalog 12-5 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.

12.1.4.1 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 This figure shows the business catalog node of the Sales Quote example. The example contains a custom module named Data to store the components used in the project. The figure also shows the predefined modules Errors, Events, Human Tasks, References, Rules, Services and Types. These predefined modules are marked with a lock icon.

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-6 Modeling and Implementation Guide for Oracle Business Process Management

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.