Petals ESB Container

Fully support external endpoints and in particular their implementation of getAsReference(QName)

Details

  • Type: Improvement Request Improvement Request
  • Status: Open Open
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: 5.0.0
  • Fix Version/s: None
  • Component/s: Registry
  • Security Level: Public
  • Description:
    Hide

    External endpoints are endpoints implemented and registered into the NMR by Binding Component.
    For example a BC SOAP should normally register an external endpoint for every Provides (the external endpoint is for the SOAP service that the BC proxies) and Consumes (the external endpoint is for the SOAP service exposed by the BC).

    One of their main use is to provide BC-specific endpoint references to the external endpoints provided and consumed by the BC.
    Endpoint references are retrieved from an endpoint by calling the method getAsReference() which takes an operation QName as parameter.

    For example a component can find an external endpoint provided by the BC SOAP for an interface it is interested in, retrieve its reference, put it in a message sent to an external consumer, and the later will use it to know the address of the SOAP it can contact to send back information.
    The use of external endpoint in the other direction is less clear...

    Currently, when an external endpoint is registered, the implementation of their method getAsReference(QName) is not exploited (because for the distributed aspects of Petals to work, we need to use our own implementation of ServiceEndpoint and it is not possible to simply "copy" the implementation of a method that takes a parameter in Java).
    As a lesser good, we should be able to simulate the original endpoint implementation by always returning the original result for the null operation.
    Maybe in the future we should rely on the distributed computing capabilities of the SharedArea implementation (hazelcast) to solve this problem...

    Show
    External endpoints are endpoints implemented and registered into the NMR by Binding Component. For example a BC SOAP should normally register an external endpoint for every Provides (the external endpoint is for the SOAP service that the BC proxies) and Consumes (the external endpoint is for the SOAP service exposed by the BC). One of their main use is to provide BC-specific endpoint references to the external endpoints provided and consumed by the BC. Endpoint references are retrieved from an endpoint by calling the method getAsReference() which takes an operation QName as parameter. For example a component can find an external endpoint provided by the BC SOAP for an interface it is interested in, retrieve its reference, put it in a message sent to an external consumer, and the later will use it to know the address of the SOAP it can contact to send back information. The use of external endpoint in the other direction is less clear... Currently, when an external endpoint is registered, the implementation of their method getAsReference(QName) is not exploited (because for the distributed aspects of Petals to work, we need to use our own implementation of ServiceEndpoint and it is not possible to simply "copy" the implementation of a method that takes a parameter in Java). As a lesser good, we should be able to simulate the original endpoint implementation by always returning the original result for the null operation. Maybe in the future we should rely on the distributed computing capabilities of the SharedArea implementation (hazelcast) to solve this problem...
  • Environment:
    -

People

Dates

  • Created:
    Fri, 22 Jan 2016 - 16:45:01 +0100
    Updated:
    Tue, 10 May 2016 - 14:38:03 +0200