Difference between revisions of "Excelreader-call"

From GreenVulcano Wiki
Jump to: navigation, search
(Definition)
({{VULCON}} / {{GVCONSOLE}} Configuration)
Line 16: Line 16:
  
  
The following example shows the configuration generated from {{L_VULCON}} or {{L_GVCONSOLE}} when you configure an excelReader operation:
+
The following example shows the configuration generated from {{L_VULCON}} or {{L_GVCONSOLE}} when you configure an ''excelreader-call'' operation:
  
 
<syntaxhighlight lang="XML"><?xml version="1.0" encoding="UTF-8"?>
 
<syntaxhighlight lang="XML"><?xml version="1.0" encoding="UTF-8"?>
 
<GVSystems name="SYSTEMS" type="module">
 
<GVSystems name="SYSTEMS" type="module">
 
     <Systems>
 
     <Systems>
        <Description>This section contains a list of all systems connected to GreenVulcano ESB</Description>
 
 
         <System id-system="system-name" system-activation="on">
 
         <System id-system="system-name" system-activation="on">
 
             <Channel id-channel="CHANNEL_NAME">
 
             <Channel id-channel="CHANNEL_NAME">
Line 33: Line 32:
  
  
To use an ''excelreader-call'' in a {{GVESB}} service, you need to define a node of type [[GVOperationNode]] in [[Service section]] and define in the field ''operation-name'' the name defined in excelreader-call operation.
+
To use an ''excelreader-call'' in a {{GVESB}} service, you need to define a node of type [[GVOperationNode]] in [[Service section]] and define in the field ''operation-name'' the name defined in ''excelreader-call'' operation.
  
The following example shows the configuration generated from {{L_VULCON}} or {{L_GVCONSOLE}} when you configure an excelReader operation in {{GVESB}} service:
+
The following example shows the configuration generated from {{L_VULCON}} or {{L_GVCONSOLE}} when you configure an ''excelreader-call'' operation in {{GVESB}} service:
  
 
<syntaxhighlight lang="XML"><?xml version="1.0" encoding="UTF-8"?>
 
<syntaxhighlight lang="XML"><?xml version="1.0" encoding="UTF-8"?>
<Service group-name="DEFAULT_GRP" id-service="SERVICE-NAME"
+
<GVServices name="SERVICES" type="module">
    service-activation="on">
+
    <Groups>
   
+
        <Group group-activation="on" id-group="DEFAULT_GRP"/>
    <Client id-system="SYSTEM-NAME" statistics="off" system-activation="on">
+
    </Groups>
        <Operation name="RequestReply" operation-activation="on"
+
    <Services>
            out-check-type="none" type="operation">
+
        <Service group-name="DEFAULT_GRP" id-service="SERVICE-NAME"
            <Participant id-channel="CHANNEL-NAME" id-system="SYSTEM-NAME"/>
+
                service-activation="on">
            <Flow first-node="excel_reader" point-x="20" point-y="112">
+
            <Client id-system="SYSTEM-NAME" statistics="off" system-activation="on">
                <GVOperationNode class="it.greenvulcano.gvesb.core.flow.GVOperationNode"
+
                <Operation name="RequestReply" operation-activation="on"
                                id="excel_reader" id-system="DAMA"
+
                          out-check-type="none" type="operation">
                                input="input" next-node-id="end"
+
                    <Participant id-channel="CHANNEL-NAME" id-system="SYSTEM-NAME"/>
                                op-type="call"
+
                    <Flow first-node="excel_reader" point-x="20" point-y="112">
                                operation-name="ReadExcelInput"
+
                        <GVOperationNode class="it.greenvulcano.gvesb.core.flow.GVOperationNode"
                                output="excel_xml" point-x="158"
+
                                        id="excel_reader" id-system="DAMA"
                                point-y="112" type="flow-node"/>
+
                                        input="input" next-node-id="end"
                <GVEndNode class="it.greenvulcano.gvesb.core.flow.GVEndNode"
+
                                        op-type="call"
                          end-business-process="yes" id="end" op-type="end"
+
                                        operation-name="ReadExcelInput"
                          output="excel_xml" point-x="358" point-y="112"
+
                                        output="excel_xml" point-x="158"
                          type="flow-node"/>
+
                                        point-y="112" type="flow-node"/>
            </Flow>
+
                        <GVEndNode class="it.greenvulcano.gvesb.core.flow.GVEndNode"
        </Operation>
+
                                  end-business-process="yes" id="end" op-type="end"
    </Client>     
+
                                  output="excel_xml" point-x="358" point-y="112"
</Service>
+
                                  type="flow-node"/>
 +
                    </Flow>
 +
                </Operation>
 +
            </Client>     
 +
        </Service>
 +
    </Services>
 +
</GVServices>
 
</syntaxhighlight>
 
</syntaxhighlight>
  
At this point you have configured a service with an ''excelreader'' operation.
+
At this point you have configured a service with an ''excelreader-call'' operation.
  
 
==Example==
 
==Example==

Revision as of 07:51, 15 November 2011

Definition

Many IT applications, within their business process, need to read an Excel file. ExcelReader plug-in helps IT organizations integrating applications that use Excel format to execute their business. ExcelReader plug-in is compatible with all Excel formats up to version 2003, and it is very simple to configure. It receives in input a binary stream containing the Excel file, and returns in output a corresponding XML structure. At the output of ExcelReader plug-in is possible to apply a ChangeGvBufferNode operation (with OGNL script or an XSL transformation) to retrieve all interested data.

