<ul><li>Enterprise Flex  </li></ul><ul><li>using Cairngorm </li></ul>Jaibeer Malik   Enterprise Flex using Cairngorm   htt...
JAIBEER MALIK <ul><li>2004 B.Tech from IIT KGP </li></ul><ul><li>Total 5+ years of IT Experience in software development <...
Agenda <ul><li>Enterprise Flex </li></ul><ul><li>Flex MVC : Cairngorm </li></ul><ul><li>Flex IOC : SpringActionscript & Ca...
Enterprise Flex <ul><li>Enterprise Flex </li></ul><ul><ul><li>Suit best for the enterprise applications </li></ul></ul><ul...
Flex MVC : Cairngorm <ul><li>Flex MVC framework </li></ul><ul><li>Lightweight micro architecure </li></ul><ul><li>“ best-p...
Cairngorm: Micro Architecture Jaibeer Malik   Enterprise Flex using Cairngorm   http://jaibeermalik.wordpress.com
Flex IOC: SpringActionscript <ul><li>Spring Extension, formerly known as Prana framework. </li></ul><ul><li>IOC framework ...
SpringActionscript: Getting Started <ul><li>Maven Repository: </li></ul><ul><li>Maven POM depedencies: </li></ul>Jaibeer M...
SpringActionscript: Sample Code Jaibeer Malik   Enterprise Flex using Cairngorm   http://jaibeermalik.wordpress.com
Cairngorm Extension: UniversalMind (UM) <ul><li>Extensions: </li></ul><ul><ul><li>Events </li></ul></ul><ul><ul><li>View N...
Cairngorm : Responders from Command to View <ul><li>Cairngorm, Current Responders : </li></ul><ul><li>Cairngorm, What we w...
Cairngorm View Notification Strategies <ul><li>Presentation Model : </li></ul><ul><ul><li>Control view states (http://mart...
Flex Data Transfer Strategies <ul><li>Influencing factors for Data Transfer Strategy </li></ul><ul><ul><li>Data Intensive ...
Data Transfer Strategies: DTO/VO <ul><li>Data Transfer Object (DTO/VO) Strategy: </li></ul><ul><ul><li>May map domain enti...
Data Transfer Strategies: Facade <ul><li>Flex-Facade Strategy: </li></ul><ul><ul><li>Client specific operations, flex clie...
Data Transfer Strategies: Adapters  <ul><li>Adapters: Seamless persistence for ORM frameworks like JPA, Hibernate and Flex...
Flex Enterprise Security using Chimp <ul><li>Enterprise Security : 3-A's </li></ul><ul><ul><li>Authentication </li></ul></...
Chimp : Getting Started <ul><li>SWC File :  </li></ul><ul><ul><li>http://flexible-chimp.googlecode.com/files/chimp.swc </l...
Chimp : How to use it? <ul><li>Using permission as metadata inside view components: </li></ul><ul><li>Authentication: </li...
Resources <ul><li>Jai's Weblog </li></ul><ul><ul><li>Flex then, now & tomorrow – From a java developer’s perspective </li>...
? Jaibeer Malik   Enterprise Flex using Cairngorm   http://jaibeermalik.wordpress.com
Feedback!!! <ul><li>[email_address] </li></ul><ul><li>[email_address] </li></ul><ul><li>Follow me @ </li></ul><ul><li>http...
Upcoming SlideShare
Loading in...5
×

Enterprise Flex Using Cairngorm

4,320

Published on

Enterprise Flex Using Cairngorm

Published in: Technology, Business
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,320
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide

Transcript of "Enterprise Flex Using Cairngorm"

  1. 1. <ul><li>Enterprise Flex </li></ul><ul><li>using Cairngorm </li></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  2. 2. JAIBEER MALIK <ul><li>2004 B.Tech from IIT KGP </li></ul><ul><li>Total 5+ years of IT Experience in software development </li></ul><ul><li>Former Employers: Sapient, Globallogic </li></ul><ul><li>Currently working as Senior Consultant with Xebia </li></ul><ul><li>Certified Scrum Master </li></ul><ul><li>Experienced in: Java, J2ee, Unix, Flex, Distributed Agile. </li></ul><ul><li>Thumb rule: Delivering Quality solution to all software problems </li></ul><ul><li>Hobbies: Swimming, Basketball, Volleyball, Cricket...Sports </li></ul><ul><li>Web: http://jaibeermalik.wordpress.com </li></ul><ul><li>Profile: http://www.linkedin.com/in/jaibeermalik </li></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  3. 3. Agenda <ul><li>Enterprise Flex </li></ul><ul><li>Flex MVC : Cairngorm </li></ul><ul><li>Flex IOC : SpringActionscript & Cairngorm Extension </li></ul><ul><li>Other Cairngorm Extensions (UM) </li></ul><ul><li>Cairngorm View Notifications Strategies </li></ul><ul><li>Flex Data Transfer Strategies </li></ul><ul><li>Flex Enterprise Security using Chimp </li></ul><ul><li>Questions? </li></ul><ul><li>Feedback!!! </li></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  4. 4. Enterprise Flex <ul><li>Enterprise Flex </li></ul><ul><ul><li>Suit best for the enterprise applications </li></ul></ul><ul><ul><li>MVC Frameworks </li></ul></ul><ul><ul><li>IOC Frameworks </li></ul></ul><ul><ul><li>Solve Business problems </li></ul></ul><ul><ul><li>Provide Enterprise Security </li></ul></ul><ul><ul><li>Easily Scalable and Maintainable </li></ul></ul><ul><ul><li>Easily Testable </li></ul></ul><ul><li>Flex Frameworks </li></ul><ul><ul><li>Cairngorm, PureMVC, Swiz, Mate, MVCS, RobotLegs, Parsley </li></ul></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  5. 5. Flex MVC : Cairngorm <ul><li>Flex MVC framework </li></ul><ul><li>Lightweight micro architecure </li></ul><ul><li>“ best-practice” methodology </li></ul><ul><li>Separation of concerns </li></ul><ul><li>IDE support for command & controller </li></ul><ul><li>Maven dependency </li></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  6. 6. Cairngorm: Micro Architecture Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  7. 7. Flex IOC: SpringActionscript <ul><li>Spring Extension, formerly known as Prana framework. </li></ul><ul><li>IOC framework for action script. </li></ul><ul><li>SpringActionscript Cairngorm Extension, How it fits: </li></ul><ul><ul><li>Event name and command mapping in front controller, define it in context file </li></ul></ul><ul><ul><li>Command needs ModelLocator, inject through context file </li></ul></ul><ul><ul><li>Command needs Delegate, inject through context file </li></ul></ul><ul><ul><li>Delegate needs Service, inject through context file </li></ul></ul><ul><ul><li>Services and Channel settings, configure through context file </li></ul></ul><ul><li>Helpful in testing by injecting stub. </li></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  8. 8. SpringActionscript: Getting Started <ul><li>Maven Repository: </li></ul><ul><li>Maven POM depedencies: </li></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  9. 9. SpringActionscript: Sample Code Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  10. 10. Cairngorm Extension: UniversalMind (UM) <ul><li>Extensions: </li></ul><ul><ul><li>Events </li></ul></ul><ul><ul><li>View Notification </li></ul></ul><ul><ul><li>Front Controllers </li></ul></ul><ul><ul><li>Command Implementation </li></ul></ul><ul><ul><li>Delegate Implementation </li></ul></ul><ul><ul><li>ServiceLocator </li></ul></ul><ul><li>Helps in solving many business problems </li></ul><ul><li>Easily integrated </li></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  11. 11. Cairngorm : Responders from Command to View <ul><li>Cairngorm, Current Responders : </li></ul><ul><li>Cairngorm, What we want? </li></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  12. 12. Cairngorm View Notification Strategies <ul><li>Presentation Model : </li></ul><ul><ul><li>Control view states (http://martinfowler.com/eaaDev/PresentationModel.html) </li></ul></ul><ul><li>Cairngorm UM Extension (extends UMEvent) : </li></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  13. 13. Flex Data Transfer Strategies <ul><li>Influencing factors for Data Transfer Strategy </li></ul><ul><ul><li>Data Intensive </li></ul></ul><ul><ul><li>Transfer over wire, network bandwidth </li></ul></ul><ul><ul><li>Static data centric </li></ul></ul><ul><ul><li>Media centric </li></ul></ul><ul><ul><li>User experience centric, fancy look & feel </li></ul></ul><ul><ul><li>Many more similar factors... </li></ul></ul><ul><li>Data Transfer Strategies </li></ul><ul><ul><li>Data Transfer Object (DTO/VO) Strategy </li></ul></ul><ul><ul><li>Flex-facade Strategy </li></ul></ul><ul><ul><li>Some-Adapter Strategy </li></ul></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  14. 14. Data Transfer Strategies: DTO/VO <ul><li>Data Transfer Object (DTO/VO) Strategy: </li></ul><ul><ul><li>May map domain entity on server side </li></ul></ul><ul><ul><li>Retrieve only required data </li></ul></ul><ul><ul><li>Avoid loading/transferring unnecessary data over wire </li></ul></ul><ul><li>Few Examples: </li></ul><ul><ul><li>Search Results DTOs </li></ul></ul><ul><ul><li>Loading of large images </li></ul></ul><ul><ul><li>Loading of heaving media </li></ul></ul><ul><ul><li>files </li></ul></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  15. 15. Data Transfer Strategies: Facade <ul><li>Flex-Facade Strategy: </li></ul><ul><ul><li>Client specific operations, flex client specific implementation </li></ul></ul><ul><ul><li>Performance optimization strategy for flex client only </li></ul></ul><ul><ul><li>To solve lazy loading and transaction related problem in case using hibernate. </li></ul></ul><ul><ul><li>Data transfer object conversion implementation </li></ul></ul><ul><ul><li>Minimum changes to domain entities and back end service to keep it scalable for other kind of clients. </li></ul></ul><ul><li>Few Examples: </li></ul><ul><ul><li>Flex client DTO conversion </li></ul></ul><ul><ul><li>To solve Hibernate loading problems </li></ul></ul><ul><ul><li>Expose only flex client specific services to public </li></ul></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  16. 16. Data Transfer Strategies: Adapters <ul><li>Adapters: Seamless persistence for ORM frameworks like JPA, Hibernate and Flex integration </li></ul><ul><ul><li>Gilead (http://noon.gilead.free.fr/gilead/) </li></ul></ul><ul><ul><li>Dphibernate (http://code.google.com/p/dphibernate/) </li></ul></ul><ul><ul><li>Dsadapters (http://code.google.com/p/dsadapters/) </li></ul></ul><ul><li>dphibernate: </li></ul><ul><ul><li>“ dpHibernate is a custom Flex Library and a custom BlazeDS Hibernate adapter that work together to give you support for lazy loading of hibernate objects from inside your flex applications. ” </li></ul></ul><ul><ul><li>Pros: No need to worry about persistence and loading problems. </li></ul></ul><ul><ul><li>Cons: Domain entities need to implement specifc interface, which can be done in flex-facade also. </li></ul></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  17. 17. Flex Enterprise Security using Chimp <ul><li>Enterprise Security : 3-A's </li></ul><ul><ul><li>Authentication </li></ul></ul><ul><ul><li>Authorization </li></ul></ul><ul><ul><li>Access Control </li></ul></ul><ul><li>Server Side Security : Spring Blazeds & Spring-Security </li></ul><ul><li>Flex Side Security : Chimp </li></ul><ul><li>Chimp </li></ul><ul><ul><li>“ Chimp is permission based filtering component for Adobe Flex and AIR. Applications implement Chimp by adding metadata within the Flex UI components. Based on the metadata it will remove components completely, enable/disable, and update visibility.” </li></ul></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  18. 18. Chimp : Getting Started <ul><li>SWC File : </li></ul><ul><ul><li>http://flexible-chimp.googlecode.com/files/chimp.swc </li></ul></ul><ul><li>Maven dependency entry </li></ul><ul><ul><li>Update Nexus Repo </li></ul></ul><ul><li>Flex Builder </li></ul><ul><ul><li>Update new metadata </li></ul></ul><ul><ul><li>entry </li></ul></ul><ul><li>Maven POM entry </li></ul><ul><ul><li>Update new metadata </li></ul></ul><ul><ul><li>entry included on maven build </li></ul></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  19. 19. Chimp : How to use it? <ul><li>Using permission as metadata inside view components: </li></ul><ul><li>Authentication: </li></ul><ul><li>Loading permission on flex side: </li></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  20. 20. Resources <ul><li>Jai's Weblog </li></ul><ul><ul><li>Flex then, now & tomorrow – From a java developer’s perspective </li></ul></ul><ul><ul><li>Flex: Cairngorm (MVC), SpringActionscript (IOC) and other Cairngorm Extensions </li></ul></ul><ul><ul><li>Flex: SpringActionscript (IOC) & SpringActionscript Cairngorm Extension Sample Code Examples </li></ul></ul><ul><ul><li>Flex: Cairngorm View Notifications Strategies, Responders from Command to View </li></ul></ul><ul><ul><li>Flex: Choosing the right flex data transfer strategy and designing the application accordingly </li></ul></ul><ul><ul><li>Flex: Enterprise security implementation using Chimp, permission based filtering component </li></ul></ul><ul><ul><li>Flex Tips&Tricks </li></ul></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  21. 21. ? Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  22. 22. Feedback!!! <ul><li>[email_address] </li></ul><ul><li>[email_address] </li></ul><ul><li>Follow me @ </li></ul><ul><li>http://twitter.com/jaibeermalik </li></ul><ul><li>http://friendfeed.com/jaibeermalik </li></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com

×