miércoles, 5 de octubre de 2011

TIBCO BW Process Design Guide (1 - 3)

These are some notes I have written in order to help myself to get ready to clear the TIBCO ActiveMatrix BusinessWorks 5 Certification Exam (TB0-123). More details about the exam, click here. This entry is about TIBCO BW Process Design Guide document. Any comment or suggestion, please write to luisagcenteno@gmail.com. Further details can be found at TIBCO Documentation. I hope these notes can help you as well as they did to me...

TIBCO ActiveMatrix BusinessWorks Process Design Guide (Part 1 of 3)

- TIBCO Designer is an easy to use graphical user interface for creating integration projects.
- To start TIBCO Designer
Windows
Choose Start > All Programs > TIBCO > TIBCO Designer n.n > Designer n.n
or
Invoke install-path\tibco\designer\n.n\bin\designer
UNIX
Invoke install-path/tibco/designer/n.n/bin/designer
- Startup panel Project options
New empty project
In order to not see Save dialog each time a new project is created, go to Edit>Preferences>General and unselect show save dialog for new project.
New project from template
A project template is a pre-built project. Using a template makes it possible to leverage an existing configuration when creating new projects.
Open existing project
Reopen project
Delete project
Help
Exit
Show this panel only at startup
- Startup panel Administration options
- Convert DAT to files. Convert legacy (DAT file) format to multi-file project format.
- Convert files to DAT. Convert multi-file project format to legacy (DAT file) format.
- Configure preferences. Displays the Preferences dialog
- Configure runtime. Extended ClassPath, Palette path, Maximum Heap Size User Directory, Comand Line Arguments, etc
- Runtime environment.Displays TIBCO Designer runtime information (it can be exported)
- Designer components.
- Menu bar and Menus
- Toolbar and icons
- Tabs in the leftmost area to change wha’t displayed in the panel.
- Project panel
Project Panel allows to view Project Display or Global Variables Display
- Design panel.
- Configuration panel.
- Palette panel.
- To return to the default settings select Edit>Preferences and click Restore Default Settings
- To choose the three panel view, Choose Edit>Preferences>View and under Layout select the appropriate icon and click OK.
- To see Close markers in palettes, go to Palettes>Options>Show Close Boxes. To hide Close markers in palettes, go to Palettes>Options>Hide Close Boxes. To redisplay a closed palette, choose Palettes > Browse and then locate and select the palette.
- Non-palette mode only shows the currently usable components.
- Switch Palette Modes
Choose Palettes>Options>Switch Palette Modes
or
Click the Switch Palette Modes button located in the tool bar.
- To display palettes in a separate window.
Go to Palettes>Options>Show Palettes in New Window.
- To create a user palette, choose Palettes>My Palettes>New Palette, specify the name of the palette, drag and drop resources into the palette
- To load a User Palette, choose Palettes>My Paletes>Reload Palettes
- To delete a User palette, make sure the palette is loaded and then choose Palettes>My Palettes>Delete>Delete Palettes

