Zeebe Git Examples Unaccessible

Hi,

I am trying to understand how the process instances can be started from zeebe client. I was reading the documentation here: Create a process instance | Camunda Platform 8 Docs it has git source link pointing to https://github.com/camunda/zeebe/tree/main/samples/src/main/java/io/camunda/zeebe/example/process/ProcessInstanceCreator.java which is not accessible.

Can someone please enable it OR if the resources are available at a different location, please do point me to the correct git where they are available.

Thanks,
Srihari.

Hi @hari_kiran,

the examples have moved to here: GitHub - camunda-community-hub/camunda-8-examples.

See this issue for further background: Move Java client samples into a dedicated repository · Issue #9500 · camunda/zeebe · GitHub.

Hope this helps, Ingo

Thank you @Ingo_Richtsmeier

I created an issue to fix the links in the docs: Adjust java client samples to new home · Issue #1001 · camunda/camunda-platform-docs · GitHub

1 Like

First of all, thanks for your quick responses @BerndRuecker and @Ingo_Richtsmeier. It was helpful and I was able to start the process instance as expected.

The examples show how to create process instances using java api right (I didnt see any protobuf files or dependencies)?

Question:
Is there any example showing how the same is done through grpc, I mean using the Zeebe GRPC API’s mentioned here Zeebe API (gRPC) | Camunda Platform 8 ?

Pardon me if my question doesnt make much sense, I’m looking at GRPC for the first time exploring camunda, so your inputs/ examples are valuable and will help in understanding this better. Thanks.

Thanks,
Srihari.

Hi @hari_kiran,

interesting question! I recently stumbled over this blog post: Postman Now Supports gRPC | Postman Blog but I didn’t find any time to have a deeper look into this topic.

The proto file is in the Zeebe repository: zeebe/gateway.proto at main · camunda/zeebe · GitHub. It may be worth to share a link to this file on the page you mentioned (It refers to an earlier version of Zeebe, did you open this version by intent?).

I think there is no example, but now you should be able to try it out.

Hope this helps, Ingo

1 Like

I just try to follow Ingo with answering :slight_smile:

While you could invoke gRPC directly (or even generate your own client stubs: Build your own client | Camunda Platform 8) the common way of communicating with Zeebe is using one of the existing client libraries/SDK’s. This way, gRPC is a kind of implementation detail (which might only pop up in firewall discussions).

2 Likes

@BerndRuecker,

Since you said “the common way of communicating with Zeebe is using one of the existing client libraries/SDK’s”

Can you suggest what should be the recommended approach from below ?

  1. Incase if we have to integrate a third party application with Camunda, should there be a intermediary spring-boot based application which can invoke the camunda services using the sdk and respond back to the third party service ?

OR

  1. Should the third party system consume the services through public gRPC api’s mentioned in Zeebe API (gRPC) | Camunda Platform 8 (I am not sure as of now as to how to implement this but I am assuming this should be possible)

=====
Thanks @Ingo_Richtsmeier will give it a try…

Regards,
Srihari.

As always: It depends.

If the third-party system is not under your control but provides a proper API - you might go with option 1.

If the third-party system is something you develop internally anyway and probably does not have an API, it might be worth looking into option 2.

But in general, I tend towards option 1.
What you can definitely do is pull together code for various systems calls in one Spring Boot application. Think more of one application per process than one application per service task. Again: This is a rule of thumb - and there are always exceptions :slight_smile:

1 Like