Hi, Dishara.

It's glad to see you did some homework :-).

The scope is the project is to use Apache ZooKeeper to publish and receive 
descriptions of service endpoints, such as the component URI, the binding type, 
associated policies and the endpoint address. For example, we run two 
components (Component A & B) on two hosts (Host A and B), Component A has a 
reference to Component B. When Tuscany starts on Host A, we publish the 
information about component A to the ZooKeeper and receive the description of 
Component B. The endpoint description of Component B will be used by Host A to 
resolve the "target" (the logical SCA address) of an SCA reference.  ZooKeeper 
also maintains the group of Tuscany nodes in the same domain. It keeps the 
consistent state about all the participating SCA components. In a simplified 
view, we can treat ZooKeeper as a distributed map.

Thanks,
Raymond

On Mar 13, 2012, at 12:21 PM, Dishara Wijewardana wrote:

> Hi Raymond,
> 
> On Mon, Mar 12, 2012 at 10:03 PM, Raymond Feng <[email protected]> wrote:
> Hi, Dishara.
> 
> Thank you for the interest. I'll elaborate more on the idea.
> 
> Thank you very much for the detailed description. 
> 
> I went through the tuscany distributed runtime wiki once and got an 
> understanding(may be have to go through again ;) ). Seems it got a good 
> architecture to distribute the existing domain registry. 
>   
> 
> There is a SCA domain concept in Tuscany, which is a service registry of 
> metadata about all the components and policies. A composite application can 
> have components running on different machines and they can be wired to each 
> other using remote bindings within the SCA domain. From the runtime 
> perspective, Tuscany uses the domain registry to resolve the wirings between 
> components.
> 
> Tuscany has two types of implementation of the domain registry at this point:
> 
> 1) Local registry (which only knows the local endpoints). It can be extended 
> to use local files to describe remote endpoints in the node.xml.
> 2) Multicast based registry on top of Tomcat Tribes or Hazelcast.
> 
> 
>  So we probably not going to use either any of above two domain registry 
> implementations, but the centralized registry. (which I assumed as another 
> registry impl).  
>  
> In a typical enterprise environment, the multicast doesn't work well due to 
> networking constraints. A more useful infrastructure is that we have 
> centralized registry with HA configurations (such as master/slave). Apache 
> ZooKeeper and Redis can be used for these purposes. The project will  be 
> mostly implement the DomainRegistry SPI [2].
> 
> 
> As far as I understand, we'll be using a suitable domain registry 
> implementation to distribute among ZooKeeper nodes. And as the wiki stands, 
> Tuscany will not go for JVM clustering, but a higher level clustering 
> solution.
> 
> This project will have following main targets.
> - Identify/implement how nodes (in the distributed environment) should be 
> modeled to form a SCA component.
> - Integrate the nodes to meet the above requirement through a distributed 
> platform (ZooKeeper). 
>  (And integration of nodes should be done by tuscany SCA bindings on top of 
> Apache ZooKeeper nodes)
>  At the end of the day this will create a bridge between ZooKeeper nodes and 
> SCA components.
>   
> Also  +1 for Apache ZooKeeper. 
> 
> Please correct me if I have misunderstood the requirement or any feedback 
> will be great full. This is a really interesting project. 
> But I am not quite aware of the scope of this exactly in details . 
>  
> [1] https://cwiki.apache.org/TUSCANYWIKI/distributed-runtime.html
> [2] 
> https://svn.apache.org/repos/asf/tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DomainRegistry.java
> 
> Thanks,
> Raymond
> 
> On Mar 11, 2012, at 10:13 AM, Dishara Wijewardana wrote:
> 
> > Hi all,
> > This is regarding the project idea "Develop a distributed domain registry 
> > using Apache ZooKeeper, Redis, or Memcache".
> >
> > I am interested in applying for this SoC program and I saw the JIRA[1] 
> > project idea for Apache Tuscany. I have played with Tuscany and already
> > had hands on experience with creating Tuscany SCA components in webapps and 
> > using the callback method and etc (the framework is very helpful
> > when communicating between front end and back end).
> >
> > I would like to work on the project "Develop a distributed domain registry 
> > using Apache ZooKeeper, Redis, or Memcache" .
> > These days I started looking in to Apache ZooKeeper and get familiar with 
> > it.
> >
> > It will be nice if I can get to know some details(what is the expected 
> > scope, what things need to be looked before hand, and etc) of this project 
> > idea, so that I can prepare well for the project.
> >
> >
> > Thanks
> > /Dishara
> 
>  
> Thanks
> /Dishara

Reply via email to