Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
2Activity
0 of .
Results for:
No results containing your search query
P. 1
Flex UI Design for Cairngorm

Flex UI Design for Cairngorm

Ratings:

5.0

(4)
|Views: 533|Likes:
Published by Prakash
Cairngorm Framework Architecture
Cairngorm Framework Architecture

More info:

Published by: Prakash on Feb 10, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF or read online from Scribd
See more
See less

07/25/2009

 
www.digimmersion.com8/10/2006
 
Flex Application Design for Cairngorm
Overview
This document will walk a developer through the process of designing a simpleCairngorm based Flex application that addresses a real world business need. Theintended audience is a developer who is at least somewhat familiar with Flex, hasbuilt a few Flex applications, is at least somewhat familiar with the Cairngorm microarchitecture, and wishes to learn more about how to plan a Cairngorm applicationproperly, right from the start of their development effort.Although this document addresses visual mockups and suggests the use of theDigimmersion Flex 2 RIA Visio stencil, it is not intended solely as a sales pitch;rather, it is intended to teach planning practices that allow for rapid development of Cairngorm applications. The use of the Digimmersion Visio stencil is obviouslyencouraged, but there are certainly other ways to build your visual mockups.Regardless of what tool you choose for your mockups, pre-visualizing yourapplication is an important part of application development.If you have questions about this document or any of the topics discussed here youmay contact the author using the Digimmersion Contact Us page. If you havespecific or detailed questions about Cairngorm, Flex, or ActionScript you will want toparticipate in the FlexCoders Yahoo! Group or access the Cairngorm Wiki onLabs.Adobe.com.
 
Business Challenge
This real world business challenge pertains to directory services. Most largecompanies maintain an Active, Novell, or LDAP Directory containing user accounts forthat network. In my “day job” I work for an organization comprised of 6000+employees and 2000+ affiliates, all requiring access to our network. Networkaccounts are centralized in our Novell eDirectory (eDir), accessible via LDAP.Employee accounts reside in our Employee container and are linked to ourPeopleSoft HR system with dirXML drivers so that changes in hire status, such as “Leave Of Absence” and “Terminated” are automatically migrated from PeopleSoft toeDir, and account privileges are enabled and disabled appropriately. Our Affiliatescontainer holds user accounts for users who are
not 
in our PeopleSoft system.Affiliate office staff, volunteers, vendors, and anyone who may require networkaccess, yet are not managed or controlled by our HR department.Since Affiliates control their own hiring & firing, and our eDir is not linked to anyexternal HR systems, it’s done manually, so our eDir is not always updatedappropriately when there are staffing changes within those external organizations.They are quick to notify us that a new hire requires a new network account, but notso quick to let us know someone has left their organization. That process cannot beautomated at this time and therefore leaves active accounts in our eDir for userswho no longer work for these external affiliates. Not only are these lingeringnetwork accounts a security risk, but they increases the size of our eDir which addsoverhead and requires additional administrative resources.
 
Flex Application Design for Cairngormwww.digimmersion.com8/10/2006
 
2
Solution
Build an application comprised of two parts:
 ·
Part I: A scheduled background task (executable, web page, service, etc.)that runs nightly and walks our eDirectory tree collecting information onquestionable accounts, department managers, last login dates/times, etc.,and storing that information in a small, simple, SQL compliant database.
 ·
Part II: A web based client used to interact with that database, providing theability to warn our managers about questionable accounts, and give ourmanagers the ability to select a status (LOA, Vacation, Terminated, etc) foreach questionable account.This application will provide a safety net for times when our affiliates fail to inform usof status changes with their staff.Since we want the client to be accessible remotely a web based solution is required,and Adobe Flex has been chosen as the technology for the client.
 
Software Requirements Specification
First thing is to determine what the application will do and how it will behave. Followwhatever standard requirement gathering procedures you or your company uses todetermine the requirements for this application, for our purposes we’ve kept itsimple. Our application will feed off a simple database that is populated each nightby an automated process. We won’t detail the automated process here, just therequirements pertaining to the actual client interface itself:
 ·
Login function
 ·
Two available user roles: Manager and Admin
 ·
All users are Managers
 ·
Certain users can be defined as Administrators
 ·
Administrators can…
o
See all questionable accounts
o
Filter to see only questionable accounts not yet assigned to a Manager
o
Select one or more accounts
o
Assign a Manager to selected accounts
o
Remove Managers assigned to selected accounts
o
Switch to Manager role
 ·
Managers can…
o
See all accounts assigned to this Manager
o
Filter to see only accounts not yet assigned a status
o
Select one or more questionable accounts
o
Select a status
o
Select a return date for certain status conditions
o
Assign a status (and date if applicable) to selected accounts
o
Remove a status from selected accounts
o
Switch to Admin role if they have admin privileges
 ·
Help & instructions for all interface functions
 ·
Logout function
 
Flex Application Design for Cairngormwww.digimmersion.com8/10/2006
 
3
Overview of Cairngorm
Although this document attempts to cover the basics of planning a Cairngormapplication, it does not go into any deep framework detail. For further informationand code example on Cairngorm see Steven Webster’s blog, the Cairngorm Wiki onAdobe Labs, or the Yahoo! FlexCoders group.What is Cairngorm? Cairngorm is fundamentally a methodology for breaking up yourapplication code by logical functions; by data, by user views, and by the code thatcontrols everything. This is routinely referred to as MVC, or Model, View, andControl.The Pieces of Cairngorm
 ·
Model Locator:
Stores all of your application’s Value Objects (data) andshared variables, in one place. Similar to an HTTP Session object, except thatits stored client side in the Flex interface instead of server side within amiddle tier application server.
 ·
View:
One or more Flex components (button, panel, combo box, Tile, etc)bundled together as a named unit, bound to data in the Model Locator, andgenerating custom Cairngorm Events based on user interaction (clicks,rollovers, drag-n-drop.)
 ·
Front Controller:
Receives Cairngorm Events and maps them to CairngormCommands.
 ·
Command:
Handles business logic, calls Cairngorm Delegates and/or otherCommands, and updates the Value Objects and variables stored in the ModelLocator
 ·
Delegate:
Created by a Command, they instantiate remote procedure calls(HTTP, Web Services, etc) and hand the results back to that Command.
 ·
Service:
Defines the remote procedure calls (HTTP, Web Services, etc) toconnect to remote data stores.
 
How the Pieces Fit Together
Cairngorm basically works like this: Your client interface is comprised of Views. TheViews use Flex binding to display data contained in the Model Locator. The Viewsgenerate Events based on user gestures such as mouse click, button press, and drag& drop. Those Events are “broadcast” and “heard” by the Front Controller, which is amap of Events to Commands. Commands contain business logic, create Delegates toperform work, handle responses from Delegates, and update the data stored in theModel Locator. Since Views are bound to the data in the Model Locator the Viewsautomatically update when the Model Locator data is changed. Delegates callServices and hand results back to Commands, and are optional but recommended.Services make remote data calls and hand the results back to Delegates.The diagram on the following page provides a simple overview of the processing flowin a Cairngorm application.

Activity (2)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->