Flex Camp Boston 2007: Using ColdFusion with LCDS
Rough draft notes
Tom Jordahl is talking about Using ColdFusion with LifeCycle Data Services.
Why Data Services?
Powerful back end. Talk to ColdFusion. CFML to manage complex data.
LCDS with CF 8 installed by default.
Messaging: Publish & Subscribe, asynchronous communication, message header and body (can contain complex types CF components or ActionScript types), CF can both produce and consume.
Why messaging?
Real-time notification to your Flex application.
Triger long running server side processes
Notify multiple clients at once
messaging-config.xml contains the data along with reasonable defaults.
Easy to have CF both handle and publish messages that will be broadcast to all clients that are listening.
Client can do HTTP pooling to get around RTMP firewall restrictions.
Data Management
Distributed data management, data replication and synchronization, able to manage large data, nested data one-to-one or one-to-many, has some occasionally connected clients.
All clients that are looking at data will get notifications based on updates that are made. The changes are batched up.
Why Data Management?
Easily synchronization data between clients with conflict detection, data replication, and performance optimization (such as data paging and lazy loading).
Assemblers manage the data. Can be written as ColdFusion Components or Java, leverage Hibernate. Four main mehtods: Fill, Get, Sync, Count.
CF 8 extension for Eclipse are freely available. Gives you RDS (Remote Development Service). Includes query builder. Automated creation of ColdFusion Components and ActionScript classes related to database object management including the Assembler.
Special CF channels: cf-polling-amf (work around firewalls), cf-rtmp (off by default).
Possible to have existing Java or CF applications notify clients of data changes using new Event Gateway.
Able to configure that certain data pieces don't trigger changes being published as a way to optimize changes.
JSP tag to compile MXML applications on the server available on Labs.
All data transmitted via binary AMF3 protocol.
www.adobe.com/go/lcds_devguide
www.adobe.com/go/lcds_javadoc