Wow, sounds like an ideal project to work on.

Although throw this into your calculations:
Are the servers going to be dotted around the globe?

Another thought, and probably a long shot:
Are you able to make the entire application "stateless"? If so, no need for
session management.

Some keywords:
"Alteon ACEdirector Switch"

Check the specs.

Not too sure on RDBMS comparisons, as I've never used PostgreSQL in anger.
You probably need to write a list of requirements of the Database to narrow
down a list of possible databases. eg. needs to store 6 terabytes,
distributed and replicated across the globe, and must have a speed of n/t,
and must allow n concurrent connections, and must be able to be taken
temporarily offline for backups and must catch up on replication afterwards,
etc.

- Peter

-----Original Message-----
From: Tim Blair [mailto:[EMAIL PROTECTED]
Sent: 16 July 2003 11:56
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: [ cf-dev ] SOT: Thinking about application architecture...


Moring all...

We are currently at the beginning stages of a large (possibly huge) CF
project so now's the time we're looking at how to move forward.

I've got about a million things to think about in respect of both
architecting the application and sorting out the hardware/software it's
going to be sat on, so I've whacked together a couple of paragraphs
which I wouldn't mind some feedback/comments on.  Ta.

*********************************************************************

*** Basic info

The system to be developed is a backend to power a number of different
(but all similar) sites.  In effect it's an application framework which
will have a number of different front-ends.

Initially the site will be run off a one CFMX box and one database
server. However, we are expecting (hoping?) to have to increase the
capacity of the site many times in the future and as such should be
developed in a way that means we can start load-balancing between CF
servers, duplicating databases etc.

*** Application

So the question is, what must be taken into consideration thinking this
far ahead?  Things like sessions -- we can't use the standard session
scope because this won't work across load-balanced sites (unless each
initial request gets allocated to a certain box and all future requests
go to the same box, but we don't want this constraint).

Are there any suggestions for using user sessions across (possibly)
load-shared boxes?  Yes we could leave it up to the load-balancer
(sticky sessions etc) but I'd rather have the control myself and make
it part of the application functionality.

*** Database

We have generally always used MySQL as the database for sites we develop
but considering the possible "enterprise" scale nature of this
application we're starting to look elsewhere.  In my opinion MySQL isn't
quite there in that respect -- lack of stored procs, relationships etc.
I have just started looking at PostgreSQL which appears to be a GPL'd
version of Oracle.  Has anyone got any thoughts on this?

One of the reasons for thinking of using a different database server is
that we will be doing a fair amount of statistics gathering and
reporting and don't want the CF box bogged down with calculations etc
that could be done via SPs.  Currently MySQL doesn't given us this
option (it may do in a year or two, but we need it now).

*** CFCs and webservices

The system will be accessed in a number of different ways -- simple
"template" based sites, more complex bespoke sites, flash (remoting)
sites etc.  Due to this we are planning on building a set of core CFCs
to hold the business logic; these can then be accessed via different
mechanisms for each site "type", e.g. a set of facade CFCs for the
remoting side etc.

There may also be the need to enable access to the application via
webservices (again, CFCs come in useful) but of course these must be
properly authentised -- only "proper" calls with the appropriate
authentication tokens should be processed.  Anyone got ideas on how this
could/should be handled?

*********************************************************************

Cheers for any thoughts or comments,

Tim.


-------------------------------------------------------
RAWNET LTD - Internet, New Media and ebusiness Gurus.
Visit our new website at http://www.rawnet.com for
more information about our company, or call us free
anytime on 0800 294 24 24.
-------------------------------------------------------
Tim Blair
Web Application Engineer, Rawnet Limited
Direct Phone : +44 (0) 1344 393 441
Switchboard : +44 (0) 1344 393 040
-------------------------------------------------------
This message may contain information which is legally
privileged and/or confidential.  If you are not the
intended recipient, you are hereby notified that any
unauthorised disclosure, copying, distribution or use
of this information is strictly prohibited. Such
notification notwithstanding, any comments, opinions,
information or conclusions expressed in this message
are those of the originator, not of rawnet limited,
unless otherwise explicitly and independently indicated
by an authorised representative of rawnet limited.
-------------------------------------------------------



--
** Archive: http://www.mail-archive.com/dev%40lists.cfdeveloper.co.uk/

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
For human help, e-mail: [EMAIL PROTECTED]



-- 
** Archive: http://www.mail-archive.com/dev%40lists.cfdeveloper.co.uk/

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
For human help, e-mail: [EMAIL PROTECTED]

Reply via email to