Skip to content

Frascati in nuxeo architecture

JGuillemotte edited this page Sep 18, 2012 · 7 revisions

This page is the reference of FraSCAti in Nuxeo integration and should be maintained along with it

1. Rules

  • Anything that has composites (or (java) implementations used in composites) : must go in frascati.
  • And anything that contains such things but also others (Nuxeo deps), it has to be split (in one project frascati, one other).
  • FraSCAti application dependencies (ex. smarttravel model) go in app/lib (TODO also for proxy)
  • TODO To make it easy to maintain and enrich, keep the number of shared libs fixed and small. If possible only have API jars, since there won't be a risk they pull other problematic dependencies along, and they also ensure a good architectural splitting.

2. For now (20120918) :

  • shared lib dir (serviceRegistry/lib i.e. tomcat's) :
  • cxf, jaxb-impl, WSDL4j
  • jetty,
  • FraSCAti API (SCA / OSOA / FraSCAti models as well as ecore / XMI / EMF),
  • proxy-api-* (called by filter in Nuxeo (A)) as well as http-client, various commons, some json libs, esper (?!)
  • registry-api-* (FraSCAti calls Nuxeo at SCA parsing discovery (B))
  • Scaffolder TODO move near Scaffolder : easywsdl, xalan, xom
  • also : JAXWS annotations, maven
  • Nuxeo lib dirs : nxserver/lib and OSGi bundle dirs : nxserver/bundles, nxserver/plugins
  • FraSCAti lib dir : nxserver/frascati/lib and its /lib dirs for apps : httpdiscoveryproxy,

3. Reapply those rules on current source tree :

  • put shared libs in their true place when clear, ex. smarttravel-model to frascati/(apps/smarttravel/)lib
  • Minimalize and interfacize (A) and (B). Then what remains in there, still any required implementations that would ask for splitting in new interfaces-only projects ?

4. Rearchitecture :

TODO architecture session with Jérémie (including : having a remote FraSCAti, FraSCAti Studio...)

BONUS shared lib dir 20120918 :

d
Clone this wiki locally