Application and service discovery

    Application and service discovery provides the automatic detection of registered web applications (along with their features) and services.

    • Many applications can be operated using each other's services without the need for frequent human interaction/configuration

    • Services, applications are dynamically interchangeable, expandable without human interaction.

    • Possibility to provide a choice from applications/services of the same type

    Basic protocol

    Synergy provides /api/discover endpoint where applications can send HTTP GET request for list of available applications and their application info. Request has to be authenticated using JWT token header (see authentication page ) either for current user or service itself. Interactive documentation is available on http://team1.synergy.cxn.io/swagger-ui.html#!/gateway45public45api45controller/discoverUsingGET (to try out change team1 to your subdomain and authorise the requests on gateway-public section by client id and client secret).

    Example

    HTTP GET https://team1.synergy.example.com/api/discover

    Response

    [{ displayName: "Fibonacci" , address: "http://localhost:8102" , identities: [ {category: "service" , type: "computation" } ], features: [ { namespace: "synergy/app-info" , attributes: { url: "http://localhost:8102/services/app-info" } },{ namespace: "synergy/health" , attributes: { url: "http://localhost:8102/services/health" } },{ namespace: "synergy/icon" , attributes: { url: "http://localhost:8102/services/app-icon" } }] },{ displayName: "Plexus Analysis" , address: "http://localhost:9005" , identities: [ {category: "plexus" , type: "analysis" }, {category: "application" , type: "data-analysis" } ], features: [ { namespace: "synergy/app-info" , attributes: { url: "http://localhost:9005/plexus-analysis/synergy/analysis/app-info" } },{ namespace: "synergy/health" , attributes: { url: "http://localhost:9005/plexus-analysis/synergy/analysis/health" } },{ namespace: "synergy/icon" , attributes: { url: "http://localhost:9005/plexus-analysis/synergy/analysis/app-icon" } },{ namespace: "synergy/web" , attributes: { mainEntryPoint: "http://localhost:9005/plexus-analysis/login" } }] }]

    In order to support application service and feature discovery application must implement few basic Synergy Features.