<!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="http://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;">
    Case for using jBPM's PVM "naked"?
</h3>
<span style="margin-bottom: 10px;">
    reply from <a href="http://community.jboss.org/people/alex.guizar%40jboss.com">Alejandro Guizar</a> in <i>jBPM</i> - <a href="http://community.jboss.org/message/559279#559279">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><blockquote class="jive-quote"><p>at work, our development team has created a very simple home-brew statemachine implementation to do a mixture of workflow management and simple business process management, all in plain java. This was a few years ago and met the requirements back then.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>As the business process got more complicated, we are now looking into existing solutions supporting more concepts than our simplistic state machine does.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I skimmed the PVM documentation and found java classes resembling activities, nodes, transitions and the like. This looks promising, yet I'm not sure about the intended usage of PVM.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Is PVM intended to be used by developers to create process descriptions by coding in java, without using any of the XMLish or graphical "concrete syntaxes" of process modelling? If "intended to be used" is too much, would this at least be a sane, supported use case of PVM? Or is PVM altogether "under the hood" of jBPM and should not be used directly? How stable is the PVM API expected to be?</p></blockquote><p>The PVM is meant to be the foundation on top of which multiple process languages can be implemented. Read the <a class="jive-link-external-small" href="http://onjava.com/pub/a/onjava/2007/05/07/the-process-virtual-machine.html">Process Virtual Machine article</a> for the full discussion. The target languages actually include Java although this is not documented as extensively. The class <span style="font-family: courier new,courier;">org.jbpm.pvm.internal.builder.ProcessDefinitionBuilder</span> from <span style="font-family: courier new,courier;">jbpm-pvm.jar</span> provides a fluent interface for creating process definitions straight in Java without parsing any process&#160; document. The interfaces in jbpm-api.jar in fact constitute the API for the PVM, aiming to be as&#160; language-neutral as possible. Although not part of the API the process definition builder is relatively stable, it has not been touched in a while.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>In sum, yes, direct acess to the PVM is a valid, though advanced, use case.</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/559279#559279">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in jBPM at <a href="http://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>