SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
CAIRNGORM
&
ZEND
AMF
  Open Source Flex Enterprise Development
ABOUT
ME


VegasFlex UGM

Interactive Engineer at Vision Airlines

Adobe Fanboy

Open Source Enthusiast
ZEND
AMF
WHY
AMF


Much faster communication compared to XML (binary)

ActionScript Serialized

Cheap as Free (Open Source Solutions)
Adobe Systems published the AMF binary data protocol specification on December 13,
2007 and announced that it will support the developer community to make this protocol
available for every major server platform.
AMF
PHP
SOLUTIONS

AMFPHP
Patrick Mineault/Wade Arnold - Open Source

Zend AMF
Wade Arnold - Open Source

WebORB (.NET, Java, Ruby On Rails, PHP)
Midnight Coders - Free

SabreAMF
Evert Pot - Open Source
AMFPHP

          PROS                         CONS
Open Source                    Open Source

Popular                        Entry Level Solution

Quick Install

Maps VOs
          AMFPHP will be a fantastic fit for
          beginner to intermediate developers
                                        -Wade Arnold
WEBORB
(PHP)

                  PROS                      CONS
Support Packages Available         Ope Not n Source

Management Console                 “Sales” - Feel
service browser, code generators

                                   Not as “simple” an install




              quot;WebORB is WAY cooler than AFMPHPquot;
                                              -Wade Arnold
SABREAMF

        PROS                CONS
Open Source         Open Source

Low-Level Library   No Automatic VO
                    Mapping

                    No Service Browser
ZEND
AMF

         PROS                           CONS
Open Source                 New

Adobe Supported!            Terrible Official Name
                            e Zend Framework with the amf
                            protocol server implementation using
Rapidly Developed           the package Zend_Amf and the class
                            Zend_Amf_Server.
VO Mapping
                            No Service Browser
(Future universal service
browser)
NEW
NAME
PROPOSAL




ZAMF!
CAIRNGORM
CAIRNGORM
CLARIFICATION

Can seem complicated at first

DOES NOT HAVE TO BE HARD

Oen not well presented for new users.

Not only for large projects

Not only for LiveCycle Data Services

Don’t try to compare to server side MVC (Ruby on Rails,
CakePHP, etc)
CAIRNGORM

A lightweight, prescriptive framework for some of the
challenges consistent with the Flex RIAs we have
encountered

Using a small number of relevant design patterns, where the
moving whole is slightly greater than the sum of its static
parts

A microarchitecture for RIA development—a starting
point for your technical architecture that solves the
problems as they have been solved successfully before
CAIRNGORM

 IN
15
MIN
Trust Me. You Can Do It!
   Don’t Take Notes
    Hold Questions
OBLIGATORY
MVC
DIAGRAM

                   Model           Data in Model
                                 is bound to View
                  Central Data



   Controller Updates              View
     Data in model
          (CRUD/                      GUI
  General Mucking of Data)




              Controller            View dispatches
                                       an event
                        Logic
SIMPLE
CAIRNGORM
EVENT

Command Messes
                               Model                                  Data in Model
                                                                    is bound to View
 with Model Data                 Singleton


       Command                                                        View
             Logic
                                                                    MXML Components




                                                                               View Dispatches
                       Control                  Event                          Cairngorm Event
                     Event/Command Glue      Establish Parameters


              Event passes data to
            Command through Control
COMPLIFICATING
DIAGRAM

                              Command Updates           Model                                  Data in Model
                                                                                             is bound to View
                                 Model Data               Singleton
                               With Data From
                               Service Request




       Internets                         Command                                                View
         Vague Inaccurate                      Logic                                         MXML Components
       Earth Representation


                                                                                                          View Dispatches
                                                                                                          Cairngorm Event
Request/CRUD
                   Delegate                              Control                   Event
                  Handles Web Services                 Event/Command Glue       Establish Parameters
 Server Data

                                      Command                    Event passes data to
                                   Asks Delegate to            Command through Control
                                    Get the Service
                                   to Talk to Server
