One of the questions we get asked most frequently is: "Will naked
object systems scale up to large numbers of users?" Right now, the only
honest answer is "We don't know for sure." We haven't yet seen any
systems implemented using Naked Objects that service a large number of
simultaneous users, although we have already seen applications that
involve large amounts of data and must deliver the performance equivalent
of mainframe transactional systems (for example at Safeway).
As we've made clear in this section, we've designed the basic
architecture of the naked objects with the intention that it will scale
up to very large applications. But we haven't developed all the pieces
yet. We're quite sure that as bigger systems are built, new problems
will emerge that we haven't explicitly foreseen and that we will need to
address with new extensions or modifications.
The fact that we haven't yet seen very large systems developed in
Naked Objects is hardly surprising. Any significant new technology
involves a learning curve: it is right and proper that organizations
will want to start by applying it to smaller problems, where there are
fewer variables. (In fact many first applications of Naked Objects are
in areas where traditional systems approaches have failed badly, and
there is arguably nothing to lose by trying a radical approach).
So we welcome the question, provided that it represents a genuine
desire to understand whether the architecture has the capability to scale
up with increasing demand - fuelled by increasing experience. We have
no interest in responding to those who use such questions merely as an
excuse to maintain the status quo. We recall that the pioneers of the
relational database, client-server architecture, peer-to-peer networks,
asynchronous messaging, and, of course, object-orient techniques in
general have faced similar scepticism.
Much of our confidence lies in the fact that Naked Objects is open
source. As the development community grows we will get offers of help
from people who have very substantial expertise in this area. In fact
it's already started to happen. Many people have told us that they
regard Naked Objects as fundamentally 'the right way to design software'
and have offered their support. We find that very motivating. One thing
is true of software development in general and community-based open
source development in particular: where there is a will, there is almost
always a way.
The most encouraging thing is that people who have a great deal of
experience of scaleability of distributed objects have been very
supportive. We're delighted to give the last word in this book to Oliver
Sims, author of 'Business Objects'[Sims1994],
co-author of 'Building Business Objects'[Eeles1998]
and 'Business Component Factory'[Herzum2000], and a
widely-respected authority in the field of large-scale distributed-object
and componentized business systems:
"I think that Naked Objects is both exciting and important. Although
there are some technical concerns about scalability that will need to be
addressed, I can see nothing in the fundamental concepts behind Naked
Objects that would prevent it from scaling up to very large numbers of
users. And most importantly I believe that it will be possible to address
these issues in a way that does not compromise the fundamental philosophy
of Naked Objects."
|