GreenVulcano® ESB provides two different tools, GV Console® and VulCon®, to configure all supported plug-ins in GV services.

VulCon / GV Console Configuration

excelreader-call is the operation that must be configured into VulCon® or GV Console® System section, to convert an Excel file in GVBuffer.object field, in an XML document. In order to add an operation excelreader-call you must define the following fields:

  • class: it.greenvulcano.gvesb.virtual.excel.reader.GVExcelReaderCallOperation (java class that manage excelReader invocation).
  • name: this field identify the operation name that you will use in service definition.
  • onlyData: is a boolean field, it enabled in output cell formatting informations. If 'false', insert in the XML document also the cell formatting informations.
 Default to 'true'.
  • type: call


The following example shows the configuration generated from VulCon® or GV Console® when you configure an excelreader-call operation:

<?xml version="1.0" encoding="UTF-8"?>
<GVSystems name="SYSTEMS" type="module">
    <Systems>
        <System id-system="system-name" system-activation="on">
            <Channel id-channel="CHANNEL_NAME">
                <excelreader-call class="it.greenvulcano.gvesb.virtual.excel.reader.GVExcelReaderCallOperation"
                                  name="ReadExcelInput" type="call" onlyData="true"/>
            </Channel>    
        </System>
    </Systems>
</GVSystems>


To use an excelreader-call in a GreenVulcano® ESB service, you need to define a node of type GVOperationNode in Service section and define in the field operation-name the name defined in excelreader-call operation.

The following example shows the configuration generated from VulCon® or GV Console® when you configure an excelreader-call operation in GreenVulcano® ESB service:

<?xml version="1.0" encoding="UTF-8"?>
<GVServices name="SERVICES" type="module">
    <Groups>
        <Group group-activation="on" id-group="DEFAULT_GRP"/>
    </Groups>
    <Services>
        <Service group-name="DEFAULT_GRP" id-service="SERVICE-NAME"
                 service-activation="on">
            <Client id-system="SYSTEM-NAME" statistics="off" system-activation="on">
                <Operation name="RequestReply" operation-activation="on"
                           out-check-type="none" type="operation">
                    <Participant id-channel="CHANNEL-NAME" id-system="SYSTEM-NAME"/>
                    <Flow first-node="excel_reader" point-x="20" point-y="112">
                        <GVOperationNode class="it.greenvulcano.gvesb.core.flow.GVOperationNode"
                                         id="excel_reader" id-system="DAMA"
                                         input="input" next-node-id="end"
                                         op-type="call"
                                         operation-name="ReadExcelInput"
                                         output="excel_xml" point-x="158"
                                         point-y="112" type="flow-node"/>
                        <GVEndNode class="it.greenvulcano.gvesb.core.flow.GVEndNode"
                                   end-business-process="yes" id="end" op-type="end"
                                   output="excel_xml" point-x="358" point-y="112"
                                   type="flow-node"/>
                    </Flow>
                </Operation>
            </Client>    
        </Service>
    </Services>
</GVServices>

At this point you have configured a service with an excelreader-call operation.

Example

This example shows an XML document generated by a simple Excel sheet (without cols and rows grouping). Given an Excel sheet with the following structure:

ID1 ID2 ID3 ID4 ID5 ID6 ID7
23 23232 23 23333 1 2 3
24 24444 23 23332 1 2 3

excelreader-call generates the following XML:

<?xml version="1.0" encoding="UTF-8"?>
<workbook>
    <sheet number="0">
        <name><![CDATA[Foglio1]]></name>
        <row number="0">
            <col number="0">
                <data><![CDATA[ID1]]></data>
            </col>
            <col number="1">
                <data><![CDATA[ID2]]></data>
            </col>
            <col number="2">
                <data><![CDATA[ID3]]></data>
            </col>
            <col number="3">
                <data><![CDATA[ID4]]></data>
            </col>
            <col number="4">
                <data><![CDATA[ID5]]></data>
            </col>
            <col number="5">
                <data><![CDATA[ID6]]></data>
            </col>
            <col number="6">
                <data><![CDATA[ID7]]></data>
            </col>
        </row>
        <row number="1">
            <col number="0">
                <data><![CDATA[23]]></data>
            </col>
            <col number="1">
                <data><![CDATA[23232]]></data>
            </col>
            <col number="2">
                <data><![CDATA[23]]></data>
            </col>
            <col number="3">
                <data><![CDATA[711]]></data>
            </col>
            <col number="4">
                <data><![CDATA[1]]></data>
            </col>
            <col number="5">
                <data><![CDATA[1]]></data>
            </col>
            <col number="6">
                <data><![CDATA[1]]></data>
            </col>
        </row>
        <row number="2">
            <col number="0">
                <data><![CDATA[23]]></data>
            </col>
            <col number="1">
                <data><![CDATA[711]]></data>
            </col>
            <col number="2">
                <data><![CDATA[23]]></data>
            </col>
            <col number="3">
                <data><![CDATA[23232]]></data>
            </col>
            <col number="4">
                <data><![CDATA[1]]></data>
            </col>
            <col number="5">
                <data><![CDATA[1]]></data>
            </col>
            <col number="6">
                <data><![CDATA[1]]></data>
            </col>
        </row>
    </sheet>
</workbook>

With a ChangeGvBufferNode is possible parsing XML and retrieve any tag and value.