Hi,

Catalin is finishing his work on the xmlrpc API.

We'd like to propose to create the following modules:

xwiki-platform-core/
   |_ xwiki-remote/
     |_ model/
     |_ client/
     |_ server/

Where:

* model: Generates a JAR and contains common objects shared between  
client and server code. Namely they are objects such as Space,  
Attachment, Comment, Page, User, etc (see http://swizzle.codehaus.org/ 
swizzle-confluence/ for more).

Note: In the future, it's maybe possible that these be shared with  
XWiki's model objects too.

* client: Client API for code needing to call XWiki servers from  
another JVM.
* server: Server API in XWiki for accepting and handling remote APIs.

Open questions:
=============

* What about GWT? It's also a protocol to call XWiki remotely so we  
need to integrate it in this new structure. So maybe, instead use:

xwiki-platform-core/
   |_ xwiki-remote/
     |_ model/
     |_ client/
     |_ server/
     |_ gwt/

The reason I don't put gwt in clients/ and servers/ is because it's  
special as it's both and it generates client and server code when  
compiled.

* Is it possible to share interfaces between the XMLRPC/SOAP  
implementation and the GWT one?

* Do we want to have a separate module for the client/server APIs and  
for the implementations? My take is that we should put them in a  
single place and only separate them when we have more than one  
implementation. So when there are 2 we would have:

xwiki-platform-core/
   |_ xwiki-remote/
     |_ model/
     |_ client/
       |_ api/
       |_ swizzle/
       |_ secondimplementation/
     |_ server/
       |_ api/
       |_ swizzle/
       |_ secondimplementation/
     |_ gwt/

WDYT?

Anything else I forgot?

Thanks
-Vincent

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to