Re: [jira] Commented: (TUSCANY-610) Initial OSGi support effort
Hi Joel, I was working on this yesterday and got sidetracked with some other things as well as a machine problem. I'll be back up by tomorrow, hopefully with a check in and some things to discuss. Jim On Aug 17, 2006, at 2:11 PM, Joel Hawkins (JIRA) wrote: [ http://issues.apache.org/jira/browse/TUSCANY-610? page=comments#action_12428795 ] Joel Hawkins commented on TUSCANY-610: -- Hi Jim, I think I'll have some cycles to devote to this code shortly - is there anything I can do to help with the initial commit? Cheers, Joel Initial OSGi support effort --- Key: TUSCANY-610 URL: http://issues.apache.org/jira/browse/TUSCANY-610 Project: Tuscany Issue Type: New Feature Environment: Equinox implementation of OSGi Reporter: Joel Hawkins Assigned To: Jim Marino Attachments: ClassloaderHook.java, OSGI-SCA.zip An initial implementation of an OSGi binding for exposing SCA services as OSGi services. An initial implementation of an OSGi implementation for reusing OSGi services as SCA atomic components An OSGi-aware bootstrap environment (which can probably be reduced a bit) A repackaging of some of the SupplyChain example There's one class derived from an EPL-copyrighted class - I left the EPL copyright intact. The zip contains the samples, the OSGi binding, and a patch for the core. Most of the patch is the OSGi launcher code. I don't think it belongs in the core, but that's where I had it while developing. The only other bit in the patch is a change of two of the Defaultbootstrapper's fields from private to protected. Also, some of the OSGi packaging for existing jars (spi, commands, etc) aren't part of the zip. Not sure how you want to deal with the repackaging issue. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/ Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/ software/jira - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jira] Commented: (TUSCANY-610) Initial OSGi support effort
Hi Nicole, I'm working with the current open code line, although things have been a bit active since I submitted this work. I hope it still compiles! As for your other questions (about missing bundles), here're the manifests: Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Tuscany_spec_sca Plug-in Bundle-SymbolicName: tuscany.spec.sca Bundle-Version: 1.0.0 Bundle-Localization: plugin Import-Package: org.osgi.framework;version=1.3.0 Export-Package: org.osoa.sca, org.osoa.sca.annotations Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Tuscany_osgi_sca_spi Plug-in Bundle-SymbolicName: tuscany.osgi.sca.spi Bundle-Version: 1.0.0 Bundle-Localization: plugin Import-Package: org.osgi.framework;version=1.3.0, org.osoa.sca, org.osoa.sca.annotations Require-Bundle: tuscany_external_dependencies Export-Package: org.apache.tuscany.spi, org.apache.tuscany.spi.annotation, org.apache.tuscany.spi.bootstrap, org.apache.tuscany.spi.builder, org.apache.tuscany.spi.component, org.apache.tuscany.spi.deployer, org.apache.tuscany.spi.event, org.apache.tuscany.spi.extension, org.apache.tuscany.spi.host, org.apache.tuscany.spi.loader, org.apache.tuscany.spi.model, org.apache.tuscany.spi.monitor, org.apache.tuscany.spi.policy, org.apache.tuscany.spi.services, org.apache.tuscany.spi.services.artifact, org.apache.tuscany.spi.services.info, org.apache.tuscany.spi.services.work, org.apache.tuscany.spi.services.wsdl, org.apache.tuscany.spi.wire Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Tuscany_external_dependencies Plug-in Bundle-SymbolicName: tuscany_external_dependencies Bundle-Version: 1.0.0 Bundle-Activator: tuscany_external_dependencies.Activator Bundle-Localization: plugin Import-Package: org.osgi.framework;version=1.3.0 Bundle-ClassPath: lib/commonj-twm.jar, lib/geronimo-connector-1.0.jar, lib/geronimo-j2ee_1.4_spec-1.0.jar, lib/geronimo-j2ee-connector_1.5_spec-1.0.jar, lib/geronimo-transaction-1.0.jar, lib/stax-api-1.0.jar, ., lib/wsdl4j-1.5.2.jar, lib/wstx-asl-2.9.3.jar Export-Package: com.ctc.wstx.api, com.ctc.wstx.cfg, com.ctc.wstx.compat, com.ctc.wstx.dom, com.ctc.wstx.dtd, com.ctc.wstx.ent, com.ctc.wstx.evt, com.ctc.wstx.exc, com.ctc.wstx.io, com.ctc.wstx.msv, com.ctc.wstx.sr, com.ctc.wstx.stax, com.ctc.wstx.sw, com.ctc.wstx.util, com.ibm.wsdl, com.ibm.wsdl.extensions, com.ibm.wsdl.extensions.http, com.ibm.wsdl.extensions.mime, com.ibm.wsdl.extensions.schema, com.ibm.wsdl.extensions.soap, com.ibm.wsdl.factory, com.ibm.wsdl.util, com.ibm.wsdl.util.xml, com.ibm.wsdl.xml, commonj.timers, commonj.work, javax.activation, javax.ejb, javax.ejb.spi, javax.enterprise.deploy.model, javax.enterprise.deploy.model.exceptions, javax.enterprise.deploy.shared, javax.enterprise.deploy.shared.factories, javax.enterprise.deploy.spi, javax.enterprise.deploy.spi.exceptions, javax.enterprise.deploy.spi.factories, javax.enterprise.deploy.spi.status, javax.jms, javax.mail, javax.mail.event, javax.mail.internet, javax.mail.search, javax.management.j2ee, javax.management.j2ee.statistics, javax.resource, javax.resource.cci, javax.resource.spi, javax.resource.spi.endpoint, javax.resource.spi.security, javax.resource.spi.work, javax.security.jacc, javax.servlet, javax.servlet.http, javax.servlet.jsp, javax.servlet.jsp.el, javax.servlet.jsp.tagext, javax.transaction, javax.transaction.xa, javax.wsdl, javax.wsdl.extensions, javax.wsdl.extensions.http, javax.wsdl.extensions.mime, javax.wsdl.extensions.schema, javax.wsdl.extensions.soap, javax.wsdl.factory, javax.wsdl.xml, javax.xml, javax.xml.namespace, javax.xml.registry, javax.xml.registry.infomodel, javax.xml.rpc, javax.xml.rpc.encoding, javax.xml.rpc.handler, javax.xml.rpc.handler.soap, javax.xml.rpc.holders, javax.xml.rpc.server, javax.xml.rpc.soap, javax.xml.soap, javax.xml.stream, javax.xml.stream.events, javax.xml.stream.util, org.apache.geronimo.connector, org.apache.geronimo.connector.outbound, org.apache.geronimo.connector.outbound.connectionmanagerconfig, org.apache.geronimo.connector.outbound.connectiontracking, org.apache.geronimo.connector.outbound.security, org.apache.geronimo.connector.outbound.transactionlog, org.apache.geronimo.connector.work, org.apache.geronimo.connector.work.pool, org.apache.geronimo.mail.handlers, org.apache.geronimo.transaction, org.apache.geronimo.transaction.context, org.apache.geronimo.transaction.log, org.apache.geronimo.transaction.manager, org.codehaus.stax2, org.codehaus.stax2.evt, org.codehaus.stax2.io, org.codehaus.stax2.validation, org.omg.BiDirPolicy, org.omg.CONV_FRAME, org.omg.CORBA, org.omg.CORBA.CodeBasePackage, org.omg.CORBA.ContainedPackage, org.omg.CORBA.ContainerPackage, org.omg.CORBA.InterfaceDefPackage, org.omg.CORBA.TSIdentificationPackage, org.omg.CORBA.ValueDefPackage, org.omg.CSI, org.omg.CSIIOP, org.omg.CosLifeCycle, org.omg.CosNaming,
Re: [jira] Commented: (TUSCANY-610) Initial OSGi support effort
Thanks a lot Joel. I'm kind of out just checking email once and a while until Monday so when I get back I'll commit the patch and we can talk some more. Jim On Aug 10, 2006, at 1:06 PM, Joel Hawkins (JIRA) wrote: [ http://issues.apache.org/jira/browse/TUSCANY-610? page=comments#action_12427336 ] Joel Hawkins commented on TUSCANY-610: -- Hi Thomas. I'm trying to write up some documentation now. In short, however, the code breaks down into 2 parts: 1. The OSGi hosting of the SCA core. This is a bundle that bootstraps SCA instances for bundles that have SCA components (scdl files). The host makes a distinction between system extension and applications. For example, the OSGi binding code that supports interacting with the OSGi service framework is packaged as a system extension. The samples are packaged as applications. To me, these application instances feel like web apps. 2. The OSGi Services system extension, which in turn has two major parts: a. An OSGi Service binding, which allows SCA components to be exposed as OSGi services. This is pretty straightforward. The only tricky bit (assuming away the intricacies of SCA's wiring) is dealing with the need for a ServiceFactory during service registration. This is added to the target class using a dynamic proxy if required. b. An OSGi implementation, which wraps OSGi services as SCA components, allowing them to be wire in seamlessly (once I'm done :-) )into SCA applications. This binding allows the specification of a filter for aquiring an appropriate service reference, and acts as a service listener to clean up stale references. The code currently attempts to rebind the service if the service has changed (using the same reference) or gone away (using a different reference). Not sure if this is desirable in all cases, but it gives good demo. :-) Please remember this is an 'initial' implementation! There's enough code to get my simple scenarios working - but I'm sure there's plenty left to do. Also, the recent work that's been checked in to have some of the wiring handled by the wire service probably means some of this code can go away. Some of the things I like about the combination of SCA and OSGi is that OSGi services provide a really simple and efficient way to communicate between SCA applications running in a single OSGi instance, and OSGi's bundle isolation characteristics make dealing with multiple application deployments much more deterministic. From my perspective (having a toe dipped in both worlds), SCA and OSGi look really complementary. I'll also try and package the rest of my eclipse environment so that you can get this running. It's mostly bundle-izing the required Tuscany jars. Initial OSGi support effort --- Key: TUSCANY-610 URL: http://issues.apache.org/jira/browse/TUSCANY-610 Project: Tuscany Issue Type: New Feature Environment: Equinox implementation of OSGi Reporter: Joel Hawkins Attachments: ClassloaderHook.java, OSGI-SCA.zip An initial implementation of an OSGi binding for exposing SCA services as OSGi services. An initial implementation of an OSGi implementation for reusing OSGi services as SCA atomic components An OSGi-aware bootstrap environment (which can probably be reduced a bit) A repackaging of some of the SupplyChain example There's one class derived from an EPL-copyrighted class - I left the EPL copyright intact. The zip contains the samples, the OSGi binding, and a patch for the core. Most of the patch is the OSGi launcher code. I don't think it belongs in the core, but that's where I had it while developing. The only other bit in the patch is a change of two of the Defaultbootstrapper's fields from private to protected. Also, some of the OSGi packaging for existing jars (spi, commands, etc) aren't part of the zip. Not sure how you want to deal with the repackaging issue. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/ Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/ software/jira - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jira] Commented: (TUSCANY-610) Initial OSGi support effort
Hi Thomas, I think we met at JavaOne briefly...I haven't had a chance to look closely at Joel's work yet (just waiting for the removal of the EPL licensed class) so I'll let him jump in with more details. I think one of the interesting areas is going to be with sharing services between the two environments. For example, being able to consume OSGi services from within SCA and having SCA able to export services to OSGi. Other frameworks like Spring are also building this type of bridge so OSGi will potentially allow us to access those as well. Longer term, I think it would be interesting to see if OSGi and SCA services could potentially converge as they share a lot of things in common. Thanks for the offer of help and as soon as Joel replaces the one class, we'll check in his patch so we can look at more specifics. Jim On Aug 10, 2006, at 7:01 AM, Thomas Watson (JIRA) wrote: [ http://issues.apache.org/jira/browse/TUSCANY-610? page=comments#action_12427224 ] Thomas Watson commented on TUSCANY-610: --- Joel, Is there some more documentation on this work? I do not know much about how SCA works but I would like to see how this fits into the OSGi environment. Can you provide some steps to get this running on Equinox? Any other information on how SCA and OSGi can interact with each other would also be interesting to me. Thanks. Tom. P.S. I'm a developer on the Equinox Framework team. Please let us know if you need any assistence from the Equinox team to advance this work (bug fixes, enhancements, questions etc.). Initial OSGi support effort --- Key: TUSCANY-610 URL: http://issues.apache.org/jira/browse/TUSCANY-610 Project: Tuscany Issue Type: New Feature Environment: Equinox implementation of OSGi Reporter: Joel Hawkins Attachments: OSGI-SCA.zip An initial implementation of an OSGi binding for exposing SCA services as OSGi services. An initial implementation of an OSGi implementation for reusing OSGi services as SCA atomic components An OSGi-aware bootstrap environment (which can probably be reduced a bit) A repackaging of some of the SupplyChain example There's one class derived from an EPL-copyrighted class - I left the EPL copyright intact. The zip contains the samples, the OSGi binding, and a patch for the core. Most of the patch is the OSGi launcher code. I don't think it belongs in the core, but that's where I had it while developing. The only other bit in the patch is a change of two of the Defaultbootstrapper's fields from private to protected. Also, some of the OSGi packaging for existing jars (spi, commands, etc) aren't part of the zip. Not sure how you want to deal with the repackaging issue. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/ Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/ software/jira - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]