Skip to content
Marcello Rosati edited this page Feb 20, 2020 · 19 revisions

Università degli studi di Camerino


Documentazione progetto Business Process Digitalization and Cloud Computing

Your online repository for .bpmn models


The project consists of a web platform which allows users to register and access the different .bpmn files uploaded to the platform repositories. Briefly, each registered user has a private repository accessible only to that user, while he can have access to all public repositories also of other users. Within a repository the user can create a .bpmn model, create folders, delete model or move folders.

The user can use both collaboration and choreography model within his repositories.

For every model the user can create different versions, then work on the desired version in order to have a history of the changes made to the same .bpmn model. User can open the desired version of the .bpmn file in the editor built-in inside the platform, or download directly this version, or a collection of versions for the same model, to his local machine. The user can check the validity and soundness of the model and see the results shown (available only for collaboration model) (actually not available in online view).

The registered user will have at his disposal a search-bar to search for a bpmn model in a repository and will be able to share his own models with other users.

User can use “C4 TOOL – COLLABORATION VS CHOREOGRAPHY CONFORMANCE CHECKING IN BPMN 2”,  the C4 formal framework aims at supporting modelers to automatically check whether a collaboration conforms to a prescribed choreography.

It’s also possible to join two differents collaboration models using “merge” option. The tool allows you to join two different models (like sender and receiver), connecting the right  matching message flow, if they are.

Installation (on local machine)

Before downloading the project you need to prepare your local machine: for client-side project part Node.js is needed; instead for the server-side part you need to install Eclipse IDE for Java EE Developers.

Since the frontend part of the project was made with Angular, to start it you will need Node.js; while the server part is built using Java Spring WebFlux with Maven and then you'll need Java EE IDE to run the server. Now you can clone or download our project in GitHub repository.

 Inside the project you will find two main subfolders, one is called SPMClient and contains all the client-side files; instead the other folder SPMServer contains server-side files.



Usage (on local machine)

If you want to use this framework on your machine, you have to set some parameters.

For the client, you must go in “package.json” file and change the “start” command.

If you want to run it, you have to change the command in

 “ ng serve --port “yourPort” --host  “yourIpAddress”  (personalize settings) or

“ng serve” (default settings, localhost:4200)


For the server, in the “” file, you have to change the variable “ALLOWED-ORIGIN”.

Obviously you have to set the same client’s  ip address and port.


Now to run the project it is necessary to simultaneously execute the client part and the server part:

  • Run SPMClient: first at level Project-folder\SPMClient you need to execute the command npm install and then npm start. Once npm start is finished, usually an Angular Live Development Server will listen on “ipAddress:port-number”. If you try to use the platform now, it won't work because the server is offline.



  • Run SPMServer: Open Java EE IDE, then in the top menu click on File, then Import, then Existing Maven Project choosing as Root Directory the folder SPMServer and putting the check on the suggested pom.xml file. Click on finish and wait for the project to be completely imported. This can require several minutes and you will notice the process looking at the bar on the right bottom. Once the project is ready, go to Project Explorer and right click on the root folder SPMServer, then Run As -> Spring Boot App. When the server starts now you can return to your browser where the client part is opened.



Online usage

To use the online platform you need to connect to the link