RE: [flexcoders] Cairngorm Confusion
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
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
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/