[
Lists Home |
Date Index |
Thread Index
]
- To: "xml-dev@lists.xml.org" <xml-dev@lists.xml.org>
- Subject: [Fwd: RE: [xml-dev] Enhancing the richness of an information system [was: Difference between an extensible versus an evolvable information system?]]
- From: "Chiusano Joseph" <chiusano_joseph@bah.com>
- Date: Wed, 02 Jun 2004 13:38:53 -0400
- Organization: Booz Allen Hamilton
[Removing "OT", as this seems to be on-topic to me]
Ah...all characteristics of service-oriented architectures.
Kind Regards,
Joe Chiusano
Booz | Allen | Hamilton
Strategy and Technology Consultants to the World
-------- Original Message --------
Subject: RE: [xml-dev] [OT] Enhancing the richness of an information
system [was: Difference between an extensible versus an
evolvable information system?]
Date: Wed, 2 Jun 2004 12:27:47 -0400
From: "Alessandro Triglia" <sandro@mclink.it>
To: "'Roger L. Costello'" <costello@mitre.org>,
<xml-dev@lists.xml.org>
Could we say that a system is extensible if one or more of its external
interfaces support the addition of new components - which thus become an
integral part of the resulting "extended" system?Also, could we say that
a system is extensible if one or more of its *internal* interfaces
support the addition of new components or the replacement of a component
with a new component with an extended interface?In both cases,
additional entire external interfaces can be made available as the
result of the extension.I still think that "evolvability" has totally
different connotations, which relate to the ease, cost, and elegance of
changes to be made to meet new requirements/constraints. (Whereas
"extensibility" would only mean that an addition or replacement is
possible - i.e., explicitly supported by some interface - and can be
safely ignored by the user.)(Which means that one can have evolution
with or without extension - in many cases, breaking extensibility.)(Or
vice versa. Say, adding a second keyboard to my PC may or may not be
considered as "evolution" of my PC.)Alessandro Triglia
-----Original Message-----
From: Roger L. Costello [mailto:costello@mitre.org]
Sent: Wednesday, June 02, 2004 11:32
To: xml-dev@lists.xml.org
Subject: [xml-dev] [OT] Enhancing the richness of an
information system [was: Difference between an extensible
versus an evolvable information system?]
Hi Folks,Many thanks to those who responded to my last
message. This message is a follow-up. From the
responses it is evident that the difference between
"extensibility" and "evolution" can be slippery. I like the
distinction that Ken Laskey gave:"To be extensible allows you
to do things for which you have a current understanding but to
do it over a wider range of instances." (Thus, adding new
keywords, or adding new book categories are examples of
extending the system, not evolving the system)
"To show evolution, you need to do something in a new way or
do something you hadn't done before." In the following
discussion I will use the terms "extensibility" and
"evolution" using these definitions.I would like to hear your
thoughts on ways to enhance the richness of an information
system.I see two ways of enhancing the richness of an
information system:1. Horizontal Extension2. Vertical
EvolutionBelow I explain what I mean by these terms.Horizontal
ExtensionA typical method of growing a system is to "add more
stuff". For example, Amazon can grow by adding more ways for
users to locate information: - add a keyword search
capability, - add a way to locate information based
upon book category, - add a way to locate information
based upon author name, - etc. By "adding more stuff"
Amazon has extended its "access mechanisms". The system has
expanded horizontally with new access methods. I refer to
this method of enhancing the richness of a system as
horizontal extension.Advantages: this method of enhancing the
richness of an information system is well understood and is
controllable.Disadvantages: no matter how many ways Amazon
provides for accessing information, it will never be
enough. The need for new ways to access information changes as
information changes (e.g., new fields of study) and as users
change. (I offer as evidence the constantly changing face of
the Amazon web site)Vertical EvolutionWhen I was a child I
used to enjoy building things with Legos. Starting from
simple Lego building blocks I was able to build up rich
structures. The Lego building block "interface" was fixed
(i.e., the blocks snapped together in certain ways). But that
simple interface was sufficient to enable creation of
tremendously rich structures. The richness of the structures
was limited only by my imagination.Analogously, a method for
enhancing the richness of a system is to "build up" the system
from building blocks. The system is thus designed to support
different mechanisms for "connecting" the pieces. After
launching the system, the ways that the system changes is
dictated by how the users connect the pieces together. For
example, suppose that Amazon provides a "related to" mechanism
for connecting information. Further, suppose that Amazon does
not have a keyword search capability. The system could
"evolve" to support keyword searches by using the "related to"
mechanism:XSLT --------------------> XSLT: Programmer's
Reference by Michael Kay "related-to""XSLT" is a
user-defined keyword."XSLT: Programmer's Reference by Michael
Kay" is a basic information building block within the Amazon
system.It is important to note that no new functionality was
introduced. Existing functionality was utilized to enhance
the richness of the system. That is, the "related to"
connection mechanism was used to create the keyword search
mechanism. I refer to this method of enhancing the richness
of a system as vertical evolution.Advantages: the system is
able to quickly respond/adapt to user needs. In fact, it is
the users that evolve the system! The system simply provides
the mechanisms for the user to "snap together the building
blocks". Disadvantages: it is important that the system
provide guides to ensure that evolution occurs in a useful
direction. (The system guides, but does not control the
evolution)What are your thoughts on this? /Roger
|