Skip to content

Commit cabb186

Browse files
committed
Updating README.rst ..
1 parent 1a889de commit cabb186

File tree

4 files changed

+44
-0
lines changed

4 files changed

+44
-0
lines changed

README.rst

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,8 @@ Sample User Apps/Modules/Scripts
461461

462462
#. Single Service (Leaf Service)
463463

464+
This is the most basic unit that constitutes a service group (virtual service). It requires a URL and a dictionary of arguments as the payload:
465+
464466
.. code-block:: JSON
465467
466468
{
@@ -480,3 +482,45 @@ Sample User Apps/Modules/Scripts
480482
+ "``(://)``": URL of the service call
481483
+ "``(...)``": a dictionary of arguments (payload) to the service call
482484
+ "``(.|.)``": merge the results of the previous service as pipeline arguments into the current arguments
485+
486+
Each service is an executable/callable unit, let's have a convention to use a rounded rectangle as its graphical symbol.
487+
488+
.. image:: docs/service-symbol.png
489+
490+
#. Grouping Services
491+
492+
Let's use a regular rectangle as the graphical symbol for a group scope.
493+
494+
.. image:: docs/grouping-symbol.png
495+
496+
A group cannot be empty, it must contain at least one service unit.
497+
Each service unit can be a single service (leaf service) or a nested service group.
498+
Services within a group can be connected in series, parallel, or series-parallel.
499+
The two simplest connections are serial connection and parallel connection:
500+
501+
- Series Grouping
502+
503+
Every service unit in a serial group is executed/called one after another in sequence.
504+
They need to be enclosed in a pair of square brackets ``[`` ``]`` as the value of the key "``[+++]``" in a JSON dictionary:
505+
506+
.. code-block:: JSON
507+
508+
{
509+
"[+++]": [ {Service Unit 1}, {Service Unit ...} ]
510+
}
511+
512+
If a service in a serial group accepts pipeline arguments, the results of the immediately previous sibling service will be merged into the arguments of this service.
513+
514+
- Parallel Grouping
515+
516+
All service units in a parallel group are executed/called concurrently in the same thread pool.
517+
518+
They need to be enclosed in a pair of square brackets ``[`` ``]`` as the value of the key "``[###]``" in a JSON dictionary:
519+
520+
.. code-block:: JSON
521+
522+
{
523+
"[###]": [ {Service Unit 1}, {Service Unit ...} ]
524+
}
525+
526+
If a service in a parallel group accepts pipeline arguments, the results of the previous service outside the group will be merged into the arguments of this service.

docs/SchematicDiagram.docx

3.51 KB
Binary file not shown.

docs/grouping-symbol.png

349 Bytes
Loading

docs/service-symbol.png

696 Bytes
Loading

0 commit comments

Comments
 (0)