Difference between revisions of "Web Services"

From GreenVulcano Wiki
Jump to: navigation, search
(Create new {{GVWS}} with {{VULCON}})
 
(48 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
==Definition==
 
==Definition==
Web Service is a software system that allows the interoperability among machines on the same network.  
+
[http://en.wikipedia.org/wiki/Web_service Web Service] is a method of communication between different machines.  
Through a Web Service it is possible to pubblish business services using a contract, called WSDL.  
+
Using a Web Service it is possible to publish business services using a contract, called WSDL.  
  
 
{{GVESB}} provides a very simple method that helps developers to manage {{GVWS}} operations as:
 
{{GVESB}} provides a very simple method that helps developers to manage {{GVWS}} operations as:
Line 9: Line 9:
 
*publishing
 
*publishing
 
*undeploy
 
*undeploy
Any service flow can be pubblished in {{GVESB}} as a {{GVWS}}.{{L_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.
+
Any service flow can be published in {{GVESB}} as a Web Service. {{L_VULCON}} helps the user to create or invoke a Web Service, leaving the user the only task to define the data structures in order to interact with the external world.
  
 
{{GVESB}} provides a complete management of {{GVWS}} through Axis2 platform. It supports:
 
{{GVESB}} provides a complete management of {{GVWS}} through Axis2 platform. It supports:
*{{GVWS}} stateful and asynchronous
+
*Stateful and asynchronous {{GVWS}}
*Processing SOAP Messages with XML parsing more efficient pull-based instead of DOM (Document Object Model)
+
*Processing SOAP Messages with XML parsing, using the more efficient AXIOM pull-parser instead of DOM (Document Object Model)
 
*Increased Scalability
 
*Increased Scalability
 
*Hot deploy and undeploy
 
*Hot deploy and undeploy
  
 
==Create new {{GVWS}} with {{VULCON}}==
 
==Create new {{GVWS}} with {{VULCON}}==
 +
{{VULCON}} provides two wizards for creating new {{GVWS}}. The first one starts from a {{GVESB}} service and creates the WSDL and the AAR to deploy ([[bottom-up development method]]), while the second one starts from a WSDL and creates {{GVESB}} services for each chosen operation ([[top-down development method]]).
 +
If you need to invoke a Web Service operation, instead, you can choose [[Wizard Call Web Service]] or, if you want to simply redirect a Web Service call to a different endpoint, you can choose [[Wizard Proxy Web Service]]. The wizard can be activated opening the context menu on the Core view tree's Service element.
 +
<div class="version_ge3.3">
 +
You can publish any {{GVESB}} core service using a generic Web Service interface. By means of this feature, you can invoke directly the following core service operations, depending on the how the {{GVESB}} core service has been designed:
 +
*requestReply
 +
*request
 +
*getReply
 +
*getRequest
 +
*sendReply
 +
*execute
 +
You can get the generic WSDL at location:<pre>http://<host>:<port>/gvaxis2/services/GreenVulcanoWebservice?wsdl</pre>
 +
In order to invoke the service, you have to set all required parameters. This can be done also using the [[Wizard Enable GreenVulcano Web Service]].
 +
</div>
  
VulCon provides two wizards to create new Web Services. The first one starting from an {{GVESB}} service and creating the WSDL and the AAR to deploy (bottom-up development method), the second one, starting from a WSDL, creating {{GVESB}} services for each operation chosen (top-down development method).
+
=={{GVCONSOLE}} Web service section==
[[File:ws1.png|thumb|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.
+
The Web Service section in {{GVCONSOLE}} contains five main pages:
If you choose JMS Transport, You must additionally:
+
#[[General parameter]]: shows the general configuration of business web services and the UDDI Registry's configuration,
*select The jms connection factory
+
#[[WSDL Section]]: allows to generate or delete WSDL files, and to deploy the Web Service
*JMS destination name
+
#[[UDDI Section]]: allows to publish Web Service in UDDI registry, if the UDDI registry has been configured.
*JMS destination type
+
#BPEL Deployed Processes
*Reply destination: Destination where a reply will be posted
+
#BPEL Currently Available Instances
*contentType
 
*ByteMessage
 
*TextMessage
 
  
==Example==
+
If you are familiar with [http://axis.apache.org/axis2/java/core/docs/webadminguide.html#Intro  Axis2 console] it's possible to look up the following link:<pre>http://ipaddredss:portnumber/gvaxis2</pre>
This example shows an XML document generated by a simple Excel sheet (without cols and rows grouping).
+
{{VOTE}}
Given an Excel sheet with the following structure:
 
{| class="gvtable"
 
|-
 
! 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:
 
 
 
<syntaxhighlight lang="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>
 
</syntaxhighlight>
 
 
 
With a [[ChangeGvBufferNode]] is possible parsing XML and retrieve any tag and value.
 
 
 
--[[User:A.sicignano|A.sicignano]] 16:30, 19 January 2012 (CET)
 

Latest revision as of 08:25, 29 April 2013

Definition

Web Service is a method of communication between different machines. Using a Web Service it is possible to publish 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 published in GreenVulcano® ESB as a Web Service. VulCon® helps the user to create or invoke 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:

  • Stateful and asynchronous Web Services
  • Processing SOAP Messages with XML parsing, using the more efficient AXIOM pull-parser instead of DOM (Document Object Model)
  • Increased Scalability
  • Hot deploy and undeploy

Create new Web Services with VulCon

VulCon provides two wizards for creating new Web Services. The first one starts from a GreenVulcano® ESB service and creates the WSDL and the AAR to deploy (bottom-up development method), while the second one starts from a WSDL and creates GreenVulcano® ESB services for each chosen operation (top-down development method). If you need to invoke a Web Service operation, instead, you can choose Wizard Call Web Service or, if you want to simply redirect a Web Service call to a different endpoint, you can choose Wizard Proxy Web Service. The wizard can be activated opening the context menu on the Core view tree's Service element.

You can publish any GreenVulcano® ESB core service using a generic Web Service interface. By means of this feature, you can invoke directly the following core service operations, depending on the how the GreenVulcano® ESB core service has been designed:

  • requestReply
  • request
  • getReply
  • getRequest
  • sendReply
  • execute
You can get the generic WSDL at location:
http://<host>:<port>/gvaxis2/services/GreenVulcanoWebservice?wsdl

In order to invoke the service, you have to set all required parameters. This can be done also using the Wizard Enable GreenVulcano Web Service.

GV Console Web service section

The Web Service section in GV Console contains five main pages:

  1. General parameter: shows the general configuration of business web services and the UDDI Registry's configuration,
  2. WSDL Section: allows to generate or delete WSDL files, and to deploy the Web Service
  3. UDDI Section: allows to publish Web Service in UDDI registry, if the UDDI registry has been configured.
  4. BPEL Deployed Processes
  5. BPEL Currently Available Instances

If you are familiar with Axis2 console it's possible to look up the following link:

http://ipaddredss:portnumber/gvaxis2

{{#w4grb_rate:}} <w4grb_ratinglist latestvotes items="5" nosort/>