Taxonomy of Operations Guideline
A B2B Web Service operation MUST be one of the following Concrete Operation Types:
RR – Request Reply over SOAP/HTTP
POW – Pseudo One Way over SOAP/HTTP
B-POW – Bulk POW over SOAP/HTTP
NISSE MUST support all of these Operation Types.
Explanation
Conceptually, a B2B Web Service is either a Request-Reply (RR) operation, or a One-Way (OW) operation2. The table below defines these terms.
Note the following aliases:
Caller = Service Consumer = Client
Callee = Service Producer = Server
Request-Response Operation
|
The caller waits until he receives a response. The caller does not do any other work until a response is received.
This is very similar to a function call in most programming languages.
Typically, the caller will only wait for a limited time (timeout), to avoid being blocked forever when no answer returns, e.g. when the callee crashes in between.
|
One-Way Operation
|
A caller sends a message to a callee, and does not wait for an answer but immediately continues working.
The example below shows a typical case, where two one-way operations are used, one to ask for the latest income data, and the other in the opposite direction for the result.
Both sendIncomeUpdate() and processIncomeUpdate() are two separate one-way operations. Once the calling party has called sendIncomeUpdate() he can continue doing other stuff – he does not wait for any reply.
Later – seconds, hours or weeks – the roles reverse and the original callee now calls processIncomeUpdate() on the original caller.
|
In practice the above conceptual operation types are dependent on real-world protocols, like HTTP, SOAP, WSDL. The figure and table below summarize these concrete operation types.
In short – and explained in length further on – the similarities and differences are:
In the table below the conceptual operation types (2nd and 3rd column) are mapped to the concrete operation types (rows). The protocol and policy bindings used are indicated, or ‘n/a’ if a combination is not possible.
|
Request-Reply
|
One-Way
|
Bulk-One-Way
|
RR
|
SOAP, HTTP
|
n/a
|
|
POW
|
n/a
|
SOAP, HTTP
|
|
B-POW
|
n/a
|
|
SOAP, HTTP
|
Share with your friends: |