2 Replies Latest reply on Jan 21, 2011 10:38 AM by vsp

    jBPM5, Oryx and global elements required by serviceTask

    vsp

      This question mostly applies to the Oryx editor, but I'm asking it here since it ties into the model execution by jBPM.  Please let me know if this is not the right forum for these type of questions.

       

      In order to use the BPMN's serviceTask functionality, one needs to define global elements like itemDefinition, message, interface and operation.  AFAIK, Oryx does not support defining these elements, as well as process-wide elements, such as property.

       

      Do you know whether there are any plans to add support for these elements in Oryx?  My question was triggered by this recently released Eclipse-based BPMN editor - http://koentsje.blogspot.com/2010/12/eclipsing-bpmn-20.html -, which has support for these elements in the "Definitions View" and process's "Details View".  Currently, I'm transforming the Oryx-produced BPMN into jBPM-executable BPMN via XSLT.   Does anybody have a better solution to share?

       

      Thank you for your time.

      Vlad

        • 1. jBPM5, Oryx and global elements required by serviceTask
          tomathome

          Can you plase short describe how exacly you tranform the Oryx comaptible files into the jbpmn compatible? Maybe you could show the xslt file. I have the problem, that the by oryx created files will not be accepted by drools guvnor.

          • 2. Re: jBPM5, Oryx and global elements required by serviceTask
            vsp

            tomathome,

             

            I'm no sure how this will help  you with the guvnor issue, but here's the relevant portion of my XSLT file:

             

            <?xml version="1.0" encoding="UTF-8"?>

            <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

                  xmlns:ns2="http://schema.omg.org/spec/BPMN/2.0"

                  xmlns:bpmndi="http://bpmndi.org">

            <xsl:output name="oryx2jbpm" method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

             

            <xsl:template match="@*|node()">

              <xsl:copy>

                <xsl:apply-templates select="@*|node()"/>

              </xsl:copy>

            </xsl:template>

             

            <xsl:template match="/ns2:definitions/ns2:process">

             

                <itemDefinition id="inMessageType" itemKind="Information" structureRef="java.lang.String" />

             

                <message id="inputMessage" name="input Message" itemRef="inMessageType"/>

             

                <interface id="MyWebServicePort" name="my.namespace.for.the.service.port.MyPort">

                  <operation id="myOperationId" name="opOperation">

                    <inMessageRef>inputMessage</inMessageRef>

                  </operation>

                </interface>

             

              <xsl:copy>

                <xsl:apply-templates select="@* | node()"/>

              </xsl:copy>

            </xsl:template>

             

            </xsl:stylesheet>

             

             

            Once I apply this to the Oryx-produced BPMN, i can use service tasks like this:

             

            <serviceTask operationRef="myOperationId" implementation="webService" name="my service task 1" id="myServiceTask1"/>