RE: [flexcoders] Cairngorm Confusion

2005-05-26 Thread Steven Webster
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=glances=booksn=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 

[flexcoders] Cairngorm Confusion

2005-05-25 Thread Mike Anderson
Hello Everyone,

I want so terribly to assimilate Flex into my programming life, as I can
see the true potential of it now.  Coming from the Flash MX 2004 and
AS2.0 programming background, I can truly appreciate the power Flex
offers.

Since I am starting with a clean slate using Flex, I am seeking advice
on how I should handle my Data Structures on the Client Side, and how I
can collect data spread across multiple forms, and then send it to my
Remoting Server.

More than that, I've never been one to stare a Gift Horse in the mouth -
and ignore good advice.  If I must learn Flex using blood, sweat and
tears - then maybe that's how I must learn it, but if there is a model I
can follow, that will serve as a guide for me, I would love to have a
tool like that.

Everybody keeps touting Cairngorm - and I downloaded everything from the
website.  I read everything that was available, but there is one
critical piece missing.  All the whitepapers talk  about, is how
Cairngorm has evolved through the versions, what has changed since the
last version, and the fact that it addresses the modeling questions when
it comes to building RIA's -

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

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.

I know you all, are probably going to say Well, look at the bundled
applications, because it will spell it all out there.  The thing is, I
don't want to have to make that determination for myself.  I am not that
good yet - I actually need to be TOLD why it should be done this way.

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.

Thanks in advance,

Mike



 
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/
 





Re: [flexcoders] Cairngorm Confusion

2005-05-25 Thread James Ward
I think you raise valid questions.  The main question is really one that
most developers ask at some point.  Why use these things called
Patterns?

You may want to check out:
http://en.wikipedia.org/wiki/Design_Patterns
http://java.sun.com/blueprints/corej2eepatterns/

or search google.  There are many, many article on Pattern based
development.

And my short answer to the What is Cairngorm? question is:

Cairngorm is a framework for implementing Patterns within a Flex
application.

Hope that helps.

-James


On Wed, 2005-05-25 at 13:08 -0500, Mike Anderson wrote:
 Hello Everyone,
 
 I want so terribly to assimilate Flex into my programming life, as I can
 see the true potential of it now.  Coming from the Flash MX 2004 and
 AS2.0 programming background, I can truly appreciate the power Flex
 offers.
 
 Since I am starting with a clean slate using Flex, I am seeking advice
 on how I should handle my Data Structures on the Client Side, and how I
 can collect data spread across multiple forms, and then send it to my
 Remoting Server.
 
 More than that, I've never been one to stare a Gift Horse in the mouth -
 and ignore good advice.  If I must learn Flex using blood, sweat and
 tears - then maybe that's how I must learn it, but if there is a model I
 can follow, that will serve as a guide for me, I would love to have a
 tool like that.
 
 Everybody keeps touting Cairngorm - and I downloaded everything from the
 website.  I read everything that was available, but there is one
 critical piece missing.  All the whitepapers talk  about, is how
 Cairngorm has evolved through the versions, what has changed since the
 last version, and the fact that it addresses the modeling questions when
 it comes to building RIA's -
 
 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).
 
 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.
 
 I know you all, are probably going to say Well, look at the bundled
 applications, because it will spell it all out there.  The thing is, I
 don't want to have to make that determination for myself.  I am not that
 good yet - I actually need to be TOLD why it should be done this way.
 
 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.
 
 Thanks in advance,
 
 Mike
 
 
 
  
 Yahoo! Groups Links
 
 
 
  
 
 
 
 




 
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/