Hi,

I have a few comments embedded below.

Dave

----- Original Message ----- From: "Raymond Feng" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, June 18, 2007 9:55 PM
Subject: Re: Domains, runtimes, components and cardinality


Hi,

Please see my comments inline below.

Thanks,
Raymond

----- Original Message ----- From: "Simon Laws" <[EMAIL PROTECTED]>
To: "tuscany-dev" <[email protected]>
Sent: Monday, June 18, 2007 5:25 AM
Subject: Domains, runtimes, components and cardinality


Following on from recent discussion on the distributed binding (I've been
putting notes here [1])... In a Tuscany SCA runtime what do we expect the
cardinality between the various parts of it to be?

A domain notionally runs on a runtime. In the case of a stand-alone Tuscany
SCA runtime this will be a single process (C++ exe, Java VM etc.). In the
case of a distributed Tuscany SCA runtime, the runtime is made up of many
distributed nodes that each run parts of the domain.

1/ Can domains share runtimes/nodes?

I.e can components from more than one domain be running inside a single
Tuscany SCA runtime or is the user expected to start up multiple runtimes to
run multiple domains.

I think a single Tuscany SCA runtime can only join one SCA domain. For a single machine (node), we can have multiple runtimes. These runtimes will have to share the resources, for example, using different ports for the http protocol. I'm not sure if we need to have the node
concept between the SCA domain and runtime.

The definition of runtime is still not clear to me. It should be possible to for
a single operating system process (like a JVM) host components running
in different domains.  Is this scenario 1 runtime which supports multiple
domains, or is a runtime the process local instantiation of a domain?


2/ How many nodes can a single component run on?.

I.e. is the assignment of a component to multiple nodes, for performance,
reliability etc. reasons, explicitly supported as part of the topology
description of a distributed domain. If so then the  SCA binding chooses
which node to use. If not then any distribution of workload is considered to
be a job for the node implementation.

We might have different cases here:
1) For load-balancing, we can assign a component to multiple runtimes
2) For a singleton service, we may have to assign it to a single runtime (a backup runtime can be picked for HA).

Even further, consider recursive composition.  Suppose CompA is
implemented by Composite Cz, which is an assembly of atomic components.
CompA's composite is deployed....the atomic components in Cz are
targetted to different hosting environments (I'm avoiding the use of the word runtime) because there isn't a single host that is capable of running all of them.
How many runtimes does CompA a run in?

Start simple, just don't want you to lose the big picture.


I'd be interested to hear peoples views on this

My starting point is...

1/ No, we will support multiple domains by starting multiple runtimes. We
could add the extra function to support sharing of runtimes between domains
in the future if it's found to be required.

2/ We shouldn't restrict whatever structure we use to describe the
component/node association to be 1-1. But we can assume 1 in the first
instance and consider adding more complex node selection features to the SCA
binding in the future.

Regards

Simon

[1] http://cwiki.apache.org/confluence/pages/editpage.action?pageId=59826



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to