SlideShare a Scribd company logo
1 of 28
Download to read offline
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Introduction to real-time collaboration with LiveCycle
Michaël CHAIZE - Flash Platform Evangelist
©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
©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
&
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>
ADOBE FLEX 4
Remoting AMF
© 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…
© 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…
© 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.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Java and ActionScript value objects
Java VO ActionScript VO
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()
ADOBE FLEX 4
Messaging
© 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
© 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
Quick Chat
© 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
Real-Time
Sales
ADOBE FLEX 4
Data Management
Services
© 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
© 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
Data
Management
LiveCycle Collaboration
Service
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
© 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
© 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!
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
External Authentication
Your Server
Your
Client
LiveCycle Collaboration
Service
Token
Token
Login / Session
Token Fetch
BlazeDS
LiveCycle Data Services
TrialVersion > lcds-samples
LiveCycle Collaboration Service
.com > LCCS SDK > Samples
©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

More Related Content

What's hot

Dynacache in WebSphere Portal Server
Dynacache in WebSphere Portal ServerDynacache in WebSphere Portal Server
Dynacache in WebSphere Portal ServerRohit Kelapure
 
Using windows azure to develop secure and deploy cloud applications Santiago ...
Using windows azure to develop secure and deploy cloud applications Santiago ...Using windows azure to develop secure and deploy cloud applications Santiago ...
Using windows azure to develop secure and deploy cloud applications Santiago ...Juan Pablo
 
Restful communication with Flex
Restful communication with FlexRestful communication with Flex
Restful communication with FlexChristian Junk
 
De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1ikewu83
 
Optimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEMOptimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEMGabriel Walt
 
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise DemandsWebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise DemandsIan Robinson
 
WebService-Java
WebService-JavaWebService-Java
WebService-Javahalwal
 
Silverlight Document Search Engine
Silverlight Document Search EngineSilverlight Document Search Engine
Silverlight Document Search EngineMustata Bogdan
 
Liberty dynacache ffw_iea_ste
Liberty dynacache ffw_iea_steLiberty dynacache ffw_iea_ste
Liberty dynacache ffw_iea_steRohit Kelapure
 
Windows Azure Queues and Windows Azure Service Bus Queues
Windows Azure Queues and Windows Azure Service Bus QueuesWindows Azure Queues and Windows Azure Service Bus Queues
Windows Azure Queues and Windows Azure Service Bus QueuesJuan Pablo
 
Taking the Application Server to Web Scale with Netflix Open Source Software
Taking the Application Server to Web Scale with Netflix Open Source SoftwareTaking the Application Server to Web Scale with Netflix Open Source Software
Taking the Application Server to Web Scale with Netflix Open Source SoftwareDavid Currie
 
Alfresco from an agile framework perspective
Alfresco from an agile framework perspectiveAlfresco from an agile framework perspective
Alfresco from an agile framework perspectiveJeff Potts
 
FileAct in Access
FileAct in AccessFileAct in Access
FileAct in AccessSWIFT
 
Decomposing applications for deployability and scalability #springone2gx #s12gx
Decomposing applications for deployability and scalability #springone2gx #s12gxDecomposing applications for deployability and scalability #springone2gx #s12gx
Decomposing applications for deployability and scalability #springone2gx #s12gxChris Richardson
 
VMUGIT UC 2013 - 05a VMware vFabric
VMUGIT UC 2013 - 05a VMware vFabricVMUGIT UC 2013 - 05a VMware vFabric
VMUGIT UC 2013 - 05a VMware vFabricVMUG IT
 

What's hot (20)

Dynacache in WebSphere Portal Server
Dynacache in WebSphere Portal ServerDynacache in WebSphere Portal Server
Dynacache in WebSphere Portal Server
 
Overview of web services
Overview of web servicesOverview of web services
Overview of web services
 
Using windows azure to develop secure and deploy cloud applications Santiago ...
Using windows azure to develop secure and deploy cloud applications Santiago ...Using windows azure to develop secure and deploy cloud applications Santiago ...
Using windows azure to develop secure and deploy cloud applications Santiago ...
 
Restful communication with Flex
Restful communication with FlexRestful communication with Flex
Restful communication with Flex
 
