Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "SMILA/Development Guidelines/Tuscany Integration"

m
Line 65: Line 65:
 
* use classes="..." in <t:implementation.osgi> of .composite file to allow parsing of Annotations
 
* use classes="..." in <t:implementation.osgi> of .composite file to allow parsing of Annotations
 
** as for Crawlers annotations are included in the implementation class and in the abstract base class AbstractCrawler it is important to add both classes to this list
 
** as for Crawlers annotations are included in the implementation class and in the abstract base class AbstractCrawler it is important to add both classes to this list
 +
* Annotations are not processed on implementation.osgi, because the method processAnnotations(boolean doWait) of class OSGiImplementationProvider is never called. For testing purpose I just called it in the start() method of the same class. With this fix the annotation are processed successfully.
 +
 +
  
  
Line 73: Line 76:
 
*[https://issues.apache.org/jira/browse/TUSCANY-2343 TUSCANY-2343] - OSGi bundle design leads to class loading issues  Unassigned  Georg Schmidt
 
*[https://issues.apache.org/jira/browse/TUSCANY-2343 TUSCANY-2343] - OSGi bundle design leads to class loading issues  Unassigned  Georg Schmidt
 
*[https://issues.apache.org/jira/browse/TUSCANY-2346 TUSCANY-2346] - weaks in databinding-jaxb plug-in   
 
*[https://issues.apache.org/jira/browse/TUSCANY-2346 TUSCANY-2346] - weaks in databinding-jaxb plug-in   
 +
*[https://issues.apache.org/jira/browse/TUSCANY-2605 TUSCANY-2605] - Annotations are not processed for implementation.osgi
 +
  
  
 
== SMILA open issues ==
 
== SMILA open issues ==
t.b.d
+
 
 +
* because of TUSCANY-2281 it is not possible to use more than one CrawlerComponent (e.g. Filesystem and Web). It is however possible to crawl multiple datasources on the same CrawlerComponent in parallel
  
  
 
[[Category:SMILA]]
 
[[Category:SMILA]]

Revision as of 05:27, 17 September 2008

This page lists the current state of the Tuscany integration in SMILA and SMILA related issues in Tuscany.

Tuscany OSGi bundles

Tuscany is making good process in creating separate bundles. 3rd party jars are also available as separate bundles now. There are still some classloading issues regarding Dynamic-Imports, Meta-INF/services and OSGi runtime extensions. Here is an overview (either in text or visualized format) of the Tuscany bundle dependencies. For a minimal integration I did a step-by-step analysis of the bundles needed to create a SCADomain and a Contribution that uses implementationtype.osgi and binding.sca within an Equinox OSGi runtime. Below you will find lists of required bundles for certain functionality. These lists will be updated as needed.

Basic set of bundles

required Tuscany jars

  • org.apache.tuscany.sca.api_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.assembly.xml_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.assembly_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.contribution.impl_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.contribution.java_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.contribution.namespace_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.contribution.xml_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.contribution_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.core.spi_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.core_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.definitions_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.extensibility.osgi_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.extensibility_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.host.embedded_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.implementation.node_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.interface.java_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.interface_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.monitor_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.node.api_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.node.impl_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.osgi.runtime_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.policy_1.4.0.SNAPSHOT.jar
  • tuscany-extensibility-equinox-1.4-SNAPSHOT.jar (this is currently not included in the osgi build and has to be build manually)

required 3rd party jars

  • org.apache.tuscany.sca.3rdparty.net.sf.cglib_2.0.0.1_3.jar
  • org.apache.tuscany.sca.3rdparty.org.apache.geronimo.specs.geronimo-commonj_1.1_spec_1.0.0.jar
  • org.apache.tuscany.sca.3rdparty.org.codehaus.woodstox.wstx-asl_3.2.1.jar
  • org.apache.tuscany.sca.3rdparty.org.apache.ws.commons.schema.XmlSchema_1.3.2.jar
  • org.apache.tuscany.sca.3rdparty.wsdl4j_1.6.2.jar
  • org.apache.tuscany.sca.3rdparty.javax.jws.jsr181-api_1.0.0.MR1.jar
  • org.apache.tuscany.sca.3rdparty.org.objectweb.asm.all_3.1.0.jar
  • org.apache.tuscany.sca.3rdparty.javax.xml.ws.jaxws-api_2.1.0.jar (Attention: org.apache.tomcat_6.0.16 exports this package, but only with 2 classes !!!)

required 3rd party jars already included in SMILA

  • org.apache.tuscany.sca.3rdparty.javax.xml.stream.stax-api_1.0.2.jar -> javax.xml.stream_1.0
  • org.apache.tuscany.sca.3rdparty.javax.xml.bind.jaxb-api_2.1.0.jar -> javax.xml.bind_1.0
  • org.apache.tuscany.sca.3rdparty.javax.activation_1.1.0.jar -> javax.activation_1.1.0


binding.rmi

These bundles are needed to use binding.rmi: t.b.d

binding.ws

These bundles are needed to use binding.ws: t.b.d

Adjustments to Tuscany

The following adjustments where made to Tuscany bundles:

  • adapted manifest in org.apache.tuscany.sca.3rdparty.org.codehaus.woodstox.wstx-asl_3.2.1.jar: add Eclipse-RegisterBuddy: javax.xml.stream to allow classloader to find STAX implementation
  • added Ivans Fix to org.apache.tuscany.sca.databinding.jaxb.JAXBDataBinding (JIIRA-2346), this is not included in current Tuscany code

Adjustments to SMILA

The following adjustments where made to SMILA classes/configurations:

  • enabled @AllowsPassByReference on org.eclipse.eilf.connectivity.framework.crawler.filesystem.FileSystemCrawler
  • use classes="..." in <t:implementation.osgi> of .composite file to allow parsing of Annotations
    • as for Crawlers annotations are included in the implementation class and in the abstract base class AbstractCrawler it is important to add both classes to this list
  • Annotations are not processed on implementation.osgi, because the method processAnnotations(boolean doWait) of class OSGiImplementationProvider is never called. For testing purpose I just called it in the start() method of the same class. With this fix the annotation are processed successfully.



Tuscany open issues

This is a list of JIIRA issues in Tuscany that are required by SMILA and should be adressed:

  • TUSCANY-2270 - Conversations do not to work with binding.rmi
  • TUSCANY-2281 - How to create ServiceReferences for references using multiplicity="1..n"
  • TUSCANY-2343 - OSGi bundle design leads to class loading issues Unassigned Georg Schmidt
  • TUSCANY-2346 - weaks in databinding-jaxb plug-in
  • TUSCANY-2605 - Annotations are not processed for implementation.osgi


SMILA open issues

  • because of TUSCANY-2281 it is not possible to use more than one CrawlerComponent (e.g. Filesystem and Web). It is however possible to crawl multiple datasources on the same CrawlerComponent in parallel

Back to the top