Difference between revisions of "Paradigms of communication"

From GreenVulcano Wiki
Jump to: navigation, search
(Synchronous-Asynchronous)
(Synchronous-Asynchronous)
 
(17 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
Depending on the type of communication (Synchronous / Asynchronous), on the role played by {{GVESB}} (active / passive) and on the response management, it is possible to have from a minimum of one to a maximum of four operations constituting a single interaction client - server.
 
Depending on the type of communication (Synchronous / Asynchronous), on the role played by {{GVESB}} (active / passive) and on the response management, it is possible to have from a minimum of one to a maximum of four operations constituting a single interaction client - server.
  
 +
=={{GVESB}} Configuration==
 +
 +
[[File:Paradigm.jpg|thumb|100px|Legend]]{{GVESB}} is configured for managing four paradigms of communication:
  
=={{GVESB}} Configuration==
 
  
{{GVESB}} is configured for managing four paradigms of communication:
 
 
*[[Paradigms_of_communication#Synchronous-Synchronous|Synchronous  - Synchronous]]
 
*[[Paradigms_of_communication#Synchronous-Synchronous|Synchronous  - Synchronous]]
 
*[[Paradigms_of_communication#Synchronous-Asynchronous|Synchronous  - Asynchronous]]
 
*[[Paradigms_of_communication#Synchronous-Asynchronous|Synchronous  - Asynchronous]]
 
*[[Paradigms_of_communication#Asynchronous-Synchronous|Asynchronous - Synchronous ]]
 
*[[Paradigms_of_communication#Asynchronous-Synchronous|Asynchronous - Synchronous ]]
 
*[[Paradigms_of_communication#Asynchronous-Asynchronous|Asynchronous - Asynchronous]]
 
*[[Paradigms_of_communication#Asynchronous-Asynchronous|Asynchronous - Asynchronous]]
 +
 +
 +
These paradigms are explained bellow. The figure shows the legend used.
  
 
===Synchronous-Synchronous===
 
===Synchronous-Synchronous===
  
[[File:ParadigmSS.jpg|thumb|Synchronous-Synchronous]]The Synchronous-Synchronous paradigm takes place following the Client -> {{GVESB}} -> Server direction.
+
[[File:ParadigmSS.jpg|thumb|Synchronous-Synchronous]]
 +
 
 +
 
 +
The following table shows the properties of the Synchronous-Synchronous communication:
  
  
The following table shows its properties:
 
 
{|class="gvtable"
 
{|class="gvtable"
 
!  !! Client !! GVESB Workflow Number !! Server
 
!  !! Client !! GVESB Workflow Number !! Server
Line 26: Line 32:
 
===Synchronous-Asynchronous===
 
===Synchronous-Asynchronous===
  
[[File:ParadigmSA.jpg|thumb|Synchronous-Asynchronous]]The Synchronous-Asynchronous paradigm takes place following the Client -> {{GVESB}} -> Server direction.
+
[[File:ParadigmSA.jpg|thumb|Synchronous-Asynchronous]]
 +
 
 +
 
 +
The following table shows the properties of the Synchronous-Asynchronous communication:
  
  
The following table shows its properties:
 
 
{|class="gvtable"
 
{|class="gvtable"
 
!  !! Client !! GVESB Workflow Number !! Server
 
!  !! Client !! GVESB Workflow Number !! Server
 
|-
 
|-
| Communication || Synchronous || 1 || Aynchronous
+
| Communication || Synchronous || 1 || Asynchronous
 
|}
 
|}
 +
 +
The decoupling of communication can happen in two ways:
 +
# {{GVESB}}, using a [[Plugins|plugin]], invokes the server and waits for the response into a queue jms, bmq, etc. [[File:ParadigmSA1.jpg|none|thumb|plugin->server->jms]]
 +
# {{GVESB}} enqueues into a jms queue shared with server and waits for the response into another jms queue.[[File:ParadigmSA2.jpg|none|thumb|jms->server->jms]]
  
 
===Asynchronous-Synchronous===
 
===Asynchronous-Synchronous===
  
 +
[[File:ParadigmAS.jpg|thumb|Asynchronous-Synchronous]]
 +
 +
 +
The following table shows the properties of the Asynchronous-Synchronous communication:
 +
{|class="gvtable"
 +
!  !! Client !! GVESB Workflow Number !! Server
 +
|-
 +
| Communication || Asynchronous || 2/3 || Synchronous
 +
|}
 +
 +
The decoupling of communication might happen in three ways:
 +
# The Client makes a request to {{GVESB}} using an Adapter. {{GVESB}} elaborates the request, and after eventually communication with others systems, invokes a Service into the Client system to communicate the response. [[File:ParadigmAS3.jpg|none|thumb|Adapter->plugin->server->plugin]]
 +
# The Client makes a Request to {{GVESB}} using an Adapter. {{GVESB}} elaborates the request, and after eventually communication with others systems, enqueues the response in a queue shared with Client.[[File:ParadigmAS1.jpg|none|thumb|Adapter->plugin->server->jms]]
 +
# The Client enqueue a message, {{GVESB}} dequeue it, an after eventually communication with others systems, enqueues the response in a queue shared with Client.[[File:ParadigmAS2.jpg|none|thumb|jms->plugin->server->jms]]
  
 
===Asynchronous-Asynchronous===
 
===Asynchronous-Asynchronous===
 +
 +
[[File:ParadigmAA.jpg|thumb|Asynchronous-Asynchronous]]
 +
 +
 +
The following table shows the properties of the Asynchronous-Asynchronous communication:
 +
 +
{|class="gvtable"
 +
!  !! Client !! GVESB Workflow Number !! Server
 +
|-
 +
| Communication || Asynchronous || 4 || Asynchronous
 +
|}
 +
 +
The decoupling of communication might happen in sixteen ways:
 +
# The Client  sends a Request to {{GVESB}} through an adapter, {{GVESB}} sends it to the Server. The server elaborates the request and, using an adapter, sends the response to the Client (SendReply).[[File:ParadigmAA1.jpg|none|thumb|Adapter->Plugin->server->Adapter->Plugin]]
 +
# The Client  sends a Request to {{GVESB}} through an adapter, {{GVESB}} enqueues into a Server JMS queue. The server elaborates the request and, using an adapter, sends the response to the Client (SendReply).[[File:ParadigmAA2.jpg|none|thumb|Adapter->JMS->server->Adapter->Plugin]]
 +
# The Client  sends a Request to {{GVESB}} through an adapter, {{GVESB}} enqueues into a Server JMS queue. The server elaborates the request and, using an adapter, sends the response to the Client who enqueue it in a Client JMS queue (SendReply).[[File:ParadigmAA3.jpg|none|thumb|Adapter->Plugin->server->Adapter->JMS]]
 +
# The Client  sends a Request to {{GVESB}} through an adapter, {{GVESB}} sends to the Server. The server elaborates the request and, using an adapter, sends the response to {{GVESB}}  who enqueue it in a Client JMS queue (SendReply).[[File:ParadigmAA4.jpg|none|thumb|Adapter->Plugin->server->JMS->Plugin]]
 +
# The Client  sends a Request to {{GVESB}} through an adapter, {{GVESB}} sends to the Server. The server elaborates the request and enqueues it into a {{GVESB}} queue which, through a Forward, sends the response to a Client JMS queue.[[File:ParadigmAA5.jpg|none|thumb|Adapter->Plugin->server->JMS->JMS]]
 +
# The Client  sends a Request to {{GVESB}} through an adapter, {{GVESB}} enqueues into a Server JMS queue. The server elaborates the request and enqueues it into a {{GVESB}} queue which, through a Forward, sends the response to the Client.[[File:ParadigmAA6.jpg|none|thumb|Adapter->JMS->server->JMS->Plugin]]
 +
# The Client  sends a Request to {{GVESB}} through an adapter, {{GVESB}} enqueues into a Server JMS queue from which a Forward sends it to the Server. The server elaborates the request and enqueues it into a {{GVESB}} JMS queue which, through a Forward, sends the response to the Client.[[File:ParadigmAA7.jpg|none|thumb|JMS->Plugin->server->JMS->Plugin]]
 +
# The Client  sends a Request to {{GVESB}} through an adapter, {{GVESB}} enqueues into a Server JMS queue from which a Forward sends it to the Server. The server elaborates the request and through an Adapter sends it to {{GVESB}} (SendReply) which enquues into a Client JMS queue.[[File:ParadigmAA8.jpg|none|thumb|JMS->Plugin->server->Adapter->JMS]]
 +
# The Client  sends a Request, using an Adapter, to {{GVESB}} who enqueues it into a JMS queue, and with a Forward sends it to the Server. The server elaborates the request and through an Adapter sends it to {{GVESB}} (SendReply).[[File:ParadigmAA9.jpg|none|thumb|JMS->Plugin->server->Adapter->Plugin]]
 +
# The Client  sends a Request, using an Adapter, to {{GVESB}} who enqueues it into a JMS queue from which a Forward enqueues into a Server JMS queue. The server elaborates the request and through an Adapter sends it to {{GVESB}} (SendReply).[[File:ParadigmAA10.jpg|none|thumb|JMS->JMS->server->Adapter->Plugin]]
 +
# The Client  sends a Request, using an Adapter, to {{GVESB}} who enqueues it into a Server JMS queue. The server elaborates the request and through an Adapter sends it to {{GVESB}} (SendReply) which enqueues it into a Client JMS queue.[[File:ParadigmAA11.jpg|none|thumb|Adapter->JMS->server->Adapter->JMS]]
 +
# The Client  sends a Request, using an Adapter, to {{GVESB}} who enqueues it and successively a Forward enqueues it into a Server JMS queue. The server elaborates the request and through an Adapter sends it to {{GVESB}} (SendReply) which enqueues it into a Client JMS queue.[[File:ParadigmAA12.jpg|none|thumb|JMS->JMS->server->Adapter->JMS]]
 +
# The Client  sends a Request, using an Adapter. {{GVESB}} enqueues it into a Server JMS queue. The server elaborates the request and enqueues the response into a {{GVESB}} JMS queue which, using a Forward, enqueues it into a Client JMS queue.[[File:ParadigmAA13.jpg|none|thumb|Adapter->JMS->server->JMS->JMS]]
 +
# The Client  sends a Request, using an Adapter. {{GVESB}} enqueues and successively a Forward enqueues it into a Server JMS queue. The server elaborates the request and enqueues the response into a {{GVESB}} JMS queue which, using a Forward, sends it to the Client.[[File:ParadigmAA14.jpg|none|thumb|JMS->JMS->server->JMS->Plugin]]
 +
# The Client  sends a Request, using an Adapter. {{GVESB}} enqueues and successively a Forward sends it the Server. The server elaborates the request and enqueues the response into a {{GVESB}} JMS queue which, using a Forward, enqueues it into a Client JMS queue.[[File:ParadigmAA15.jpg|none|thumb|JMS->Plugin->server->JMS->JMS]]
 +
# The Client  sends a Request, using an Adapter. {{GVESB}} enqueues and successively a Forward  enqueues it into a Server JMS queue. The server elaborates the request and enqueues the response into a {{GVESB}} JMS queue which, using a Forward, enqueues it into a Client JMS queue.[[File:ParadigmAA16.jpg|none|thumb|JMS->JMS->server->JMS->JMS]]

Latest revision as of 15:54, 11 February 2012

Description

Depending on the type of communication (Synchronous / Asynchronous), on the role played by GreenVulcano® ESB (active / passive) and on the response management, it is possible to have from a minimum of one to a maximum of four operations constituting a single interaction client - server.

GreenVulcano® ESB Configuration

Legend

GreenVulcano® ESB is configured for managing four paradigms of communication:



These paradigms are explained bellow. The figure shows the legend used.

Synchronous-Synchronous

Synchronous-Synchronous


The following table shows the properties of the Synchronous-Synchronous communication:


Client GVESB Workflow Number Server
Communication Synchronous 1 Synchronous

Synchronous-Asynchronous

Synchronous-Asynchronous


The following table shows the properties of the Synchronous-Asynchronous communication:


Client GVESB Workflow Number Server
Communication Synchronous 1 Asynchronous

The decoupling of communication can happen in two ways:

  1. GreenVulcano® ESB, using a plugin, invokes the server and waits for the response into a queue jms, bmq, etc.
    plugin->server->jms
  2. GreenVulcano® ESB enqueues into a jms queue shared with server and waits for the response into another jms queue.
    jms->server->jms

Asynchronous-Synchronous

Asynchronous-Synchronous


The following table shows the properties of the Asynchronous-Synchronous communication:

Client GVESB Workflow Number Server
Communication Asynchronous 2/3 Synchronous

The decoupling of communication might happen in three ways:

  1. The Client makes a request to GreenVulcano® ESB using an Adapter. GreenVulcano® ESB elaborates the request, and after eventually communication with others systems, invokes a Service into the Client system to communicate the response.
    Adapter->plugin->server->plugin
  2. The Client makes a Request to GreenVulcano® ESB using an Adapter. GreenVulcano® ESB elaborates the request, and after eventually communication with others systems, enqueues the response in a queue shared with Client.
    Adapter->plugin->server->jms
  3. The Client enqueue a message, GreenVulcano® ESB dequeue it, an after eventually communication with others systems, enqueues the response in a queue shared with Client.
    jms->plugin->server->jms

Asynchronous-Asynchronous

Asynchronous-Asynchronous


The following table shows the properties of the Asynchronous-Asynchronous communication:

Client GVESB Workflow Number Server
Communication Asynchronous 4 Asynchronous

The decoupling of communication might happen in sixteen ways:

  1. The Client sends a Request to GreenVulcano® ESB through an adapter, GreenVulcano® ESB sends it to the Server. The server elaborates the request and, using an adapter, sends the response to the Client (SendReply).
    Adapter->Plugin->server->Adapter->Plugin
  2. The Client sends a Request to GreenVulcano® ESB through an adapter, GreenVulcano® ESB enqueues into a Server JMS queue. The server elaborates the request and, using an adapter, sends the response to the Client (SendReply).
    Adapter->JMS->server->Adapter->Plugin
  3. The Client sends a Request to GreenVulcano® ESB through an adapter, GreenVulcano® ESB enqueues into a Server JMS queue. The server elaborates the request and, using an adapter, sends the response to the Client who enqueue it in a Client JMS queue (SendReply).
    Adapter->Plugin->server->Adapter->JMS
  4. The Client sends a Request to GreenVulcano® ESB through an adapter, GreenVulcano® ESB sends to the Server. The server elaborates the request and, using an adapter, sends the response to GreenVulcano® ESB who enqueue it in a Client JMS queue (SendReply).
    Adapter->Plugin->server->JMS->Plugin
  5. The Client sends a Request to GreenVulcano® ESB through an adapter, GreenVulcano® ESB sends to the Server. The server elaborates the request and enqueues it into a GreenVulcano® ESB queue which, through a Forward, sends the response to a Client JMS queue.
    Adapter->Plugin->server->JMS->JMS
  6. The Client sends a Request to GreenVulcano® ESB through an adapter, GreenVulcano® ESB enqueues into a Server JMS queue. The server elaborates the request and enqueues it into a GreenVulcano® ESB queue which, through a Forward, sends the response to the Client.
    Adapter->JMS->server->JMS->Plugin
  7. The Client sends a Request to GreenVulcano® ESB through an adapter, GreenVulcano® ESB enqueues into a Server JMS queue from which a Forward sends it to the Server. The server elaborates the request and enqueues it into a GreenVulcano® ESB JMS queue which, through a Forward, sends the response to the Client.
    JMS->Plugin->server->JMS->Plugin
  8. The Client sends a Request to GreenVulcano® ESB through an adapter, GreenVulcano® ESB enqueues into a Server JMS queue from which a Forward sends it to the Server. The server elaborates the request and through an Adapter sends it to GreenVulcano® ESB (SendReply) which enquues into a Client JMS queue.
    JMS->Plugin->server->Adapter->JMS
  9. The Client sends a Request, using an Adapter, to GreenVulcano® ESB who enqueues it into a JMS queue, and with a Forward sends it to the Server. The server elaborates the request and through an Adapter sends it to GreenVulcano® ESB (SendReply).
    JMS->Plugin->server->Adapter->Plugin
  10. The Client sends a Request, using an Adapter, to GreenVulcano® ESB who enqueues it into a JMS queue from which a Forward enqueues into a Server JMS queue. The server elaborates the request and through an Adapter sends it to GreenVulcano® ESB (SendReply).
    JMS->JMS->server->Adapter->Plugin
  11. The Client sends a Request, using an Adapter, to GreenVulcano® ESB who enqueues it into a Server JMS queue. The server elaborates the request and through an Adapter sends it to GreenVulcano® ESB (SendReply) which enqueues it into a Client JMS queue.
    Adapter->JMS->server->Adapter->JMS
  12. The Client sends a Request, using an Adapter, to GreenVulcano® ESB who enqueues it and successively a Forward enqueues it into a Server JMS queue. The server elaborates the request and through an Adapter sends it to GreenVulcano® ESB (SendReply) which enqueues it into a Client JMS queue.
    JMS->JMS->server->Adapter->JMS
  13. The Client sends a Request, using an Adapter. GreenVulcano® ESB enqueues it into a Server JMS queue. The server elaborates the request and enqueues the response into a GreenVulcano® ESB JMS queue which, using a Forward, enqueues it into a Client JMS queue.
    Adapter->JMS->server->JMS->JMS
  14. The Client sends a Request, using an Adapter. GreenVulcano® ESB enqueues and successively a Forward enqueues it into a Server JMS queue. The server elaborates the request and enqueues the response into a GreenVulcano® ESB JMS queue which, using a Forward, sends it to the Client.
    JMS->JMS->server->JMS->Plugin
  15. The Client sends a Request, using an Adapter. GreenVulcano® ESB enqueues and successively a Forward sends it the Server. The server elaborates the request and enqueues the response into a GreenVulcano® ESB JMS queue which, using a Forward, enqueues it into a Client JMS queue.
    JMS->Plugin->server->JMS->JMS
  16. The Client sends a Request, using an Adapter. GreenVulcano® ESB enqueues and successively a Forward enqueues it into a Server JMS queue. The server elaborates the request and enqueues the response into a GreenVulcano® ESB JMS queue which, using a Forward, enqueues it into a Client JMS queue.
    JMS->JMS->server->JMS->JMS