Difference between revisions of "GVOperationNode"
(→Script OGNL/Java Scripting) |
(→InputServices) |
||
Line 44: | Line 44: | ||
* Data Transformation | * Data Transformation | ||
* XML Validation | * XML Validation | ||
− | * OGNL Scripting | + | * OGNL/Java Scripting |
The InputServices Element is used by: [[GVIteratorOperationNode]] and '''GVOperationNode'''. | The InputServices Element is used by: [[GVIteratorOperationNode]] and '''GVOperationNode'''. |
Revision as of 17:20, 21 February 2013
Description
A GVOperationNode is an operation node indicating that GreenVulcano® ESB must perform a communication with an external systems (invocation, sending messages, receiving messages). For example, if the node indicates a receive a message (see attribute op-type), you can also define a DequeueFilter that sets certain conditions that the received message must meet.
VulCon / GV Console Configuration
The GVOperationNode is a Flow element. It has the following attributes:
- type: flow-node;
- class: it.greenvulcano.gvesb.core.flow.GVOperationNode.
- id: ID of the node. Unique within the 'Flow' and its value cannot be null.
- op-type: The attribute admitted values are:
- call
- enqueue
- dequeue
- input: Specifies the input (from the execution environment) for the operation.
If the input is an exception, the operation is not performed, and the output is set equal input exception. Its value can't be null. - output: The operation's output (GVBuffer or Exception) is inserted into the execution environment with this exact name.
Default to "input" value. The attribute value can't be null. - next-node-id: Indicates the next node in the workflow to execute when the operation ends.
- id-system: Identifies the system involved in communication. Can be selected from systems declared as Participant in the Operation section.
The attribute value can't be null. - operation-name: Identifies the communication operation selected by the channel of the system indicated by the id-system attribute.
Only the operations of the type declared in the 'op-type' attribute can be selected. Its value cannot be null. - point-x: X position of the node in the VulCon® workflows editor. Immutable, used by VulCon®.
- point-y: Y position of the node in the VulCon® workflows editor. Immutable, used by VulCon®.
- dump-in-out: If true enable the dump of the input/output GVBuffer. Default false. The attribute admitted values are:
- true
- false
- dump-env-in-out: If true enable the dump of the input/output Execution Environment. Default false. The attribute admitted values are:
- true
- false
and the subelements:
InputServices
Before doing any communication you can run an ordered list of input services.
This section allows the definition of input services for the current communication operation. The current version of GreenVulcano® ESB provides the following services:
- Data Transformation
- XML Validation
- OGNL/Java Scripting
The InputServices Element is used by: GVIteratorOperationNode and GVOperationNode.
Might contain the following elements:
OutputServices
After doing any communication you can run an ordered list of output services.
This section allows the definition of output services for the current communication operation. The current version of GreenVulcano® ESB provides the following services:
- Data Transformation
- XML Validation
- OGNL Scripting
The OutputServices Element is used by ChangeGVBufferNode, GVIteratorOperationNode and GVOperationNode.
Might contain the following elements:
gvdte-service
Invokes the Data Transformation Engine (GVDTE). Refer to the documentation GVDTE for information on features of GreenVulcano® ESB Data Transformation Engine.
The following table shows the gvdte-service element's attributes:
Attribute | Type | Description |
---|---|---|
type | fixed | This attribute must assume the value service. |
internal | fixed | This attribute must assume the value yes. |
critical | optional | Defines if the service is critical. A critical service failure mark the entire communication as failed.
The attribute's default value is: yes. |
remove-fields | optional | Indicates whether or not to remove from the buffer the fields used for communication with GVDTE.
The attribute's default value is: yes. |
Its sub-elements are:
map-name-param
Specifies the name of the transformation that should apply by GVDTE.
This name must indicate a transformation currently configured in GVDTE.
This parameter can be optional if the input GVBuffer has a property with the name map-name.
The following table shows the map-name-param element's attributes:
Attribute | Type | Description |
---|---|---|
type | fixed | This attribute must assume the value param. |
name | fixed | This attribute must assume the value map-name. |
value | required | Specifies the name of the transformation that should apply by GVDTE.
This name must indicate a transformation currently configured in GVDTE. |
gvdte-context-call
Communication parameters to interact with GVDTE.
The following table shows the gvdte-context-call element's attributes:
Attribute | Type | Description |
---|---|---|
type | fixed | This attribute must assume the value call. |
class | fixed | This attribute must assume the value it.greenvulcano.gvesb.virtual.internal.DTEServiceContextCall. |
name | required | ID used for diagnostics. Is printed on the log files. |
gvdte-extra-param
Allows you to specify additional parameters for the transformation GVDTE must apply.
The following table shows the gvdte-extra-param element's attributes:
Attribute | Type | Description |
---|---|---|
type | fixed | This attribute must assume the value param. |
name | required | Parameter name. The attribute's value can't be null. |
value | required | Parameter value. The value of this attribute can be static or can be interpreted dynamically, as the value of a metadata expression that also employee the input GVBuffer. |
xml-validation-service
Invokes the XML validation engine.
The following table shows the xml-validation-service element's attributes:
Attribute | Type | Description |
---|---|---|
type | fixed | This attribute must assume the value service. |
internal | fixed | This attribute must assume the value yes. |
Its sub-elements are:
xml-validation-call
Communication parameters to interact with XML validation engine.
The following table shows the xml-validation-call element's attributes:
Attribute | Type | Description |
---|---|---|
type | fixed | This attribute must assume the value call. |
class | fixed | This attribute must assume the value it.greenvulcano.gvesb.virtual.internal.xml.XMLValidationCallOperation. |
name | required | ID used for diagnostics. Is printed on the log files.
The attribute's value can't be null. |
default-xsd | optional | Default XSD. The attribute's value can't be null. |
xsd-policy | optional | Policies for the use of default XSD.
|
return-dom | optional | Returns the parsed and validated org.w3c.dom.Document corresponding to the input object.
The same object is returned if input already is a DOM Document. Default is 'false'. |
Its sub-elements are:
ognl-script-service
Internal service useful to execute OGNL scripts on GVBuffer instances.
The following table shows the xml-validation-service element's attributes:
Attribute | Type | Description |
---|---|---|
type | fixed | This attribute must assume the value service. |
internal | fixed | This attribute must assume the value yes. |
critical | optional | Defines if the service is critical. A critical service failure mark the entire communication as failed.
The attribute's default value is: yes. |
Its sub-elements are:
ognl-script-call
VCL Operation useful to execute OGNL scripts on GVBuffer instances.
The following table shows the ognl-script-call element's attributes:
Attribute | Type | Description |
---|---|---|
type | fixed | This attribute must assume the value call. |
class | fixed | This attribute must assume the value it.greenvulcano.gvesb.virtual.internal.OGNLCallOperation. |
name | required | Operation identifier. The attribute's value can't be null. |
Its sub-elements are:
Script
The content defines a OGNL script. This script is applied to the current GVBuffer object.
Within a node ChangeGVBuffer is "injected" into the variable 'Environment', the current environment, is a map containing all the GVBuffer / exceptions specified in the various parameters of input / output nodes of flow in execution.
The element value cannot be null.
The OGNLScript Element is used by ChangeGVBuffer and ognl-script-call.
java-script-service
Internal service useful to execute JavaScript scripts on GVBuffer instances.
The following table shows the java-script-service element's attributes:
Attribute | Type | Description |
---|---|---|
type | fixed | This attribute must assume the value service. |
internal | fixed | This attribute must assume the value yes. |
critical | optional | Defines if the service is critical. A critical service failure mark the entire communication as failed.
The attribute's default value is: yes. |
Its sub-elements are:
java-script-call
VCL Operation useful to execute JavaScript scripts on GVBuffer instances.
The following table shows the java-script-call element's attributes:
Attribute | Type | Description |
---|---|---|
type | fixed | This attribute must assume the value call. |
class | fixed | This attribute must assume the value it.greenvulcano.gvesb.virtual.internal.JSCallOperation. |
name | required | Operation identifier. The attribute's value can't be null. |
Its sub-elements are:
Script
The content defines a JavaScript script. This script is applied to the current GVBuffer object.
Within a node ChangeGVBuffer is "injected" into the variable 'Environment', the current environment, is a map containing all the GVBuffer / exceptions specified in the various parameters of input / output nodes of flow in execution.
The element value cannot be null.
The Script Element is used by ChangeGVBuffer and java-script-call.
Following an example of a script implementing the toUpperCase service:
<GVOperationNode class="it.greenvulcano.gvesb.core.flow.GVOperationNode"
id="call_server" id-system="GVESB" input="input"
next-node-id="end" op-type="call"
operation-name="echo_call" output="output"
point-x="186" point-y="152" type="flow-node">
<OutputServices>
<java-script-service critical="yes" internal="yes" type="service">
<java-script-call class="it.greenvulcano.gvesb.virtual.internal.JSCallOperation"
name="toupper" type="call">
<Script>root.setObject(root.getObject().toUpperCase());</Script>
</java-script-call>
</java-script-service>
</OutputServices>
</GVOperationNode>