RIDICULOUS
DIAGRAM
                                            Factory                        Responder Updates
                                             Convert Data                     Model Data
                                             O en into VOs                  With Data From
                                                                            Service Request


                                                  Responder                                     Model                                  Data in Model
                                                                                                                                     is bound to View
                                                    Handles Web Results                           Singleton

                 Internets
                   Vague Inaccurate
                 Earth Representation
                                                                                                                                        View
                                  Sends instance of                                                                                  MXML Components
                                   VO in Request


                                        Delegate                                                                                                  View Dispatches
                                                                                                                                                  Cairngorm Event
Value Object
                                        Handles Web Services
                                                                      Command                    Control                   Event
                                                                                               Event/Command Glue       Establish Parameters
 AS Class designed                                                        Logic
  to handle data
   in a speci ed                                                                                         Event passes data to
                                                     Command
     structure.                                                                                        Command through Control
                                                  Asks Delegate to
                                                   Get the Service
                                                  to Talk to Server
CAIRNGORM

                  COMMANDMENTS

Never change model data from the view.
I don’t care if you can


Use Cairngorm Events for application wide events

Use Naming Conventions
LoginEvent, LoginCommand, LoginDelegate, LoginResponder, LoginVO


Use Reverse DNS Folder Structure

Charge More for Cairngrom Work
CAIRNGORM
+
ZAMF
DEMO


Using Cairngen in Flex Builder 3
http://blog.garthdb.com/2008/11/setting-up-cairngen-in-flex-builder-3/


SwitchVO VO Converter
http://www.garthdb.com/projects/switchvo


Hosted ZAMF
http://zamf.garthdb.com/bootstrap.php

Más contenido relacionado

Similar a 360 Max Cairngorm Zamf

Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...
Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...
Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...EuroCloud
 
SVG in Data Acquisition and Control Systems
SVG in Data Acquisition and Control SystemsSVG in Data Acquisition and Control Systems
SVG in Data Acquisition and Control SystemsTao Jiang
 
Patterns of Cloud Applications Using Microsoft Azure Services Platform
Patterns of Cloud Applications Using Microsoft Azure Services PlatformPatterns of Cloud Applications Using Microsoft Azure Services Platform
Patterns of Cloud Applications Using Microsoft Azure Services PlatformDavid Chou
 
Spring Data for JJUG for Cross Conference Fall
Spring Data for JJUG for Cross Conference Fall Spring Data for JJUG for Cross Conference Fall
Spring Data for JJUG for Cross Conference Fall Toshihiko Ikeda
 
Cast Iron Overview Webinar 6.13.12 Final(Jb)
Cast Iron Overview Webinar 6.13.12 Final(Jb)Cast Iron Overview Webinar 6.13.12 Final(Jb)
Cast Iron Overview Webinar 6.13.12 Final(Jb)Carolyn Crowe
 
Deploying in the Cloud: Why and How
Deploying in the Cloud: Why and HowDeploying in the Cloud: Why and How
Deploying in the Cloud: Why and HowMatt Small
 
Spring Cairngorm
Spring CairngormSpring Cairngorm
Spring Cairngormdevaraj ns
 
Adopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy ContextAdopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy ContextXavier Warzee
 
NIG 系統開發指引
NIG 系統開發指引NIG 系統開發指引
NIG 系統開發指引Guo Albert
 
Scalable Enterprise Ready Neutron Networking with Nuage Networks
Scalable Enterprise Ready Neutron Networking with Nuage NetworksScalable Enterprise Ready Neutron Networking with Nuage Networks
Scalable Enterprise Ready Neutron Networking with Nuage NetworksScott Sneddon
 
BSM201.pdf
BSM201.pdfBSM201.pdf
BSM201.pdfNovell
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)Carles Farré
 
Business Service Management on the Fly—In under 60 Minutes!
Business Service Management on the Fly—In under 60 Minutes!Business Service Management on the Fly—In under 60 Minutes!
Business Service Management on the Fly—In under 60 Minutes!Novell
 
Introduction to Software-defined Networking
Introduction to Software-defined NetworkingIntroduction to Software-defined Networking
Introduction to Software-defined NetworkingAnees Shaikh
 

Similar a 360 Max Cairngorm Zamf (20)

Wpf Tech Overview2009
Wpf Tech Overview2009Wpf Tech Overview2009
Wpf Tech Overview2009
 
Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...
Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...
Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...
 
SVG in Data Acquisition and Control Systems
SVG in Data Acquisition and Control SystemsSVG in Data Acquisition and Control Systems
SVG in Data Acquisition and Control Systems
 
Patterns of Cloud Applications Using Microsoft Azure Services Platform
Patterns of Cloud Applications Using Microsoft Azure Services PlatformPatterns of Cloud Applications Using Microsoft Azure Services Platform
Patterns of Cloud Applications Using Microsoft Azure Services Platform
 
Spring Data for JJUG for Cross Conference Fall
Spring Data for JJUG for Cross Conference Fall Spring Data for JJUG for Cross Conference Fall
Spring Data for JJUG for Cross Conference Fall
 
Cast Iron Overview Webinar 6.13.12 Final(Jb)
Cast Iron Overview Webinar 6.13.12 Final(Jb)Cast Iron Overview Webinar 6.13.12 Final(Jb)
Cast Iron Overview Webinar 6.13.12 Final(Jb)
 
Deploying in the Cloud: Why and How
Deploying in the Cloud: Why and HowDeploying in the Cloud: Why and How
Deploying in the Cloud: Why and How
 
Spring Cairngorm
Spring CairngormSpring Cairngorm
Spring Cairngorm
 
Adopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy ContextAdopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy Context
 
Introducing spring
Introducing springIntroducing spring
Introducing spring
 
XS Japan 2008 Oracle VM English
XS Japan 2008 Oracle VM EnglishXS Japan 2008 Oracle VM English
XS Japan 2008 Oracle VM English
 
NIG 系統開發指引
NIG 系統開發指引NIG 系統開發指引
NIG 系統開發指引
 
Scalable Enterprise Ready Neutron Networking with Nuage Networks
Scalable Enterprise Ready Neutron Networking with Nuage NetworksScalable Enterprise Ready Neutron Networking with Nuage Networks
Scalable Enterprise Ready Neutron Networking with Nuage Networks
 
saurabh soni rac
saurabh soni racsaurabh soni rac
saurabh soni rac
 
Cloudy Ajax 08 10
Cloudy Ajax 08 10Cloudy Ajax 08 10
Cloudy Ajax 08 10
 
BSM201.pdf
BSM201.pdfBSM201.pdf
BSM201.pdf
 
Db trends final
Db trends   finalDb trends   final
Db trends final
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
 
Business Service Management on the Fly—In under 60 Minutes!
Business Service Management on the Fly—In under 60 Minutes!Business Service Management on the Fly—In under 60 Minutes!
Business Service Management on the Fly—In under 60 Minutes!
 
Introduction to Software-defined Networking
Introduction to Software-defined NetworkingIntroduction to Software-defined Networking
Introduction to Software-defined Networking
 

Último

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 

Último (20)

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 

360 Max Cairngorm Zamf

  • 1. CAIRNGORM
&
ZEND
AMF Open Source Flex Enterprise Development
  • 2. ABOUT
ME VegasFlex UGM Interactive Engineer at Vision Airlines Adobe Fanboy Open Source Enthusiast
  • 4. WHY
AMF Much faster communication compared to XML (binary) ActionScript Serialized Cheap as Free (Open Source Solutions) Adobe Systems published the AMF binary data protocol specification on December 13, 2007 and announced that it will support the developer community to make this protocol available for every major server platform.
  • 5. AMF
PHP
SOLUTIONS AMFPHP Patrick Mineault/Wade Arnold - Open Source Zend AMF Wade Arnold - Open Source WebORB (.NET, Java, Ruby On Rails, PHP) Midnight Coders - Free SabreAMF Evert Pot - Open Source
  • 6. AMFPHP PROS CONS Open Source Open Source Popular Entry Level Solution Quick Install Maps VOs AMFPHP will be a fantastic fit for beginner to intermediate developers -Wade Arnold
  • 7. WEBORB
(PHP) PROS CONS Support Packages Available Ope Not n Source Management Console “Sales” - Feel service browser, code generators Not as “simple” an install quot;WebORB is WAY cooler than AFMPHPquot; -Wade Arnold
  • 8. SABREAMF PROS CONS Open Source Open Source Low-Level Library No Automatic VO Mapping No Service Browser
  • 9. ZEND
AMF PROS CONS Open Source New Adobe Supported! Terrible Official Name e Zend Framework with the amf protocol server implementation using Rapidly Developed the package Zend_Amf and the class Zend_Amf_Server. VO Mapping No Service Browser (Future universal service browser)
  • 12. CAIRNGORM
CLARIFICATION Can seem complicated at first DOES NOT HAVE TO BE HARD Oen not well presented for new users. Not only for large projects Not only for LiveCycle Data Services Don’t try to compare to server side MVC (Ruby on Rails, CakePHP, etc)
  • 13. CAIRNGORM A lightweight, prescriptive framework for some of the challenges consistent with the Flex RIAs we have encountered Using a small number of relevant design patterns, where the moving whole is slightly greater than the sum of its static parts A microarchitecture for RIA development—a starting point for your technical architecture that solves the problems as they have been solved successfully before
  • 14. CAIRNGORM
 IN
15
MIN Trust Me. You Can Do It! Don’t Take Notes Hold Questions
  • 15. OBLIGATORY
MVC
DIAGRAM Model Data in Model is bound to View Central Data Controller Updates View Data in model (CRUD/ GUI General Mucking of Data) Controller View dispatches an event Logic
  • 16. SIMPLE
CAIRNGORM
EVENT Command Messes Model Data in Model is bound to View with Model Data Singleton Command View Logic MXML Components View Dispatches Control Event Cairngorm Event Event/Command Glue Establish Parameters Event passes data to Command through Control
  • 17. COMPLIFICATING
DIAGRAM Command Updates Model Data in Model is bound to View Model Data Singleton With Data From Service Request Internets Command View Vague Inaccurate Logic MXML Components Earth Representation View Dispatches Cairngorm Event Request/CRUD Delegate Control Event Handles Web Services Event/Command Glue Establish Parameters Server Data Command Event passes data to Asks Delegate to Command through Control Get the Service to Talk to Server
  • 18. RIDICULOUS
DIAGRAM Factory Responder Updates Convert Data Model Data O en into VOs With Data From Service Request Responder Model Data in Model is bound to View Handles Web Results Singleton Internets Vague Inaccurate Earth Representation View Sends instance of MXML Components VO in Request Delegate View Dispatches Cairngorm Event Value Object Handles Web Services Command Control Event Event/Command Glue Establish Parameters AS Class designed Logic to handle data in a speci ed Event passes data to Command structure. Command through Control Asks Delegate to Get the Service to Talk to Server
  • 19. CAIRNGORM
 COMMANDMENTS Never change model data from the view. I don’t care if you can Use Cairngorm Events for application wide events Use Naming Conventions LoginEvent, LoginCommand, LoginDelegate, LoginResponder, LoginVO Use Reverse DNS Folder Structure Charge More for Cairngrom Work
  • 21. DEMO Using Cairngen in Flex Builder 3 http://blog.garthdb.com/2008/11/setting-up-cairngen-in-flex-builder-3/ SwitchVO VO Converter http://www.garthdb.com/projects/switchvo Hosted ZAMF http://zamf.garthdb.com/bootstrap.php