As a, sort of, justification for sending me to Max in Barcelona I have been asked to give a presentation on some of the things that I learned, heard about or otherwise experienced (minus the huge amounts of alcohol I consumed).
The four things that immediately came to mind are: CF8, AIR, Flex 3 and LCDS. Each one of these subjects really deserves their own presentation but I need to fit as much info into as little time as possible and still manage to ignite a fire under certain peoples butts and get them excited about this stuff
and hopefully be asked to present more detailed info.
While working on my presentation on Coldfusion, LiveCycle Data Services and Flex a question kept popping up. When should we use LCDS?
If you have looked at LDS you know that for each "object" you need to set up a destination in the data-management-config.xml file thats sets up the channel to communicate over. This allows two-way asynchronous communication between your front end (Flex) and back end (CF) objects. Additionally for each object you need to have and object.cfc with all your getters and setters, objectDAO.cfc that does all the data access and objectAssembler.cfc which is the interface to LDS. Thankfully there is a wizard that you can use to help create your basic files but that's not the point. Lets forget about how much "work" is involved in setting up and architecting the application for a moment and think about why you would actually need to use LDS in the first place. So I came up with the following reasons.
The Reasons to Use LCDS
- You need real time notifications/updates pushed to the client. You need to have conflict detection (client 1 updates record that client 2 just updated).
- You want asynchronous communication between the client and the server.
- You have "occasionally connected" clients (AIR) (not really an argument at this point as most of the folks haven't really heard of AIR..sigh).
In the above list the first three items are certainly great arguments for LCDS. Its hard to argue with the benefits to using LCDS especially in data critical applications where it is possible that one user updates a record with stale data. And naturally that ability to keep every clients data actual is also a big positive.
But we shouldn't get carried away either. We really need to think about what parts of the application need to have the data managed by LCDS and which parts can just take advantage of good old RPC (Flash Remoting). This is naturally where the correct architecting of the project comes in to play, and what technology to use and when.
In the end I think there are some definite instances where LCDS would be useful in projects were are currently working on the problem is of course that the technology decisions have already been made.
The real challenge to my presentation is to not only introduce LCDS and provide good reasons to use it, I also have to, at the same time, convince the powers that be that Flex is a viable product for us to use for our front-ends. And of course AIR to provide our customers with the ability to take their applications off-line.
All that in 60 minutes or less. Piece of cake!
No recent entries.