Why do you need to merge node-api and node-impl? Once we introduce
dependencies such as extensibility to node-api, we can discover the
NodeFactoryImpl/NodeImpl using that. I prefer to leave the node-impl in a
separate module as we have other node impls such as node-impl-osgi.
Thanks,
Raymond
--------------------------------------------------
From: "ant elder" <[email protected]>
Sent: Tuesday, February 02, 2010 1:27 AM
To: <[email protected]>
Subject: Re: Our story for Domain/Node
On Mon, Feb 1, 2010 at 1:43 PM, ant elder <[email protected]> wrote:
On Fri, Jan 29, 2010 at 9:43 PM, Raymond Feng <[email protected]>
wrote:
B) NodeFactory/Node as API or SPI
At this point, we try to not add other Tuscany modules in the node-api
module and use reflection APIs to discover and invoke NodeImpl. That
creates
some difficulty for the code that wants to use NodeFactory/Node as a
SPI.
The later case wants to access more information from NodeFactory/Node,
for
example, our client factory could get all the Nodes from the NodeFactory
and
list the contributions and composites (including the service endpoints).
Do we want to introduce subinterfaces for NodeFactory/Node as SPIs or
it's
OK to add more dependencies into node-api? Some examples could be:
NodeFactory.getExtensionPointRegistry();
NodeFactory.getNodes();
NodeFactory.getNodes(String domainURI);
NodeFactory.getNode(String domainURI, String nodeURI);
Node.getEndpointRegistry();
Node.getDeploymentComposite();
I think its fine to add dependencies, AFAICT the reasons that node-api
was kept with minimum dependencies are historical and no longer apply
with the current code, so unless someone can think of reasons why we
need to do this then i think its fine for it to get more dependencies.
I doesn't actually even look like there's even a need to have the two
separate node-api and node-impl modules anymore either.
...ant
No one has disagreed with this so I'm going to create a new module
named "node" that merges node-api and node-impl where we can start
looking at the changes here and from the other Node API thread we had
earlier. This will also mean we can leave the current node-api/impl
alone for now so there's no impact on people already using that.
...ant