Tutorial1 (Have a Pint)

In Tutorial1 you build a simple SPARKL configuration, a mix in other words. You can use this mix to get yourself a beer by sending SPARKL a message containing the field beer.

The mix

The mix in Tutorial1 comprises a single solicit/response operation.

This operation is used to kick off the transaction in SPARKL.

The service that processes the transaction, using the initial solicit as its starting point, is the Sequencer service.

The Sequencing Graph is derived from all the operations in the mix.

The mix has the following components:

Sequencer
Sequencer, a service provisioned using the Sequencer extension processes the transaction starting with the initial operation.
GetBeer/Ok
An operation comprising a solicit with one possible response, implemented by the Sequencer.
beer
A field sent to and from the operation. The field contains data in the form of a string.

Figure: Tutorial1 - The mix


Explanation

Table 1 summarises the key components of this mix and explains their role in a transaction.

Table 1. Tutorial1 - Component roles
Operation Markup Description
GetBeer/Ok

(solicit/response)

<solicit 
  name="GetBeer" 
  service="Sequencer" 
  fields="beer">
  <response 
    name="Ok" 
    fields="beer"/>
</solicit>
By doing a transaction test to invoke the GetBeer solicit, you are acting as the client starting a new transaction.

When the Sequencer service receives the single field beer from you (via SPARKL), the Sequencer creates this new transaction and works out what to do next.

It determines that the response requires the field beer. This required response forms a goal that the Sequencer tries to satisfy.

The Sequencer, as it happens, already has the field beer. Therefore, all it needs to do is send you beer back in a message which forms the response to the initial solicit.

As the saying goes, one beer is no beer so keep testing to your satisfaction.