The Business Process Modeling Notation (BPMN) is a standard for modeling business process modeling. BPMN provides a set of graphical notations for modeling business processes.
To model a business process flow, you can simply start of with modeling the events that starts the process, the activities that get performed as part of process, and the end result of the process flow. You can also optionally place the events and activities into swimlanes or pools that denote what roles (system or a user role) are performing the process. Business decisions and branching of flows is modeled using gateways. A gateway is similar to a decision symbol in a flowchart.
Following shows the BPMN diagram of a sample Loan processing system, modeled using WebSphere Lombardi edition.
The primary goal of BPMN is to provide a notation that is readily understandable by all business users. Another goal is to ensure that that BPMN notation can be mapped to languages like WS-BPEL for execution, although not all constructs can be mapped to BPEL.
The latest version of BPMN 2.0 (which is in beta) supports a formal metamodel for BPMN constructs and important constructs like conversations for correlating two processes , event handling (for suppresses and non interrupting events) and transactions and compensations. With BPMN 2.0 adoption at least the tooling aspects should be streamlined, where you can export BPMN models from one tool to another in a standard way. With respect to runtime model for BPMN , BPMN 2.0 provide a mapping of BPMN model to BPEL , so a vendor can comply to the BPMN – BPEL conformance model.
In my view, a BPMS (Business Process Management System) vendor should support both the capability – direct deployment of BPMN models to runtime without going through BPEL generation where it makes sense, while in some cases you would require activity in BPMN model implemented as BPEL flows. This is probably based on the requirements and most importantly how you model and implement the BPM process.