[SCUFL2-126] Remove dispatch stack, configure processor instead Created: 2013-10-22  Updated: 2013-11-03  Resolved: 2013-10-25

Status: Resolved
Project: Scufl 2
Component/s: Beans API
Affects Version/s: None
Fix Version/s: 0.13.0

Type: Improvement Priority: Major
Reporter: Stian Soiland-Reyes Assignee: Stian Soiland-Reyes
Resolution: Fixed Votes: 0
Labels: dispatchlayer, dispatchstack
Σ Remaining Estimate: 2 days, 2 hours, 30 minutes Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: 2 days, 2 hours, 30 minutes Original Estimate: Not Specified

Issue Links:
Related
related to T3-933 Update platform for removal of dispat... Resolved
related to T3-934 Update workbench for removal of dispa... Resolved
Sub-Tasks:
Key
Summary
Type
Status
Assignee
SCUFL2-127 Remove DispatchStack* from API Sub-task Resolved Stian Soiland-Reyes  
SCUFL2-128 t2flow parser to create processor con... Sub-task Resolved Stian Soiland-Reyes  
SCUFL2-129 Deprecate DispatchStack in ontology Sub-task Resolved Stian Soiland-Reyes  
SCUFL2-130 Legacy load dispatch stack from wfbundle Sub-task Resolved Stian Soiland-Reyes  
SCUFL2-131 JavaDoc on Processor detailing defaul... Sub-task Resolved Stian Soiland-Reyes  

 Description   

It's been agreed to remove the concept of DispatchStack in SCUFL2, and rather do this as configuration directly on the processor. The configuration will live in the profile, and therefore this also solves SCUFL2-106.

The reason is that the dispatch stack itself is seldom modified from the default, so it would be more natural to just configure "retry", "parallelize" etc. directly in a JSON configuration on the processor. It should not be needed to define the full default dispatch stack explicitly in scufl2 in order to configure one of its layers (e.g. retry).

We do however acknowledge that the dispatch stack is a powerful mechanism, and will keep it in the engine side, and this issue include a subtask to keep a mechanism to add a custom layer (using type URI as of today), positioned relatively, e.g. {{

{"after": "failover" }

}}. The names for configuring the default layers in the JSON will be fixed (not URIs), but not hard-coded in the SCUFL2 API. These will be defined in the JSON Schema for the processor configuration. (TODO: Where does that live?).

See http://dev.mygrid.org.uk/wiki/display/TAVOSGI/2013-10-14#2013-10-14-Dispatchstackissues for discussion - this Jira issue is to implement option 5/6.

Note that this means a API change, and hence the SCUFL2 API will bump to 0.13.0, and the serialization will slightly change, hence a bump to manifest:version="0.4.0" in META-INF/manifest.xml.

Looping will for the moment also be ported over to this new mechanism, but should longer-term move up to be a native SCUFL2 construct together with conditional. As that is a larger task, that is left as a new bug.



 Comments   
Comment by Jenkins Automated build [ 2013-10-25 ]

