microsoft / durabletask-java

Java SDK for Durable Functions and the Durable Task Framework
MIT License
13 stars 7 forks source link

Azure Functions support #16

Closed cgillum closed 2 years ago

cgillum commented 2 years ago

This PR adds the following:

Note that in order for the Azure Functions integration to work, two additional things are needed outside of this PR:

  1. An updated Java worker that supports trigger return values.
  2. An updated Durable Functions extension that supports the newer protobuf serialization format for orchestration trigger inputs and outputs.

In a later PR, I plan to add a simple sample function. Once the above dependencies are available, we can also create a CI workflow that runs the Functions sample end-to-end.

kaibocai commented 2 years ago

Also @cgillum , I found a library (https://github.com/ReactiveX/RxJava) that is widely used to support asynchronous and event-based programs by using observable sequences. It seems much stronger and more flexible than the Completablefuture in java. Maybe in future, we can try to utilize it to strengthen our durable java functions.

cgillum commented 2 years ago

Agreed we should look at potentially supporting RxJava. It's a 3rd party library, so we may want to consider making it an optional layer that sits on top of this core programming model, but it seems like a promising (no pun intended) idea given how popular it is. Thanks for this suggestion!