Web Services

From GreenVulcano Wiki
Revision as of 18:42, 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.

On the second page you can change the Soap Action and mapped operation name to the WebService. 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

On the fourth and last page you must choose:

And optionally

  • The input XSD name
  • The output XSD name

And check the preferred Radio Button for:

  • HTTP or HTTPS
  • Target namespace that WebService use, is or not is in the XSD
  • Use or not use the original wsdl

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)