- A project is a collection of resources that define the configuration of an integration project.
- Each TIBCO Designer contains only one project.
- TIBCO Designer removes any existing files bfore placing the project files into the folder.
- For Multi-file projects
- There is only one file per top-level resource.
- The project root directory identifies the project.
- Directories in the file system become folders in TIBCO Designer. However, not all folder in TIBCO Designer are directories in the file system.
- Folders created from a Folder resource in General Palette become folders in file system.
- Other folders only exist in memory in the resource that holds them.
- TIBCO Designer creates a file named vcrepo.data in the project root directory when the project is first saved. This file is used to store properties such as display name, TIBCO Rendezvous encoding and description. This file can be used for identification in place of the project root directory and can be used as the repository locator string (repoUrl).
- Supported Version Control Systems
File Sharing
Microsoft Visual SourceSafe
Perforce Fast Software Configuration Management System
XML Canon
Clear Case
CVS
PCVS
- A new project can be created from scratch (only containing an AESchemas folder for Adapter Schema resources) and template-based.
- During validation, each resource checks for broken references. Many resources have other resource-specific validation behavior.
- To Validate a resource.
Resources>Validate Resource    or    Click on the Validate Resource icon.
- To Validate All resources
Project>Validate Project for deployment    or    Click on Validate project for deployment icon
- In order to change the behavior each time an activity that can lead to a broken references, go to Edit>Preferences>References
- Choices when saving a multi-file project.
- Project Directory.
- TIBCO Message Encoding is the character encoding used for the communication between TIBCO product components in project at design time (debug time) or if it is running as a legacy local file-based project. Communication transport could be TIBCO RV or TIBCO EMS.TIBCO Administration Server encoding will supersede this encoding.
- ISO8859-1. English and other Western European languages that belong to ISO Latin-1 character set. Data loss may occur if it is used for other languages.
- UTF-8. Preferred encoding for projects dealing with languages not belonging to the Latin-1 character set.
- Multi-User System
- There are two ways to open/reopen a project
Project>Open/Reopen    or    Startup panel.
- There are three ways to add a resource to design panel
-In the panel panel, select a resource, choose Add This To The Project from right button click.
-In the design panel, right click on an empty area and select Add Resource from the right button menu and then select the desired resource to add.
-Enable adding resources by double-clicks. Go to Edit>Preferences and select the View tab. Under Palettes, select Initiate drag and drop through double clicks,
- Projects are deleted via the startup panel is required.
- Project Names should not contain the following characters: | / \ “ ‘ : ?
- A multi-file project and a single file (.dat) project cannot be into the same directory.
- Place schema in the AESchemas folder. If the project file is edited in an XML editor editor and define schema outside /AESchemas folder, the schema are placed in a directory called __NON__DEFAULT__SCHEMA__FOLDER__ in /tibco/public/ where type is the kind of object (class, scalar, union, etc). It is cleaner to have schema files into AESchemas. In addition, it is required to place shcma files into /AESchmas in order to edit the project in TIBCO Designer
- Use Global Variable groups to allow multiple developers to work simultaneously
- An excessive amount of Global Variables (over 500) can lead to problems

- A Process Definition is the graphical representation of a Business Process.
- Process definitions are executed by a TIBCO ActiveMtrix BusinessWorks process engines. A process engine creates instances of process definitions.
- Project definition components
- Activities. Individual units of work in a process definition. They start either with Start activity or Process Starter
- Transitions. Describe the flow of processing in a process definition. Describe control flow of the process definition, not the concurrency of execution of activities. Process execution is controlled by the process engine. Activity must have a transition to it or it doesn’t get executed.
- Groups. Groups are used to specify related sets of activities.
- Create a set of activities that have a common error transition.
- Create a set of activities to be repeated until a condition is true or if an error occurs
- Create a set of activities that participate in a transaction.
- Shared Configuration Resources. Specifications that are shared among activities. They are created outside of process definitions but they are used when specifying the Configuration tab of some activities.
- Subprocesses. Process definition calls to smaller process definitions that cannot have process starters (they must begin with Start activity). Which process to call can be determined dynamically when the process instance executes. A subprocess executes in the same process instance unless the Spawn field of the Configuration tab is checked. In that case, the process is spawned into a new process instance and the output data is not available for the parent process.

