<!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: jBPM noob questions
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/salaboy21">Mauricio Salatino</a> in <i>jBPM</i> - <a href="https://community.jboss.org/message/826092#826092">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Hi Viktor, </p><p>About your questions:</p><p>1) I always discourage the use of script nodes because you are basically writing java inside an xml file, which will make your life more difficult when you do refactorings, it doesn't provide any syntax checking, etc, etc. But if the code that you want to put there is simple enough and it will not cause you troubles in the future you can go ahead knowing the risks. </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>2) Data Objects are defined in the BPMN2 specification and helps&#160; you to define from where your data is comming from, I usually mention Data Objects as quite advanced structures. As far as I know they are supported in jBPM but I would prefer to work with process variables directly. From the technical point of view it's easier at least. If you take a look at the BPMN2 specification you will see that Data Objects are exactly the same as Process Variable, but the later doesn't have a graphical representation in the process diagram.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>3) About persistence, if you are planning to use persistence you will need to demarcate your transactions. This is not difficult, because it just means that you will need to decide which Activities inside your process will be asynchrnous (will end the current transaction) and which will be sync (will be executed inside the current transaction) . If you have all the Activities in your process as Sync activities the process state will not be persisted between each of them. </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>4) About user transactions.. This is a complicated topic to explain in a couple of sentences, but I will try to make it short. jBPM will handle internally the transaction for the resources that are configured within jBPM. If you have your own external databases and if you are configuring your own databases outside jbpm you will be in charge of handling transactions. So how the transactions are propagated its completely up to you. In the other hand, if you configure your databases as transactional resources within jbpm, jbpm will define when to start and end the transactions based on the safe points of the processes (Sync and Async activities) . </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I hope this helps! </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Cheers</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/826092#826092">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>