incubator-nuvem-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Luciano Resende <>
Subject Re: XMPP: Design Discussion
Date Sun, 21 Nov 2010 05:05:40 GMT
On Thu, Nov 11, 2010 at 2:41 PM, john pradeep <> wrote:
> Hello All,
> I am interested in working on the XMPP for Nuvem. having gone through the
> XMPP spec for interest, i have come up with a very high level design just to
> initiate discussion on how to proceed with XMPP support.
> Please find the attached class diagram where i try to give a very high level
> brief idea of how we can design the XMPP support. the actual design however
> will be much more neater which i will work on once i get the initial
> feedback/suggestion from you all.
> The fundamental ideas considered:
>  Create DTO kind of objects for encapsulating messages, address (JID, from,
> to etc)
>  Create Endpoints for each XMPP cloud platform APIs
> The Endpoint will be like a façade to initiate message sending and maintain
> listeners for receiving messages
> The client would call Nuvem API like below.
>          XMPPEndPoint endpoint =  XMPPEndpointFactory.getXMPPEndpoint();
>          endpoint.registerListener(new MessageListener() { public
> messageRecieved(Message message) {} });
>          endPoint.sendContent(Payload).from(Address).to(Address);
> Regards,
> John

Very good John, I have start reviewing your patch and have couple comments :

General comments on the xmpp api
  - we shouldn't need a factory (XMPPEndPointFactory), we should
configure components in a tuscany/sca composite and then use
dependency injection
  - Removing the factory mentioned above, then we can refactor the
xmpp.api package to xmpp to follow the same pattern as the other
  - we usually discourage @author tags at apache and I have removed
them from your patch

For the implementation, it seems that we are using servlets, and I was
wondering if we could use some components in conjunction with the
tuscany/sca rest binding which would hide some of the Servlet api
specific details from the application developer and no necessary
changes in web.xml required.

I'll continue to look into the API in the next couple days and see if
I have further comments or ideas to make things more abstract.

We should also consider building a sample that uses these service, or
update the existent store sample with some scenarios that could use
the xmpp component.

Anyway, I'll be applying the patch and we can continue enhancing it in trunk

Luciano Resende

View raw message