Am 29.11.2007 um 19:39 schrieb Reed Hedges:
>
> Component does imply that it could be provided by a plugin module, and
> is dynamic, both of which are attributes of MetaObjects.
>
I'm still not convinced that "Component" is a good replacement term.
When I hear "Component" I usually think of something like EJB
components, which can be quite heavyweight beasts, in contrast to the
lightweight MetaObjects of VOS. A component in this sense is a
deployment unit of self-contained functionality, with optional
dependencies on other such componentes and possibly container
facilities (database backend, naming, etc.). Also they are not really
dynamic - you throw some of them toghether at construction time to
build an application, possibly writing some glue code for this
purpose, and never change their configuration/dependecies afterwards.
Hot-deployment is a slightly different matter, but usually only works
for truly self-contained components without external dependencies.
I am aware of a different notion of "component", which is the
Microsoft way in its COM/.NET systems. A component here is basically
just a class adhering to some API and type standards, including
factories that construct them. This is certainly more lightweight,
but even less dynamic than EJB, since you write code that uses
factories to create components. Any dynamics is maybe in the ability
to replace one COM DLL with a newer version, but beware of DLL hell...
For dynamic things that can change at runtime, I usually thing of SOA
rather than components. This usually means Web Services, though it
does not have to be; the OSGi platform with its "bundles" or
"modules" is also clearly SOA, and actually is the only one I would
call "dynamic component system".
MetaObjects are different in this sense as they always contibute
individual functionality to a common vobject. They are not even self-
contained, as they usually depend on the linking facility of the core
Vobject type. While they somewhat resemble COM components in
granularity, they are much more dynamic in that they can be added at
runtime. All in all, I think they deserve their own name, and
"Component" just isn't it.
Regards,
Karsten Otto (kao)
___
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d