Yesterday evening I presented a session on data services at a Flex Camp in Toronto. I ran through a series of demos (and ran over time, of course) and several attendees asked (repeatedly, both during the session and afterwards) for me to clarify which needed Data Services and which didn’t, as well as which needed LiveCycle Data Services versus those which could use the free open-source BlazeDS.
And so, in the order that they were presented:
- Basic HTTP calls via
– nothing special needed on the back-end, any server or app that can respond to HTTP calls can be invoked this way, and this is definitely the crudest (and generally least preferred) form of integration.
- Web Service calls via
– nothing special needed on the back-end, if you have code that is exposed as a Web Service, then the Flash Player can invoke it (although this generally does not perform as well as the next option).
- Flash Remoting via
– this obviously requires a back-end that can respond to AMF requests, if you are a ColdFusion user then you have Flash Remoting built-in and so nothing more is needed, if you are a Java user then you’ll want to install data services to give you this functionality (either BlazeDS or LiveCycle DS will do), and if you are using some other back-end then you’ll want to look at community and 3rd party offerings (as a rule, use this option over Web Services).
- Messaging via
and – this is what powered the chat apps and real-data push updates, and this does require data services on the back-end, and either BlazeDS or LiveCycle DS (including the LiveCycle integrated into ColdFusion 8) will do.
- Data management and synchronization via
– this is what powered the synchronized data editing screens (including pushing updates, conflict resolution, auto-commits, and more) and this requires LiveCycle DS on the back-end (sorry, BlazeDS won’t do for this one).