Azure-functions-durable-extension: Full support for activity functions in languages other than C#

Created on 14 Jul 2017  路  11Comments  路  Source: Azure/azure-functions-durable-extension

Activity functions should be able to be written in languages other than C# since they don't have a hard dependency on any object model. We close to having this today, but some work is required in the binding extensibility provided by the WebJobs SDK.

The required WebJobs SDK issue can be found here: https://github.com/Azure/azure-webjobs-sdk/issues/1104

With this fix, it should be possible to implement activity functions in all of our supported languages. Orchestrator functions will still need to be in C#.

enhancement

Most helpful comment

And it's done! See here for details: https://github.com/Azure/azure-functions-durable-js

All 11 comments

This is a breaking change because it fundamentally changes how return values are processed by bindings in Azure Functions.

This is partially fixed in PR https://github.com/Azure/azure-functions-durable-extension/pull/18. However, there are still additional fixes required in the Azure Functions script host to fully enable cross-language support: https://github.com/Azure/azure-webjobs-sdk-script/issues/1422

Katy, this is basically the work that you've already started regarding return values in JavaScript.

Yes, although I believe this blocking issue has already been fixed. @kashimiz can you confirm?

If that's the case, there could be other things from Sprint 14 also not marked as closed. https://github.com/Azure/azure-webjobs-sdk-script/milestone/38

Will subscribe for updates,
Thanks.

Yes, those were the main blockers. We should be able to handle the rest of the work in this repo.

The next step is for us to come up with a protocol which can translate the DTFx orchestration inputs/outputs to/from JSON. This will enable a cross-language story for writing orchestrations.

After that, we need to create the JavaScript-specific programming model for writing orchestrations which implements the JSON protocol. @christopheranderson has started some investigative work into this.

I wanted to check in on this. With @christopheranderson moving over to do some things with CosmosDB, is there anyone still looking at this?

I'm actively working on this.

And it's done! See here for details: https://github.com/Azure/azure-functions-durable-js

Was this page helpful?
0 / 5 - 0 ratings