Flex/AMF3 Overview

AMF3 (Action Message Format, version 3) is a binary protocol developed by Adobe Systems. It is primarily used for remote procedure calls by Flex applications.

A primary goal in the design of AMF3 is that transmitted data be as small as possible. This requirement presents a challenge for protocol customization with Silk Performer. To make the AMF3 protocol customizable and human-readable, Silk Performer transforms AMF3 traffic into XML during script recording, and transforms the XML back into AMF3 format during replay. This means that you do not have to read binary AMF3 data in hex string format. Rather, in recorded scripts and TrueLogs, you see only XML-formatted data.

AMF0 and AMF3 support are tightly integrated (in fact AMF3 uses AMF0’s message structure). Each AMF3 message begins as an AMF0 message (even when they contain the version "3" in the first two bytes of the data stream). A special AMF0 data type marker indicates where AMF0 encoding ends and AMF3 encoding begins.

Understanding Flex

According to Adobe Systems,

"Flex is a free, open source framework for building highly interactive, expressive web applications that deploy consistently on all major browsers, desktops and operating systems. It provides a modern, standards-based language and programming model that supports common design patterns. MXML, a declarative XML-based language, is used to describe UI layout and behaviors, and ActionScript 3, a powerful OO programming language is used to create client logic. Flex also includes a rich component library with over 100 proven, extensible UI components for creating RIAs, as well as an interactive Flex application debugger.

Rich Internet applications created with Flex can run in the browser using the ubiquitous Adobe Flash® Player software or on the desktop on Adobe AIR™. This enables Flex applications to run consistently across all major browsers and across operating systems on the desktop. And using Adobe AIR, the cross-operating system runtime, Flex applications can now access local data and system resources on the desktop.

You can accelerate application development with Adobe Flex Builder 3, a highly productive, Eclipse™ based development environment, and Adobe Live Cycle Data Services ES, a set of advanced data services that can be used in Flex development. Both of these products are available for purchase."

Understanding Advanced Flex Data Services

According to Adobe ,

"Adobe LiveCycle™ Data Services ES provides a comprehensive set of data-enabling features for using data in RIAs. It enables RIAs to talk to back-end data and business logic in a faster, more efficient operating model. LiveCycle Data Services ES also enables seamless integration with LiveCycle ES business processes and document services.

BlazeDS is a free, open source project providing Flex Remoting and Messaging to all developers. Flex Remoting provides a binary, serialized data transport format called the ActionScript Message Format (AMF) to provide a fast, efficient means of transporting data to your RIA which accelerates application performance. Flex Remoting also makes it fast and easy for developers to connect to back-end business logic and data. Flex Messaging adds realtime data push and publish/subscribe, both powerful capabilities now made easy. Using BlazeDS, you can start using these powerful Java server integration features for free, then subscribe to the LiveCycle Data Services Community Edition for certified builds and support, or upgrade to the full LiveCycle Data Services ES Enterprise edition for a complete server solution."