Mike,

> Isn't there an article covering the topic of WHAT Cairngorm 
> is?  How it works?  Explain in plain English as to HOW the 
> proposed structure and included "helper files" enhances the 
> developers ability to create RIA's (which are scalable in nature).

First of all; Cairngorm is not intended as something that we
expect people to pick up the *same* time they are getting to
grip with Flex.  

As you build big, enterprise-level Flex applications, there 
is going to come a point where you have multiple developers
working on the project, and run the risk of them all solving
the same problem in multiple different ways.  As your 
application becomes more complex, you are going to want to
address that complexity with a well understood technical
architecture.  You are going to want that technical 
architecture to clearly separate the roles in a multi
disciplined development team, you are going to want your
application architecture to promote, enable and encourage
reuse - reuse of business object, reuse of business services,
etc.  You are going to want that application architecture
to allow you to inject complex functionality in a well
understood manner --  Todd Boland's excellent post on 
creating a SecureCommand base-class being a fantastic 
example of this.

As J2EE developers, we learned a lot from using the
Core J2EE Design Patterns from Sun in architecting our
applications.  Furthermore, assembling these design
patterns in such a way that there was an elegant 
collaboration and partitioning of design responsibilities,
created what has now been coined a "microarchitecture"
that would provide structure and skeleton in a generic
fashion, to specific web application problems.

With RIA, we recognsied that many of the same problems
that occured in J2EE enterprise web-application development,
didn't go away just because we were using ActionScript 2.0
and Flash/Flex, and so we adopted many of (a subset of) the
design patterns, and evolved Cairngorm as a microarchitecture
for RIA.

I don't intend this next sentence to be patronising, so
please don't take as such -- but if you don't get why you
would need to use something like Cairngorm, then you
probably aren't building applications that merit using it
anway.  So ... immerse yourself in Flex application
development, and only when complexity is starting to bite
you in the butt, should you dust off Cairngorm, look 
through the samples, and look for how we have solved
the problems you are (then) facing, with Cairngorm.
 
> Does everybody understand what I am getting at?  There is 
> nothing on the website, that starts at "Ground Zero" - 
> explaining "What Cairngorm is", "Here is how it works", "Here 
> is a coding example of a typical way of doing an app, and 
> then in comparison, the Cairngorm way".

Software architecture, design patterns, and microarchitecture
are software engineering techniques, not anything specific
to RIA, specific to Flex, and specific to Cairngorm.

If you really want to understand the motivation for
Cairngorm, that would be a great starting place.  I honestly
would recommend "Core J2EE Patterns" by Alur et al as a
great starting place for understanding software architecture
and software design patterns, particularly the ones we
implemented for Cairngorm:

http://www.corej2eepatterns.com/index.htm

Alistair and I co-wrote a chapter called "ActionScript 2.0
Design Patterns for Rich Internet Applications", that appears
in the "ActionScript 2.0 Dictionary".  That's not specific to
Flex, but it does go into a great amount of detail as to
what the motivations for each of the design patterns are,
why we implement them the way we do, in the context of a
Flash MX based RIA:

http://www.amazon.com/exec/obidos/tg/detail/-/0321228413/qid=1117099256/sr=8
-1/ref=sr_8_xs_ap_i1_xgl14/002-0848388-2547213?v=glance&s=books&n=507846

I think that's probably the level of material you're 
looking for.

Failing that, there's a Breeze presentation I've posted a
few times here; to be honest, the slides aren't really the
same without someone delivering the words, and the presentation
was made available for folks that saw me talk at IBM in
Holland.  But the introductory slides try and put forward
the case for why you might want to use Cairngorm, which
I try and define as "If you are building Enterprise RIA".

> Sorry for the unusual post, but I just need some 
> clarifications on Cairngorm.  Pretend I am an idiot - and not 
> somebody who has been following this model for months, and 
> has a good grasp of Flex.

Learn Flex first.  Build some apps with Flex until they get
bigger and bigger, and then when you know enough to be 
dangerous and tie yourself in knots, consider Cairngorm 
your scissors.

I hope the above helps -- there's a lot of reading there 
for you, but that's what you asked for.  I just don't have
to write it all :)

Good luck, it's a rewarding journey you're on,

Best,

Steven

--
Steven Webster
Technical Director
iteration::two
 
This e-mail and any associated attachments transmitted with it may contain
confidential information and must not be copied, or disclosed, or used by
anyone other than the intended recipient(s). If you are not the intended
recipient(s) please destroy this e-mail, and any copies of it, immediately.
 
Please also note that while software systems have been used to try to ensure
that this e-mail has been swept for viruses, iteration::two do not accept
responsibility for any damage or loss caused in respect of any viruses
transmitted by the e-mail. Please ensure your own checks are carried out
before any attachments are opened.



 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/flexcoders/

<*> 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/
 


Reply via email to