UNSTABLE: Integrated in scufl2 #3986
SCUFL2-126: Remove dispatch stack (stian: 5bbbdf2b327951e1a9a4ed5366b8afec16828570)

  • scufl2-rdfxml/src/main/java/uk/org/taverna/scufl2/rdfxml/RDFXMLSerializer.java
  • scufl2-api/src/test/java/uk/org/taverna/scufl2/api/ExampleWorkflow.java
  • scufl2-api/src/main/java/uk/org/taverna/scufl2/api/common/Scufl2Tools.java
  • scufl2-api/src/main/java/uk/org/taverna/scufl2/api/configurations/Configuration.java
  • scufl2-t2flow/src/main/java/uk/org/taverna/scufl2/translator/t2flow/ParserState.java
  • scufl2-api/src/main/java/uk/org/taverna/scufl2/api/common/URITools.java
  • scufl2-rdfxml/src/main/java/uk/org/taverna/scufl2/rdfxml/WorkflowParser.java
  • scufl2-api/src/test/java/uk/org/taverna/scufl2/api/common/TestScufl2Tools.java
  • scufl2-api/src/test/java/uk/org/taverna/scufl2/api/common/TestURIToolsBeans.java
  • scufl2-api/src/main/java/uk/org/taverna/scufl2/api/dispatchstack/DispatchStack.java
  • scufl2-validation-correctness/src/test/java/uk/org/taverna/scufl2/validation/correctness/TestProcessor.java
  • scufl2-validation-correctness/src/main/java/uk/org/taverna/scufl2/validation/correctness/CorrectnessVisitor.java
  • scufl2-rdfxml/src/test/java/uk/org/taverna/scufl2/rdfxml/TestRDFXMLReader.java
  • scufl2-api/src/main/java/uk/org/taverna/scufl2/api/core/Processor.java
  • scufl2-api/src/test/java/uk/org/taverna/scufl2/api/common/TestURIToolsResolve.java
  • scufl2-validation-correctness/src/main/java/uk/org/taverna/scufl2/validation/correctness/DefaultDispatchingVisitor.java
  • scufl2-t2flow/src/main/java/uk/org/taverna/scufl2/translator/t2flow/T2FlowParser.java
  • scufl2-integration-tests/src/test/java/uk/org/taverna/scufl2/integration/CloningIT.java
  • scufl2-validation-correctness/src/main/java/uk/org/taverna/scufl2/validation/correctness/DispatchingVisitor.java
  • scufl2-api/src/main/java/uk/org/taverna/scufl2/api/dispatchstack/DispatchStackLayer.java
    SCUFL2-126 Processor is Configurable (stian: 7fd93463498d653969bee6730ed766646fb96b2b)
  • scufl2-api/src/main/java/uk/org/taverna/scufl2/api/core/Processor.java
    SCUFL2-126 Update scufl2 ontology to deprecate dispatch stack (stian: d70496e4a4096f20a17a985693b0c3f76e0159c5)
  • scufl2-rdf/src/main/resources/scufl2.rdf
  • scufl2-rdf/src/main/resources/scufl2.ttl
    SCUFL2-126 createConfigurationFor Processor and Activity (stian: 91b8dc6668805da441611d34f26a8ba6e5885e77)
  • scufl2-api/src/main/java/uk/org/taverna/scufl2/api/common/Scufl2Tools.java
    SCUFL2-126 Fixed URI for type of Processor and its config. (stian: 6c610130b3da127e05b17ceec5a63c8cc36158fd)
  • scufl2-api/src/main/java/uk/org/taverna/scufl2/api/core/Processor.java
    SCUFL2-126 Parse dispatch layers into Processor config (stian: 4befaff37d818b8c7d81496385ad9d93575bb890)
  • scufl2-t2flow/src/main/java/uk/org/taverna/scufl2/translator/t2flow/ParserState.java
  • scufl2-t2flow/src/main/java/uk/org/taverna/scufl2/translator/t2flow/T2FlowParser.java
    SCUFL2-126 Parse Loop layer. Incl. properties: runFirst, comparePort (stian: 1df967c17f7a52221cb7725dca766d4d7432128d)
  • scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestT2FlowParser.java
  • scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestDispatchLayerParsing.java
  • scufl2-t2flow/src/main/java/uk/org/taverna/scufl2/translator/t2flow/defaultdispatchstack/LoopParser.java
    SCUFL2-126: Test should not expect dispatchStack URIs (stian: cfa24cfda8b456956d065694644440d6b2a0c413)
  • scufl2-api/src/test/java/uk/org/taverna/scufl2/api/common/TestURIToolsBeans.java
    SCUFL2-126: Don't look for dispatchStack in XML (stian: 2b3bafbc90f056f677d3f6ccc75c83ac8a093b2c)
  • scufl2-rdfxml/src/test/java/uk/org/taverna/scufl2/rdfxml/TestRDFXMLSerializer.java
Generated at Sun Aug 18 00:33:23 BST 2019 using JIRA 6.1.2#6157-sha1:98c729218aad6de1537eb8e98889ee5562c90d96.