We also try to get rid of OptimizableBinding and DistributedSCABinding as
now we have EndpointRegistry that has the knowledge for the local
optimizations.
Thanks,
Raymond
--------------------------------------------------
From: "Raymond Feng" <[email protected]>
Sent: Monday, June 15, 2009 3:37 PM
To: "tuscany-dev" <[email protected]>
Subject: More alignments with Endpoint/EndpointReference
Hi,
Now we have Endpoint/EndpointReference models to encapsulate the metadata
for <component, service/reference, binding>. I think we should better
align the core-spi to the Endpoint/EndpointReference to further simplify
the invocation/extension code.
a) Move the methods from RuntimeWire to Endpoint/EndpointReference
(potentially RuntimeEndpoint/RuntimeEndpointReference)
1) Endpoint owns the service binding invocation chain (one per
Endpoint) and the service invocation chains (one per Operation)
2) EndpointReference owns the reference invocation chains (one per
Operation) and the reference binding invocation chain (one per
EndpointReference)
3) For local wires over a given binding, the EndpointReferenceProvider
for the binding is responsible for finding the corresponding service
invocation chain from
the Endpoint and dispatch the invocations to it. This can be done
in the BindingInvoker.
b) Remove methods that looks up by binding from
RuntimeComponentService/RuntimeComponentReference and push them onto the
Endpoint/EndpointReference if necessary.
c) Simplify the
BindingProviderFactory/ServiceBindingProvider/ReferenceBindingProvider
SPIs:
1) Replace the component/service/binding tuple with Endpoint
2) Replace the component/reference/binding tuple with EndpointReference
Thanks,
Raymond