Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Tuscany modules should be deployable in Apache Geronimo.
    For this we need to write a geronimo-plugin with a deployer that can handle tuscany modules.
    On how to write a geronimo-plugin please refer the link below.
    http://cwiki.apache.org/GMOxDOC11/advanced-plugin-sample.html
    Initially we will be using a server wide SCADomain instance. The
    org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain implementation or a derived
    class will be used and exposed as a GBean in geronimo so that all the other configurations can
    lookup the domain via GBean lookup and add their composites.
  • Tuscany modules should use the existing geronimo http and web-service infrastructure. Geronimo provides both Tomcat and Jetty as web containers. They should be used for all incoming
    http requests. This can be achieved by writing a custom

Create a tuscany-http-geronimo module that contains a geronimo specific.
We need to write a class that implements the

...

org.apache.tuscany.sca.http.ServletHost
interface. This interface has 2 methods namely
void addServletMapping(String uri, Servlet servlet) throws ServletMappingException;
Servlet removeServletMapping(String uri) throws ServletMappingException;
We need to implement these methods such that they will add the servlet passed to the
context corressponding to the URI in geronimo. If there is no context then a new context
must be created and the servlet should be added to that context. We should be able to add
to default context as well. We shouldn't be able to add to contexts of other web
applications. Here also geronimo can have either Jetty or Tomcat as the web container. Initially the
idea is to just support Tomcat.

  • Tuscany modules should use the existing geronimo rmi infrastructure.
    tuscany-host-rmi needs to be replaced with a geronimo specific version that uses
    geronimo rmi infrastructure interface and registering it in the extension point registry.
    This class is where the integration logic should be written
    Geronimo also provides both axis2 and cxf as web service containers. These should be used instead of
    separate instances.

Initially this is what we will be trying to achieve.

Things that need to be investigated

Better integration of the bindings to take care of using geronimo infrastructure

a)tuscany-binding-ejb
b)tuscany-binding-jms
c)tuscany-binding-rmi
d)tuscany-binding-ws

There are three mail chains providing more info

...