Sorry for the poor English, i should be almost sleeping when i wrote that.
I don't know if it is understandable for you, but i wanted to mean the process pools used to represent different entities in the process. It is not always necessary to write BPMN diagrams with process pools but when i want to represent an external participant of the process it is an important bpmn symbol.
As you know, the BPMN 2.0 specification defines four types of diagrams: Process, Collaboration, Choreography and Conversation. Conversations are typically thought of in terms of a Collaboration (essentially messages exchanged between two or more participants) hence the BPMN2 Modeler New File wizard only provides for the first three. The tool palette is restricted by the editor to only those tools that make sense for the type of diagram being worked on. Process diagrams (which is the only type supported by jBPM) describe processes that are internal to an Organization (or "business entity") and therefore represent a single Pool (a.k.a. "Participant"). It would not make sense to allow creation of another Pool (which would represent a different organization) within the Process diagram. This is what the Collaboration diagram is intended for: each Pool represents a different organization, and the contents of the Pools represent the activities and processes internal to that organization.
The short answer to your question: when you are working with a jBPM process file, the entire diagram is a Pool. If you need to model one business organization interacting with another organization, you should create two separate processes. Otherwise, if you simply want to show the interaction between departments WITHIN an organization, you should be using Lanes.
Let me know if this makes sense...
Thanks for the answer.
To be honest, I didn't know that. Probably i misunderstood something, but i used to model processes using collaboration, choreography and process diagrams in only one diagram, the one i call the process diagram. So far, i didn't understand the truly concept of conversation diagrams, so i've never used them (my bad).
As far as i remember the matter of designing processes using lanes and pools to explicitly show some actors of the processes should be a process designer choice. They are part of the BPMN 2.0 specification, aren't them? If you take a look at some bpmn 2.0 diagrams all over the web you'll find thousands of processes modelled in this way. I've read some bpmn 2.0 books and i can't remember a physical division of the types of diagrams (except for conversation ones), although some authors don't like using pools and lanes. In Bruce Silver's book, as far as i remember pools, lanes and message flows are part of bpmn level 1 pallete. But i've never read the BPMN 2.0 specification, i don't know the 'truth'.
It doesn't makes sense to me because in my opinion what smells good in BPM technolologies for the business analysts is the fact they could understand what's going on. If things get too complicated for them, they will tell that it's another IT stuff and it won't work at all.
I think my point is about bpmn 2.0 compliance, i miss other important elements. I'll search the forums if someone asked that before and if not, i'll do it.
You're not alone in your confusion about Pools, Lanes and Processes. Personally, I don't understand why one would feel a need to use Pools instead of Lanes - what aspect of Pools is so special that it isn't represented by a Lane?
The thing about Process Diagrams is that they map directly to an executable process running in a BPM engine. Collaborations, by definition, contain two or more Processes (which correspond directly to Pools) so those Processes would have to be parsed out for the execution engine. This could either be done at deployment time, or by the engine itself. Either way, it adds complexity.
Of course, it adds complexity, but as you know activiti provides those elements and many others jbpm doesn't on its pallete. I prefer the jbpm architecture, because of the native integration with drools on the process/rules repository that is a requirement for a BPMS. Activiti it's the framework that i have studied to compare to jbpm. It has been released before, of course, but in its first editions provides those functionalities.
I use BPM diagrams also to discuss the process with the client. as per BPMN2 (e.g. as described in Silver's book) there you use the customers pool (an empty pool) to show the customers process and the communication with our process. Of course for runtime, there is no customer process other than a message going out (the medium being defined in the process, like email, print out letter, etc).
Nicely in the Mars version of BPMN2 diagram editor for eclipse there is now a pool element, you no longer can place a lane just in the diagram, so we got another step to BPMN 2.0 compliance