Open tstephen opened 10 years ago
I vote for the solution #3 Until no one raised a constraint needed, we should not keep 1 For ##webservices, I'm not an expert but some guys in the group says that it is possible to have a "ping" webservice (and personally I don't see why we couldn't). so it make sno sense to keep it for ##webservices.
Out-Only message exchange patterns can be realized with a Send Task, which has a similar constraint.
I vote for 1. As a constraint : an Operation (referenced by a ServiceTask) must define one input message, when executing the data of this message must come from somewhere, if the ServiceTask does not define a DataInput, where will the data come from ?
During the June 18th 2014 webmeeting, this issue was discussed and a 4th possible solution was put forward:
4- The constraint should be rewritten to say that inputSet and outputSet cardinality should match the referenced Operation. The operation input/output parameter current cardinality (1 to many) should be changed to 0 to many. While it may be required to have parameters (input/output) for web services, many other implementations (java/rest/etc...) are valid use cases where they have operations that do not require parameters.
I vote for 4.
A very simple example that shows, that BPMN 2.0 is not as technology-agnostic as intended, is invoking the GET operation on a REST resource: The resource URL (interface endpoint) and the HTTP verb (operation name) are enough to have a meaningful service invocation that is much more than just a ping. In fact GET is the most widely used HTTP operation.
+1
— Sent from Mailbox
On Thu, Jun 19, 2014 at 10:24 AM, Falko Menge notifications@github.com wrote:
I vote for 4.
A very simple example that shows, that BPMN 2.0 is not as technology-agnostic as intended, is invoking the GET operation on a REST resource: The resource URL (interface endpoint) and the HTTP verb (operation name) are enough to have a meaningful service invocation that is much more than just a ping. In fact GET is the most widely used HTTP operation.
Reply to this email directly or view it on GitHub: https://github.com/bpmn-miwg/bpmn-miwg-test-suite/issues/184#issuecomment-46539957
Webmeeting 25 June 2014 o Option 4 will be written as formal proposal for RTF by Eric
My proposal below. The modified parts of replacement texts are in italic. I hope I do not miss some pages, if you find some I will look into it.
Original text:
An
Operation
defines Messages that are consumed and, optionally, produced when theOperation
is called. It can also define zero or more errors that are returned when operation fails. TheOperation
inherits the attributes and model associations ofBaseElement
(see Table 8.5). Table 8.66 below presents the additional attributes and model associations of theOperation
.
Replacement text:
An
Operation
defines Messages that are consumed and produced when the Operation is called. It can also define zero or more errors that are returned when operation fails. TheOperation
inherits the attributes and model associations ofBaseElement
(see Table 8.5). Table 8.66 below presents the additional attributes and model associations of theOperation
.
In "Table 8.66 – Operation attributes and model associations": cardinality of inMessageRef
and outMessageRef
must be relaxed to match 0..*
In "Table 8.68 – Operation XML schema": minOccurs
and maxOccurs
attributes for inMessageRef
and outMessageRef
elements must be modified to match:
<xsd:element name="inMessageRef" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="outMessageRef" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
Original text:
The Service Task inherits the attributes and model associations of Activity (see Table 10.3). In addition the following constraints are introduced when the Service Task references an
Operation
: The Service Task has exactly oneinputSet
and at most oneoutputSet
. It has a single Data Input with anItemDefinition
equivalent to the one defined by the Message referenced by theinMessageRef
attribute of the associatedOperation
. If theOperation
defines output Messages, the Service Task has a single Data Output that has anItemDefinition
equivalent to the one defined by the Message referenced by theoutMessageRef
attribute of the associatedOperation
.
Remplacement text:
The Service Task inherits the attributes and model associations of Activity (see Table 10.3). In addition the following constraints are introduced when the Service Task references an
Operation
: The Service Task has exactly the same number of Data Inputs as the associatedOperation
hasinMessageRef
elements. These Data Inputs need to be defined in the same order as theinMessageRef
elements they represent in the associatedOperation
. Each Data Input has anItemDefinition
equivalent to the one defined by the Message referenced by theinMessageRef
element it represents. The Service Task has exactly the same number of Data Outputs as the associatedOperation
hasoutMessageRef
elements. These Data Outputs need to be defined in the same order as theoutMessageRef
elements they represent in the associatedOperation
. Each Data Output has anItemDefinition
equivalent to the one defined by the Message referenced by theoutMessageRef
element it represents. If at least one Data Input or Data Output is defined, the Service Task has a singleinputSet
that references all Data Inputs and has a singleoutputSet
that references all Data Outputs.
For the first sentence of
Original text: "An Operation
defines Messages that are consumed and, optionally, produced when the Operation
is called."
During the meeting,
Operation
MAY define Messages that are consumed and produced when the Operation
is called."Operation
defines Messages that are optionally consumed and/or produced when the Operation
is called."I vote for option 2.
Webmeeting 2 July 2014 o Discussion on the first sentence of Operation. We decided that “An Operation MAY define Messages “ would be used. o Discussion on whether this issue improves interchange or is simply a work around for a simpler test case. This change would certainly make for a simpler test case of service task in A.1.1 o The argument was made that a test case based on this proposed change would not be compliant with the current spec o It was then decided that this change would be proposed to the RTF but that the test case A.1.1 would only have User Tasks.
Background
This is an attempt to merge #181 and #182 including feedback thus far received into a single problem definition and alternative possible solutions.
A 'ping' type service arose in discussions of serviceTask interchange in an attempt to simplify the many challenges to just those where no data is involved.
In common with the wider approach of the working group we also want to start from simple examples to maximise the amount of interchange that can be achieved and then use that as a beach-head from which to build.
Relevant references to the spec
Summary of discussion
Possible solutions
The following alternatives are offered for discussion with the view that one be selected as the proposal of the group: