easysoa / EasySOA

A light, collaborative platform to make Service Oriented Architecture simple.
http://www.easysoa.org
35 stars 8 forks source link

Easysoa-registry-api-frascati project must be free of Nuxeo dependencies #90

Open JGuillemotte opened 12 years ago

JGuillemotte commented 12 years ago

Problem : The project easysoa-registry-api-frascati contains nuxeo dependencies, especially in test classes. This happened because of FraSCAti in Nuxeo wrapper (see #21). This project must be free of Nuxeo dependencies.

All the Nuxeo dependencies must be used only in the project easysoa-registry-frascati.

One solution could be to reimplement NuxeoFraSCAti's interface (FraSCAtiServiceItf) on top of the real FraSCAti.

Related : #79 EasySOA startable "App"

JGuillemotte commented 12 years ago

New problem spotted in org.nuxeo.frascati.api.AbstractProcessingContext. This class use a delegate class (implementing org.ow2.frascati.assembly.factory.api.ProcessingContext interface) but some called methods do not exists in the delegate. Result is a NullPointerException.

TODO INRIA : Refactor this API to use common interfaces between standalone FraSCAti and NuxeoFraSCAti versions, especially for FraSCAtiServiceItf, ex. by implementing this last one directly on top of FraSCAti. Or Other ideas ?

JGuillemotte commented 12 years ago

There are 2 different use contexts :

We have a main test for each context.

And for each test, we have several different use cases :

Between all of them, the code that visits Composites and tells (a local or remote) EasySOA about their services is shared in https://github.com/easysoa/EasySOA/tree/master/easysoa-registry/easysoa-registry-api/easysoa-registry-api-frascati/src/main/java/org/easysoa/sca . It is then extended to be completed & used

TODO How can we have (at least) import within Nuxeo and runtime discovery within FraSCAti (standalone, and if possible embedded in Nuxeo), while sharing most of the code and not refactoring too much ?

A few ideas :

mdutoo commented 12 years ago

Also TODO improve architecture of build of Inria contributed projects, towards tree-like submodules having parent poms (we can discuss the right structure together).

Because for now, some submodules have no parent pom AND don't define themselves FraSCAti repositories, therefore can make the build fail. For instance it was the case in easysoa-frascati-processor.