FATC UK - Real time collaborative Flex apps

1,711 views
1,648 views

Published on

Slides presented at Flex and the city in London. About LCDS and LCCS.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,711
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
24
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

FATC UK - Real time collaborative Flex apps

  1. 1. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Introduction to real-time collaboration with LiveCycle Michaël CHAIZE - Flash Platform Evangelist
  2. 2. ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Feel free to contact me 2 Michaël Chaize Flash Platform Evangelist My blog: www.RIAgora.com @mchaize
  3. 3. ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. RIA and technical challenges • Better response time • Light bandwidth • Less load on the server side • Less tests on the client side Web 1.0 application Rich Internet Application <page> <page> <page> <page> <page> <page> <page> <application> <data> SERVER SERVER CLIENT CLIENT
  4. 4. &
  5. 5. AdobeEvent.java JAVA VALUE OBJECT int idEvent int idUser String evtName String evtCity String evtCountry int evtAudience int evtDate EventService.java JAVA SERVICE CLASS List getEvents() AdobeEvent getEvent(idEvent) AdobeEvent getEventbyIDUser(idUser) List getActivityByuser() boolean update(event) boolean remove(event) boolean deleteEvent(event) AdobeActivityEvent.java JAVA VALUE OBJECT int idUser String userName int nbEvents TABLES DATABASE adobeusers adobevents listEvents.jsp JAVA SERVER PAGE <activity> <adobeEvent> </adobeEvent> <adobeEvent> </adobeEvent> </activity>
  6. 6. ADOBE FLEX 4 Remoting AMF
  7. 7. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. LiveCycle Data Services ES LiveCycle Data Services is a set of Java EE components and APIs used to: Create data-intensive RIAs with less code, less risk, and accelerated time to market due to an innovative client- server programming model Integrate RIAs with existing applications, back-end data, and JEE infrastructure Easily integrate RIAs with LiveCycle document and process services Enable collaboration, offline AIR and real-time data streaming applications to be built in a scalable and reliable manner with robust publish and subscribe messaging Generate PDF documents from RIAs that include graphical assets LiveCycle Data Services ES Data Management RPC Services Messaging Service Adapters Data Synchronization Off-line Applications Data Paging Web Service HTTP Service Remote Object Service Publish & Subscribe Collaboration Real Time Data Push Proxy Service Web-tier Compiler Portal Deployment RIA-PDF Generation LiveCycle ColdFusion Hibernate SQL JMS Java Custom…
  8. 8. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Blaze DS BlazeDS is a set of Java EE components and APIs, and a subset of LiveCycle Data Services: - Free and open source. - High performance data transfer for more responsive applications using AMF - Real-time server push over standard HTTP - Full pub/sub messaging that extends existing messaging infrastructure LiveCycle Data Services ES Data Management RPC Services Messaging Service Adapters Data Synchronization Off-line Applications Data Paging Web Service HTTP Service Remote Object Service Publish & Subscribe Collaboration Real Time Data Push Proxy Service Web-tier Compiler Portal Deployment RIA-PDF Generation LiveCycle ColdFusion Hibernate SQL JMS Java Custom…
  9. 9. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. LCDS.war ! Structure of the WAR file: ! +WEB-INF/classes To place your Java classes ! +WEB-INF/lib Hosts the JAVA libraries of LCDS ! +WEB-INF/flex Hosts the XML configuration files ! Remoting-config.xml Destinations to Java classes for remoting ! Messaging-config.xml Destinations for messaging ! Data-Management-config.xml Destinations to Java assemblers ! Proxy-config.xml Destinations to HTTP services ! Services-config.xml Channels configurations A file named « LCDS.war » is provided to start your Flex/Java projects.
  10. 10. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Java and ActionScript value objects Java VO ActionScript VO
  11. 11. 2008 Adobe Systems Incorporated. All Rights Reserved. Flex/Java classic architecture UI LAYER SERVER PRESENTATION /SERVICES/DAO LAYER DATABASE/ STORAGE LAYER LiveCycle Data Services Java servlet container (tomcat, WAS…) JDBC Web browser JAVA classes/services Webapp (WAR) RPC services Messaging Data Mgt WSDL AMF over HTTPs JAVA <-> AMF EventService.java public getEvents()
  12. 12. ADOBE FLEX 4 Messaging
  13. 13. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Channels Flex client Servlet-based endpoints AMF Endpoint HTTPEndpoint StreamingAMFEndpoint NIO-based endpoints NIOAMFEndpoint NIOHTTPEndpoint RTMPEndpoint MessageBrokerServlet Socket Server (LCDS only) Message Broker Remoting HTTPProxy Message Data Management
  14. 14. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Publish/Subscribe Messaging Message Service LiveCycle DS / Blaze DS Endpoint Publisher Subscriber !RTMP !AMF !HTTP !Client A !Client B !Client C
  15. 15. Quick Chat
  16. 16. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Data Push - Messaging Message Services LiveCycle DS / Blaze DS Adapter Y Adapter X Messaging System Y Messaging System X Endpoint JMS Provider JMS Adapter Publisher Subscriber !RTMP !AMF !HTTP
  17. 17. Real-Time Sales
  18. 18. ADOBE FLEX 4 Data Management Services
  19. 19. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Data Management Services LiveCycle Data Services Data Service DAO Object Adapter Hibernate Adapter JDBC Adapter Hibernate RDBMS CFC Adapter ColdFusion Endpoint Client A Client B Client C
  20. 20. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Data Management Benefits 1. Automatic Client to Middle-Tier Synchronization ! Change Tracking ! Automatic invocation of remote services 2. Highlander Principle: there is only one instance of a given entity in memory at any given time 3. Conflict resolution 4. Offline Synchronization (thanks to Adobe AIR) 5. Lazy loading 6. Paging 7. Cross-client synchronization
  21. 21. Data Management
  22. 22. LiveCycle Collaboration Service
  23. 23. 2010 Adobe Systems Incorporated. All Rights Reserved. 23 LCCS SDK Offers Both High-Level Components and Foundation Classes High-level Components Foundation Classes Pods RTC UI Components Shared Managers Shared Model Session (Connection, Authentication, Reconnect/Failover, RMI Routing) Audio Pub / SubWebcam Pub / Sub File Pub / Sub Shared Cursors Users AV Streams Files Room Pub / Sub Messaging + Permissions Shared Collection Baton Shared Property UserQueue Roster WhiteBoard Chat FileShare Note WebCam
  24. 24. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Server Integration ! Create and Delete Rooms ! Manage your Users’ Authentication ! Publish and Subscribe to Messages ! Variety of different Languages (some donated by our users, tx!): Java PHP ColdFusion Ruby C#Python Groovy
  25. 25. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Applications Templates and Provisioning ! Only OWNERs can add new nodes, meaning new collaborative capabilities to a room. ! We want to be able to spawn rooms on the fly (from our servers). ! But we don’t want our users to come in as OWNERs to set up the collaborative capabilities! That’s too much power! ! What we want is to set it up so that new rooms come with the collaborative capabilities we want, pre-installed. ! That’s why we have application templates!
  26. 26. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. External Authentication Your Server Your Client LiveCycle Collaboration Service Token Token Login / Session Token Fetch
  27. 27. BlazeDS LiveCycle Data Services TrialVersion > lcds-samples LiveCycle Collaboration Service .com > LCCS SDK > Samples
  28. 28. ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Feel free to contact me 28 Michaël Chaize Flash Platform Evangelist My blog: www.RIAgora.com @mchaize

×