Camunda Installation and Integration

Hi All,

I am new to Camunda and working on a project where we need to integrate our existing product with camunda by creating a work flow.

Can you please help me with initial steps? I have few questions

  1. since our application is running on weblogic server, do we need to install camunda on same server?
  2. How can we create a layer of camunda on top of our application?
  3. Steps to install camunda?
  4. Does Camunda modeller is supported only for eclipse:kepler? I am using eclipse:Luna version, do we have any plugin for that?
  5. we are planning to create our modules Rest API based, How can we integrate those in Camunda ?
  6. Does camunda comes with its own Rest APIs , which we can expose as entry point or exit point for our application?

Please share relevant articles, thanks in advance :slight_smile:

Thanks
Shailender

@shailender You can follow any of the below deployment methods:

  1. Deploy it as embed camunda as part of your java application itself by adding camunda dependencies into classpath
  2. Also you can setup standalone process application
  3. Container managed distribution
  4. Docker images also available

Refer this docs for setup:

you can embed camunda dependencies as part of your java applications

Based on above deployment links you can follow the guidelines.

camunda bpmn support to eclipse was deprecated,. so itā€™s better to use cawemo online tool or download desktop application Camunda Modeler

you can add camunda spring boot starters dependencies. it will support REST API access.

Camunda comes with rest api. To enable it you need to include camunda spring boot starters. Refer this link for REST API

1 Like

I think @aravindhrs has already done a good job answering your questions but i just wanted to say that you can follow these tutorial videos for a better understanding on how to use Camunda

Thanks @aravindhrs, will go through these links, and share my progress as well.

Thanks
Shailender Khandelwal

Thanks Niall,

Already started :slight_smile:

I tried your weather example in a shared in youtube video.

i replicated the steps as mentoned, got the error. then changed the variable from ā€œweatherOkā€ to ā€œokā€
and still the same error.

Getting below error
Cannot instantiate process definition SimpleDemo:2:38c26a26-843c-11e9-bf1e-2816ad160229: Unknown property used in expression: #{ok}. Cause: Cannot resolve identifier ā€˜okā€™

can you suggest what i missed here?

Also, can you tell me the difference in community and enterprise version?

Thanls
Shailender Khandelwal

weatherOk is a field, value will be set from CheckWeatherDelegate java class. Did you created that Java Delegate and configured in the service task?

You can find the differences between enterprise and Community edition in below link:

Yes, i created the java delegate class and configured the service task.

see below code:

public class CheckWeatherDelegate implements JavaDelegate {

@Override
public void execute(DelegateExecution execution) throws Exception {
	// TODO Auto-generated method stub
	
		Random rando=new Random();
		execution.setVariable("name", "Shailender" );
		execution.setVariable("boolean",rando.nextBoolean());
	
}

}

I have tried with different variables and updated the same in bpmn files too

With that code youā€™re creating a variable called boolean - you need to give the variable a name like weatherOk or ok depending on what the gateway is expecting.

is there any other place where i need to provide this variable?

No, but i wouldnā€™t call the variable boolean it may cause issues because itā€™s a reserved word in Java.

But thats all youā€™d need.

I tried many strings , and every time getting same error.
checked for syntax as well.

#{welcomeOk} where ā€œwelcomeOkā€ is the exact matched string used from java code. Recompiled the code and deployed it again,

PS: I am using community edition.

tried with new string now as weatherReport.

The process could not be started. : Cannot instantiate process definition SimpleDemo:2:ce64777f-8463-11e9-a5cc-2816ad160229: Unknown property used in expression: #{weatherReport}. Cause: Cannot resolve identifier ā€˜weatherReportā€™

I am using camunda with tomcat. Is there any other step with tomcat. i feel either its syntax issue or some config issue.

Can you upload your model?

Hi Niall

Attached bpmn file.
process.bpmn (5.1 KB)

The check weather task is not actually connected to any sequence flows - so itā€™s not being run.
You need to have a sequence flow going into it and leave it for the process to work

I will read about sequence flow, It was not mentioned in the video.

@shailender use this bpmn.

process.bpmn (5.4 KB)

And your delegate should be like:

public class CheckWeatherDelegate implements JavaDelegate {

@Override
public void execute(DelegateExecution execution) throws Exception {	
	Random rando=new Random();
	execution.setVariable("name", "Shailender" );
	execution.setVariable("weatherOk",rando.nextBoolean());
 }
}

Hi @aravindhrs

I used your BPMN file and your delegateā€¦ It didnā€™t throw any error. But, it also didnā€™t show any changes done , but i can see the logs and verify that it has executed.

can you please explain, what changes you have done? or where i went wrong?

Thanks
shailender Khandelwal

Already @Niall explained you about sequence flow not connected with your service task. The outgoing sequence flow from start event should connect with service task. In your case it skipped the service task and directly connected to gateway.