Oracle® Application Server ProcessConnect User's Guide 10g (9.0.4) Part Number B12121-01 |
|
This chapter describes transformation concepts and management tasks for designing an integration.
This chapter contains these topics:
Different parties in an integration use a different structure for and a different vocabulary in their business messages. For example, an address can be presented in a single string by one party while it can be divided into street, city, and other details by another party. For business vocabulary, one party can use the term item in its purchase order while another party can use the term component in its purchase order. This creates a message structure and vocabulary mismatch between the two parties. Transformation eliminates such a structure and vocabulary mismatch by mapping one party's message to that of the other.
Before a business message can be mapped to one with a different structure and vocabulary, the logic for such a mapping must be designed. For example, it must be specified that one party's address with a separate street, city, and other details must be joined together into a single string for another party. This logic comprises a transformation map. Oracle Application Server ProcessConnect provides an easy-to-use, graphical way of defining these maps.
Where does transformation fit in into the overall integration picture? A transformation map is associated with a transformation step within a role responsible for mapping messages with different semantics. Transformation steps are typically defined in transformation binding roles to map an application event type to a business event type, and vice versa, but they can also be used within application roles or business roles and can operate over datatypes and event types.
See Also:
|
A transformation map is the Oracle Application Server ProcessConnect structure that defines the transformation logic. A map transforms sources to targets, both of which can either be event types or datatypes. A single source typically gets transformed to a single target, but a map is free to have multiple sources and targets. You can use two types of transformation maps, depending on the types of sources and targets being transformed:
This section provides an example of an event type transformation map.
Assume you want to transform an invoice to a purchase order, both of which are event types. You do this by defining an event type transformation map, which defines a mapping between event types.
Formally, an event type transformation map defines mappings across event types and datatypes, including the following types of mapping:
Event type transformation maps can also transform a combination of an event type and a datatype to the same type of combination, or split an event type into a datatype and an event type. In short, any combination of these types is possible as long as at least one event type is involved:
This section provides an example of a datatype transformation map.
Assume you want to transform only a line item from an invoice to an item in a purchase order. You can do this in the map that transforms the invoice to the purchase order by individually mapping each required element from the line item to an element in the item. However, if you want to reuse this mapping elsewhere, you define a separate datatype transformation map.
Datatype transformation maps define mappings across datatypes. These maps are typically invoked from other maps though they can also be directly associated with transformation steps. Datatype transformation maps can either be:
System-defined maps are a library of pre-existing maps included with Oracle Application Server ProcessConnect that operate on core datatypes such as strings and integers, and provide core mapping functionality. Examples of such maps are copyString, concatString, and addInteger. You cannot edit or delete system-defined datatype transformation maps.
You can also define your own new datatype transformation maps in much the same way as you define event type transformation maps. User-defined maps can only have datatypes as sources and targets:
The Oracle Application Server ProcessConnect user interface tool enables you to perform the event type transformation map management tasks shown in Figure 13-1 and Figure 13-2. These tasks are described in detail in this section.
Selecting Modify Sources and Targets in Figure 13-1 causes a Modify Sources and Targets page such as that shown in Figure 13-2 to appear.
Table 13-1 identifies the event type transformation map management tasks shown in Figure 13-1 and Figure 13-2 and provides references to procedures for performing these tasks.
Page Elements | Management Task | First See Section... | Then See Section... |
---|---|---|---|
Shortcuts section in Event Transformation Maps page of Figure 13-1 |
Take a shortcut to manage business and application event types |
N/A |
"Viewing Application Event Types" and "Managing Business Event Types" |
Create button in Event Transformation Maps page of Figure 13-1 |
Create an event type transformation map |
||
Delete column in Event Transformation Maps page of Figure 13-1 |
Delete an event type transformation map |
|
|
Update column in Event Transformation Maps page of Figure 13-1 |
Update an event type transformation map |
|
|
Target Parameter Types column in Event Transformation Maps page of Figure 13-1 |
View details about an event type transformation map target |
||
Source Parameter Types column in Event Transformation Maps page of Figure 13-1 |
View details about an event type transformation map source |
|
|
Name column in Event Transformation Maps page of Figure 13-1 (To access details page shown in lower page of Figure 13-1) |
View details about an event type transformation map |
|
|
Create button in Modify Sources and Targets page of Figure 13-2 |
Create an initial or additional source or target |
|
|
Delete column in Modify Sources and Targets page of Figure 13-2 |
Delete sources and targets |
|
|
Update column in Modify Sources and Targets page of Figure 13-2 |
Update sources and targets |
|
|
Type column in Modify Sources and Targets page of Figure 13-2 |
View event type source and target types |
|
|
Name column in Modify Sources and Targets page of Figure 13-2 |
View event type transformation map sources and targets |
|
Follow these instructions to access the event type transformation map management tasks shown in Figure 13-1 and Figure 13-2:
To access event type transformation map management tasks:
The Event Transformation Maps page appears. (See the upper page of Figure 13-1.)
Follow these instructions to create an event type transformation map:
To create an event type transformation map:
The Create Event Transformation Map page appears.
If You Select... | Then Go to... |
---|---|
Define Source and Target Later |
Step 10. Note: You can define initial or additional sources or targets later by following the instructions in "Creating Additional Sources or Targets". |
Specify Source and Target |
Step 4. |
Field | Description |
---|---|
Name * |
Enter a unique and recognizable source name (for example, |
Description |
Enter a source description. |
Type * |
Select Datatype or Event Type as the source type. |
The page refreshes based on your selection of Datatype or Event Type from the Type list.
If You Selected... | Then... |
---|---|
Datatype |
|
Event Type |
Field | Description |
---|---|
Name * |
Enter a unique and recognizable target name (for example, |
Description |
Enter a target description. |
Type * |
Select Datatype or Event Type as the target type. |
The page refreshes based on your selection of Datatype or Event Type in the Type field.
If You Selected... | Then... |
---|---|
Datatype |
|
Event Type |
The event type transformation map is created and the Transformation Map Details page for the new event type transformation map appears.
Text description of the illustration sources_and_targets.gif
You can now add transformation map statements.
See Also:
|
Follow these instructions to delete an event type transformation map:
To delete an event type transformation map:
The Delete Transformation Map page appears.
The event type transformation map is deleted and the Event Transformation Maps page appears.
Follow these instructions to update an event type transformation map:
To update an event type transformation map:
The Update Transformation Map page appears.
The event type transformation map is updated and the Transformation Map Details page for the updated event type transformation map appears.
Follow these instructions to view details about a specific event type transformation map:
To view an event type transformation map:
The Transformation Map Details page for the selected event type transformation map appears (in this example, an event type transformation map named Transform Payload).
This details page, as with the Event Transformation Maps page shown in the upper page of Figure 13-1, enables you to delete or update the selected event type transformation map from the Delete and Update buttons that display at the top right and bottom right sections.
"Managing Transformation Statements" for a complete description of the functionality available in the Event Transformation Map Details page
See Also:
Follow these instructions to create additional sources and targets to the transformation map:
To create additional sources and targets:
The Transformation Map Details page appears.
The Modify Sources and Targets page appears.
The Create Event Transformation Map Parameter page appears.
The page refreshes based on your selection of Datatype or Event Type in the Type field.
If You Selected... | Then... |
---|---|
Datatype |
|
Event Type |
The Modify Sources and Targets page appears.
The Transformation Map Details page appears.
Follow these instructions to delete sources and targets:
To delete sources and targets:
The Transformation Map Details page appears.
The Modify Sources and Targets page appears.
The source or target is deleted and the Modify Sources and Targets page appears.
The Transformation Map Details page appears.
Follow these instructions to update sources and targets:
To update sources and targets:
The Transformation Map Details page appears.
The Modify Sources and Targets page appears.
The Update Event Transformation Map Parameter page appears.
The page refreshes based on your selection of Datatype or Event Type in the Type field.
If You Selected... | Then... |
---|---|
Datatype |
|
Event Type |
The source or target is updated and the Modify Sources and Targets page appears.
The Transformation Map Details page appears.
Follow these instructions to view details about a specific event type transformation map parameter:
To view an event type transformation map parameter:
The Transformation Map Details page appears.
The Modify Sources and Targets page appears.
The Event Transformation Map Parameter Details page appears.
The Oracle Application Server ProcessConnect user interface tool enables you to perform the datatype transformation map management tasks shown in Figure 13-3. These tasks are described in detail in this section. The maps that appear in the Datatype Transformation Maps page in Figure 13-3 also display in the Datatype Transformation Map list that appears on the Transformation Map Details page. (See Figure 13-1.)
Table 13-2 identifies the datatype transformation map management tasks shown in Figure 13-3 and provides references to procedures for performing these tasks.
Data Transformation Maps Page Elements | Management Task | First See Section... | Then See Section... |
---|---|---|---|
Shortcuts section of Figure 13-3 |
Take a shortcut to view application datatypes, import XSD datatypes, and manage business datatypes |
N/A |
|
Create button of Figure 13-3 |
Create a datatype transformation map |
||
Delete column of Figure 13-3 |
Delete a datatype transformation map |
|
|
Update column of Figure 13-3 |
Update a datatype transformation map |
|
|
Target Parameter Types column of Figure 13-3 |
View details about a target datatype parameter |
|
|
Source Parameter Types column of Figure 13-3 |
View details about a source datatype parameter |
|
|
Name column of Figure 13-3 |
View details about a datatype transformation map |
|
Follow these instructions to access the datatype transformation map management tasks shown in Figure 13-3:
To access datatype transformation map management tasks:
The Datatype Transformation Maps page appears.
Follow these instructions to create a datatype transformation map:
To create a datatype transformation map:
The Create Datatype Transformation page appears.
The datatype transformation map is created and the Transformation Map Details page appears. You can now perform additional tasks, such as assigning transformation statements.
See Also:
Step 1 for the Datatype Transformation Map list from which the datatype transformation map can be selected |
The system-defined datatype transformation maps included with Oracle Application Server ProcessConnect cannot be deleted. You can only delete a datatype transformation map that you created. In addition, the map can only be deleted if it is not currently being invoked from another transformation map or is associated with a transformation step. If you attempt to delete a datatype transformation map under these circumstances, an error displays.
Follow these instructions to delete a datatype transformation map:
To delete a datatype transformation map:
The statement is deleted and the Datatype Transformation Map Details page appears.
System-defined datatype transformation maps included with Oracle Application Server ProcessConnect cannot be updated. You can only update a datatype transformation map that you created. Follow these instructions to update a datatype transformation map:
To update a datatype transformation map:
The Update Transformation Map page appears.
The datatype transformation map name is updated and the Datatype Transformation Map Details page for the updated datatype transformation map appears.
Follow these instructions to view a user-defined datatype transformation map:
To view a datatype transformation map:
The Transformation Map Details page for the selected datatype transformation map appears.
Transformation statements are the logical operations to use when mapping the contents of sources and targets. Table 13-3 describes the many different statement types available for mapping.
Statement Type | Description | See Section... |
---|---|---|
Rule |
Enables you to perform mapping functions between sources and targets. The mapping between source and target is performed by selecting a datatype transformation map. For example: |
"Transformation Rules Case Study: Basic Transformations Using Rules" |
IF Condition |
Statements associated with a condition are executed if the condition evaluates successfully. For example, you can specify to have a different set of statements executed based on whether a quantity ordered in a purchase order is greater than or less than three. Different types of statements such as rules, domain value map rules, and event header rules can be associated with a condition. You can also create complex conditions by combining condition expressions with AND and OR logical operators. |
"Transformation Condition Case Study: Converting Importance to Featured/Ordinary Ad" |
ELSE Condition |
You can add an ELSE condition to an existing IF Condition. You can then associate the ELSE condition with rules, domain value map rules, and event header rules. |
|
Iterator |
Enables you to specify a set of mappings for source items that can occur multiple times in the instance. For example, you can loop through multiple occurrences of a complex datatype named LineItem and perform a specific set of actions on the line items. Iterators can be associated with rules, domain value map rules, event header rule statements, and map variable statements that get executed for every occurrence of the source item being iterated. |
"Iterator Case Study: Transforming Ad Request with an Unbounded Number of Ads" |
Map variable |
Enables you to define a global variable to use across multiple statements. A typical usage is for function chaining, where you take the output of one invoked function as an input to another function. For example, you can create a map variable and copy a person's first name to the variable. You then append a space character and concatenate the variable with the person's last name and store it in the target. The variable can then be used across multiple statements. Other usage scenarios are for building an item through multiple rules before inserting it in the targets. |
"Transformation Map Variables" "Map Variable Case Study: Using Map Variables to Create a Formatted Name" |
Event header rule |
Enables you to access or set header data in a source or target. For example, you can:
For example, you can map data from the header of an incoming event into a target item such as a fax number by accessing the from party through a header rule and then getting the appropriate contact information for the party through another rule. |
"Event Header Rules Case Study: Sending to the Correct Target Newspaper" |
Domain value map rule |
Domain value map rules are used to map one party's vocabulary standards to another party's vocabulary standards. For example, this enables you to map the source item US to the target item United States by looking up the value for the target based on the value for the source and party of the event. See Also: "Domain Value Maps" for procedures on creating domain values and parties |
The Oracle Application Server ProcessConnect user interface tool enables you to perform the transformation statement management tasks shown in Figure 13-4. These tasks are described in detail in this section.
Table 13-4 identifies the transformation statement management tasks shown in Figure 13-4.
This section describes transformation rules, the most basic type of transformation statement.
Assume you want to combine the state CA and zip 94043 into CA 94043. This is a simple task; all you must do is invoke a system-defined datatype transformation map named concatString, which concatenates CA and 94043 into a single CA 94043. This invocation is called a transformation rule.
A transformation rule is the most basic form of transformation statement, and only invokes other datatype transformation maps. These invoked datatype transformation maps can be user-defined or system-defined maps.
See Also:
|
Follow these instructions to access the transformation rule management tasks shown in Figure 13-4:
To access transformation rule management tasks:
The Event Transformation Maps page appears.
The Transformation Map Details page for the selected event transformation map appears (for this example, event transformation map Transform Payload). (See Figure 13-4.)
Follow these instructions to create a transformation rule:
To create a transformation rule:
Pre-existing maps provided by Oracle Application Server ProcessConnect
Maps that you created by following the instructions in "Creating a Datatype Transformation Map"
This list is only for use when creating transformation rules.
Depending on the sources and targets and datatype transformation map rule that you select, different pages can appear to prompt you for information to create a transformation rule.
Follow these instructions to map a single source and target to a datatype transformation map that evenly maps a single source to a single target:
or
Follow these instructions to map multiple sources and targets to a datatype transformation map that evenly maps to multiple sources and targets.
or
The Add Transformation Rule page appears.
The page refreshes to display the selected source and target parameters of the datatype transformation map in the Statements section.
Follow these instructions to explicitly map multiple sources and targets with a datatype transformation map. You explicitly set your targets and sources if the mapping cannot be automatically determined.
In this example, the following selections are made:
Since these selections do not map evenly, the mapping cannot be determined. The Add Transformation Rule page that appears is an estimate of what it is believed you want to map.
Your selection replaces the word unspecified (with Payload-IN/id).
Your selection replaces the word unspecified (with Payload-OUT/employee/id).
The previously-disabled Apply button is enabled.
The Transformation Map Details page appears with the new rule added in the Statements list.
Follow these instructions to delete a transformation rule:
To delete an transformation rule:
The transformation rule is deleted and the Event Transformation Map Details page appears.
Follow these instructions to update a transformation rule:
To update a transformation rule:
The Update Transformation Rule page appears. (See "Creating a Transformation Rule" for a list of fields you can update.)
The statement is updated and the Transformation Map Details page appears.
This section provides an example of using transformation rules, based on modeling metadata you created when using the tutorial in Chapter 7, "Tutorial of an Integration within an Enterprise".
Phase A of the tutorial described in Chapter 7, "Tutorial of an Integration within an Enterprise" included an example of transformation mapping where one transformation rule each was created for inbound and outbound transformations. This tutorial extends those maps with additional transformation rules.
The date from the source must be converted to a string. The rule you select in this section returns the string representation of the input dateTime
in the required format.
yyyy-mm-dd
in the Constant Value field.
The Rule Signature section displays your selections.
The rule statement displays at the bottom of the Statements list.
The first and last names of the contact must be mapped to target first and last names.
The rule statements display at the bottom of the Statements list.
You must place a value into the Action field, which is not in the business event. Do this by using the copy string rule and entering a value in the Constant Value field.
Global
NP
Ad
in the Constant Value field.
You must map the date.
The rule statement displays at the bottom of the Statements list.
Using a transformation rule, you can only invoke another map unconditionally. Assume you only want to copy an item amount that is greater than five. If the amount does not satisfy this condition, you want to copy zero. You perform these tasks with a transformation condition.
A condition is defined by comparing values with familiar comparison operators (=, !=, <, <=, > , >=, and exists). Exists checks whether or not a particular element exists in the instance. Even if a particular element exists, its value may be null; in which case, you can use = or != to compare the value to null. Conditions can be further combined by using logical AND and OR operators to obtain conditions of an arbitrary complexity.
Transformation statements can be defined to be executed only if the condition is evaluated to true (IF). Similarly, statements can be defined for execution in case of a condition being evaluated to false (ELSE).
See Also:
Table 13-3 for an additional description of transformation conditions |
Follow these instructions to access the transformation condition management tasks shown in Figure 13-4:
To access transformation condition management tasks:
The Event Transformation Maps page appears.
The Transformation Map Details page for the selected event transformation map appears (for this example, event transformation map Transform Payload). (See Figure 13-4.)
To... | Then... | See Section... |
---|---|---|
Create an IF condition |
Go to the Statement Type list. |
|
Create an ELSE condition |
Go to the Statement Type list. |
|
Associate a statement with an IF condition or ELSE condition |
Go to the Statement Type list. |
"Associating a Statement with an IF Condition or ELSE Condition" |
Remove a statement from an IF condition or ELSE condition |
Go to the Statements table. |
"Removing a Statement from an IF Condition or ELSE Condition" |
Delete an IF or ELSE condition |
Select a specific condition to delete in the Delete column. |
|
Update an IF condition |
Select a specific condition to update in the Update column. |
|
View details about a condition |
View a specific condition in the Statements section. |
Follow these instructions to create an initial IF condition, insert an AND condition, and insert an OR condition.
To create an IF condition:
or
The Create Transformation Condition page appears.
Follow these instructions to create an initial IF condition:
The Create Condition Expression page appears.
Condition expressions can be defined across two source items or between a source and a constant value. (This example uses a constant value.) Condition expressions cannot access a target item. For this example, a constant value is defined.
If you select an operator other than Exists, the Right Operand table appears.
Text description of the illustration create_if_condition.gif
50
).
The condition appears in the Create Transformation Condition page.
Follow these instructions to insert an AND condition within an IF condition:
The following condition is created:
The AND condition appears in the Create Transformation Condition page:
Follow these instructions to insert an OR condition within an IF condition:
The following condition is created:
The OR nested block condition appears in the Create Transformation Condition page:
You can also delete any of the suconditions by selecting the specific condition in the Select column and clicking Delete.
The ELSE condition is placed in the IF statement.
You can now create additional statement types as part of this ELSE condition.
You can associate other transformation statements with IF and ELSE conditions. This example describes how to associate a rule statement with both conditions. These statements are executed if the condition evaluates to true at runtime.
To associate a rule statement with an IF or ELSE condition:
You can remove transformation statements from IF and ELSE conditions. This example describes how to associate a rule statement with both conditions.
To remove a statement from an IF condition or ELSE condition:
The statement is deleted and the Transformation Map Details page appears.
Follow these instructions to delete an IF or ELSE condition:
To delete an IF or ELSE condition:
The condition is deleted and the Transformation Map Details page appears.
Follow these instructions to update an IF condition:
To update an IF condition:
The Update Transformation Condition page appears.
The statement is updated and the Transformation Map Details page appears.
This section provides an example of using transformation conditions, based on modeling metadata you created when using the tutorial in Chapter 7, "Tutorial of an Integration within an Enterprise".
This example describes how a specific ad becomes a featured ad in a newspaper if its importance is rated as greater than five. If not, its importance is rated as an ordinary ad.
5
in the Constant field.
The IF condition displays at the bottom of the Statements list:
An ELSE condition is added beneath the IF condition.
true
in the Constant Value field.
The Rule Signature section displays your selection.
The condition statement displays.
false
in the Constant Value field.
The conditions appear at the bottom of the list.
You may want to repeatedly perform a certain action (for example, invoke a certain map). Assume you want to transform all line items in an invoice to items in a purchase order. You use an iterator that enables you to loop over all line items and transform them. Defining a transformation iterator involves picking the item and value over which to iterate and specifying the transformation rules to be executed during each iteration.
See Also:
Table 13-3 for an additional description of iterators |
Follow these instructions to access the iterator management tasks shown in Figure 13-4:
To access iterator management tasks:
The Event Transformation Maps page appears.
The Transformation Map Details page for the selected event transformation map appears (for this example, event transformation map Transform Payload). (See Figure 13-4.)
Follow these instructions to create an iterator:
To create an iterator:
or
The Create Iterator page appears.
The Transformation Map Details page displays the iterator in the Statements list.
The Ad Iterator iterator also appears in the Sources table of the Transformation Map Details page, where it can be included in rule statements defined within the iterator.
You can create rules within an iterator that are executed as many times as the number of items in the array associated with the iterator. Create these rules as part of a user-defined datatype transformation map. That way, the rules are part of an independent datatype transformation map. Do not create a set of independent rules beneath the iterator.
Follow these instructions to delete an iterator:
To delete an iterator:
The iterator is deleted and the Transformation Map Details page appears.
Follow these instructions to update an iterator:
To update an iterator:
The Update Iterator page appears.
The iterator is updated and the Transformation Map Details page appears.
This section provides an example of using iterators, based on modeling metadata you created when using the tutorial in Chapter 7, "Tutorial of an Integration within an Enterprise". Since the number of ads to be copied is unbounded, you must create an iterator to copy them.
See Also:
See "Not Creating a Submap to Populate a Multiple Occurrence Target Member" for details about invoking a separate user-defined datatype map from within an iterator |
To iterate over the unbound complex datatype Ad, you must first create a datatype transformation map for the HR Ad to Common View event transformation map.
Create a datatype transformation map:
copyHRAd
in the Name field.
Create a source for the datatype transformation map:
HR
Ad
Type
in the Name field.
Create a target for the datatype transformation map:
Ad
Type
in the Name field.
The Modify Sources and Targets page displays the following details:
Create two rules to copy the two strings in this datatype:
The statements display in the Statements list.
Return to the event transformation map:
Ad
Iterator
in the Name field.
Create a rule to iterate over HR Ad using the datatype transformation map:
The Rule Signature section displays your selections.
The iterator contents display at the bottom of the Statements list.
These steps are identical to those in "Creating an Iterator for the Inbound Direction". The only difference is that you map from the common view to the global newspaper domain in the steps.
Create a datatype transformation map:
copyGlobalNPAd
in the Name field.
Create a source for the datatype transformation map:
Ad
Type
in the Name field.
Create a target for the datatype transformation map:
Ad_Type
in the Name field.
The Modify Sources and Targets page displays the following details:
Create two rules to copy the two strings in this datatype:
Return to the event transformation map:
Ad
Iterator
in the Name field.
Return to the event transformation map:
Create a rule to iterate over AdType using the datatype transformation map:
The Rule Signature section displays your selection.
The iterator statement displays at the bottom of the Statements list.
If you invoke a transformation rule to transform a source to a target, you cannot do anything further with the target. There may, however, be situations in which you want to save the result of an invocation. For example, you have a transformation condition that tests whether the target of a previous rule invocation has a certain value. Or, you want to use the target of one rule as the source of another rule. In these cases, use a map variable to save the results of a transformation. Use the map variable later in transformation conditions or transformation rules.
Map variables can only be used globally, and not locally. This means that map variables must be unique and accessible everywhere in the map. For example, you cannot define a map variable within a transformation condition and only use it with that condition.
See Also:
Table 13-3 for an additional description of map variables |
Follow these instructions to access the map variable management tasks shown in Figure 13-4:
To access map variable management tasks:
The Event Transformation Maps page appears.
The Transformation Map Details page for the selected event transformation map appears (for this example, event transformation map Transform Payload). (See Figure 13-4.)
The Create Map Variable page appears.
Map variables are always global, and are placed in both the Sources table and Targets table. See the map variable named Map_Var1.
The map variable can be used in all statement types.
Follow these instructions to use a map variable in a rule:
To use a map variable in a rule:
or
Follow these instructions to delete a map variable:
To delete a map variable:
The map variable is deleted and the Transformation Map Details page appears. The map variable is removed from the Statements list and from the Sources table and Targets table.
Follow these instructions to update a map variable:
To update a map variable:
The Update Map Variable page appears.
The map variable is updated and the Transformation Map Details page appears.
This section provides an example of using map variables, based on modeling metadata you created when using the tutorial in Chapter 7, "Tutorial of an Integration within an Enterprise".
You create a map variable named Name in this section, then copy the first name to the variable. You then append a space character and concatenate the variable with the last name and store it in the target.
Name
in the Name field.
Assign a value to a map variable (first name appended by a space):
The Rule Signature section displays your selections.
The map variable statement displays at the bottom of the Statements list.
Use the map variable (concatenate the variable with the last name):
The Rule Signature section displays your selections.
The map variable statement displays at the bottom of the Statements list.
In addition to the actual content body, events also include headers that contain details like the originating party and target party. Event header rules enable you to set or retrieve these header details through system-defined event header functions. For example, suppose an event destination is the party Oracle. Use an event header rule that invokes the event header function called setToParty and pass it Oracle.
See Also:
|
Follow these instructions to access the event header rule management tasks shown in Figure 13-4:
To access event header rule management tasks:
The Event Transformation Maps page appears.
The Transformation Map Details page for the selected event transformation map appears (for this example, event transformation map Transform Payload). (See Figure 13-4.)
Follow these instructions to create an event header rule:
To create an event header rule:
or
The Create Event Header Rule page appears.
Text description of the illustration create_event_header_rule.gif
Text description of the illustration create_event_header_rule_set.gif
Follow these instructions to delete an event header rule:
To delete an event header rule:
The event header rule is deleted and the Transformation Map Details page appears.
Follow these instructions to update an event header rule:
To update an event header rule:
The Update Event Header Rule page appears.
The event header rule is updated and the Transformation Map Details page appears.
This section provides an example of using event header rules, based on modeling metadata you created when using the tutorial in Chapter 7, "Tutorial of an Integration within an Enterprise". When multiple newspapers are added, you must set the target party in the header of the Ad Request that identifies the newspaper to which it is to be sent. Since there is currently only one newspaper (Global Newspaper), you set the party to Global Newspaper in this example:
Global
Newspaper
in the Constant Value field.
The event header rule displays at the bottom of the Statements list.
This section contains the following topics:
"Transformation" for conceptual details about domain value maps
See Also:
Parties participating in integrations (trading partners or applications) in different regions of the world use different currency standards, different methods for representing country codes, and other details in their messages. Oracle Application Server ProcessConnect includes a feature known as domain value maps that enables you to map one party's vocabulary standards to another party's vocabulary standards. This enables parties to send and receive messages while continuing to use their regional terminologies.
Domain value maps are used in the context of transformations and are executed when application events are transformed into business events, and vice versa.
Figure 13-5 and Table 13-5 provide an overview of key domain value map components described in this section. For domain ipdev, success is defined as a string named true. For domain APPS, success is defined as a string named Yes.
The domain value map that you create in this section displays in the Domain Value Map list of the Create Domain Value Map Rule page shown in Step 3.
See Also:
"Creating a Domain Value Map Rule" for instructions on creating a domain value map rule in an event transformation map |
The Oracle Application Server ProcessConnect user interface tool enables you to perform the domain value map management tasks shown in Figure 13-6. These tasks are described in detail in this section. The domain value map is the agreement that, when complete, identifies the:
Table 13-6 identifies the domain value map management tasks shown in Figure 13-6 and provides references to procedures for performing these tasks.
Domain Value Maps Page Elements | Management Task | First See Section... | Then See Section... |
---|---|---|---|
Create button in Domain Value Maps section of Figure 13-6 |
Create a domain value map |
||
Delete column in Domain Value Maps section of Figure 13-6 |
Delete a domain value map |
|
|
Update column in Domain Value Maps section of Figure 13-6 |
Update a domain value map |
|
|
Name column in Domain Value Maps section of Figure 13-6 |
View details about a domain value map |
|
Follow these instructions to access the domain value map management tasks shown in Figure 13-6:
To access domain value map management tasks:
The Domain Value Maps page appears. (See Figure 13-6.)
Follow these instructions to create a domain value map:
To create a domain value map:
The Create Domain Value Map page appears.
Map_Agreement1
is entered).
The domain value map is created and the Domain Value Map Details page for the created domain value map appears.
See Also:
"Creating a Domain Column" to create a domain column to assign to a domain value map |
Follow these instructions to delete a domain value map:
To delete a domain value map:
The domain value map is deleted and the Domain Value Maps page appears.
Follow these instructions to update a domain value map:
To update a domain value map:
The Update Domain Value Maps page appears.
The domain value map is updated and the Domain Value Map Details page for the updated domain value map appears.
Follow these instructions to view a domain value map:
To view a domain value map:
The Domain Value Map Details page for the selected domain value map appears.
This page, as with the Domain Value Maps page shown in Figure 13-6, enables you to delete or update the selected domain value map.
The Oracle Application Server ProcessConnect user interface tool enables you to perform the domain column and party management tasks shown in Figure 13-7. These tasks are described in detail in this section. Domain columns define the column name and its datatype (such as a string). You assign domain parties (such as an organization name) to domain columns.
Table 13-7 identifies the domain column and party management tasks shown in Figure 13-7 and provides references to procedures for performing these tasks.
Domain Value Maps Page Elements | Management Task | First See Section... | Then See Section... |
---|---|---|---|
Create button in the Domain Columns section of Figure 13-7 |
Create a domain column |
||
Delete column in the Domain Columns section of Figure 13-7 |
Delete a domain column |
|
|
Update column in the Domain Columns section of Figure 13-7 |
Update a domain column |
|
|
Name column in the Domain Columns section of Figure 13-7 (To access the details page shown in the lower page of Figure 13-7) |
View details about a domain column |
|
|
Add button in the Domain Parties section of Figure 13-7 |
Add a domain party |
|
|
Remove column in the Domain Parties section of Figure 13-7 |
Remove a domain party |
|
Follow these instructions to access the domain column and party management tasks shown in Figure 13-7:
To access domain column and party management tasks:
The Domain Value Maps page appears. (See the upper page of Figure 13-7.)
Follow these instructions to create a domain column:
To create a domain column:
The Create Domain Column page appears.
Field | Description |
---|---|
Name * |
Enter a unique and recognizable name for the domain column (for this example, Success1 is entered). |
Business Domain |
Select Yes or No. |
A business domain identifies the common vocabulary domain (that is, the domain associated with the business events that is common across different domains and parties).
Exactly one domain column with Business Domain set to Yes can be associated with a domain value map (through the creation of domain value map columns).
Domain value map functions used in transformation such as lookupBusinessViewDomain and lookupPartyDomain refer to this business domain column. For example, lookupBusinessViewDomain first finds the domain value map row containing the specified inValue for the domain column associated and returns the value in that row associated to the business domain column.
Similarly, lookupPartyViewDomain first finds the domain value map row containing the specified inValue associated with a business domain column and then returns the value in that row associated to the domain column for the specified party.
The domain column is created and the Domain Column Details page for the created domain column appears. (See the lower page of Figure 13-7.)
When complete, you have two domain columns (Success1 and Success2) of datatype string.
See Also:
"Adding a Domain Party" for assigning parties in an integration to domain columns |
Follow these instructions to delete a domain column:
To delete a domain column:
The domain column is deleted and the Domain Value Maps page appears.
Follow these instructions to update a domain column:
To update a domain column:
The Update Domain Column page appears.
The Domain Column Details page for the updated domain column appears.
Follow these instructions to view a domain column:
To view a domain column:
The Domain Column Details page for the selected domain column appears.
Text description of the illustration details_domain_column.gif
This page, as with the Domain Value Maps page shown in the upper page of Figure 13-7, enables you to delete or update the selected domain column.
Follow these instructions to associate a party with a domain column:
To add a domain party:
The Domain Column Details page appears. (See the lower page of Figure 13-7.) For this example, Success1 is the domain column selected.
The Create Domain Party page appears.
The domain party is added and the Domain Column Details page for the selected domain column appears. (See the lower page of Figure 13-7.)
When complete, you have two domain columns with the following details:
Domain Column | Domain Party |
---|---|
Success1 |
aqapp |
Success2 |
ipdev |
See Also:
Follow these instructions to remove a domain party:
To remove a domain party:
The domain party is deleted and the Domain Column Details page appears.
The Oracle Application Server ProcessConnect user interface tool enables you to perform the domain value map column and row management tasks shown in the lower page of Figure 13-8. These tasks are described in detail in this section. Domain value map columns identify the domain columns (and their domain parties) of a specific domain value map. Domain value map rows identify the vocabulary you assign to domain value map columns.
Table 13-8 identifies the domain value map column and row management tasks shown in the lower page of Figure 13-8 and provides references to procedures for performing these tasks.
Domain Value Map Details Page | Management Task | First See Section... | Then See Section... |
---|---|---|---|
Add button in Domain Value Map Columns section of Figure 13-8 |
Add a domain value map column |
"Accessing Domain Value Map Column and Row Management Tasks" |
|
Remove column in Domain Value Map Columns section of Figure 13-8 |
Remove a domain value map column |
|
|
Create button in Domain Value Map Rows section of Figure 13-8 |
Create a domain value map row |
|
|
Delete button in Domain Value Map Rows section of Figure 13-8 |
Delete a domain value map row |
|
|
Update button in Domain Value Map Rows section of Figure 13-8 |
Update a domain value map row |
|
See Also:
"Viewing a Domain Column" to view column name details accessible from the Name column of the Domain Value Map Columns section of the lower page of Figure 13-8 |
Follow these instructions to access the domain value map column and party management tasks shown in the lower page of Figure 13-8:
To access domain value map column and row management tasks:
The Domain Value Maps page appears. (See the upper page of Figure 13-8.)
The Domain Value Map Details page for the selected domain value map appears. (See the lower page of Figure 13-8.) For this example, Map_Agreement1 is the domain value map selected.
Follow these instructions to associate a domain column with the domain value map:
To add a domain value map column:
The Create Domain Value Map Column page appears.
The Domain Value Map Details page appears with the added domain value map column. (See the lower page of Figure 13-8.)
When complete, the domain value map Map_Agreement1 is associated with the two domain columns.
Domain Value Map | Domain Column | Domain Party |
---|---|---|
Map_Agreement1 |
Success1 |
aqapp |
|
Success2 |
ipdev |
See Also:
"Creating a Domain Value Map Row" to define the datatype values to associate between the domain parties |
Follow these instructions to remove a domain value map column:
To remove a domain value map column:
The domain value map column is removed and the Domain Value Map Details page appears.
Follow these instructions to create a domain value map row:
To create a domain value map row:
The Create Domain Value Map Row page appears.
true
is entered).
Yes
is entered).
The Domain Value Map Details page for the domain value map Map_Agreement1 appears with datatype mapping complete between domain column Success1 (and its party aqapp) and domain column Success2 (and its party ipdev).
Every value in a column or set of columns (key) must be unique. This means that no two rows of a table can have duplicate values in a specified column or set of columns.
"Creating a Domain Value Map Rule" for instructions on assigning a domain value map to a transformation
See Also:
Follow these instructions to delete a domain value map row:
To delete a domain value map row:
The domain value map row is deleted and the Domain Value Map Details page appears.
To update a domain value map row:
The Update Domain Value Map Row page appears.
The Domain Value Map Details page for the updated domain value map appears.
After you have created a domain value map, how do you look up its value? As mentioned in "Creating a Domain Column", one column is always defined as the business domain. Values can be mapped between a party and the business domain, and vice versa, but not directly between two parties. For example, given a value and a party using it, you can look up the domain value map to find the corresponding value in the business domain. This happens during the inbound transformation phase. The party is obtained by looking up the fromParty of the event. Alternatively, given the business domain value and a party for which you want the corresponding value, you can look up the domain value map to find the party-specific value. This happens during the outgoing transformation. The party is obtained by looking up the toParty in the event header. The in-built functions for performing domain value map lookups are:
Given the party name and the value to be looked up, this function returns the corresponding value from the business view (common view) domain.
Given the party name and the value to be looked up, this function returns the corresponding value from the business view (common view) domain. If a corresponding value for the inValue is not found in the business view, the value corresponding to the input parameter defaultValue is returned.
Given the party name and the value to be looked up, this function returns the corresponding value from the party domain.
Given the party name and the value to be looked up, this function returns the corresponding value from the party domain. If a corresponding value for the inValue is not found in the party domain, the value corresponding to the input parameter defaultValue is returned.
See Also:
|
Follow these instructions to access the domain value map rule management tasks shown in Figure 13-4:
To access domain value map rule management tasks:
The Event Transformation Maps page appears.
The Transformation Map Details page for the selected event transformation map appears (for this example, event transformation map Transform Payload). (See Figure 13-4.)
or
The Create Domain Value Map Rule page appears.
For this example, lookupBusinessViewDomain is selected.
The page refreshes to display source and target parameters in the Rule Signature section.
Based on your selections in Steps 4 and 5, the page refreshes to display the following details:
AQ_A
as the party name in the Constant Value field. The party name you enter is the domain party name you selected in "Adding a Domain Party".
The following bindings appear.
The Transformation Map Details page displays the domain value map rule.
Follow these instructions to delete a domain value map rule:
To delete a domain value map rule:
The domain value map rule is deleted and the Transformation Map Details page appears.
Follow these instructions to update a domain value map rule:
To update a domain value map rule:
The Update Domain Value Map Rule page appears.
The domain value map rule is updated and the Transformation Map Details page appears.
This section provides an example of using domain value map rules, based on modeling metadata you created when using the tutorial in Chapter 7, "Tutorial of an Integration within an Enterprise". The tutorial uses different vocabulary to refer to an advertisement. For example, HR uses Ad, the global newspaper uses Advertisement, and the local newspaper uses Commercial. Domain value maps enable you to manage different vocabularies.
You first create three domain columns.
HR
Depts
in the Name field.
NP
Type1
in the Name field.
Common
in the Name field.
The Domain Value Maps page appears, and displays the three domain columns you created.
Ad
Terminology
in the Name field.
Ad
in the HR Depts field.
Commercial
in the Common field.
Advertisement
in the NP Type1 field.
The Domain Value Map Details page displays your selections.
Human
Resources
in the Constant Value field.
The Rule Signature section displays your selections.
The domain value map rule statement displays at the bottom of the Statements list.
Global
Newspaper
in the Constant Value field.
The Rule Signature section displays your selections.
The domain value map rule statement displays at the bottom of the Statements list.
See Chapter 14, "Advanced Transformations Design" for details about user transformation design errors.
This chapter describes how you use transformations to reconcile the different structures and vocabularies used by the parties in an integration. Event and datatype transformation maps and domain value maps are defined. Management tasks for these map types are provided. Transformation statements, the logical statements to use when mapping the sources and targets of parties, are defined. Management tasks for transformation statements are also provided.
Case studies on using basic transformation rules, transformation conditions, event header rules, map variables, and domain value map rules are provided.
|
![]() Copyright © 2003 Oracle Corporation. All Rights Reserved. |
|