LiveCycle Workspace ES2 is a Flex application that requires Flash Player to run in a browser. It communicates with the LiveCycle Server using Adobe’s Action Message Format v3.0 (AMF3) protocol, which uses XML messages encapsulated in HTTP. It also uses HTTP polling (every 3 seconds) using HTTP Persistent Connections looking for server responses.
For LiveCycle applications with a large number of Workspace users (100s), this HTTP polling behaviour can cause significant load on the server. Many load test tools such as HP LoadRunner do not completely understand AMF3. Those that do (like Borland SilkPerformer) still do not handle HTTP polling well, making load test scripts bloat. Neotys NeoLoad understands AMF3 and handles script bloat caused by HTTP polling.
Browsers also limit the maximum number of simultaneous connections to a particular domain. See this Google Chrome thread for details. To configure this for Internet Explorer, see this Microsoft Knowledge Base article.
For network administrators trying to configure firewall policies or a load-balancer for LiveCycle Workspace ES2, and for QA/QE Engineers trying to load test a Workspace-based LiveCycle application, a detailed understanding of these concepts and protocols are necessary.
In addition to AMF3, this presentation also discusses the concepts of client “channels” and the corresponding server-side “endpoints”. It also discusses Adobe’s less firewall-friendly but faster Real Time Messaging Protocol (RTMP) which is exclusive to LiveCycle Data Services (LCDS). It is not available in the free, open-source version of LCDS (BlazeDS).
Here’s what a LiveCycle Workspace ES2 AMF3 message looks like: