Hi,

Please see my comments inline.

Thanks,
Raymond

----- Original Message ----- From: "Jeremy Boynes" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Tuesday, March 27, 2007 1:29 PM
Subject: Re: [Discussion] Tuscany kernel modulization


Nice diagram, Raymond, thanks for putting this together.

What I'm struggling with is that this seems fairly similar to the way the code is organized now. Most of the boxes there already exist and have interfaces to abstract away their implementation. Everything in "Cross-cutting system services" is that way and the same for "Container/Binding/Databinding/IDL Extensions" and "Pluggable Federations."

I think the goal is to decompose the core into submodules that group related system components. I agree with you that the kernel has been componentized. But with more than 130 system components in the core, the complexibility of the core grows and people tend to couple all the runtime pieces into one module.


These are all components implemented using the Tuscany "system" programming model - basically, a simplified, POJO based IoC model decorated (to the least extent possible) with SCA annotations. Each of those components already has an interface to define the function it provides.

We assemble those components using SCA assembly. That makes sense to me because as an SCA runtime we have to support SCA assembly - so not only will we need the code to do that, it makes things familiar to users as there is a common language. We could assemble the runtime another way, for example using Spring XML or Java code, but then users need to be familiar with two assembly mechanisms and that seems like confusing and unnecessary complexity.


I think using the SCA assembly and annotations create a chicken-egg problem which forces us to have the java component support in the core. Having the same programming model is nice, but it seems that extension developers are still required to code by the SPI contracts at plumbing level.

One reason the SPI module is so large is that it does define many the interfaces for the components in you diagram. I think there is room for a reorganization there to clarify the usage of those interfaces. I would propose we start with that rather than the wholesale, revolutionary rewrite of the kernel that has been suggested.

--
Jeremy


---------------------------------------------------------------------
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]

Reply via email to