Jeff Vroom: Interview about Adobe Flex Data Server
Jeff Vroom is the Principal Scientist in Flex Data Services Team. The interview presentation is here.
The other thing that Flex Data Services provide is the data management facility, which is a declarative persistence framework that lets you serialize graphs of objects to the client and then it detects changes automatically as you modify those objects, builds up a set of change lists and when you commit your changes, those changes are sent to the server where we do conflict detection. If there are no conflicts and the server can accept the changes and it pushes the data out to the other clients, which are looking at the same data sets. So, this kind of eliminates a lot of glue code that you need when building kind of thick client-based applications. In Flex we actually support two protocols. There is HTTP and RTMP. The HTTP of course now is a one-way protocol where the client always initiates the call so for that we do use a polling mechanism. With RTMP, it’s a protocol that has been used by the Flash Player for quite a while to do audio, video and data synchronization and it provides a persistent socket that the client keeps open with the server, to analyze the server it just naturally push messages to the client in real time. Flex Data Services provides an abstraction layer, so the client does not really need to know, which protocol is he using and it actually fails over from one to the other, so that technique actually makes it easy to build applications that support push even when the user might be applying a firewall and can’t use RTMP. Flex does support clustering technology very well and when you are starting to deal with client-to-client connectivity, the issues involved include being able to have one client connected to one cluster server be able to push messages to clients that are connected to other servers. So we have technology so that last cluster remembers to exchange messages and push them out to the peers. With the data management services there are also challenges in being able to detect what clients are asked first. Caching certain versions of the data is when one client changes the data, the other clients that are connected to other servers also see those changes and we also support that well. So, the Flex technology should scale pretty well even for the the largest enterprise applications.
