- Activities perform the work in a process definition
- Tabs that activities contain
- Configuration. Contains the general specifications for the activity. Required fields are displayed in bold.
- Advanced. Additional configuration options.
- Event. For activities that wait for incoming events, this tab specifies the timeout for the incoming event and a condition to determine whether the incoming event is the correct one for the specific process instance. This activities cause the process instance to suspend until the incoming event is received.
- Candidate Event Key. XPath expresion used to evaluate whether the incoming messge is appropriate for this process. Only data from the incoming event is available for use in this XPath expression.
- Event Timeout (msec). The amount of time a message will wait (in miliseconds) if it is received before this task is reached in the process. If the event timeout expires, an error is logged and the event is discarded. If no value is specified, then the message waits indefinitely. If zero is specified, the event is discarded immediately, unless this has already been reached.
Wait for Adapter Message (ActiveEnterprise Adapter)
Wait for Adapter Request (ActiveEnterprise Adapter)
Wait for File Change (File)
Wait (General Activities)
Wait for HTTP Request (HTTP)
Wait for JMS Queue Message (JMS)
Wait for JMS Topic Message (JMS)
Wait for Completion (Manual Work)
Wait for Rendezvous (Rendezvous)
- Editor. A data schema for the activity. Used when user should specify their own schema, once specified, the schema becomes available on Input, Output or both tabs of the activity.
Fields of the Editor.
Content.
Complex Element, Element of Type, XML Element Reference, Sequence, Choice, All, XML Group Reference, Any Element, WSDL Message
Name.
Cardinality. Required, Optonal (?), Repeating Zero or More (*), Repeating One or More (+)
Type. XML Type Reference or one of the following types
String or character value
Integer value.
Floating point number.
Boolean value.
Date or time.
Base 64 or hexadecimal value
HTTP URI
Complex Element
XML element or group reference
Sequence
Any Type
Any Element
Choice
Schema Name. Stored XML Schema that contains the element or type to reference.
Type Name. Type in a stored XML Schema to reference.
- Input. Allows to map and transform output from previous activities in the process to input data for the activity.
- Output. Displays the activity output schema.
Activity Icons
- Arrows indicate the direction of information. Multiple arrows indicate either sending or receiving data as opposed to performing a single operation.
- A ‘Play’ button indicates the activity is a process starter.
- A ‘Pause’ button indicates the activity waits for an incoming event from external system.
- A single arrow indicates that the activity is performing a request, sending a response or performing a request and receiving a response.
- A process starter is used to start a process when an event occurs. There can be only one starter in a process definition.
Adapter Subscriber (ActiveEnterprise Adapter)
Adapter Request-Response Server (ActiveEnterprise Adapter)
File Poller (File)
Timer (General Activities)
Receive Notification (General Activities)
HTTP Receiver (HTTP)
JMS Queue Receiver (JMS)
JMS Topic Subscriber (JMS)
Receive Mail (Mail)
Rendezvous Subscriber (Rendezvous)
SOAP Event Source (SOAP)
- All process starters have a Misc tab that allows you to configure features common to all process starters.
- Sequencing Key. XPath expression that specifies which processes should run in order. Process instances whose sequencing key evaluates to the same value will be executed sequentially in the order in which the process instance was created.
- Custom Id. XPath expression that specifies a custom ID for the process instance. This ID is displayed in the View Service dialog of TIBCO Administrator, and it is also available in the $_processContext process variable.
- Start activity contains three tabs
Configuration
Output Editor
Output
- End activity contains four tabs
Configuration
Input Editor
Input
Error Schemas. Defines schemas to contain data for errors thrown by the process definition. Multiple schemas can be specified, each for use in specific error cases

- Transitions and conditions control the flow of activities in a process diagram. A transition cannot be drawn to a previously executed activity.
- After an activity or group complete processing, all transition whose conditions are met, are taken.
- Null activity is useful to join the multiple branches of transitions into a single execution path.
- The transition dialog (Configuration tab) allows to specify a label, description line type and background color for the transition. A condition type can also be specified.
Success. Taken unconditionally
Success with condition. XPath custom condition. Taken if true.
Success if no matching condition. Taken if no other transitions are taken.
Error. Taken if error occurred.
- There can be only one Error and one Success if no matching condition transition out of each activity.

- Group are used to specify related sets of activities
- Main uses of groups
- Common error transition
- Transactions
Configuration tab.
-Transaction Type. JDBC,Java Transation API (JTA) User Transaction, XA and JMS
-Include in transaction. Receiver is included in the transaction when JMS Transaction Type is selected
- If...then...else if...
- Loops. Once for each item in a list, or while or until a condition is true, or if an error occurs
Iterate
Configuration tab
-Index Name. Starts at 1 and increments by 1
-Variable List. List to iterate
-Iteration Element. Name for current iteration element.
-Accumulate Output
-Output Activity. Only one activity can be selected to accumulate its output.
-Output Name. Name of the process variable to accumulate the output activity.
Repeat-Until-True
-Index Name. Starts at 1 and increments by 1
-Conditions. Condition for loop to stop. Condition is false, loop repeats
-Accumulate Output.
-Output activity. Only one activity can be selected to accumulate its output.
-Output Name. Name of the process variable to accumulate the output activity.
While True
-Index Name. Starts at 1 and increments by 1
-Conditions. If condition is false, the activities in the group are not executed.
-Accumulate Output.
Repeat-On-Error-Until-True
-Index Name. Starts at 1 and increments by 1
-Conditions. The activities inside the group are executed once. This condition specifies when the loop should stop. If the error does not have an associated error transition, the condition is checked
-Suspend (If still error). Suspends the process if error still occurs when condition is true.
- Critical Sections. Synchronize process definitions
-Scope.
Single group. All process instances in the same process engine
Multiple group. Synchronize process definitions using the same lock object.
-Lock Object. Share configuration resource to synchronize critical section groups
- Pick first. First activity that finishes should determine which transitions to take to continue processing.
- Group Configuration tab
Name
Description
Group Action. None, If, Iterate Loop, Repeat Until True, While True, Repeat On Error Until True, Transaction, Critical Section, Pick First, Compatibility Mode.
- No Action Groups are intended for a set of activities to have a single error transition (similar to a try...catch)
- In an If Group the first condition to evaluate to true, determines the execution path. All other paths are ignored. Each condition is numbered and evaluated in order. There can be an otherwise condition. If no condition evaluates to true and there is no otherwise path, activities inside the group are not executed.
- Critical Section Groups are used to synchronize process instances so that only one executes the grouped activities at a given time. Critical section groups are particularly useful for controlling concurrent access to shared variables
Single Group. Synchronizes process instances for a single process definition in a single process engine. Only one process instance at any given time.
1. Create a group
2. Specify Critical Section for Group Action field
3. Specify Single Group for Scope field
Multiple Groups. Sinchronize process instances for multiple process definitions or synchronize process intances across multiple process engines.
1. Create a Lock shared configuration resource
2. Check the Multi-Engine field of the Lock resource. When process instances are executed by the same process engine, locking is performed in memory. When the process instances are executed across multiple engines, the process engines must be configured to use a database for storage and a database transaction is performed to ensure that only one process instance is executing the critical section group at any given time.
3. Create a group around the activities to synchronize
4. Specify Critical Section for Group Action field
5. Specify Multiple Groups for Scope field
6. Browse and select the Lock Object shared configuration resource.
7. Perform steps 3 to 6 for any process definition to synchronize.
Guidelines to use Critical Sections
- Keep duration of a critical section as short as possible. That is, put a very few activities in a Critical Section group and use only activitiesthat execute very quickly
- Avoid nesting Critical Section groups. Avoid Deadlocks by using Lock resources in the same order in nested Critical Section groups for all process definitions.
- Do not include any activities that wait for incoming events or have long durations such as Request/Reply activities, Wait for activities, Sleep activities or activities that require a long time to execute.
- When using Critical Section groups to retrieve or assign a value to a shared variable across multiple process engines, both the Lock and the Shared Variable shoraed configuration resource should have the Multi-Engine field checked. A GV can be used to ensure that Multi-Engine field is set to the same value for both resources.
- Pick First Groups allow process execution to wait for one or more events. The first event that completes, determines which transition to continue processing. Only Request/Reply, Wait For activities and activities that have the pause symbol can have valid transitions from the start of the Pick First group.
- Types of Loops.
- Iterate Loop. Allows to accumulate output of a single activity. Iterate Loops repeat the series of grouped activities once for every item (any data type) in an existing sequence or list. Iteration Element field on the Configuration tab allows you to supply a name for a process variable containing the current iteration element. Using Iteration element instead of array notation improves performance.
- Repeat Until True Loop. Allows to accumulate output of a single activity. Repeats the series of grouped activities until the given condition evaluates to true. Activities are always executed once before checking if the condition is true. If contiotion is true, the loop exits. Put a Mapper after the activity output used in the condition in order to only accumulate output that meets the condition, or put a Mapper outside the loop in order to strip out the unwanted values.
- While True Loop. Allows to accumulate output of a single activity. Repeats the series of grouped activities as long as the given condition evaluates as true. Condition is evaluated when the group is entered. If condition evaluates to false, the activities within the group are not executed.
- Repeat On Error Until True Loop. Allows to repeat a series of activities when an unhandled error occurs. The activities in the group are executed once. If there are no unhandled errors, the loop terminates. If an error occurs for which there is no error transition, the condition of the loop is evaluated, if the condition is true, the loop terminates, if the condition is false, the loop repeats until no error occurs or the condition is true. When Suspend If Still Error option is checked the process suspends if the error still exists when the condition of the loop is true. The suspended process is displayed by TIBCO Administrator and the deployment configuration allows to specify an action to perform if the process is suspended. The administrator can resume the process execution which resumes before Repeat On Error Until True loop. The process instance executes the loop and all the variables are reset to their values before the loop was executed the first time (as if itit had never executed). If the error persists, the process instance continues to be suspended. The administrator can decide whether to resume or kill the process if the error cannot be fixed.

