On Jan 3, 2007, at 7:54 AM, Francesco Furfari wrote:

Hi Jim,

as you know my vision about Tuscany architecture is still limited, but I was wondering whether one of the JMX implementation at the Felix project could help you. Take a look at http:// cwiki.apache.org/FELIX/mosgi-managed-osgi-framework.html

This solution is tied to adopt an OSGi container. I thought that assemblies could be deployed as bundles, and the SCA system controlled using an OSGi-based JMX console.

Hi Francesco,

Meeraj has been leading the JMX integration so I'll let him talk about what his plans are for it...

In terms of deploying assemblies as bundles, yes, we want to be able to support that but we also have plans to do more. The SCA collaboration is currently working on deployment (it is one of the big missing pieces prior to releasing the specs as "1.0" versions). It is still very much a work in progress but the idea behind SCA deployment is that we want to support a variety of "packaging" formats as well as the ability to contribute resources (e.g. Java classes, XSDs, WSDL port types, etc.) that an assembly may reference. They key thing we want to do is decouple how resources are referenced in an assembly and how they are physically contributed to the SCA "domain". Another key thing is we want the end-user experience to be very simple.

Some specific examples may help to explain this further. Say I have the following component definition:

<component name="FooService">
        <implemenation.java class="com.acme.Foo">
</component>

How the com.acme.Foo service is contributed to the SCA runtime should not be evident from the assembly SCDL, as shown above. It could have been contributed through any of the following means:

1. The class file was placed in a directory
2. A jar containing the class file was contributed to a "deployment" service 3. An OSGi bundle containing the class file was contributed to a "deployment" service

..etc..

Similarly, the same mechanism could be used for WSDLs, XSDs, etc.

More specifically, two steps take place in this process. The first is the resource is contributed to the SCA domain. The second step is the assembly is mutated, for example, a component is instantiated using the SCDL above. This allows for reuse. Sometimes these steps may be combined from an end-user perspective. For example, I should be able to drop a Java class in a directory and have the runtime introspect and deploy it as a component. The runtime should also be smart enough to be able to figure out how to provision components to various nodes in the service network. For example, if I have a component that requires high availability, it may deploy to a J2EE host environment running Tuscany. Or, it may provision it to an OSGi container running Tuscany. Ditto for the Standalone server.

By the time we are done defining the deployment API, I suspect we will have something similar to Subversion.

If you are interested in getting involved in helping implement some of this or other parts of Tuscany, let us know and I am sure people will be able to give you pointers to help get you started. Also, we're always interested in hearing about your requirements, particularly since it sounds as if you have several projects that may be able to make use of these capabilities.

Jim


Is this approach feasible for you or you prefer to add JMX support directly to the kernel?

francesco



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to