De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1
 
Optimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEMOptimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEM
 
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise DemandsWebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
 
WebService-Java
WebService-JavaWebService-Java
WebService-Java
 
Silverlight Document Search Engine
Silverlight Document Search EngineSilverlight Document Search Engine
Silverlight Document Search Engine
 
Liberty dynacache ffw_iea_ste
Liberty dynacache ffw_iea_steLiberty dynacache ffw_iea_ste
Liberty dynacache ffw_iea_ste
 
Drive dam
Drive damDrive dam
Drive dam
 
Windows Azure Queues and Windows Azure Service Bus Queues
Windows Azure Queues and Windows Azure Service Bus QueuesWindows Azure Queues and Windows Azure Service Bus Queues
Windows Azure Queues and Windows Azure Service Bus Queues
 
Taking the Application Server to Web Scale with Netflix Open Source Software
Taking the Application Server to Web Scale with Netflix Open Source SoftwareTaking the Application Server to Web Scale with Netflix Open Source Software
Taking the Application Server to Web Scale with Netflix Open Source Software
 
Alfresco from an agile framework perspective
Alfresco from an agile framework perspectiveAlfresco from an agile framework perspective
Alfresco from an agile framework perspective
 
Alfresco Architecture
Alfresco ArchitectureAlfresco Architecture
Alfresco Architecture
 
FileAct in Access
FileAct in AccessFileAct in Access
FileAct in Access
 
Decomposing applications for deployability and scalability #springone2gx #s12gx
Decomposing applications for deployability and scalability #springone2gx #s12gxDecomposing applications for deployability and scalability #springone2gx #s12gx
Decomposing applications for deployability and scalability #springone2gx #s12gx
 
JavaCro'14 - Vaadin web application integration for Enterprise systems – Pete...
JavaCro'14 - Vaadin web application integration for Enterprise systems – Pete...JavaCro'14 - Vaadin web application integration for Enterprise systems – Pete...
JavaCro'14 - Vaadin web application integration for Enterprise systems – Pete...
 
VMUGIT UC 2013 - 05a VMware vFabric
VMUGIT UC 2013 - 05a VMware vFabricVMUGIT UC 2013 - 05a VMware vFabric
VMUGIT UC 2013 - 05a VMware vFabric
 
Rahul Resume.doc
Rahul Resume.docRahul Resume.doc
Rahul Resume.doc
 

Viewers also liked

Viewers also liked (17)

Resized Presentation 2
Resized Presentation 2Resized Presentation 2
Resized Presentation 2
 
Os
OsOs
Os
 
Challenging employeesmodernsamplefinal
Challenging employeesmodernsamplefinalChallenging employeesmodernsamplefinal
Challenging employeesmodernsamplefinal
 
Boyarsky
BoyarskyBoyarsky
Boyarsky
 
Morrer Pela Pele
Morrer Pela PeleMorrer Pela Pele
Morrer Pela Pele
 
Executive Order: Modified Standarization Law 201
Executive Order: Modified Standarization Law 201Executive Order: Modified Standarization Law 201
Executive Order: Modified Standarization Law 201
 
Aom3
Aom3Aom3
Aom3
 
Spring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingSpring 3 - Der dritte Frühling
Spring 3 - Der dritte Frühling
 
我行·你行·大家行02
我行·你行·大家行02我行·你行·大家行02
我行·你行·大家行02
 
Ch02
Ch02Ch02
Ch02
 
Adobe LiveCycle Data Services
Adobe LiveCycle Data ServicesAdobe LiveCycle Data Services
Adobe LiveCycle Data Services
 
Flex presentation for Paris Android User group PAUG
Flex presentation for Paris Android User group PAUGFlex presentation for Paris Android User group PAUG
Flex presentation for Paris Android User group PAUG
 
DaWaK'07
DaWaK'07DaWaK'07
DaWaK'07
 
Larsine
LarsineLarsine
Larsine
 
Lidia Pivovarova
Lidia PivovarovaLidia Pivovarova
Lidia Pivovarova
 
Twitter User Hype Cycle
Twitter User Hype CycleTwitter User Hype Cycle
Twitter User Hype Cycle
 