- Variables in TIBCO ActiveMatrix BusinessWorks
-Global Variables. Constants that can be used throughout the project. Their values can be changed while designing and testing projects. Also, a different value can be specified for each deployment of the project. In order to use a GV in the fields of a resource, enter the variable name surrounded by %% on both sides. When the process is deployed and the configured components run, all occurrences of the global variable name are replaced with the global variable value. Use the Global Variables Editor to create or modify global variables. The name Message Encoding is reserved and cannot be used to name a global variable (a GV is created by Designer when generating an EAR file). GV groups are specially useful if multiple developers share a project using a version control system. a GV group should at least contain one GV or it will be automatically deleted. The filter in GV Editor uses regular expression matching which is case insensitive.
-Name.
-Value.
-Deployment. Check this field to make the GV visible and settable when deploying
-Service. Indicates that the GV should be included when the Include all service level global variables option is selected when building the EAR file.
-Type. String, Integer, Boolean or Password.
-Constraint. For string and integer types, provide a range of allowed values. Enumeration (csv) in Strings and a range in integers (1-100). Constraints are not currently implemented in TIBCO Administrator.
-Description.
Changing the value of GVs when deploying project in TIBCO Administrator is possible. It is also possible to specify values for global variables when starting a process engine on the command line. To do this, specify the following command line argument when starting the process engine.
    -tibco.clientVar.
