Skip to content

Frascati in nuxeo architecture

JGuillemotte edited this page Sep 19, 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 (required by CXF, used by frascati-binding-ws module),
  • 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 (moved in frascati lib folder), xalan, xom (xalan and xom are also required for CXF, not only by easywsdl)
  • 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 :

annotations-api.jar
antlr-runtime-3.2.jar
catalina-ant.jar
catalina-ha.jar
catalina.jar
catalina-tribes.jar
common-2.4.0.jar
common-3.4.0.jar
commons-beanutils-1.8.3.jar
commons-codec-1.4.jar
commons-codec-1.6.jar
commons-collections-3.2.1.jar
commons-fileupload-1.2.2.jar
commons-io-1.3.2.jar
commons-lang-2.3.jar
commons-logging-1.1.jar
cxf-api-2.5.4.jar
cxf-common-utilities-2.5.4.jar
cxf-rt-bindings-soap-2.5.4.jar
cxf-rt-bindings-xml-2.5.4.jar
cxf-rt-core-2.5.4.jar
cxf-rt-databinding-aegis-2.5.4.jar
cxf-rt-databinding-jaxb-2.5.4.jar
cxf-rt-frontend-jaxrs-2.5.4.jar
cxf-rt-frontend-jaxws-2.5.4.jar
cxf-rt-frontend-simple-2.5.4.jar
cxf-rt-transports-http-2.5.4.jar
cxf-rt-transports-http-jetty-2.5.4.jar
cxf-rt-ws-addr-2.5.4.jar
cxf-tools-common-2.5.4.jar
derby-10.5.3.0_1.jar
easysoa-frascati-service-api-0.5-SNAPSHOT.jar
easysoa-proxy-core-api-0.5-SNAPSHOT.jar
easysoa-registry-api-core-0.5-SNAPSHOT.jar
easysoa-registry-api-frascati-0.5-SNAPSHOT.jar
easysoa-registry-api-local-0.5-SNAPSHOT.jar
easysoa-registry-api-messaging-0.5-SNAPSHOT.jar
easysoa-registry-api-remote-0.5-SNAPSHOT.jar
easysoa-registry-frascati-0.5-SNAPSHOT.jar
easysoa-remote-frascati-0.5-SNAPSHOT.jar
easysoa-samples-smarttravel-currency-model-0.5-SNAPSHOT.jar
easysoa-samples-smarttravel-meteo-model-0.5-SNAPSHOT.jar
easysoa-samples-smarttravel-summary-model-0.5-SNAPSHOT.jar
easysoa-samples-smarttravel-translate-model-0.5-SNAPSHOT.jar
easywsdl-schema-2.1.jar (Moved in frascati lib folder)
easywsdl-wsdl-2.1.jar (Moved in frascati lib folder)
ecore-2.4.0.jar
ecore-xmi-2.4.0.jar
el-api.jar
esper-4.2.0.jar (Moved in frascati lib folder)
ezmorph-1.0.4.jar
frascati-model-2.0.1.3.jar
freemarker-2.3.11.jar
h2-1.1.114-nx.jar
htmlcleaner-2.2.jar
httpclient-4.1.1.jar
httpcore-4.1.1.jar
jasper-el.jar
jasper.jar
jasper-jdt.jar
javax.servlet-api-3.0.1.jar
jaxb-impl-2.1.10.jar
jettison-1.3.jar
jetty-continuation-7.4.5.v20110725.jar
jetty-http-7.4.5.v20110725.jar
jetty-io-7.4.5.v20110725.jar
jetty-security-7.4.5.v20110725.jar
jetty-server-7.4.5.v20110725.jar
jetty-util-7.4.5.v20110725.jar
json-20090211.jar
json-lib-2.2.1-jdk15.jar
jsp-api.jar
jsr311-api-1.1.1.jar
log4j-1.2.16.jar
log4j.xml
lucene-analyzers-2.3.2.jar
lucene-core-2.3.2.jar
mail-1.4.jar
maven-model-2.2.1.jar
neethi-3.0.1.jar
nuxeo-core-storage-sql-extensions-5.5.jar
nuxeo-generic-wss-front-5.5.jar
nuxeo-runtime-tomcat-adapter-5.5.jar
osoa-java-api-2.0.1.3.jar
plexus-utils-1.5.6.jar
postgresql-9.0-801.jdbc4.jar
runtime-0.2.GA.jar
sca-model-2.0.1.3.jar
servlet-api.jar
tomcat-coyote.jar
tomcat-dbcp.jar
tomcat-i18n-es.jar
tomcat-i18n-fr.jar
tomcat-i18n-ja.jar
wsdl4j-1.6.2.jar
xalan-2.7.0.jar
xmlschema-core-2.0.jar
xom-1.2.5.jar
Clone this wiki locally