Skip to content

camunda-community-hub/DelphiZeeBeClient

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.

Community extension badge Lifecycle: Abandoned badge Needs Maintainer badge

DelphiZeeBeClient

Delphi client for ZeeBe (https://docs.zeebe.io/index.html) - CLI and gRPC interface.

Dependencies

The client interface is based on DelphiGRPC (see: https://github.com/ultraware/DelphiGrpc) which in turn uses the Grijjy.Http library.
Remark:
In order to read BPMN-files longer than BUFFER_SIZE = 32768 Grijjy.Http.pas needs a fix in function TThreadSafeBuffer.Read around line #684:

//        Move(FBuffer[Size], FBuffer[0], FSize - ALength); BUG: read behind buffer!
        Move(FBuffer[ALength], FBuffer[0], FSize - ALength); {PMM 29.04.2020: here is the next portion!}

The initial code for units "gateway_protocol.Client" and "gateway_protocol.Proto.pas" where generated using the DelphiGrpc Tool "ProtoBufGenerator.exe". However, the generated code needs some modifications:

  • Int64 has to be changed to UInt64
  • empty record needs to be removed (TTopologyRequest so far)
  • Delphi reserved identifiers (FILE, type) have to be renamed See the header part of the units mentioned for more details.

Examples

The reository includes three test projects. The first two are very closely related to the test workflow "order-process.bpmn" used in the ZeeBe-tutorial

  • ZeeBeTestCLI: Uses the command line interface to communicate to ZeeBe
  • ZeeBeTestClient: Uses the gRPC interface directly.
  • ZeeBeTestgRPC: Uses the gRPC interface via the uZeeBeClient.pas unit. This example uses an more generic approach build arrount the gRPC-Interface encapsulated in the uZeeBeClient.pas unit.

Status

Although this client has been used successfully in an proof-of-concept project, the code should not be considered as production ready yet. The demo projects are made available to show it works with the DelphiGRPC Lib (which in turn isn't production ready yet) and to play around with ZeeBe workflow modells.

About

Delphi client for ZeeBe gRPC interface

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages