Coder Social home page Coder Social logo

anujaware / camunda-platform-get-started Goto Github PK

View Code? Open in Web Editor NEW

This project forked from camunda/camunda-platform-get-started

0.0 0.0 0.0 2.21 MB

Camunda Platform 8 - Get Started Projects

License: Apache License 2.0

JavaScript 5.37% Java 34.35% Go 31.61% C# 24.00% Makefile 4.67%

camunda-platform-get-started's Introduction

Camunda Platform 8 - Get Started

This repository contains a short guide to get started with Camunda Platform 8. It contains instructions on how to model your first process, create a user task form, and automate a service task. During the guide you will use Console, Modeler, Zeebe, Operate, and Tasklist.

Table of contents

Repository structure

The repository contains the following folders:

  • csharp - C# example for deploy, create instance, and a job worker
  • go - Go example for deploy, create instance, and job worker
  • images - Contains screenshots and images for the guide
  • java - Plain Java example for deploy, create instance, and a job worker
  • nodejs - Node.js example for deploy, create instance, and a job worker
  • process - Contains the BPMN process and the user task form
  • spring - Spring Boot example for deploy, create instance, and a job worker

Set up the environment

To follow this guide, we need a running Camunda Platform 8 cluster. For this purpose, we use the Camunda Platform 8 SaaS offering at https://camunda.io.

If you prefer a local setup, visit the end of this guide.

After the sign-up and log-in at https://camunda.io, we need to create a new cluster with the latest stable version of Zeebe and the name Test Cluster.

Camunda Platform Cluster

After the cluster is available, we need to create a pair of Client Credentials. To do this, take the following steps:

  1. Navigate to the Clusters detail page.
  2. Switch to the API tab.
  3. Create a new client credential and either note down the client id and client secret, or download the credentials file.

Model the process

In this example, we'll model a simple process to send an email message.

Camunda Platform 8 allows you to use the BPMN standard to model your business processes. The process consists of two tasks: a user task to allow a human to enter the message content, and a service task to automatically send the email message.

Process

Note: To keep the scope of this guide easy to follow, we only build the scaffolding for this process automation example and will not actually send an email. This can be a task for you to extend the example and connect to a mail provider.

To create the process, we use the desktop [Camunda Modeler] or [Web Modeler].

Find the finished process at process/send-email.bpmn.

Model the user task form

To help users complete the user task Enter Message, we create a user task form using the modeler.

Use [Camunda Modeler] or [Web Modeler] to create the form.

Find the finished form at process/enter-email-message.form.

Configure user task to use form

Now that we've created a form, we must configure the user task to use the form. To do this, we copy the JSON content of the form into the Form Json Configuration field under the Forms tab of the modeler.

Configure user task form

Configure service task

The last step is defining the job type of the service task. The job type is needed for a job worker to subscribe to the jobs of the task and complete them. The Camunda Platform 8 Documentation contains more information about job workers.

Configure service task

Deploy process

Deploy the process using Camunda Modeler, Web Modeler, zbctl, or your own code.

Deploy using Camunda Modeler

To deploy the process using Camunda Modeler, follow these steps.

Deploy using Web Modeler

To deploy the process using Web Modeler, follow these steps.

Deploy using zbctl

To the deploy the process using zbctl, use the following command:

zbctl deploy resource send-email.bpmn \
  --address 365eed98-16c1-4096-bb57-eb8828ed131e.zeebe.camunda.io:443 \
  --clientId 'GZVO3ALYy~qCcD3MYq~sf0GIszNzLE_z' \
  --clientSecret '.RPbZc6q0d6uzRbB4LW.B8lCpsxbBEpmBX0AHQGzINf3.KK9RkzZW1aDaZ-7WYNJ'

For Camunda Platform 8, we need the cluster id and the client credentials.

Deploy using code

Writing your own code allows you to deploy the process (for example, on application startup) to ensure the latest version is deployed. To see examples of this, visit the programming language specific folders.

Start process instance

Start a new instance of the process using Camunda Modeler, Web Modeler, zbctl, or your own code.

Start instance using Camunda Modeler

After the process is deployed, follow [these steps](click Start Current Diagram) to start an instance of the process with Camunda Modeler.

Start instance using Web Modeler

To start an instance of the process using Web Modeler, follow these steps.

Start instance using zbctl

To start a process instance of the BPMN process id send-email using zbctl, use the following command:

zbctl create instance send-email \
  --address 365eed98-16c1-4096-bb57-eb8828ed131e.zeebe.camunda.io:443 \
  --clientId 'GZVO3ALYy~qCcD3MYq~sf0GIszNzLE_z' \
  --clientSecret '.RPbZc6q0d6uzRbB4LW.B8lCpsxbBEpmBX0AHQGzINf3.KK9RkzZW1aDaZ-7WYNJ'

For Camunda Platform 8, we need the cluster id and the client credentials.

Start instance using code

Writing your own code allows you to start an instance of the process on an external trigger, like an incoming message or a user request. To see examples of this, visit the programming language specific folders.

Complete the user task

The first task of the process is the user task Enter Message.

Process

To complete the user task, we use Tasklist. To do this, visit the cluster's details page in Camunda Platform 8 and launch Tasklist.

Take the following steps:

  1. In Tasklist, select the Enter Message task from the list of tasks.
  2. Click the Claim button to assign the task to you to work on it.
  3. Fill out the E-Mail Content field with the message you want to send.
  4. Select Complete Task.

Tasklist

Complete the service task

The second task of the process is the service task Send Email.

Process

To complete the service task, we need to implement the business logic. Therefore, we must create a job worker for the task type we defined in the diagram. The job worker will subscribe to all jobs with the same task type.

To define the task type, we select the service task in the diagram and use the properties panel to set the task type to email.

To implement the logic, we implement a job worker. Check out the programming language specific folders to find the job worker implementations.

Further references

Find more information in the Camunda Platform 8 Documentation, or join the Camunda Platform 8 Forum and Camunda Platform 8 Slack community.

Developer setup

To run the getting started guide against a locally-hosted instance, follow the Camunda 8 Platform Deployment Guide.

camunda-platform-get-started's People

Contributors

dependabot[bot] avatar menski avatar npepinpe avatar berndruecker avatar zelldon avatar korthout avatar abbasadel avatar akeller avatar deepthidevaki avatar lenaschoenburg avatar remcowesterhoud avatar megglos avatar davidgs avatar falko avatar tbfly avatar berkaycanbc avatar aivinog1 avatar ingorichtsmeier avatar jwulf avatar koevskinikola avatar saig0 avatar tanay1337 avatar vsgoulart avatar christinaausley avatar hisimminence avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.