The Business Process Modeling Notation (BPMN™ 2.0) is the foremost language for documenting process models using a graphical representation that business stakeholders can easily understand and validate. This comprehensive notation allows these models to be captured not only with a high degree of precision, but optionally with sufficient detail to allow their conversion into machine executable processes.Frank Truyen, President of Cephas Consulting Corp, demonstrates the significant changes that have been introduced into Enterprise Architect versions 11.1 and 12.0 with regards to creating BPMN 2.0 business models.
In this webinar you will learn how to:
Don't miss this opportunity to learn more about Enterprise Architect
Yes. It is available at: http://sparxsystems.com/resources/webinar/partners/bpmn/bpmn-introduction-cephas.html.
Yes. Frank has kindly made his BPMN model available for download from this page. Cephas Consulting also provides additional free and commercial BPMN resources that may be useful for your project.
It is scheduled for released during the first quarter of 2015.
Enterprise Architect 12 RC2. (Most of the BPMN functionality shown is available in 11.1.)
There are no immediate plans to implement these profiles.
Sparx: Not currently. However, similar behavior certainly could be added for other specifications including UML in future.
Sparx: This limitation has now been addressed in the latest release candidate of Enterprise Architect version 12.
Frank: Yes, it is for compliance reasons, and to preserve the ability to properly export your models using the BPMN 2.0 xml standard. In general it is best not to mix completely different modeling notations such as UML and BPMN.
Sparx: Also, by using a tagged value, the BPMN properties are in the same place, providing a more consistent experience to users. (For example, users don't need to search for an option that isn't visible or named according to what they are looking for). We have received separate feedback about usage of traceability functions in EA when using these tagged values. This is something we are considering improving for future versions.
Frank: The Relationship Matrix offers the easiest technique for relating process steps back up to requirements.
Frank: You can use Enterprise Architect's level numbering (right-click a package in the Project Browser then choose Advanced | Turn On Level Numbering), but typically users only want the Activities to be numbered. Cephas Consulting makes available to its customers an EA extension that allows BPMN process models, including all sub-process levels, to be numbered automatically using the Alias field.
Frank: A Pool/Participant can represent a Partner Role or a Partner Entity - a party that your business interacts with (using Message Flows in BPMN). For example, "vendor", "customer", or "subsidiary" roles. Or named parties such as "Company A", or "Company B". In a large company, where different internal units manage their own business process models, a Pool can represent a department as well - so it is not always a party external to your organization.
Frank: The Pool, which is a graphical swimlane, is contained within a Collaboration (not the Process), so each Collaboration will have its own set of Pools/Participants. Each Pool will only contain those process steps (from its associated Business Process) that are relevant for a given Collaboration. What is important is to tie each Pool back to Partner Roles and/or Partner Entities - the party (or parties) that are responsible for the execution of the processes, and which can be defined one time only in a "reusable catalog". It is to reduce (and hide) the complexity that you refer to that we recommend starting your process models from templates.
Frank: Yes, as many as are relevant to your business.
Sparx: Also your pools can refer to multiple roles and entities (up to 6).
Frank: Yes. For every Collaboration you have at least 2 Participants. That is why, in the concept diagram, the multiplicity between Collaboration and Participant is 2..*.
Sparx: Yes. The new partnerEntity and partnerRole properties of a Pool are references to 0..* elements of the appropriate type. The matching properties on the deprecated Participant element are also references.
Frank: Please review the previous webinar where an example of modeling a Call Activity is demonstrated.
Frank: No, they do not. These swimlanes are for graphical convenience only and operate solely in the context of the diagram. A BPMN Pool or Lane is an actual element in the repository (you can see it in the Project Browser) which acts as a parent container for the elements that are dropped into it, thus establishing a parent/child relationship between the swimlane and its contents. That relationship can then be used for reporting purposes.
Frank: In BPMN, data entities are represented as Data Objects, as shown in the webinar. Data Objects can be linked to the Business Process itself, or to any Activity element inside it, using the Association connector. Since we are at the business level, Data Objects are abstract. However if you have a more detailed representation of that data in your repository (with the attributes and data types), perhaps as UML, database schema, or XML schema elements, you can associate these with the Data Objects either via relationships (e.g. using the Relationship Matrix), or for better compliance with the BPMN specification, via the BPMN properties : DataObject:dataObjectRef ? ItemDefinition:structureRef ? <external representation>
Frank: Yes. In UML you can link the Partition element to a Role/Actor by setting the Classifier of that Partition swimlane to the corresponding Role/Actor (right click the swimlane and select the "Instance Classifier" option).
Frank: They are out-of-the-box and become automatically available when you create or open a BPMN 2.0 Business Process or Collaboration diagram.
Frank: Microsoft Visio is very good at creating process model/flow diagrams, but it is a visualization tool only, not a repository/database like Enterprise Architect . In EA you can not only create the same diagrams, but also: associate your process steps with other elements in your repository such as requirements, systems, and applications; generate documentation (Word/HTML/PDF); search the database and run reports; reuse entire processes or sub-processes without copying and pasting; compare different versions of the process flows; etc.
Frank: The new feature shown in the webinar provides structural validation. For BPMN syntax validation, which is equally important if you want to bring your process models closer to the level of detail required for execution, Cephas Consulting makes a free syntax checker available.
Sparx: Not currently. We have made a feature request for this however.
Sparx: Yes. You can learn more about process simulation for BPMN from the Online Help topic BPMN Simulation.
Frank: To build executable BPMN models, use the BPEL diagram and toolbox interfaces instead of the generic Business Process and Collaboration diagram. The tool provides dedicated dialogs that allow you to capture the additional execution semantics.
BPEL and the Enterprise Architect simulation capabilities are currently independent features (i.e. a process model does not have to executable in order to use the simulation capability).
Sparx: Yes. You can define a custom Model Search that returns a list of all process elements that are referred to by a given PartnerRole. The list can then be generated to a document using Enterprise Architect's report generator. For each listed element you can also: Find in Project Browser, Find in Diagrams, or view Properties.
For example, if your modeling convention is to refer to roles from a Pool (using its partnerRole tag), which also refers to the process (using its processRef tag), you could define a simple SQL query to get the list of all processes referring to a given role. The following query will find all elements of stereotype BusinessProcess that are referred to by a Pool that has a partnerRole tag matching your Search Term.
SELECT process.ea_guid AS CLASSGUID, process.Object_Type AS CLASSTYPE, process.Name AS [Process Name]
FROM t_object AS pool, t_object AS process, t_objectproperties AS process_ref, t_objectproperties AS partner_ref
WHERE process.Stereotype = 'BusinessProcess' AND pool.Object_ID = partner_ref.Object_ID AND partner_ref.Property = 'partnerRole' AND partner_ref.[Value] = '<Search Term>'
AND pool.Object_ID = process_ref.Object_ID AND process_ref.Property = 'processRef' AND process_ref.[Value] = process.ea_guid
In the search field you would enter the guid of the Role you are interested in. (You can get that value via the main menu: View | Properties | Project | GUID)
Sparx: Yes. NIEM 3.0 import/export was implemented in Enterprise Architect 12.
Frank: Which import/export option did you use? Was it BPMN XML 2.0?
Sparx: We've worked hard to ensure both our BPMN XML 2.0 import and export comply with the standard. While we can't comment on the behavior of specific third-party tools, from what we've seen at the BPMN miwg site, a number of tools struggle to produce a good diagram when importing standard BPMN XML.
When working with BPMN XML, make sure you use Enterprise Architect version 11.1.1112 or later, as recent releases of Enterprise Architect include import and export updates for BPMN XML, which could improve interchange with other tools.