This chapter includes the following sections:
About Merging Runtime Customizations from a Previously Deployed Revision into a New Revision
About Extending or Customizing Custom SOA Composite Applications
About Deploying SOA Composite Application Customizations and Extensions
For information about troubleshooting SOA issues, see the "Troubleshooting Oracle SOA Suite" chapter in the Oracle Fusion Applications Administration Guide.
Note:
This chapter does not describe customizing and extending Oracle Business Process Management Suite (Oracle BPM Suite). Oracle BPM Suite is installed on top of Oracle SOA Suite, and provides the ability to run Business Process Modeling and Notation (BPMN) processes. To accomplish this task, there are extensions to JDeveloper for working with BPMN (Oracle BPM Studio) and a web-based application for working with BPMN processes (Oracle Business Process Composer). For information about BPMN process flows, see the "Object Workflows and Business Processes: How They Work Together" section in the Oracle Cloud Extending Sales.
Oracle SOA Suite extensions cannot be used with JDeveloper Integrated WebLogic Server. If an application has references to Oracle SOA Suite shared libraries, then customizations on the application cannot be tested with Integrated WebLogic Server.
SOA provides an enterprise architecture that supports building connected enterprise applications to provide solutions to business problems. SOA enables you to develop enterprise applications as modular business web services that can be integrated and reused, resulting in a flexible, adaptable IT infrastructure. SOA separates business functions into distinct units, or services.
Oracle SOA Suite provides a complete set of service infrastructure components for designing, deploying, and managing SOA composite applications. A SOA composite application is a service, service component, and reference assembly designed and deployed in a single application. Wiring between the services, service components, and references enables message communication.
Oracle SOA Suite consists of SOA components that comprise the business logic and processing rules in a SOA composite application. You can include components such as the following in a SOA composite application:
Business rules:
The following business rule categories are available:
Approval configuration (expirations, escalations, and notifications) and assignment rules:
Define complex task routing slips for approval management by taking into account business documents and associated rules to identify the approval hierarchy for a work item. Additionally, approval management lets you define multistage approvals with associated list builders based on supervisor or position hierarchies. You can also define expiration, escalation, and notification configurations. For example, an expense approval task may use rules to define its approvers.
Approval configuration and assignment rules are within the context of a human workflow.
Nonapproval business rules:
Define a business decision based on rules that enables dynamic decisions to be made at runtime that automate policies, computations, and reasoning while separating rule logic from underlying application code. For example, you can define a business rule to select a supplier with the lowest shipping price to fulfill a shipping order.
Nonapproval business rules are in the context of Oracle SOA Suite, but outside of human workflow.
Rules in non-Oracle SOA Suite applications
Use of standalone rules in non-Oracle SOA Suite applications is supported. You can completely control how the rule dictionaries are structured and how these applications are patched. You may structure the rules as recommended for Oracle SOA Suite rules, as described in this chapter.
A rule dictionary is a business rules container for facts, functions, globals, bucketsets, links, decision functions, and rulesets. A dictionary is an XML file that stores the application's rulesets and the data model. Dictionaries can link to other dictionaries. A bucketset enables you to define a list of values or a range of values of a specified type. After you create a bucketset, you can associate the bucketset with a fact property of a matching type. Business rules use the bucketsets that you define to specify constraints on the values associated with fact properties in rules or in a decision table. A ruleset is a business rules container for rules and decision tables. A ruleset provides a namespace, similar to a Java package, for rules and decision tables.
Domain value maps:
Operate on actual data values that move through the infrastructure at runtime. A domain value map enables you to map from one vocabulary used in a given domain to another vocabulary used in a different domain. For example, one domain can represent a city with a long name (Boston), while another domain can represent a city with a short name (BO). In such cases, you can directly map the values by using domain value maps.
Human tasks:
Extend a workflow that describes the tasks for users or groups to perform as part of an end-to-end business process flow. For example, a vacation request workflow is assigned to a manager. The manager must act on the request task three days before the vacation starts. If the manager formally approves or rejects the request, the employee is notified with the decision. If the manager does not act on the task, the request is treated as rejected. Notification actions similar to the formal rejection are taken.
Business Process Execution Language (BPEL) processes:
Integrate a series of business activities and services into an end-to-end process flow. For example, a BPEL process flow calls a credit rating service. When you run this process, you enter a social security number into a user interface. The credit rating service takes the number and returns a credit rating.
Oracle Mediator:
Defines services that perform message and event routing, filtering, and transformations. For example, Oracle Mediator can accept data contained in a text file from an application or service, transform it into a format appropriate for updating a database that serves as a customer repository, and then route and deliver the data to that database.
For more information about these components, see the Developing SOA Applications with Oracle SOA Suite.
Oracle SOA Suite supports the following types of customizations and extensions of these components:
Customizing several components during runtime
Customizing and extending several components during design time
The tool to use depends on the component you are customizing or extending and whether you are performing these tasks during runtime or design time. The following table provides details.
Note:
If you are customizing approval configuration and assignment rules or nonapproval business rules for a deployed project (either for Oracle SOA Suite or Oracle BPM Suite), always use Oracle BPM Worklist or Oracle SOA Composer. If you are customizing approval configuration and assignment rules or nonapproval business rules as part of a new Oracle BPM Suite project being extended in Oracle Business Process Composer, then use Oracle Business Process Composer.
Table 5-1 Customization and Extension Tools for Oracle SOA Suite
To Perform These Tasks... | Use This Tool... | Use This Tool At... | Tool User |
---|---|---|---|
Customize approval configuration and assignment rules |
Oracle BPM Worklist (recommended) or Oracle SOA Composer Note: If you use Oracle SOA Composer to customize approval configuration and assignment rules during runtime, changes in subsequent revision patches are not applied successfully. |
Runtime in a deployed SOA composite application |
Technical analyst |
Customize nonapproval business rules |
Oracle SOA Composer |
Runtime in a deployed SOA composite application |
Business analyst |
Customize domain value maps |
Oracle SOA Composer |
Runtime in a deployed SOA composite application |
Business analyst |
Customize SOA composite application endpoint properties such as the following:
|
Fusion Applications Control |
Runtime in a deployed SOA composite application |
System administrator |
|
JDeveloper (when logged in with the Customization Developer role) |
Design time (when complete, you must deploy the SOA composite application) |
System integrator |
Note:
You cannot customize human tasks, BPEL processes, and Oracle Mediators during runtime in a deployed SOA composite application.
When using Oracle SOA Composer, you can save your customizations in a sandbox environment without applying them to a running instance. You can later return to the sandbox to make additional customizations. These customizations are applied to the running instance only when you click Commit.
When you click Save or Commit in Oracle SOA Composer, a dialog is displayed in which you can optionally enter comments. When complete, you click OK, which performs the save or commit action, along with saving the comments.
Before you customize SOA components, become familiar with the Oracle Fusion application architecture that enables customizations, as described in Customizing and Extending . Also understand the typical workflows for working with runtime customizations, as described in Understanding the Customization Development Life Cycle.
In addition, you need to perform the following tasks before you can begin customizing your application:
Install JDeveloper and set up your development environment. Before you can implement customizations using JDeveloper, you must create an application workspace that imports the necessary parts of the application you want to customize. For more information, see About Installing Customization Tools and the "Setting Up Your Development Environment" chapter in the Developer's Guide.
Create a customization application workspace. For more information, see Using for Customizations .
Start JDeveloper in the appropriate role.
For more information, see Using for Customizations .
As described in Table 5-1, you can customize SOA components during runtime in a deployed SOA composite application with a runtime tool. This section provides an overview of these tasks and provides references to additional documentation for more specific instructions.
Note:
You cannot customize SOA components in Oracle Fusion CRM Application Composer (Application Composer). However, you can extend a business event in Application Composer and use the Event notification action to notify a SOA composite application by email of the occurrence of the event.
Use a web browser to start the tools shown in the following table for customizing approval configuration and assignment rules, nonapproval business rules, domain value maps, and SOA composite application endpoint properties at runtime.
Table 5-2 Starting the Customization Tool
For Customizing... | Start... | By Entering... |
---|---|---|
Business rules |
||
|
Oracle BPM Worklist (recommended) Note: You can alternatively use Oracle SOA Composer to customize approval configuration and assignment rules during runtime. However if you do so, changes in subsequent revision patches are not applied successfully. |
http://host:port/integration/worklistapp |
|
Oracle SOA Composer |
http://host:port/soa/composer |
Domain value maps |
Oracle SOA Composer |
http://host:port/soa/composer |
SOA composite application endpoint properties such as Oracle WSM security policies and binding component properties |
Fusion Applications Control |
http://host:port/em |
After accessing the runtime customization tool to use, select the data to customize:
Oracle SOA Composer:
From the Open list in Oracle SOA Composer, select the data to customize, as shown in the following figure.
Figure 5-1 Open Menu of Oracle SOA Composer
The following table describes the options available for selection.
Table 5-3 Selecting the Data to Customize
For Customizing... | Select... |
---|---|
Nonapproval business rules |
Open Rules |
Domain value maps |
Open DVM |
Approval configuration and assignment rules |
Open Task Note: If you use Oracle SOA Composer to customize approval configuration and assignment rules during runtime, changes in subsequent revision patches are not applied successfully. |
Oracle BPM Worklist:
In the Administration section, click the Task Configuration tab.
Select a specific approval configuration and assignment rule task to customize.
Select a task to view or customize from the list of task types.
Fusion Applications Control:
In the navigation pane in Fusion Applications Control, expand the SOA folder.
Expand soa-infra.
Expand the partition in which the SOA composite applications are deployed (for example, default).
Select the SOA composite application to customize.
Two categories of rules are available:
Approval configuration and assignment rules:
You can customize approval configuration and assignment rules included in a deployed SOA composite application using Oracle BPM Worklist (recommended), as shown in the following figure, or in Oracle SOA Composer, as shown in Figure 5-3.
For more information, see the following:
The "Using Approval Management" chapter in the Developing Business Processes with Oracle Business Process Management Studio (for Oracle BPM Worklist)
The "Working with Tasks at Run Time" section in the Designing Business Rules with Oracle Business Process Management (for Oracle SOA Composer)
Figure 5-2 Approval Configuration and Assignment Rule Customizations in Oracle BPM Worklist
Figure 5-3 Approval Configuration and Assignment Rule Customizations in Oracle SOA Composer
How to customize the text in notifications in Oracle BPM Worklist is decided by what you want to customize in the task detail page (the page rendered when you click the task in Oracle BPM Worklist):
Some strings are part of Oracle SOA Suite, other strings are part of the Oracle Fusion Applications-owned Oracle Application Development Framework (Oracle ADF) resource bundle, and other strings are part of the Oracle Fusion Applications-owned SOA resource bundle.
The task title, task outcome, approval reason, stage name, and participant type strings are stored in the Oracle Fusion Applications-owned SOA resource bundles. You cannot customize these because there is no support for that functionality in Oracle SOA Suite.
The business object-specific text and sections are implemented in Oracle ADF and resource bundles are owned by Oracle Fusion Applications. These strings can be customized only in JDeveloper.
The Oracle SOA Suite-owned strings correspond to those in the Comments, Attachment, and History sections in Oracle BPM Worklist. The actions along the top of the page (excluding the custom actions defined in the .task
file) are also part of Oracle SOA Suite. These strings in the Oracle SOA Suite-owned resource bundles can be customized by following the instructions in the "Resource Bundles in Workflow Services" section in the Developing SOA Applications with Oracle SOA Suite.
How text appears in email notifications for human tasks is also decided by what you want to customize:
The subject (derived from the task title) and custom outcomes are defined in the Oracle Fusion Applications-owned SOA resource bundle. You cannot customize these because there is no support for that functionality in Oracle SOA Suite.
You can customize the notification message (the first line of instructions in the email) during runtime in Oracle BPM Worklist.
The remaining email content is the same as customizing the text in notifications in Oracle BPM Worklist.
Nonapproval business rules:
You can view, customize, and commit changes to a rule dictionary included in a deployed SOA composite application using Oracle SOA Composer, as shown in the following figure. Supported customizations consist of the following:
Customizing dictionary bucketsets
Customizing rules in a ruleset
Customizing advanced rule settings
Customizing conditions and actions
Customizing advanced mode rules
Customizing a decision table
Validating rule dictionaries
Figure 5-4 Nonapproval Business Rule Customizations in Oracle SOA Composer
For more information about customizing business rules in Oracle SOA Composer, see the "Using Oracle SOA Composer with Oracle Business Rules" chapter in the Designing Business Rules with Oracle Business Process Management.
You can customize domain value map rows included in a deployed SOA composite application using Oracle SOA Composer, as shown in the following figure. For more information, see the "Using Oracle SOA Composer with Domain Value Maps" chapter in the Developing SOA Applications with Oracle SOA Suite.
Figure 5-5 Domain Value Map Customizations in Oracle SOA Composer
You can customize endpoint address properties for an external reference such as Oracle WSM security policies and binding components included in a deployed SOA composite application using Fusion Applications Control.
The following figure provides details about customizing Oracle WSM security policies. For more information, see the "Managing SOA Composite Application Policies" section in the Administering Oracle SOA Suite and Oracle Business Process Management Suite.
Figure 5-6 Security Policy Customizations in Fusion Applications Control
The following figure provides details about customizing binding component properties for services and references. For more information, see the "Configuring Service and Reference Binding Component Properties" chapter in the Administering Oracle SOA Suite and Oracle Business Process Management Suite.
Figure 5-7 Binding Component Property Customizations in Fusion Applications Control
SOA composite applications in Oracle Fusion Applications reference copies of the original XSD schema files included in the MDS repository for SOA. When you customize and deploy Oracle Fusion Applications flexfields (or upgrade the base table, after which the flexfields are automatically reapplied), which result in a new XSD file being generated in the MDS repository for Oracle Fusion Applications, the updated XSD files must be synchronized in the MDS repository for SOA for use in the fact models in business rules.
To perform this synchronization, a special SOA composite application named UpdateSOAMDS is included with Oracle Fusion Applications. By default, UpdateSOAMDS is automatically deployed. When a synchronization is required, you manually invoke an instance of this SOA composite application to synchronize the updated XSD files in the MDS repository for SOA. You can view the results of this synchronization in the audit trail in Fusion Applications Control.
Invoke UpdateSOAMDS.
Log in to Fusion Applications Control.
In the navigation pane, expand soa-infra and the domain.
Select UpdateSOAMDS.
At the top of the Dashboard page for UpdateSOAMDS, click Test.
In the Operation list, note that the updateDuring operation is selected, as shown in the following figure.
The updateDuring operation specifies how far back in time to go to get flexfield updates for synchronizing in the MDS repository for SOA.
In the Value field of the Input Arguments section, enter a value, as shown in the following figure.
The following table provides examples of how to specify a value. The updateDuring operation uses the xsd:duration
type as input to obtain the data.
Table 5-4 Operation Value Examples
If You Enter... | Description |
---|---|
|
The operation goes back 50 days to get flexfield updates that occurred. |
|
The operation goes back one month, two days, and three hours to get flexfield updates that occurred. |
Click Test Web Service.
All rule dictionaries in the MDS repository for SOA that use the affected XSD schemas are altered. The data model of the rule dictionaries is modified and the fact types are reimported. After reimporting the XSD schemas, the rule dictionaries are saved in the MDS repository for SOA.
The Java Architecture for XML Binding (JAXB) 2.0 classes for the fact type model of the rule dictionaries that have been altered are regenerated and compiled into the appropriate SOA composite application SCA-INF/gen-classes
directories.
Other SOA instances in the cluster are notified of the flexfield customizations.
The class loader for the SOA composite applications in which the rule dictionaries were altered is invalidated and a new class loader is extended with the next request for the SOA composite application.
The SOA instances not involved in updating the rule dictionaries in the MDS repository for SOA regenerate the JAXB 2.0 classes for the SOA composite applications that comprise rule dictionaries in which the fact type model was altered.
View the results in the audit trail:
In the navigator, click soa-infra.
In the Recent Instances section of the Dashboard page of the SOA Infrastructure, click the instance ID.
In the Trace section of the Flow Trace page, click the UpdateSOAMDS BPEL service component.
Click View XML Document to expand the activities in the audit trail, as needed.
View the list of XSD schema files synchronized in the MDS repository for SOA in the audit trail, as shown in the following figure.
Note:
Flex fields are now known as mapped attributes. Do not confuse Oracle BPM Worklist flex fields with Oracle Fusion Applications flexfields; they are completely different features.
Note:
Only use Oracle BPM Worklist for customizing task flows. Do not use Oracle Business Process Management Workspace. (For more information, see "Understanding Process Workspace" in Oracle Fusion Middleware User's Guide for Oracle Business Process Management.)
You can view the same Human Task Editor tabs of Oracle JDeveloper in Oracle BPM Worklist. The pages in both tools are synchronized. You can customize some fields of these tabs.
The tabs that are displayed for editing in the Human Task Editor in Oracle JDeveloper are also displayed during runtime in Oracle BPM Worklist.
(As an example, the figures in this procedure show Oracle Fusion Procurement information.)
Note:
You cannot generate a new task form in Oracle BPM Worklist. That action is only possible in Oracle JDeveloper.
To view the tabs of the Human Task Editor in Oracle BPM Worklist:
In the Administration section, click the Task Configuration link, as shown in the following figure.
In the Navigator, click a task flow.
The page is refreshed to show a set of tabs that are displayed vertically, as shown in the following figure. The data that you configured in the Human Task Editor in Oracle JDeveloper can also be viewed in Oracle BPM Worklist.
In the upper left corner, click the Edit icon, as shown in the following figure.
By default, the General tab is displayed.
Note:
The Priority and Category fields are not editable.
Click the Assignees tab to view the stages and participants in the task flow, as shown in the following figure.
For information about the fields of the Assignees tab, see the "Assigning Task Participants" section of Developing SOA Applications with Oracle SOA Suite.
Click the Data tab, as shown in the following figure. You can view, but not customize, the task payload.
Note:
You cannot edit any fields of the Data tab.
For information about the fields of the Data tab, see the "Specifying the Task Payload Data Structure" section of Developing SOA Applications with Oracle SOA Suite.
Click the Deadlines tab to view information about task deadlines, as shown in the following figure. You can customize escalations by clicking the Do Nothing, Escalate, Expire, and Renew tabs to display configurable fields.
Note:
The Custom Escalation Class fields of the Escalate, Expire, and Renew tabs are not editable.
For information about the fields of the Deadlines tab, see the "Escalating, Renewing, or Ending the Task" section of Developing SOA Applications with Oracle SOA Suite.
Click the Notifications tab, as shown in the following figure. Notifications indicate when a user or group is assigned a task or informed that the status of the task has changed.
Note:
The Hide End User Web URL in notification checkbox is not editable.
For information about the fields of the Notifications tab, see the "Specifying Participant Notification Preferences" section of Developing SOA Applications with Oracle SOA Suite.
Click the Access tab for customizing access rules that determine the parts of a task that participants can view and customize, as shown in the following figure.
Note:
The Signature Policy field is not editable.
For information about the fields of the Access tab, see the "Specifying User Privileges for Acting on Task Content" section of Developing SOA Applications with Oracle SOA Suite.
Click the Configuration tab, as shown in the following figure.
Note:
The Task Aggregation field is editable.
When you have completed all customizations, click Commit to save your changes in MDS Repository.
You can view stage and participant properties at the bottom of the task flow diagram of the Assignees tab. The properties available are the same as those displayed in the Human Task Editor in Oracle JDeveloper.
Note:
You can modify the Ignore Participants checkbox and navigate to the Rules Editor.
To view stage and participant properties:
In the Navigator, click a task flow.
The page is refreshed to display the tabs available for editing.
In the upper left corner, click the Edit icon, as shown in Figure 5-13.
Click the Assignees tab.
The diagram of the stages and participants included in the task flow is displayed horizontally.
Select the participant type, as shown in the following figure (for this example, a parallel participant type is selected).
Figure 5-21 Parallel Participant Type Selected
Tabs with configuration properties for the selected participant type are displayed at the bottom of the diagram. The Basic tab is displayed by default. The properties are the same as in the Human Task Editor in Oracle JDeveloper.
Select the tabs of additional participants. For this example, Voting is selected, as shown in the following figure.
Figure 5-22 Voting Tab Selected at the Bottom of the Diagram
When you have completed all customizations, click Commit to save your changes in MDS Repository.
Note:
The Ignore Participant checkbox that previously appeared in the task flow diagram is now available under the Advanced tab.
After using a SOA composite application customized at runtime for a while, a new patch revision of the SOA composite application may become available. Repeating the process of customizing the new revision of the SOA composite application at runtime can be cumbersome and time-consuming. To avoid these challenges, use OPatch. OPatch is an Oracle-supplied, Java-based utility that enables you to merge customizations made during runtime in a previously deployed SOA composite application into a new patch revision of the SOA composite application. OPatch preserves your runtime customizations and prevents you from having to reenter the customizations again for the next patch revision.
OPatch merges a new patch revision into a SOA composite application that was previously customized during design time in JDeveloper and runtime in Oracle SOA Composer, Oracle BPM Worklist, or Fusion Applications Control. For specific procedures on patching SOA composite applications with OPatch, see the "Patching Service-Oriented Architecture (SOA) Composites" section in the Patching Guide.
Before using OPatch to merge runtime customizations from a previously deployed revision into a new revision, review the recommendations in the following table to ensure that you merge customizations successfully.
Table 5-5 Recommendations on Merging Patch Revision Customizations and Extensions
Component | Recommendation |
---|---|
Deletion of base components |
Delete only components that you added as part of the customization, and not components that are part of the base revision. This is because the deletion of base components does not survive the move to the new revision, but the deletion of the wiring does. If you delete an existing base component, it comes back again when you get the new revision, which still has the component. However, the wire deletion survives the upgrade because the |
Business rules |
If business rules are customized at runtime, and those runtime customizations must be preserved in subsequent revisions of the base version of the SOA composite application, it is recommended that the rules dictionaries be split into two dictionaries and linked using the dictionary linking functionality. The base rule, linked dictionary contains the data model of the dictionary and the custom rules dictionary contains all the rules customized at runtime. The OPatch process preserves the customized dictionary when it merges the customized application with subsequent versions of the application. Business rules are used in different scenarios and the following information identifies how to handle each situation:
|
Default uniform resource locators (URLs) for service binding components |
Use default URLs for service binding components. If the revision is used in the URL for service binding components, when the SOA composite application is patched using OPatch, the revision of the SOA composite application is customized. In this case, the reference to URLs for service binding components fails to work. In this scenario, you must manually update all the URL references for service binding components. |
Oracle BPEL Process Manager scope activity |
If a base SOA composite application team removes the scope activity in the next revision of the SOA composite application, when a vertical SOA composite application team or customer runs OPatch to apply the new revision of the SOA composite application to their customized version, all customizations they performed on that scope activity in the first revision are lost. |
Renaming of a SOA composite application whose SOA archive (SAR) file is imported in JDeveloper |
When importing a SAR file for customization in JDeveloper, the SOA composite application must not be renamed. In addition, if you rename a SOA composite application, OPatch cannot detect runtime customizations made in Oracle SOA Composer, Oracle BPM Worklist, and Fusion Applications Control. You must manually re-apply those customizations. |
Base revision of a SOA composite application with JDeveloper customizations |
Assume you customize the base revision of a SOA composite application with the Customization Developer role in JDeveloper, and then deploy the SOA composite application. When the base revision is updated and a newer revision is made available, the customer uses OPatch to apply the patch revision. OPatch may then fail because there are JDeveloper customizations in the deployed SOA composite application. To resolve this issue, perform the following steps:
Note: Ensure that the backup of the SAR files is taken properly. |
Note:
If a task rule in a SOA composite application with a human task and rule-based participants is customized at runtime and a new rule action is added in revision 2 for the same task rule, the new rule action is not merged into the runtime changes in the SOA composite application. The patched composite includes only the runtime changes for the task rule, and not the rule action changes.
This is the expected behavior. Both the customization change at runtime and the version 2 rule action change in Oracle JDeveloper are modifying the linked dictionary. In that case, the customization change at runtime take precedence. Artifacts are not merged into the dictionary.
You can customize or extend some SOA components during design time in JDeveloper when logged in with the Customization Developer role. Components that are extended in JDeveloper can be further customized in JDeveloper when again logged in with the Customization Developer role. Customization changes are maintained in separate .xml
files from the base component files. Note that you cannot make customizations in Source view in JDeveloper; only customizations made in Design view are supported.
Note:
A new SOA artifact (SAR file) extended in the SOA composite application survives patching.
Ensure that you provide unique names for any new components and SOA artifacts that you extend. For example, add a prefix to each component and SOA artifact name that is a unique identifier.
The following table describes which existing base SOA artifacts in a SOA composite application can be customized and which new SOA artifacts can be extended when logged in to JDeveloper with the Customization Developer role.
Table 5-6 Customizable and Extendable SOA Artifacts in Customization Developer Role
SOA Artifacts | Existing Artifact in Base SOA Composite Application Is Customizable with Customization Developer Role? | SOA Artifact Is Extendable with Customization Developer Role? |
---|---|---|
SOA composite application components |
Yes |
Yes |
BPEL process |
Yes |
Yes |
Oracle Mediator |
Yes |
Yes |
Human task |
No |
Yes |
Business rule |
No |
Yes |
Extensible style sheet language transformations (XSLT) map |
No |
Yes |
Cross references (XREFs) |
No |
No |
Domain value maps |
No |
No |
XSD |
No |
Yes |
WSDL |
No |
Yes |
Business events |
No |
Yes |
JCA Adapters |
No |
Yes |
The following table provides more specific details about which SOA artifacts can be extended when logged in to JDeveloper with the Customization Developer role.
Table 5-7 SOA Artifact Extensibility in JDeveloper with Customization Developer Role
SOA Artifact | Extendable? | Description |
---|---|---|
SOA composite application |
No |
Only one SOA composite application per Oracle SOA Suite project is permitted. |
BPEL process |
Yes |
Can drag a BPEL process from the Component Palette into SOA Composite Editor or Oracle BPEL Designer. |
Oracle Mediator |
Yes |
Can drag an Oracle Mediator from the Component Palette into SOA Composite Editor or Oracle BPEL Designer. |
Human task |
Yes |
Can drag a human task from the Component Palette into SOA Composite Editor or Oracle BPEL Designer. |
Business rule |
Yes |
Can drag a business rule from the Component Palette into SOA Composite Editor or Oracle BPEL Designer. |
XSLT map |
Yes |
Can extend a transformation in a transform activity in Oracle BPEL Designer or Mediator Editor. |
Domain value maps |
No |
The New Gallery dialog is disabled with the Customization Developer role. |
XREFs |
No |
The New Gallery dialog is disabled with the Customization Developer role. |
XSD |
Yes |
Right-click an Oracle SOA Suite project and select SOA, or as the result of extending other SOA artifacts. |
WSDL |
Yes |
Right-click an Oracle SOA Suite project and select SOA, or as the result of extending other SOA artifacts. |
Business events |
Yes |
Subscribe to or publish events for a BPEL process or Oracle Mediator component in SOA Composite Editor, Oracle BPEL Designer, or Mediator Editor. |
JCA adapters |
Yes |
Drag adapters from the Component Palette into SOA Composite Editor or Oracle BPEL Designer. |
You can customize a base SOA composite application of Oracle Fusion Applications in JDeveloper. These steps provide an overview of SOA composite application customization and assume that you know the following:
How to set up the customization layer through the adf-config.xml
editor
The customization classes defined by Oracle Fusion Applications
For more information, see the "Customizing SOA Composite Applications" chapter in the Developing SOA Applications with Oracle SOA Suite.
Note:
See Setting Up the SOA Shared Repository in for instructions on setting up the JDeveloper workspace (JWS) and SOA composite application project when customizing Oracle Fusion Applications SOA composite applications.
After installing Oracle Fusion Applications with a SOA composite application that you want to customize in JDeveloper, do the following:
In Fusion Applications Control, go to the home page of the SOA composite application to export.
From the SOA Composite menu at the top of the page, select Export.
Obtain the base SAR file for initially customizing from other locations, including:
Checking out the base SOA composite application project from the source control system where the base SOA composite application project was checked in by the base development team. This way, no SAR file deployment, export command, or import command is involved.
Importing the base SOA composite application SAR file that was deployed from the base SOA composite application project.
Importing the base SOA composite application SAR file that was exported (without runtime changes) from the Export Composite page of the Fusion Applications Control installation from which the SOA server is managed.
Extend layer values for customization to the CustomizationLayerValues.xml
file (can perform this task in JDeveloper or from the directory structure).
Start JDeveloper in the Default Role.
Extend a new SOA composite application.
From the File main menu, choose Import, then SOA Archive Into SOA Project to import the exported SAR file into the new SOA composite application in JDeveloper.
In the Import Composite Archive wizard, select the Import For Customization checkbox.
From the Tools main menu, choose Preferences, then Roles, and then Customization Developer.
Restart JDeveloper, and customize the layers of the SOA composite application.
Right-click the project and choose Deploy to extend a customized SAR file of the SOA composite application in Oracle Fusion Applications.
Note:
After performing the initial customizations described in these procedures, you can no longer export the SOA composite application from the runtime. This is because the SOA composite application is a merged SOA composite application, and no longer the original base SOA composite application.
For more information about exporting SAR files, see the "Exporting a Deployed SOA Composite Application" section in the Administering Oracle SOA Suite and Oracle Business Process Management Suite.
You can extend business rules in a SOA composite application during design time in JDeveloper when logged in with the Customization Developer role. After extending these business rules, you can further customize them in JDeveloper when again logged in with the Customization Developer role. You cannot customize existing business rules that are part of the base version of the SOA composite application.
For information about customizing business rules during runtime, see About Customizing SOA Composite Applications.
You can extend or customize BPEL processes in a SOA composite application during design time in JDeveloper when logged in with the Customization Developer role. For example, you can perform the following tasks:
Extend or delete a new scope or other activity
Customize an activity
Extend a partner link
Extend a transformation
For more information about extending or customizing BPEL processes, see the "Using the BPEL Process Service Component" part in the Developing SOA Applications with Oracle SOA Suite.
You can extend human tasks in a SOA composite application during design time in JDeveloper when logged in with the Customization Developer role. After extending these human tasks, you can further customize them in JDeveloper when again logged in with the Customization Developer role. You cannot customize existing human tasks that are part of the base version of the SOA composite application.
For more information about extending human tasks, see the "Using the Human Workflow Service Component" part in the Developing SOA Applications with Oracle SOA Suite.
You cannot directly extend business events in JDeveloper when logged in with the Customization Developer role. The New Gallery dialog that is displayed when you select New from the File main menu is disabled with the Customization Developer role. However, you can create business events as part of other Oracle SOA Suite customizations such as when allowing Oracle Mediator to subscribe to an event.
For more information, see the "Using Business Events and the Event Delivery Network" chapter in the Developing SOA Applications with Oracle SOA Suite.
You can extend or customize an Oracle Mediator in a SOA composite application during design time in JDeveloper when logged in with the Customization Developer role. For example, you can perform the following tasks:
Extend a routing rule
Customize an XPath condition
Make any other changes, except those that affect files such as extensible style sheet languages (XSLs) (for transformations), WSDLs, event definition languages (EDLs) (for business events), or XSDs. Note that new SOA artifacts can be extended or customized.
For more information, see the "Using the Oracle Mediator Service Component" part in the Developing SOA Applications with Oracle SOA Suite.
You can customize SOA composite application endpoint properties in a SOA composite application during design time in JDeveloper when logged in with the Customization Developer role. For example, you can perform the following tasks:
Extend and delete a reference binding component
Extend and delete a service binding component (entry point)
Extend, customize, and delete a wire between components
For more information, see the "Developing SOA Composite Applications with Oracle SOA Suite" chapter in the Developing SOA Applications with Oracle SOA Suite.
You cannot customize existing transformations that are part of the base SOA composite application in JDeveloper. However, you can extend a new transform activity in a BPEL process or in the Transformation Map dialog of Oracle Mediator during design time in JDeveloper when logged in with the Customization Developer role. After extending the transformation, you can further customize it in JDeveloper when again logged in with the Customization Developer role. For example, you can perform the following tasks:
Specify the mapper file (.xsl
) to which the transform activity points from the Mapper File field of a transform activity in a BPEL process or the Transformation Map dialog of Oracle Mediator. However, you cannot extend or customize mappings. The mappings are defined in the XSL file (not in the transform activity), which is not customizable.
Copy an out-of-the-box XSL file into a custom XSL artifact, add the custom logic to the custom XSL, and customize the transform activity to reference the custom XSL. Additionally, you must copy the contents of the XSL file in the base SOA composite application into the custom XSL file.
You can extend an XSD schema or WSDL document in JDeveloper when logged in with the Customization Developer role.
Right-click the Oracle SOA Suite project in the Application Navigator.
Select SOA.
Select the SOA artifact to extend:
Create XML Schema
Invokes the Create XML Schema dialog for extending a new XML schema file in the project. When complete, the new schema file automatically opens.
Create WSDL Document
Invokes the Create WSDL dialog to extend a new WSDL file in the project.
You can extend JCA adapters in JDeveloper when logged in with the Customization Developer role.
For more information, see the Understanding Technology Adapters.
You must redeploy a customized or extended SOA composite application after making changes in JDeveloper. The development and deployment phase is as follows:
During base SOA composite application development, you create a customizable SOA project from the Default role in JDeveloper, set up customization layers, and deploy the SOA composite application to a base SAR file.
During customization, you import (for customization) the base SOA composite application SAR file to extend a new SOA project, change from the Default role to the Customization Developer role, perform customizations, and deploy the SOA composite application to create a customized SAR file.
For more information, see the "Customizing SOA Composite Applications" chapter in the Developing SOA Applications with Oracle SOA Suite.
You can extend new SOA composite application services to integrate with Oracle Fusion Applications. This section provides an overview of tasks for extending and consuming new services and provides references to documentation that more specifically describes these tasks.
You must set up and configure a development environment in JDeveloper to create new Oracle SOA Suite services. For more information, see the "Getting Started Building Your Oracle Fusion Applications" part in the Developer's Guide.
Whenever you create new projects, you must first create an application using templates provided by JDeveloper. For more information, see the "Setting Up Your JDeveloper Application Workspace and Projects" chapter in the Developer's Guide.
You can select an Oracle SOA Suite project template when creating a JDeveloper application. For more information about creating Oracle SOA Suite projects, see the "Developing SOA Composite Applications with Oracle SOA Suite" chapter in the Developing SOA Applications with Oracle SOA Suite.
You can extend an ADF Business Components service to be consumed by the SOA composite application. The ADF Business Components service is used for connecting Oracle ADF applications using service data object (SDO) data formats with the SOA composite application. For more information, see the "Getting Started with Binding Components" chapter in the Developing SOA Applications with Oracle SOA Suite.
There are fundamental patterns for Oracle Fusion Applications developers to follow when building applications involving Oracle ADF and Oracle SOA Suite. These patterns fall into three main categories:
Using business events to initiate business processes
Orchestrating over business logic implemented with Oracle ADF, Java, procedural language/structured query language (PL/SQL), and SOA composite applications
Modeling human task flows in Oracle ADF applications
For more information about these and other design categories, see the "Common Service Use Cases and Design Patterns" part in the Developer's Guide.
MDS Repository contains metadata for certain types of deployed applications, such as SOA composite applications. You can store Oracle Fusion Applications artifacts and custom artifacts in MDS Repository. You connect to the repository to consume these artifacts.
For more information about MDS Repository, see the "Managing the Metadata Repository" chapter in the Administering Oracle Fusion Middleware.
For more information about creating a connection from Oracle SOA Suite to MDS Repository, using the MDS repository for SOA to store custom SOA artifacts, and connecting to and consuming SOA artifacts from the MDS repository for SOA, see the "Creating a SOA-MDS Connection" section in the Developing SOA Applications with Oracle SOA Suite.
Oracle Fusion Applications includes web services that are available for public consumption. These web services are defined in Oracle Enterprise Repository and available for discovery. When extending Oracle Fusion Applications and building SOA composite applications to invoke services built by Oracle Fusion Applications, you can use Oracle Enterprise Repository to perform the following tasks:
Use Oracle Enterprise Repository to discover the service.
Follow the link provided by Oracle Enterprise Repository to access the WSDL file.
When building the client, have JDeveloper download the WSDL file locally so that the client is not accessing the runtime WSDL file.
For more information about Oracle Enterprise Repository, see the Oracle Fusion Middleware User’s Guide for Oracle Enterprise Repository.
You must secure Oracle Fusion Applications and services to be consumed by SOA composite applications.
For more information about Oracle Fusion Applications security, see the Oracle Fusion Applications security guides.
For more information about Oracle ADF Application Artifacts security, see Customizing Security for Application Artifacts .
For more information about web services security, see the "Securing Web Services Use Cases" chapter in the Developer's Guide.
You must deploy SOA composite applications and the services to be consumed.
For more information about deploying SOA composite applications, see the "Deploying SOA Composite Applications" chapter in the Developing SOA Applications with Oracle SOA Suite.
For more information about deploying external references such as web services, see the "Deploying Web Services Applications" chapter in the Administering Web Services.