Uploaded image for project: 'REEF (Retired)'
  1. REEF (Retired)
  2. REEF-908

Design .NET REEF client API

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • REEF.NET, REEF.NET Client
    • None

    Description

      High Level Goal:

      1. Submit an application
      2. Track its progress. Have the client be notified by the Driver in case of messages or failure.
      3. Communicate with the driver
      4. Perform management tasks on the application
        • Killing
        • Cancelling
        • Updating binaries/configuration etc.
      5. Application debugging primitives

      Key considerations:

      1. Stable API with long term support and extensibility
      2. API expressive enough to support multiple use cases:
        • Interactive one-off jobs
        • Automated job/pipeline orchestration services
        • Long running services.
      3. Runtime agnostic
      4. Implementation of API will be hosted in-proc with user's client using it; This is not intended to be a remote API.
      5. Allow the client to have simple implementation to manage fail-over for instance reconnecting to the application and proceeding normally.
      6. Allow for implementation of rich, responsive user interaction with REEF managed application.
      7. Provide a very lean Onboarding experience; Remain feature rich for complex use case. ( Judicious defaults and helpers )
      8. Keep API aligned with existing REEF design principles, for instance, event driven programming model.
      9. Keep API aligned with patterns used in .NET BCL APIs

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              anupam128 Anupam
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: