Introdução à Classificação Conceitual Prof. Francisco de A. T. de Carvalho [email protected].
FATC UK - Real time collaborative Flex apps
-
Upload
michael-chaize -
Category
Technology
-
view
1.589 -
download
0
description
Transcript of FATC UK - Real time collaborative Flex apps
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con�dential.
Introduction to real-time collaboration with LiveCycleMichaël CHAIZE - Flash Platform Evangelist
©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con�dential.
Feel free to contact me
2
Michaël ChaizeFlash Platform Evangelist
My blog: www.RIAgora.com
@mchaize
©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con�dential.
RIA and technical challenges
• Be�er 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
&
AdobeEvent.java
JAVA VALUE OBJECT
int idEventint idUserString evtNameString evtCityString evtCountryint evtAudienceint 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 idUserString userNameint nbEvents
TABLES
DATABASE
adobeusersadobevents
listEvents.jsp
JAVA SERVER PAGE
<activity><adobeEvent></adobeEvent><adobeEvent></adobeEvent>
</activity>
ADOBE FLEX 4
Remoting AMF
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con�dential.
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, o�ine 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
ServiceAdapters
Data Synchronization
O�-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…
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con�dential.
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
ServiceAdapters
Data Synchronization
O�-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…
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con�dential.
LCDS.war
! Structure of the WAR �le:
! +WEB-INF/classes To place your Java classes
! +WEB-INF/lib Hosts the JAVA libraries of LCDS
! +WEB-INF/�ex Hosts the XML con�guration �les! Remoting-con�g.xml Destinations to Java classes for remoting
! Messaging-con�g.xml Destinations for messaging
! Data-Management-con�g.xml Destinations to Java assemblers
! Proxy-con�g.xml Destinations to HTTP services
! Services-con�g.xml Channels con�gurations
A �le named « LCDS.war » is provided to start your Flex/Java projects.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con�dential.
Java and ActionScript value objects
Java VO ActionScript VO
2008 Adobe Systems Incorporated. All Rights Reserved.
Flex/Java classic architecture
UI LAYER
SERVERPRESENTATION/SERVICES/DAOLAYER
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()
ADOBE FLEX 4
Messaging
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con�dential.
Channels
Flex client
Servlet-based endpoints
AMF Endpoint
HTTPEndpoint
StreamingAMFEndpoint
NIO-based endpoints
NIOAMFEndpoint
NIOHTTPEndpoint
RTMPEndpoint
MessageBrokerServlet
Socket Server (LCDS only)
MessageBroker
Remoting
HTTPProxy
Message
Data Management
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con�dential.
Publish/Subscribe Messaging
Message
Service
LiveCycle DS / Blaze DS
Endpoint
PublisherSubscriber
!RTMP
!AMF
!HTTP
!Client A
!Client B
!Client C
Quick Chat
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con�dential.
Data Push - Messaging
Message
Services
LiveCycle DS / Blaze DS
Adapter Y
Adapter X
Messaging
System Y
Messaging
System X
EndpointJMS
ProviderJMS Adapter
PublisherSubscriber
!RTMP
!AMF
!HTTP
Real-TimeSales
ADOBE FLEX 4
Data ManagementServices
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con�dential.
Data Management Services
LiveCycle Data Services
DataService
DAOObjectAdapter
HibernateAdapter
JDBCAdapter
Hibernate
RDBMS
CFCAdapter ColdFusion
Endpoint
Client A
Client B
Client C
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con�dential.
Data Management Bene�ts
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. Con�ict resolution
4. O�ine Synchronization (thanks to Adobe AIR)
5. Lazy loading
6. Paging
7. Cross-client synchronization
DataManagement
LiveCycle CollaborationService
2010 Adobe Systems Incorporated. All Rights Reserved. 23
LCCS SDK O�ers 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 RoomPub / Sub Messaging + Permissions
Shared Collection Baton
Shared Property UserQueue
Roster WhiteBoard Chat FileShare Note WebCam
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con�dential.
Server Integration
! Create and Delete Rooms
! Manage your Users’ Authentication
! Publish and Subscribe to Messages
! Variety of di�erent Languages (some donated by our users, tx!):
Java PHP ColdFusion
Ruby C#Python Groovy
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con�dential.
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 �y (from our servers).
! But we don’t want our users to come in as OWNERs to set up the collaborative capabilities! �at’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.
! �at’s why we have application templates!
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con�dential.
External Authentication
Your Server
Your Client
LiveCycle Collaboration Service
Token
Token
Login / Session
Token Fetch
BlazeDS
LiveCycle Data ServicesTrial Version > lcds-samples
LiveCycle Collaboration Service.com > LCCS SDK > Samples
©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con�dential.
Feel free to contact me
28
Michaël ChaizeFlash Platform Evangelist
My blog: www.RIAgora.com
@mchaize