avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leo Simons <leosim...@apache.org>
Subject Re: Service and other Terminology
Date Sun, 01 Sep 2002 14:39:43 GMT
My take:


avalon lifecycle interface: a well-known lifecycle interface defined in
the org.apache.avalon namespace supported by all avalon containers

block: deprecated alias for component

component: A passive entity that performs a specific role

container: An active entity that manages component lifecycles and
performs low-level functions

consumption: the usage by a component of a service

dependency: the specification of the consumption requirements of a

entity: part of the computer hardware and/or software system

lifecycle: specification of the phases and stages applicable to a

lifecycle interface: an interface specifying one or more lifecyle stages

lifecycle extension: the combination of an application-specific
lifecycle interface and the resources required by a container to support
components that implement that interface

metadata: the complete set of specifications of component types,
component profiles and service definitions

phase: ?

profile: the combination of the specification of resources consumed by a
component at runtime and the type applicable to the component

provision: the supplying of a service implementation

resource: any entity or combination of entities

role: the key by which a service is referenced at runtime

service: the combination of a work interface and a version. We give each
service a unique name by which it can be identified and referenced

stage: ?

type: the combination of a service specification and a dependency

work interface: a java interface specifying component functionality (as
opposed to specifying component behaviour)

- I don't like the definition of phase or stage (couldn't figure it out)

- I don't like the term "type". I use it because that is what is
currently in use for merlin.

- I have not stated component == service. While this is currently
usually true when you actually look at the actual code, the words are
conceptually very different.

- It is useful to do a lookup of the terms "component", "service",
"entity", "element" etc in your dictionary (or dictionary.com). You will
notice "service" has a definition very different from the others

Since y'all have been throwing metadata snippets in with the discussion,
I'll do so to:

We have a *type* that *provides* "my-service" and *consumes*
"my-required-service" and optionally "my-second-service" for
additional/improved functionality.

	<service name="my-service"

	<service name="my-second-service"

	<service name="my-required-service"

<type name="my-component"

		<service refid="my-service"/>

		<service	refid="my-second-service"
		<service	refid="my-required-service"

<component name="my-component-instance">
	<type refid="my-component"/>

		<!-- blah -->

		<!-- blah blah -->



To unsubscribe, e-mail:   <mailto:avalon-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-dev-help@jakarta.apache.org>

View raw message