Simon - apologies I've been away from this for the last week...
[deletia]
...and this is why :) There are number of responsibilities of an
extension - which you accurately describe - and there are a number
of responsibilities of a plugin, related to configuration and
lifecycle
and I think it would be a Good Thing to keep them as separate
development
efforts. What do you think?
Do you mean that a plugin may have responsibilities that are a sub-
set or
super-set of those of a particular extension?
Actually I see that the plugins responsibilities are a disjoint set -
meaning that the plugins are unconscious of the value of their content
and are used only as a way to bang a bunch of libraries together in
a predictable manner and correctly initialize/deinitialize them.
We could probably have the same conversation re. deploying
components and
composites into the C++ SCA infrastructure as opposed to deploying
parts of
the C++ SCA infrastructure.
+1
Maybe we need to be a bit more explicit about what we anticipate
being in a
plugin. For examle,
0..n Component type container implementations
0..n Binding implementations
0..n Host adapters
[0..n Components
0..n Composite(s) should these be included as well? Seems unlikely
that you
want to deply at the same time but you will want to deploy at some
time.]
So there's two roads - one where one must be explicit about the content
of the plugin in terms of architectural artifacts, this is the manifest
style approach, and the other, where the plugin initialization code does
the necessary registrations of architectural artifacts. These are not
necessarily incompatible approaches either.
Can we use exsiting technology for some of this, for example, there
has been
much discussion of OSGi on the java list, is OSGi wider that just
Java now?
AFAIK OSGi is still Java only and a Google search didn't turn up much
that
was useful. In terms of existing technology, I'm not familiar with any
technologies along this line that are open. That being said, a C++
version
of OSGi would be a beautiful thing :)
My gut feeling is that plugin/extension should be decoupled, but the
only
strong point I can see for it in the current architecture is the fact
that
databindings are not explicit as an extension - there is scope for
say an
interface.mumble that has databindings of say XMLBeans or JiBX. If the
databinding can be an extension in its own right, then maybe the
simplifying
assumption of plugin == extension may be the way to go. From the
point of
view of deployment, there may be a greater need for a non-extension
plugin
to package application code to be 'deployed'. Maybe we should have that
conversation about deployment now?
cheers
--oh
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]