Comments inline.
Simon
Simon Laws wrote:
Thanks for the reply Sebastien
A few more comments below...
On 9/12/07, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:
Simon Laws wrote:
There are some reorganized domain/node classes under modules/distributed
and
modules/distributed-impl dirs. Here the SCADomain is replaced by a
Node. A
node runs all or part of a domain. A Node has contributions added and
removed and has components started/stoppped etc. If available (a domain
and
node name are provided and the domain is running) a Node registers with
a
DomainManager service and a ServiceDiscovery service. Here's what's in
the
new code
Node
- A node implementation (NodeImpl)
- A contributions manager for adding/removing contributions
- A component manager
- A management SCA application that provides access to these features
remotely
- a web page for looking at the node
Domain
- A ServiceDiscovery service
- A domain manager service
- A sample domain application that pulls two together and includes
- A web page for looking at the domain and provides links to each nodes
web
page.
This looks pretty good to me! So far I've looked at the interfaces and
the implementation, and will try the web pages next :)
I'd like to make a proposal to change ServiceDiscovery a bit, but I'll
do that in a separate email.
You can try this by running the calculator distributed sample. This runs
and
exercises some distributed nodes as it always has but uses the new
classes
now. If you run the nodes independently from the command line they stay
around long enough for you to point a browser at them. Try
htpp://localhost:8080/node/index.html (or whatever port the node has
come
up on) and see the components in a node.
There is a new sample (sample-domain-webapp). The intention here is to
provide a generic domain and a node so you can start the domain and node
and
then add contributions. Not complete yet as the "add contribution"
function
needs turning into a remote service but you can use the domain
implementation along with nodes from the distributed calculator sample
which
have hard coded contributions.
Here are some todos
I've copied all of the interfaces I need to make this work into
modules/distributed so there is code/interfaces here that is also
elsewhere,
for
example, the component manager classes. I would like to move the new
code to
new modules
modules/host-node - for the node related code?
modules/host-domain - for the domain related code?
How about this?
modules/node
modules/domain
IMO host-* is for the integration with hosting environments like Tomcat,
Jetty, an HTTP or RMI server.
And host-embedded should probably not be called host-embedded :)
Sounds OK to me - I'll go ahead and split them out.
I have used the interfaces Node and Domain currently should this be
SCANode
and SCADomain?
I'm OK with both, not sure what others prefer.
I'm ambivalent but we have one positive request for SCANode and SCADomain so
I'll wait a little longer and probably change to that
I don't think we need "SCA" in front of these names. After all,
just about everything we are doing in Tuscany is to do with SCA,
so if we go down this path we might see "SCA" name prefixes
cropping up everywhere :-(
Is there a reason why these two names would need "SCA" in front of
them? Do we have any other "Node" or "Domain" concept in Tuscany
that could be be confused with these?
host-embedded can stay as it provides the runtime and embedded support but
there are numerous domain implementations that we can remove assuming we
get to the stage where we are comfortable with Node. Ant has already
ported
the hot update web app to use the new domain (currently working through
an issue with uris)
I'd like to start using the Node implementation in the samples. I'll
have a
go at converting some and see how it goes.
Great!
I'd suggest to move the API methods (expected to be used in application
business logic) like getService(), getServiceReference() and cast() to a
separate interface in a separate domain-api or node-api module.
OK, i'll take a look at that.
+ 1 for this. I think the new module should include the API for creating
a domain as well.
Simon
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]