<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Re: Migrating from jbpm 3 to jbpm 5 - how to handle task instances
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/marco.rietveld">Marco Rietveld</a> in <i>jBPM</i> - <a href="https://community.jboss.org/message/772537#772537">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>I haven't worked with any projects that have gone through this transition/migration, but I know both the jBPM 3 and 5 code (or at least, they end up fighting for space in my brain.. :/ ). </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>If I were planning an upgrade, I would do the following: </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>1. Do a "prepratory" migrade of your jBPM 3 process definitions to "BPMN2 friendly" process definitions. That means essentially that for all of those extended ActionHandler (or DecisionHandler, AssignmentHandler, etc. ) classes in your process definitions and PAR's, you should migrate as much of the (java-code) logic in any of those&#160; handlers to the JPDL. That's really the biggest difference between JPDL/jBPM 3 and BPMN2/JBPM 5: the first is much more developer oriented, where BPMN2/JBPM 5 forces users to be write more transparent business processes. This step will mean that you will be able to migrate more of your jBPM 3 processes to BPMN2 (jBPM 5). </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>2. Once you've gotten this done, I would look at Eric Schabell's jbpmmigration project: this is available in the jBPM (5) Designer. What's designer? Designer is the web-based BPMN2 editor, which you can access via Guvnor. Yes, we're working on making Designer standalone as quickly as possible, but it's not there yet. But, in short, this is what you do: </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>a. Download a jBoss AS (preferably AS 7, since it's SOOOOOO much faster.)</p><p><span>b. Download a Guvnor AS7 compatible war (like 5.4.0.Final, jboss-as-7.0.war: </span><a class="jive-link-external-small" href="https://repository.jboss.org/nexus/index.html#nexus-search;gav~org.drools~guvnor-distribution-wars~5.4.0.Final" target="_blank">https://repository.jboss.org/nexus/index.html#nexus-search;gav~org.drools~guvnor-distribution-wars~5.4.0.Final</a><span>~~ (click on the jboss-as-7.0.war link). </span></p><p><span>c. Download a Designer AS7 compatible war (like 2.4.0.Beta1, jboss7.war: </span><a class="jive-link-external-small" href="https://repository.jboss.org/nexus/index.html#nexus-search;quick~jbpm-designer" target="_blank">https://repository.jboss.org/nexus/index.html#nexus-search;quick~jbpm-designer</a><span> (click on jboss7.war link.. )</span></p><p>d. Add wars to standalone/deployment (and touch &lt;war-name&gt;.dodeploy)</p><p>e. Start server up</p><p>f. Open guvnor: and create a new BPMN process</p><p>g. Use jbpmmigration capability in Designer</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>You can also use the jbpmmigration capability outside of designer, I'll have to ping Eric about that. </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>3. Once you've converted your process(es), I would indeed run both in parallel, in two different ways: </p><p>a. Obviously, you have to let the jBPM 3 processes finish, and start using the JBPM 5 processes. There's no other way to do that except have both simultaneously running in production. </p><p>b. I'm assuming you have&#160; (D)TAP environments? (Devel, Test, Accept, Production). In that case, depending on the size of your system(s) and how critical the systems are, it might be worth it to setup some sort of parallel processing, where production handles the jBPM 3 processes and accept _also_ handles the same process instance (request), but with jBPM 5. Depending on the number of (Human) tasks involved, this would of course require some sort of infrastructure so that both jBPM 3 tasks and jBPM 5 (human) tasks are completed/handled by the same user interaction. (Hopefully, that makes sense? If not, please ask). </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Re the jbpm migration project: </p><p><a class="jive-link-external-small" href="http://www.schabell.org/2011/10/jbpm-migration-tooling-available-in.html" target="_blank">http://www.schabell.org/2011/10/jbpm-migration-tooling-available-in.html</a></p><p><a class="jive-link-external-small" href="http://www.schabell.org/2011/10/jbpm-web-designer-integrates-jbpm.html" target="_blank">http://www.schabell.org/2011/10/jbpm-web-designer-integrates-jbpm.html</a></p><p><a class="jive-link-external-small" href="http://www.schabell.org/2012/01/released-jbpm-migration-tooling-v010.html" target="_blank">http://www.schabell.org/2012/01/released-jbpm-migration-tooling-v010.html</a></p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/772537#772537">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in jBPM at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>