1 Reply Latest reply on Mar 28, 2014 9:43 AM by Eric Wittmann

    Question about recent APIMan pull request

    Gary Brown Master

      Hi Eric


      Just saw your apiman pr comment "added a REST interface to the gateway so that services and apps can be published/registered".


      Does this mean that when a 'compiled' configuration of the link between an app and service(s) is distributed to the gateway, it will be done through a REST API?


      Only issue I see with this is the point to point nature of the relationship between the management component and the gateways - what happens if we want a dynamic cluster of gateways that are scaled up/down based on load?


      This is where I thought deployment via something like infinispan may be useful, as the management component does not need to be concerned with number of gateways. Its may be also something that fabric could help with - although not sure whether that requires more static knowledge of the nodes being configured.




        • 1. Re: Question about recent APIMan pull request
          Eric Wittmann Apprentice

          A REST interface that allows publishing of services was simply low hanging fruit. I plan to support various approaches.


          That said, I don't think a REST approach is incompatible with clustering. Currently the runtime engine supports plugging in different implementations of "IRegistry" which is the thing that manages Service and Application publishing. I was anticipating an ISPN implementation of that. So the REST interface could still be used to "publish" a Service to the runtime. It would ultimately invoke an ISPN version of a IRegistry to actually publish the Service, which would result in propagating that info across a cluster.


          I think there are actually bigger issues with REST as a mechanism to publish Services including:


          • authentication
          • usage when not running an HTTP based gateway


          To address these issues I think a JMS publishing mechanism would be useful.


          In any case, I think clustering should happen at the IRegistry layer, not necessarily at the level of a protocol used to communicate the Service definitions to the runtime.