OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

bpel4people message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [bpel4people] Issue BP-63 - Actual Owner Missing in WS-HumanTask Context -Resolution Proposal




As discussed at the F2F on Jan 22, I propose to make the following
modifications to the WS-HumanTask context (WS-HumanTask section 7.4 and
ws-humantask-context.xsd).

(1) Split the humanTaskContext element into two separate elements for the
request and the response, and factor out the common elements into a base
type extended by both request and response context.

(2) Add the actualOwner as well as other generic human roles (as mandatory
elements) to the response context in order to communicate the effective
human role assignments back to the task parent.

(3) Enable extensibility for both request and response context.

(4) Unblock substitution for the contained genericHumanRole element
(similar to Issue BP-62).

As a result, this is what the WS-HumanTask context
(ws-humantask-context.xsd) looks like:

<xsd:schema
  xmlns:xsd,="http://www.w3.org/2001/XMLSchema";
  xmlns:htt="
http://docs.oasis-open.org/ns/bpel4people/ws-humantask/types/200803";
  xmlns="
http://docs.oasis-open.org/ns/bpel4people/ws-humantask/context/200803";
  targetNamespace="
http://docs.oasis-open.org/ns/bpel4people/ws-humantask/context/200803";
  elementFormDefault="qualified" blockDefault="#all">

  <xsd:import namespace="http://www.w3.org/XML/1998/namespace";
    schemaLocation="http://www.w3.org/2001/xml.xsd"; />
  <xsd:import. namespace.="
http://docs.oasis-open.org/ns/bpel4people/ws-humantask/types/200803";
    schemaLocation="ws-humantask-types.xsd." />

  <xsd:element name="humanTaskRequestContext" type="
tHumanTaskRequestContext" />
  <xsd:complexType name="tHumanTaskRequestContext">
    <xsd:complexContent>
      <xsd:extension base="tHumanTaskContextBase">
        <xsd:sequence>
          <xsd:element name="peopleAssignments" type="tPeopleAssignments"
minOccurs="0" />
          <xsd:element name="isSkipable" type="xsd:boolean" minOccurs="0"
/>
          <xsd:element name="expirationTime" type="xsd:dateTime" minOccurs
="0" />
          <xsd:any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:extension>
   </xsd:complexContent>
  </xsd:complexType>

  <xsd:element name="humanTaskResponseContext" type="
tHumanTaskResponseContext" />
  <xsd:complexType name="tHumanTaskResponseContext">
    <xsd:complexContent>
      <xsd:extension base="tHumanTaskContextBase">
        <xsd:sequence>
          <xsd:element name="actualOwner" type="htt:tUser" />
          <xsd:element name="actualPeopleAssignments" type="
tPeopleAssignments" />
          <xsd:element name="outcome" type="xsd:string" minOccurs="0" />
          <xsd:any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:extension>
   </xsd:complexContent>
  </xsd:complexType>

  <xsd:complexType name="tHumanTaskContextBase" abstract="true">
    <xsd:sequence>
      <xsd:element name="priority" type="htt:tPriority" minOccurs="0" />
      <xsd:element name="attachments" type="tAttachments" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="tPeopleAssignments">
    <xsd:sequence>
      <xsd:element ref="genericHumanRole" minOccurs="0" maxOccurs="
unbounded" />
    </xsd:sequence>
  </xsd:complexType>

  <xsd:element name="genericHumanRole" type="tGenericHumanRole" abstract="
true" block="restriction extension" />

  <xsd:element name="potentialOwners" type="tGenericHumanRole"
substitutionGroup="genericHumanRole"/>
  <xsd:element name="excludedOwners" type="tGenericHumanRole"
substitutionGroup="genericHumanRole"/>
  <xsd:element name="taskInitiator" type="tGenericHumanRole"
substitutionGroup="genericHumanRole"/>
  <xsd:element name="taskStakeholders" type="tGenericHumanRole"
substitutionGroup="genericHumanRole"/>
  <xsd:element name="businessAdministrators" type="tGenericHumanRole"
substitutionGroup="genericHumanRole"/>
  <xsd:element name="recipients" type="tGenericHumanRole" substitutionGroup
="genericHumanRole"/>

  <xsd:complexType name="tGenericHumanRole">
    <xsd:sequence>
      <xsd:element ref="htt:organizationalEntity" />
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="tAttachments">
    <xsd:sequence>
      <xsd:element name="returnAttachments" type="tReturnAttachments"
        minOccurs="0" />
      <xsd:element ref="htt:attachment" minOccurs="0"
        maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:simpleType name="tReturnAttachments">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="all" />
      <xsd:enumeration value="newOnly" />
      <xsd:enumeration value="none" />
    </xsd:restriction>
  </xsd:simpleType>

</xsd:schema>

The SOAP binding in WS-HumanTask section 7.4.1 is changed accordingly:

<S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope";
            xmlns:htc="
http://docs.oasis-open.org/ns/bpel4people/ws-humantask/context/200803:";>
  <S:Header>:
    <htc:humanTaskRequestContext>
      <htc:priority>...:</.:htc:priority>?
      <htc:attachments>...:</.:htc:attachments>?
      <htc:peopleAssignments>...:</.:htc:peopleAssignments>?
      <htc:isSkipable>...:</.:htc:isSkipable>?
      <htc:expirationTime>...:</.:htc:expirationTime>?
      ... extension elements ...
    </htc:humanTaskRequestContext>
  </S:Header>:
  <S:Body>:
    ...
  </S:Body.>:
</S:Envelope>:

<:S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope";
            xmlns:htc="
http://docs.oasis-open.org/ns/bpel4people/ws-humantask/context/200803:";>
  <S:Header>:
    <htc:humanTaskResponseContext>
      <htc:priority>...:</.:htc:priority>?
      <htc:attachments>...:</.:htc:attachments>?
      <htc:actualOwner>...:</.:htc:actualOwner>
      <htc:actualPeopleAssignments>...:</.:htc:actualPeopleAssignments>
      <htc:outcome>...:</.:htc:outcome>?
      ... extension elements ...
    </htc:humanTaskResponseContext>
  </S:Header>:
  <S:Body>:
    ...
  </S:Body.>:
</S:Envelope>:

Kind Regards

Dieter König

Senior Technical Staff Member, WebSphere Process Server Architect
IBM Software Group, Application and Integration Middleware Software
WSS Business Process Solutions
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
  Phone:            +49-7031-16-3426           IBM Deutschland                      (Embedded
                                                                                  image moved
                                                                                     to file:
                                                                                pic28662.gif)
                                                                       
  E-Mail:           dieterkoenig@de.ibm.com    Schönaicher Str. 220  
                                                                       
                                               71032 Böblingen       
                                                                       
                                               Germany                 
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
  IBM Deutschland                                                      
  Research &                                                           
  Development                                                          
  GmbH /                                                               
  Vorsitzender des                                                     
  Aufsichtsrats:                                                       
  Martin Jetter                                                        
  Geschäftsführung:                                                
  Erich Baier                                                          
  Sitz der                                                             
  Gesellschaft:                                                        
  Böblingen /                                                        
  Registergericht:                                                     
  Amtsgericht                                                          
  Stuttgart, HRB                                                       
  243294                                                               
                                                                       

pic28662.gif



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]