Saxion 7 januari 2008
Saxion 7 januari 2008Saxion 7 januari 2008
Saxion 7 januari 2008
 

Similar to FATC UK - Real time collaborative Flex apps

Realizing Great Customer Experiences with Adobe® LiveCycle® ES3
Realizing Great Customer Experiences with Adobe® LiveCycle® ES3Realizing Great Customer Experiences with Adobe® LiveCycle® ES3
Realizing Great Customer Experiences with Adobe® LiveCycle® ES3Craig Randall
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devsguest0a62e8
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Osconvijayrvr
 
Silverlight Briefing Deck
Silverlight  Briefing  DeckSilverlight  Briefing  Deck
Silverlight Briefing Deckllangit
 
Developing RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexDeveloping RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexMatthias Zeller
 
Vijay Mix Presentation
Vijay Mix PresentationVijay Mix Presentation
Vijay Mix Presentationvijayrvr
 
Flex And Java Integration
Flex And Java IntegrationFlex And Java Integration
Flex And Java Integrationrssharma
 
Flex And Java Integration
Flex And Java IntegrationFlex And Java Integration
Flex And Java Integrationravinxg
 
Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0guest642dd3
 
Windows Server 2008 R2 Dev Session 03
Windows Server 2008 R2 Dev Session 03Windows Server 2008 R2 Dev Session 03
Windows Server 2008 R2 Dev Session 03Clint Edmonson
 
Web Center Services and Framework
Web Center Services and  FrameworkWeb Center Services and  Framework
Web Center Services and FrameworkJaime Cid
 
Teched India Vijay Interop Track
Teched India Vijay Interop TrackTeched India Vijay Interop Track
Teched India Vijay Interop Trackvijayrvr
 
Build Apps Using Dynamic Languages
Build Apps Using Dynamic LanguagesBuild Apps Using Dynamic Languages
Build Apps Using Dynamic LanguagesWes Yanaga
 
Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Bluegrass Digital
 
Flex Air Intro
Flex Air IntroFlex Air Intro
Flex Air IntroJUG Genova
 

Similar to FATC UK - Real time collaborative Flex apps (20)

Realizing Great Customer Experiences with Adobe® LiveCycle® ES3
Realizing Great Customer Experiences with Adobe® LiveCycle® ES3Realizing Great Customer Experiences with Adobe® LiveCycle® ES3
Realizing Great Customer Experiences with Adobe® LiveCycle® ES3
 
What is Adobe Flex ?
What is Adobe Flex  ?What is Adobe Flex  ?
What is Adobe Flex ?
 
Adobe® Flex™
Adobe® Flex™Adobe® Flex™
Adobe® Flex™
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
 
air
airair
air
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 
Silverlight Briefing Deck
Silverlight  Briefing  DeckSilverlight  Briefing  Deck
Silverlight Briefing Deck
 
Developing RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexDeveloping RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe Flex
 
Vijay Mix Presentation
Vijay Mix PresentationVijay Mix Presentation
Vijay Mix Presentation
 
Flex And Java Integration
Flex And Java IntegrationFlex And Java Integration
Flex And Java Integration
 
Flex And Java Integration
Flex And Java IntegrationFlex And Java Integration
Flex And Java Integration
 
Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0
 
Windows Server 2008 R2 Dev Session 03
Windows Server 2008 R2 Dev Session 03Windows Server 2008 R2 Dev Session 03
Windows Server 2008 R2 Dev Session 03
 
Web Center Services and Framework
Web Center Services and  FrameworkWeb Center Services and  Framework
Web Center Services and Framework
 
Teched India Vijay Interop Track
Teched India Vijay Interop TrackTeched India Vijay Interop Track
Teched India Vijay Interop Track
 
Build Apps Using Dynamic Languages
Build Apps Using Dynamic LanguagesBuild Apps Using Dynamic Languages
Build Apps Using Dynamic Languages
 
Blaze Ds Slides
Blaze Ds SlidesBlaze Ds Slides
Blaze Ds Slides
 
Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015
 
Flex Air Intro
Flex Air IntroFlex Air Intro
Flex Air Intro
 
Adobe Flex
Adobe FlexAdobe Flex
Adobe Flex
 

More from Michael Chaize

Typography on the Web - FITC Amsterdam 2015
Typography on the Web - FITC Amsterdam 2015Typography on the Web - FITC Amsterdam 2015
Typography on the Web - FITC Amsterdam 2015Michael Chaize
 
FITC Amsterdam 2015 - keynote-adobe - We are mutants
FITC Amsterdam 2015 -  keynote-adobe - We are mutantsFITC Amsterdam 2015 -  keynote-adobe - We are mutants
FITC Amsterdam 2015 - keynote-adobe - We are mutantsMichael Chaize
 
Multimania - Web Design Trends
Multimania - Web Design TrendsMultimania - Web Design Trends
Multimania - Web Design TrendsMichael Chaize
 
Feweb - Adobe et le Web Design
Feweb - Adobe et le Web DesignFeweb - Adobe et le Web Design
Feweb - Adobe et le Web DesignMichael Chaize
 
FITC 2014 Amsterdam - Adobe Apps for Web Designers in 2014
FITC 2014 Amsterdam - Adobe Apps for Web Designers in 2014FITC 2014 Amsterdam - Adobe Apps for Web Designers in 2014
FITC 2014 Amsterdam - Adobe Apps for Web Designers in 2014Michael Chaize
 
Adobe gaming flash gamm michael
Adobe gaming flash gamm michaelAdobe gaming flash gamm michael
Adobe gaming flash gamm michaelMichael Chaize
 
Max2013 rejected apps presentation
Max2013   rejected apps presentationMax2013   rejected apps presentation
Max2013 rejected apps presentationMichael Chaize
 
Oop2012 mobile workshops
Oop2012 mobile workshopsOop2012 mobile workshops
Oop2012 mobile workshopsMichael Chaize
 
Oop2012 keynote Design Driven Development
Oop2012 keynote Design Driven DevelopmentOop2012 keynote Design Driven Development
Oop2012 keynote Design Driven DevelopmentMichael Chaize
 
Xplatform mobile development
Xplatform mobile developmentXplatform mobile development
Xplatform mobile developmentMichael Chaize
 
One backend multiple Screens
One backend multiple ScreensOne backend multiple Screens
One backend multiple ScreensMichael Chaize
 
Flash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex babyFlash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex babyMichael Chaize
 
Back From MAX in London for CQ5 users
Back From MAX in London for CQ5 usersBack From MAX in London for CQ5 users
Back From MAX in London for CQ5 usersMichael Chaize
 
Enterprise Flex applications on tablet devices
Enterprise Flex applications on tablet devicesEnterprise Flex applications on tablet devices
Enterprise Flex applications on tablet devicesMichael Chaize
 
Pocket agile challenge adobe mobile v1.0.pptx
Pocket agile   challenge adobe mobile v1.0.pptxPocket agile   challenge adobe mobile v1.0.pptx
Pocket agile challenge adobe mobile v1.0.pptxMichael Chaize
 
Adobe et la stratégie multi-écrans
Adobe et la stratégie multi-écransAdobe et la stratégie multi-écrans
Adobe et la stratégie multi-écransMichael Chaize
 
Breizh camp adobe flex et les mobiles
Breizh camp   adobe flex et les mobilesBreizh camp   adobe flex et les mobiles
Breizh camp adobe flex et les mobilesMichael Chaize
 
Flex 4.5 and mobile development
Flex 4.5 and mobile developmentFlex 4.5 and mobile development
Flex 4.5 and mobile developmentMichael Chaize
 

More from Michael Chaize (20)

Typography on the Web - FITC Amsterdam 2015
Typography on the Web - FITC Amsterdam 2015Typography on the Web - FITC Amsterdam 2015
Typography on the Web - FITC Amsterdam 2015
 
FITC Amsterdam 2015 - keynote-adobe - We are mutants
FITC Amsterdam 2015 -  keynote-adobe - We are mutantsFITC Amsterdam 2015 -  keynote-adobe - We are mutants
FITC Amsterdam 2015 - keynote-adobe - We are mutants
 
Multimania - Web Design Trends
Multimania - Web Design TrendsMultimania - Web Design Trends
Multimania - Web Design Trends
 
