Delivering RIA Solutions with Cairngorm 2

Day 3. Session 2. Steven Webster and special guest Alistair McLeod talk about the fundamentals of the Cairngorm microarchitecture. Cairngorm 2 and 2.1 (beta) are targeted for larger-scale applications that require a more sophisticated method for abstracting MVC components.

The Cairngorm framework consists of the following primary components:

  • Front Controller – the Front Controller handles all user gestures, calling Commands which actually perform the work. The Front Controller is the traffic cop of all Cairngorm events and communication.
  • Commands – these are customized per use case, and execute the operation-specific code, and for remote data, are responsible for publishing and subscribing to FDS topics.
  • Model Locator – manages state and notifies views of data change through data binding of its child content. The Model Locator contains many Value Objects.
  • Value Objects – contain client-side data, and typically mirror server-side data models.
  • Service Locator – retrieves service references and creates a centralized approach for managing data services.
  • CairngormEvent – a generic event that is typically extended to describe a very specific type of event. ie: LoginEvent.

Cairngorm 2.1 will introduce service invocation and result handling, as well as security built-in. The security model works perfectly with FDS’ “security-constraint”. This is defined in the FDS server XML config files.

Most likely coming in Cairngorm 3 (insert disclaimer here), they are considering setting up a core platform, with extensions for mobile, desktop, and enterprise modules.

Lastly, Steven referred to some of the more enterprise-class methodologies, but did not have time to discuss in detail. He alluded to a term, “C2EE”, though one of the other Flex guys, Peter, does not appreciate that term. More details will come as I find out.

More documentation for Cairngorm are available from cairngormdocs.org and from adobe labs’ page.

Tags:» » » »

Post a Comment

Your email is never published nor shared. Required fields are marked *

*

*