fatc uk - real time collaborative flex apps

28
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Introduction to real-time collaboration with LiveCycle Michaël CHAIZE - Flash Platform Evangelist

Upload: michael-chaize

Post on 20-May-2015

1.587 views

Category:

Technology


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: 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

Page 2: FATC UK - Real time collaborative Flex apps

©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

Page 3: FATC UK - Real time collaborative Flex apps

©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

Page 4: FATC UK - Real time collaborative Flex apps

&

Page 5: FATC UK - Real time collaborative Flex apps

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>

Page 6: FATC UK - Real time collaborative Flex apps

ADOBE FLEX 4

Remoting AMF

Page 7: FATC UK - Real time collaborative Flex apps

© 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…

Page 8: FATC UK - Real time collaborative Flex apps

© 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…

Page 9: FATC UK - Real time collaborative Flex apps

© 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.

Page 10: FATC UK - Real time collaborative Flex apps

© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con�dential.

Java and ActionScript value objects

Java VO ActionScript VO

Page 11: FATC UK - Real time collaborative Flex apps

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()

Page 12: FATC UK - Real time collaborative Flex apps

ADOBE FLEX 4

Messaging

Page 13: FATC UK - Real time collaborative Flex apps

© 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

Page 14: FATC UK - Real time collaborative Flex apps

© 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

Page 15: FATC UK - Real time collaborative Flex apps

Quick Chat

Page 16: FATC UK - Real time collaborative Flex apps

© 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

Page 17: FATC UK - Real time collaborative Flex apps

Real-TimeSales

Page 18: FATC UK - Real time collaborative Flex apps

ADOBE FLEX 4

Data ManagementServices

Page 19: FATC UK - Real time collaborative Flex apps

© 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

Page 20: FATC UK - Real time collaborative Flex apps

© 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

Page 21: FATC UK - Real time collaborative Flex apps

DataManagement

Page 22: FATC UK - Real time collaborative Flex apps

LiveCycle CollaborationService

Page 23: FATC UK - Real time collaborative Flex apps

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

Page 24: FATC UK - Real time collaborative Flex apps

© 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

Page 25: FATC UK - Real time collaborative Flex apps

© 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!

Page 26: FATC UK - Real time collaborative Flex apps

© 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

Page 27: FATC UK - Real time collaborative Flex apps

BlazeDS

LiveCycle Data ServicesTrial Version > lcds-samples

LiveCycle Collaboration Service.com > LCCS SDK > Samples

Page 28: FATC UK - Real time collaborative Flex apps

©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