Alexander Johannesen wrote:
> On 3/10/06, Gregg Wonderly <[EMAIL PROTECTED]> wrote:
>
>>While I wholeheartedly agree with the premise of architecture before
>>design,
>>
>
>
> Damn, and here I was thinking architecture was a holistic design process. :)
> Seriously, though, what is your definition of design? It is a dangerous word
> to throw about, and I want to ask that because I cannot agree with
> "architecture before design".
Design is implementing the software that provides the features. Architecture
is
deciding which things fit together to match the features that you need.
In the architecture phase, you would decide where certain computing activities
best fit in the system. You might detail how those computing activities are
started, controlled and monitored. The transport of data in your system needs
to take into account the amount of data and the type of data you need at each
computational node.
The problem is that if you design some small bit of your system first, and then
design another part, and then another part, and then try and create an
architecture that makes them all work together for the system that you need,
you'll probably miss an important architural consideration. Some software
platforms provide a better opportunity to manage data transport mismatches than
others. I've talked about my preference of mobile code here already. It
allows
me to move some computations around, and lets me manage data use in new ways,
without the client ever knowing.
Just this week, I used mobile code to move an expensive database query from a
remote operation to a local operation on a lazily updated local copy of a
database. Noone new what happened, only that they saw a 10 times reduction in
time associated with database queries (read only users).
In the case that you know about the size and complexity of data and code
interactions, an architectural experience would have implemented this up front.
But, I didn't know how big the database would get. So, I just deferred on
the
initial implementation to the fastest way to a working implementation, and then
got to adjust the implementation after the fact.
Gregg Wonderly
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/service-orientated-architecture/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/