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
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.