Skip to content

Modules

Salvatore Gonda edited this page Mar 23, 2024 · 8 revisions

Introduction

gobpmn is distributed in different modules on different repositories. Some of the modules are currently still under construction. The decision in favour of decoupling and distributing was made because otherwise the overall structure in a single repository would have appeared too confusing. The advantage over a single monolith is obvious:

  • Better categorisation of the use cases for the respective module
  • Increased reusability of individual methodologies
  • More flexibility in implementation
  • More precise prioritisation in the compilation

gobpmnTypes

This repository contains all the types that are used in the gobpmnModels module. To be able to use gobpmn, this module must be initialised before import.

go get github.com/deemount/gobpmnTypes@latest

Go to the wiki of gobpmnTypes

gobpmnModels

gobpmnModels is the centrepiece of this project. It contains (almost) all the elements required to read and write a business process model. This module must be initialised before import.

go get github.com/deemount/gobpmnModels@latest

Go to the wiki of gobpmnModels

gobpmnCamunda

gobpmnCamunda extends the standard model of gobpmn with the elements provided by Camunda v7. This module is far from finished and is still under construction.

Go to the wiki of gobpmnCamunda

gobpmnDiagram

gobpmnDiagram is a module that organises the shapes and edges for the process elements. This module is currently decoupled from gobpmnModels and is still under construction.

Go to the wiki of gobpmnDiagram

gobpmnReader

gobpmnReader is a tool for reading business process models in various formats, such as XML and JSON.

Go to the wiki of gobpmnReader

gobpmnBuilder

gobpmnBuilder is a tool for creating business process models in various formats, such as XML or JSON. It is the last of all modules in the gobpmn network that can be called.

Go to the wiki of gobpmnBuilder

gobpmnCounter

gobpmnCounter is a tool for counting elements, shapes and edges in a business process model created in Go. It reads the structs, fields and their types and compares them with predefined words. This module is currently decoupled and must be inserted manually into the gobpmnReflection module.

go get github.com/deemount/gobpmnCounter@latest

Go to the wiki of gobpmnCounter

gobpmnHash

gobpmnHash is a tool for creating and distributing hash values to the reflected elements in a business process model created in Go. In order to be able to use it in conjunction with gobpmnReflection, this module must be initialised before import.

go get github.com/deemount/gobpmnHash@latest

Go to the wiki of gobpmnHash

gobpmnReflection

gobpmnReflection is a tool for reading or better reflect a written business process model structure in Go. The reflected elements are wrapped in maps here, for example to be used in the hash distribution. This module is an experiment and is dependent on some rule sets that have not yet been documented in detail. In order to be able to use it in conjunction with gobpmnModels, this module must be initialised before import.

go get github.com/deemount/gobpmnReflection@latest

Go to the wiki of gobpmnReflection

Clone this wiki locally