Giter Site home page Giter Site logo

lab05-customer-onboarding-camunda's Introduction

lab05-customer-onboarding-camunda

This project illustrates how to use a process engine, namely the Camunda BPM Platform, programmatically within a Spring Boot application.

Process Solution

The main process solution is the process-solution-java SpringBoot application.

The pom file specifies the corresponding dependencies for the Camunda Spring Boot project.

Running the main Application starts the SpringBoot application with an embedded version of the Camunda BPM platform locally on your computer. You can access its user interface via your web browser. Use the credentials: demo / demo to login. After login you see the following overview:

camunda.png

Modeling and Deploying Processes

To model processes in BPMN 2.0 we recommend using the Camunda Modeler desktop application. The following is a screenshot of the onboarding process provided with this project opened in the Modeler.

modeler.png

All bpmn files within the resources will be automatically deployed to the Camunda platform upon start of the application. You can deploy additional processes from the Modeler via the "Deploy Current Diagram" button, specifying as endpoint:

http://127.0.0.1:8080/engine-rest/deployment/create

Starting the Process

The CustomerOnBoardingRestController provides a REST endpoint at

localhost:8080/customer.

The SpringBoot application loads a small web page (see onboarding.html) for entering the name of a customer via a web form at

http://localhost:8080/onboarding.html,

which then creates a POST request with the provided name es payload to the REST controller.

This then starts a new process instance based on the name (key) of the process: onboarding. Alternatively you can start the process via the Camunda Web UI: in the Tasklist, select ''Start Process'', chose the process and enter the customer name as process variable:

start.png

External Task Worker

The second part of this lab is the External Task Worker, which is called from the BPMN 2.0 process in the activity "Create customer order in CRM system". The application.yml file defines the properties related to the Camunda BPM platform to use and the subscriptions to topic names from Camunda to receive external tasks on (here: crmEntry) as specified in the process model. The class CRMEntryTaskHandler shows the main logic to be executed for this type of external task.

To successfully execute the entire process via the Camunda BPM platform, the SpringBoot application for the worker-java project also needs to be started after the CustomerOnboardingCamundaApplication via its main class CRMEntryApplication.

lab05-customer-onboarding-camunda's People

Contributors

ronsei 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.