-Process Variables. Data structures available to the activities in the process. Process Variables are displayed in the Process Data panel of each activity’s Input tab. Each process variable name starts with a dollar sign ($). Allow access to various data in project. Memory saving mode allows memory used by a process variable to be released when the value of the variable is no longer needed. Enable memory saving mode (disabled by default) by setting EnableMemorySavingMode. property to true.
There are four types of process variables.
- Activity Output. Activities have access to any data that is output from previously executed activities in the process definition. Activity output is placed into a process variable with the same name as the activity (with a dollar sign placed in front of the name to indicate it is a process variable.
- Predefined Process Variables. There are two process variables that are available to all activities that accept input:
$_globalVariables contains the list of global variables defined on the Global Variables tab of the project.
$_processContext. Contains general information about the process such as the process ID, project name, whether the process was restarted from a checkpoint and so on.
- Error Process Variables. When an error occurs in a process, the data pertaining to the error is placed into process variables. The $_error process variable contains general error information. Activities can also have error process variables named $_error_. In the even of an error, the activity’s error variable is populated with the appropriate error schema.
- User Defined process Variables. Process variables are defined on the Process variables tab of the Process Definition resource. Assign activity is required to assign a value to user-defined process variables. Only user-defined process variables can be modified to specify a new value. When using the Assign activity, the entire content of the process variable is replaced by the specified new contents.
-Shared Variables. Allow to specify data for use across multiple process instances. Access to shared variables can be synchronized across process when setting or retrieving the share variable.
-Shared Variable. Allows to share data across process instances. All process instances can read and update the data stored in a shared variable.
-Job Shared Variable. Similar to Shared Variable but its scope is limited to current job. A copy of the shared variable is created for each new process instance. This type of shared variable is useful for passing data to and from sub-processes without creating an input or output schema for the called process. Get and Set Shared variable activities can be used to access the data instead of mapping data to a called process input or output schemas. New process instances receive a copy of the Job Shared Variable, so data cannot be shared across process instances. If a process call has the Spawn configuration field checked, a new process instance is created and the process instance receives a new copy of the Job Shared Variable.
Configuring Shared Variables
- Name for the variable
- Schema of the data contained in the variable
- Optionally, an initial value for the variable.
None (no initial value)
Select Value. A stored XML instance containing data that meets the specified schema can be selected.
Build Value. An Edit button appears that allow to bring up a dialog to construct the initial value of the variable.
- Whether the variable is persistent and whether the variable should be available across process engines. If variable is persistent, its value is written to the process engine storage location (either the file system or a database depending upon how the process engine was deployed. The value of the shared variable is only updated in the process engine persistent storege when the value of the variable changes. The Persistent field is not available on Job Shared variable resources but the state of these variables is saved by a checkpoint.
- In order to make the value of a Shared Variable resource available to process instancess across multiple process engines, check the Multi-Engine field in the Configuration tab (not available on Job Shared Variable resources). If this option is selected, a database must be used to store process engine data. Only engines that are in the same deployment and part of the same load-balancing group can share variables. Retrieving the current value and assigning a new value to the variable requires I/O to the process engine database storage.
- In order to retrieve the current value of a Shared Variable, use Get Shared Variable activity. In order to assign a value to the shared variable, use Set Shared Variable activity. Both activities are in General Activities palette.
- Set Shared Variable activity can be stored in order to include the current value of the variable as output for the activity.

- The Input tab activity allows to supply the data that an activity expects as input. The process data and activity input are represented as schema trees.
Process Data Panel
List of available data in the process definition at the point where the activity is located. An activity has access to all output data from any activity that has been previously executed in the process definition. All activities also have access to GV, process variables and information about the current process context. Process data cannot be modified, but it can be used to supply input to the activity.
Activity Input Panel
The activity’s input is an Extensible Stylesheet Language Transformation (XSLT) template that specifies how process data should be transformed to provide the expected input. In order to display the XSLT in a text editor, copy an element from activity’s input tab. Custom XSLT template can be used to perform transformations by pasting the desired XSLT into the activity’s input panel.
- When an activity is first dragged from a palette to the design panel, the activity;s input elements are displayed as hints. These hints show the data the activity expects as input. Each element can be required or optional. Required elements must have a mapping or formula specified. Once a mapping or formula is specified, a hint becomes an XSLT statement.
- Mapping Wizard dialog allows to select which kind of mapping to perform.
- XPath formulas can be specified to transform an element if more complex processing is required.XPath Formula Builder allows to easily create XPath formulas.
- If a hint is dragged to the process data panel, it becomes a blank statement. This shortcut is useful when
Having a complex element with no sub-elements and no content
Having a choice element (brings up the Mapping Wizard and allows to choose the type)
Having an element of type Any (brings up the Mapping Wizard and allows to choose the type)
- A statement displayed in red has an error. A hint displayed in red is a required input element.
- Coercions allow to specify a type for Process Data elements that are not a specific datatype.
- Type Documentation button allows to specify or view documentation for schema elements.
- Check button opens the Mapper Check and Repair dialog
- Exclamation mark button opens the Edit Statement dialog that allows to modify an XSLT.
- Pencil button opens the XPath Formula Builder to create XPath statements.
- Expand>Content expands the current element so that all sub-elements that have a mapping or expression are visible. Expand>Errors expands the current element so that all sub-elements that have an error in their expression are visible. Expand>All expands all sub-elements of the currently selected element.
- Complex element is also called branch in the schema tree.
- ? signifies an element is optional in the Process Data schema or in a hint in the Activity Input. In an XSLT statement, the ? signifies the statement is collapsed and an implicit ‘if’ statement is set, but not displayed in the Activity Input area.
- * Zero or more times
- + One or more times
- A null sign indicates that the item may be set (hint) or it was set (statement) to null. Click on Edit statement button (!) to “Set Explicit Nil”.
- Strings are enclosed by quotes.
- Datetime values are read according to the ISO 8601 standard as described in the XML specification (2202-02-10T14:55:31.112-08:00). If no timezone is specified, the value is interpreted in the timezone of the machine that is performing the parsing. Use of timezones is encouraged in order to avoid complications. When TIBCO ActiveMatrix BusinessWorks generates strings, UTC time is always used (Z at the end means UTC timezone)
- Mapping error causes
-A required element has no statement and therefore must be specified
-Activitiy’s input shcema has changed and existing statements may no longer be valid.
-XPath formula for an element may contain an error
- Mapper Check and Repair button helps to find potential problems in mappings.
- In order to return to the original expected activity input and remove all of the currently specified mappings
1.Delete the root element of the activity’s input by selecting it and clicking the delete button
2. Click the mapper Check and Repair button
3.Select the fix checkbox for all items
4. Click OK
- Right Click menu contains severral sub-items that are useful shortcuts for creating XSLT
Surround with choice
Surround with If
Surround with For-Each
Surround with For-Each-Group
Duplicate
Insert Model Group Content. Inserts the contents of a selected model group into the mapper tree
- When mapping process data elements to activity input elements, the behavior depends upon the types of the elements being mapped.
- When elements are optional or nillable, automatic tests are necessary. Result of mappings are.
Required to Required.
Activity input element should always be mapped from process data element.
Optional to Optional.
The statement should test if the process data element is present and if so, include the optional element in the activity’s input. If the process data is not present, the optional element is omitted from the activity’s input.
Nillable to Nillable
Both process data and activity input elements can be nil.The value of the activity’s input element is set to the process data element. The value of the activity input element is explicitly set to nil if that is the value of the process data element.
Optional to Nillable.
The statement should test if the optional process data element exists. If it does, the activity input element should be created and set to the value of the process data element. If the process data element does not exist, the element is omitted from the activity input schema.
Nillable to Optional.
The statement should test if the process data element has a value specified, and if so, the optional element in the activity input should be set to the value of the process data element. Otherwise, if the process data element is nil, the optional element is omitted from the activity input.
Optional & Nillable to Optional & Nillable.
If the optional process data element exists, then include the optional activity input element in the input schema. If the process data element is nil, set the value of the activity input element explicitly to nil. If the process data element is not nil, set the value of the activity input element to the value of the process data element. If the process data element is no present, then omit the optional element from activity input schema.
- current-group() Process Data item in a For-Each-Group contains the set of items corresponding to the current iteration item grouped. Iterate over current-group() in order to map the repeating items in Input Data panel. Map the field to group by (outside a repeating structure mostly) from the original structure.
- ‘Merge parallel repeating structure’ is used to merge two different lists into a common repeating structure. Two variables are created, one created to hold the position number of the current item being processed and the other variable is to hold the item in the second list that corresponds to the position of the item in the first list. Maping Wizard prompts to name these two variables when merging.
- XSLT Statements
-Attribute. Allows to specify an attribute and its namespace. Also, type of value can be specified. XSLT equivalent

with value

    “Smith”

-Choose. Provides a way to select transformation based on an expression. Specify the condition in the when element as an XPath expression.An Otherwise condition can be specified as well. XSLT Equivalent

    
        


    


-Comment. Comment in an XSLT template. XSLT Equivalent
    
-Copy. Copies the selected node to the current node in the input tree. Only the node is copied, no children of the node are copied. XSLT Equivalent

-Copy-Contents-Of. Copies the selected node’s contents. This is usefule to copy an element to a new element with a different name. XSLT Equivalent




-Copy-Of. Creates a copy of the selected node, including the node’s children. Both, copied node and destination node must have the same name and structure. XSLT Equivalent

-Element. Creates an element with the specified name. XSLT Equivalent.
value
-For-Each. Performs the specified statements once for each item in the selected node. XSLT Equivalent.

    
        
    


-For-Each-Group. Groups the items in a list by a specified element. This statement requires a Grouping statement to specify which element to group-by. XSLT Equivalent

















-Generate Comment. Places a comment element into the XSLT template. This comment will be generated into the activity’s output.XSLT Equivalent

-Generate PI. Places a processing instruction into the XSL template. XSLT Equivalent

-If. Surrounds other statements in an XSLT template to perform conditional processing. If the test evaluates to true, the statements in the if are output, otherwise they are not output.

    
        


-Value-Of. This is normally done implicitly by specifying the formula for an activity input item, but it can be inserted explicitly. XSLT Equivalent

-Variable. Adds a local variable to use in the current mapping. Select attribute can be used or not used. Variables help to improve performance. XSLT Equivalent

1 comentario:

  1. Las Vegas Casino - JSH Hub
    Las Vegas' 정읍 출장샵 new casino is 부산광역 출장샵 located on the first floor of the Wynn Las Vegas Resort. Guests 당진 출장마사지 can enjoy the 세종특별자치 출장마사지 expansive casino with over 익산 출장마사지 1,600 slots,

    ResponderEliminar