Evening all...

Hooray!  We've a new project on the horizon ... I've had some vague
thoughts on how I'm going to put it all together and thought I'd share
my ideas to be shot down in flames by you wonderful people...  ;)

The system we're developing is basically a backend engine to power a
number of different sites, all with similar content -- basically
rebranded versions of the same "core" site.  There will be one main
application built on top of this core, but there will also be a number
of rebrands that are done on a bespoke basis, accessing the core data in
a number of ways, including flash remoting and web services.

So, the archiecture I'm thinking of is as follows:

At the bottom is a set of core CFCs to provide the business logic layer.

Above that there are two layers which provide a different "interface"
into the core methods.  The first is what I'm calling the "application
engine".  This will provide access to the core components to the
rebranded sites in much the same way as a controller does in MVC.  This
will include functionality for caching of objects to save on
reinstantiation on each call (basically an object store).

The second interface is a "fa�ade" type one which provides both remoting
and web service based applications with the correct funtionality.
Obviously the presentation layer is provided externally.

On top of the application engine will sit a couple of different "views":
a user view and an administration view.  These in effect will be
separate applications.  The user view must be lightning fast and I was
thinking of using something similar to the pagelet from benorama.com to
make sure I'm caching as much as possible, and making use of the object
store in the application engine.  The admin view will be a complex
beast, probably written in fusebox but again using the application
engine to access the appropriate core functionality.

Finally, there is a requirement for some of the sites running off the
engine to be more than just a rebrand and should actually permit bespoke
functionality, but all based on the given core.

Questions I have:

I want to make the core CFCs completely stateless so there is no need to
reference any external vars.  How should I go about making sure that
each instance that requires access to the DB has the DSN available to it
-- pass the DSN name through on init()?

For the fa�ade interface, I want things to be secured so only the
appropriate client can call the remoting methods or web services.  How
should I go about this?

How does anyone recommend setting up the "bespoke" sites, still using
the application engine?  Simply another "view"?

Any suggestions greatly appreciated!

Cheers,

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.
-------------------------------------------------------


----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the word 'unsubscribe cfcdev'
in the message of the email.

CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).

Reply via email to