Your SlideShare is downloading. ×
0
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Enterprise Flex Using Cairngorm

4,300

Published on

Enterprise Flex Using Cairngorm

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,300
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
9
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. <ul><li>Enterprise Flex </li></ul><ul><li>using Cairngorm </li></ul>Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  • 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. 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. 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. 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. Cairngorm: Micro Architecture Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  • 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. 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. SpringActionscript: Sample Code Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. ? Jaibeer Malik Enterprise Flex using Cairngorm http://jaibeermalik.wordpress.com
  • 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

×