Difference between revisions of "GVOperationNode"

From GreenVulcano Wiki
Jump to: navigation, search
(java-script-service)
(InputServices)
Line 53: Line 53:
 
* [[#xml-validation-service|xml-validation-service]]  
 
* [[#xml-validation-service|xml-validation-service]]  
 
* [[#ognl-script-service|ognl-script-service]]
 
* [[#ognl-script-service|ognl-script-service]]
 +
* [[#java-script-service|java-script-service]]
  
 
===OutputServices===
 
===OutputServices===

Revision as of 17:12, 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 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.
If 'force-default' is always used the XSD specified in parameter 'default-xsd'.
If 'null xsd' is used used the XSD specified in parameter 'default-xsd' only if the schema specified in the XML is invalid.
Default 'force-default'
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:

OGNLScript

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="serializeDOM" type="call">
				<Script>root.setObject(root.getObject().toUpperCase());</Script>
			</java-script-call>
		</java-script-service>
	</OutputServices>
</GVOperationNode>