Web Services

From GreenVulcano Wiki
Revision as of 18:26, 31 January 2012 by Anonymous (talk) (Create new {{GVWS}} with {{VULCON}})
Jump to: navigation, search

Definition

Web Service is a software system that allows the interoperability among machines on the same network. Through a Web Service it is possible to pubblish business services using a contract, called WSDL.

GreenVulcano® ESB provides a very simple method that helps developers to manage Web Services operations as:

  • create
  • invoke
  • deploy
  • publishing
  • undeploy

Any service flow can be pubblished in GreenVulcano® ESB as a Web Services.VulCon® helps the user to pubblish an ESB service as a web service, leaving the user the only task to define the data structures in order to interact with the external world.

GreenVulcano® ESB provides a complete management of Web Services through Axis2 platform. It supports:

  • Web Services stateful and asynchronous
  • Processing SOAP Messages with XML parsing more efficient pull-based instead of DOM (Document Object Model)
  • Increased Scalability
  • Hot deploy and undeploy

Create new Web Services with VulCon

VulCon provides two wizards to create new Web Services. The first one starting from an GreenVulcano® ESB service and creating the WSDL and the AAR to deploy (bottom-up development method), the second one, starting from a WSDL, creating GreenVulcano® ESB services for each operation chosen (top-down development method).

WebService Wizard window

bottom-up development method Right click on GVServices-->Services label and select "Wizard New WebService...". New WebService Wizard window will be open. Fill the window fields as following:

  • In the "WebService name" field set the WebService name that you want to publish
  • In the "target namespace" field if you want you can change the default operation target namespace proposed
  • In the "Operation" field choose the operation to bind from list proposed.
  • Click "next" button

On the second page you can change the Soap Action and mapped operation name to the WebService.

  • Click "next" button

On the third page you can choose your preferred transport protocol

  • Soap Transport
  • Soap12 Transport
  • Rest Transport
  • JMS Transport

If you choose Rest Transport, you must additionally select the verb for the operation. If you choose JMS Transport, You must additionally:

  • select The jms connection factory
  • JMS destination name
  • JMS destination type
  • Reply destination: Destination where a reply will be posted
  • contentType
  • ByteMessage
  • TextMessage
  • Click "next" button

On the fourth window you must choose:

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.

--A.sicignano 16:30, 19 January 2012 (CET)