microsoft / microsoft/durabletask-java

Typed proxy support

Open
#13 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
29
Forks
18
Avg merge
1d 10h
Merged PRs (30d)
2

Description

Requirements

In order to create a type-safe experience for working with orchestrations and activities, the Java SDK for the Durable Task Framework should support type-safe invocation of orchestration and activities.

For example, when calling an activity, instead of the following:

Object activityInput = "World";
String result = context.callActivity("SayHello", activityInput, String.class).get();

...we should be able to instead write:

MyActivities activities = // get a pointer to an activity proxy
String result = activities.sayHello("World");

We'd want the same experience also for orchestrations (created by a client) and sub-orchestrations.

Ideally this support will also allow developers to easily unit test their code.

Design considerations

Java's Proxy support could be a good starting point for such a feature.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the requirements and the linked Java Proxy documentation. Define the scope for typed activity, orchestration, and sub-orchestration invocation, including the proposed unit-testing experience. Done means the Java SDK provides a documented type-safe proxy approach covering all three invocation cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.