Feweb - Adobe et le Web Design
Feweb - Adobe et le Web DesignFeweb - Adobe et le Web Design
Feweb - Adobe et le Web Design
 
FITC 2014 Amsterdam - Adobe Apps for Web Designers in 2014
FITC 2014 Amsterdam - Adobe Apps for Web Designers in 2014FITC 2014 Amsterdam - Adobe Apps for Web Designers in 2014
FITC 2014 Amsterdam - Adobe Apps for Web Designers in 2014
 
Adobe gaming flash gamm michael
Adobe gaming flash gamm michaelAdobe gaming flash gamm michael
Adobe gaming flash gamm michael
 
Max2013 rejected apps presentation
Max2013   rejected apps presentationMax2013   rejected apps presentation
Max2013 rejected apps presentation
 
Oop2012 mobile workshops
Oop2012 mobile workshopsOop2012 mobile workshops
Oop2012 mobile workshops
 
Oop2012 keynote Design Driven Development
Oop2012 keynote Design Driven DevelopmentOop2012 keynote Design Driven Development
Oop2012 keynote Design Driven Development
 
Montpellier - Flex UG
Montpellier - Flex UGMontpellier - Flex UG
Montpellier - Flex UG
 
Xplatform mobile development
Xplatform mobile developmentXplatform mobile development
Xplatform mobile development
 
One backend multiple Screens
One backend multiple ScreensOne backend multiple Screens
One backend multiple Screens
 
Flash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex babyFlash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex baby
 
Back From MAX in London for CQ5 users
Back From MAX in London for CQ5 usersBack From MAX in London for CQ5 users
Back From MAX in London for CQ5 users
 
Flex mobile for JUG
Flex mobile for JUGFlex mobile for JUG
Flex mobile for JUG
 
Enterprise Flex applications on tablet devices
Enterprise Flex applications on tablet devicesEnterprise Flex applications on tablet devices
Enterprise Flex applications on tablet devices
 
Pocket agile challenge adobe mobile v1.0.pptx
Pocket agile   challenge adobe mobile v1.0.pptxPocket agile   challenge adobe mobile v1.0.pptx
Pocket agile challenge adobe mobile v1.0.pptx
 
Adobe et la stratégie multi-écrans
Adobe et la stratégie multi-écransAdobe et la stratégie multi-écrans
Adobe et la stratégie multi-écrans
 
Breizh camp adobe flex et les mobiles
Breizh camp   adobe flex et les mobilesBreizh camp   adobe flex et les mobiles
Breizh camp adobe flex et les mobiles
 
Flex 4.5 and mobile development
Flex 4.5 and mobile developmentFlex 4.5 and mobile development
Flex 4.5 and mobile development
 

Recently uploaded

Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInThousandEyes
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdfThe Good Food Institute
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kitJamie (Taka) Wang
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud DataEric D. Schabell
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfTejal81
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1DianaGray10
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIVijayananda Mohire
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applicationsnooralam814309
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
Introduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationIntroduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationKnoldus Inc.
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)codyslingerland1
 
Where developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingWhere developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingFrancesco Corti
 
How to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxHow to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxKaustubhBhavsar6
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameKapil Thakar
 
Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...DianaGray10
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0DanBrown980551
 
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveKeep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveIES VE
 
Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Muhammad Tiham Siddiqui
 

Recently uploaded (20)

Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kit
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAI
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applications
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Introduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationIntroduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its application
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)
 
Where developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingWhere developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is going
 
How to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxHow to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptx
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First Frame
 
Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0
 
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveKeep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
 
Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)
 

FATC UK - Real time collaborative Flex apps

  • 1. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Introduction to real-time collaboration with LiveCycle Michaël CHAIZE - Flash Platform Evangelist
  • 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. ©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. &
  • 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>
  • 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. © 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. © 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. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Java and ActionScript value objects Java VO ActionScript VO
  • 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()
  • 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. © 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
  • 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
  • 18. ADOBE FLEX 4 Data Management Services
  • 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. © 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
  • 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. © 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. © 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. © 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. BlazeDS LiveCycle Data Services TrialVersion > lcds-samples LiveCycle Collaboration Service .com > LCCS SDK > Samples
  • 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