Attest Review
Couple of days back I came to know about an AIR application which helps you prepare for Flex Certification. It’s called Attest. The app is free for personal use and I think it’s a great help for anyone who is serious about preparing for Flex Certification.
I have downloaded it and checked it out. More details about the app are below:
Application site: http://software.pxldesigns.com/attest/
or go to Download Page directly
I think David and Holly did a great job with this app.

Day # 3 – Introduction to ActionScript – Part 1
- ActionScript 3.0 is compliant with ECMA-262 specification & leverages parts of ECMAScript edition 4 spec
- There are 3 tiers of ActionScript APIs

- Ways ActionScript could be used in Flex
- Inline within MXML tags
- Nested within MXML tags
- In MXML scripts
- Within ActionScript classes
- Since ActionScript may use special characters otherwise interpreted by MXML compiler, we use CDATA block
<mx:Script> <![CDATA [ ----- - - - - ]]> </mx:Script>
- ActionScript class files are text files that use the file extension .as
- MXML gets converted into ActionScript during compilation
- MXML tag === equivalent to === creating a component instance.
<mx:Button id="button"/> === var button:Button = new Button();
- MXML component tags correspond to ActionScript classes
- MXML document themselves are essentially ActionScript classes
- An Application document is a class that extends mx.core.Application
- Code within MXML script === placing code in the class body
- Variable declaration within MXML scripts === properties of class
- Function within MXML scripts === methods of class
- Packages groups together classes so that you can ensure uniqueness of scope.

- ActionScript allows you to reference a class by the shorthand notation if you first add an import statement
- ActionScript class consists of -
Class Package declaration
Class declaration
- Each ActionScript class must be defined in it’s own file.
- Name of the file should be same as class name
- A package name in ActionScript corresponds to the directory structure within which the file is stored
- Class names start with a capital letter by ‘Convention’
- It’s possible to declare a variable without a datatype. (Remember Javascript?)
- Flex applications provide both runtime & compile time type checking
- Variables defined within a function inside a class are ONLY available within the function
- Variables defined in a class but outside any functions become properties of that class. They are available throughout the class
- Access Modifiers

- In addition to this we also have ‘static’ modifier which says that a property is directly accessible from the class rather than the instances.
Day # 2 – Introduction to Flex – Part 2 – Primer on MXML
- In this post we will take a brief look at MXML.
- MXML is a declarative language to create UI for Flex applications.
- MXML can only appear in a MXML Document
- A MXML document could be of 2 types:
- MXML Application – the root node is ‘Application’
- MXML Component – the root node is any other standard Flex Component.
- There is a XML declaration on every MXML document.
<? xml version=”1.0″ encoding=”UTF-8″ ?>
- XML declaration is NOT strictly required by Flex compiler, but is included for well formed-ness.
- All Flex applications must have one MXML application document.
- Namespaces are used to group elements, Flex libraries.
- The entire Flex framework is written in ActionScript classes and bunch of MXML component documents that are stored in external libraries within .swc
- Namespace maps a tag(used in a MXML document) to a ActionScript Class or MXML Component
Namespaces explained visually.

- Categories of Flex Components

- How do we set component properties?

- There are 2 ways you add interactivity to MXML
- Adding event handling code
- Adding data binding code
Flex 3 Exam Details
Adobe has release more derails about Flex 3 certification. Now it has added Adobe AIR to the certification. Here are some details:
Q. What is the certification exam called?
A. Adobe Flex 3 with AIR, Exam # 9A0-082
Q. What will the exam consist?
A. It will contain 50 questions and you need to get about 34 (67%) of them right to pass.
Topic Areas and Objectives:
1. Creating a User Interface (UI)
- Identify and describe the basic UI controls used in a Flex application.
- Identify the purpose of UI containers and when to use them.
- Change the look and feel of a design by using API styles, style sheets, filters, and blends.
- Dynamically change the look of an application by using view states, transitions and effects.
- Position UI elements by using constraint-based layout.
- Position UI elements by using enhanced constraints.
- Implement application navigation by using navigator containers.
- Customize list-based controls.
2. Flex system architecture and design
- Create and use custom components.
- Transfer data between components by using data bindings.
- Create, handle, and dispatch custom events.
- Handle framework events.
- List and describe the differences between model, view, and controller code in a Flex application.
3. Programming Flex Applications with ActionScript
- Define and extend an ActionScript class.
- Implement an ActionScript interface.
- Use access modifiers with classes and class members
- Under the pupose of and implement data transfer objects.
- Implement accessor methods in ActionScript.
- Use an ArrayCollection to sort, filter, and provide data.
- Implement data validation.
- Manipulate XML data using E4X.
4. Interacting with datasources and servers
- Implement simple LiveCycle Data Services (LCDS) messaging and data management.
- Create, connect to, and define a local database.
- Add, update, and remove records from local database.
- Interact with remote data and services by using Remote Procedure Call (RPC) services.
- Upload files to a server.
5. Using Flex in the Adobe Integrated Runtime (AIR)
- Given a scenario, compile and export a release build of an AIR application.
- Create, populate, and delete files and directories on a local file system.
- Create and customize native windows and menus.
- Adding drag-and-drop functionality to and from the desktop.
- Install, uninstall, and update an AIR application.
- List and describe the AIR security contexts.
You can find more details on ADC
Day # 2 – Introduction to Flex – Part 1
I am not going to write verbose paragraphs here. If you want more detailed explanation on things please refer to any of the books listed here. Since we are preparing for a certification, the whole learning is going to be in knowledge bites. What you do with these is totally up to you. As usual I am very much open to comments, suggestions – please direct them to flexcertification@gmail.com.
- Flex leverages existing technologies like – XML, Web Services, Flash Player, Actionscript
- You build Flex applications by assembling pre-built, off the shelf components which include
- UI Controls
- Layout Containers
- Data Models
- Data Communication Components
- Flex uses Flash player runtime.
- Flex applications run on Flash player 9 or above
- Flex Framework is synonymous to “Flex Class Library” which is a collection of Actionscript Classes. This class library defines:
- Controls
- Containers
- Managers
- Flex Class Library Categories include:
- Form Controls
- Menu Controls
- Media Components
- Layout Containers
- Data Components & Data Binding
- Formatters and Validators
- Cursor Management
- State Management
- Effects
- History Management
- Drag and Drop Management
- Tool Tips
- Style Management
- Form Controls use Data Models & Connectors to talk to Server. This is generally called Data Binding
- Flex Builder 2(now 3) is the official Adobe IDE. You can build Flex applications without it too, just use Flex SDK.

- Integrating with Data Services: Flash Player can talk to data from Server in 4 different formats.
- Text
- XML
- AMF (ActionScript Message Format) – A binary format
- Persistent Socket Connection
- Flex Elements:
- MXML is an XML based UI language of Flex
- MXML primarily describes screen layout
- MXML documents get compiled in several steps
- ActionScript is needed for events and Mouse clicks (MXML can’t do it)
- ActionScript is natively supported by Flash Player
- Flex applications can call methods of classes on server using a technology called Flash Remoting
- Flash remoting use AMF as a message format
- Flex Data Services provide support to Flash remoting
- Other Opensource options are OpemAMF, AMFPhp. Complete list here.
Day # 1 – Preparation – Part 2
In part 2 we will discuss our plan and syllabus we will cover here for the certification. There are 4 areas for certification:
- Flex Application User Interface Creation
- Flex System Architecture and Design
- Flex Application Programming Fundamentals
- Flex Applications and Remote Data
Below is the tracks structure and I will keep adding stuff as we go on.
- Introduction to Adobe Flex 2
Track # 2 – Flex System Architecture & Data Services
- Flex System Architecture
- Flex Data Services
Day # 1 – Preparation – Part 1
(Update: Adobe has released Flex 3 and there will be a Flex 3 certification soon. This blog will exclusively target Flex 2 until the Flex 3 certification details are released – which is Jan 2009)
(Update 2: Adobe has released more details about Flex 3 exam, it’s covered in this post)
Here we go, let’s get the basics right. The data about certification is spread out across Adobe’s website. I am getting all the requisite info for my certification here. To make it easier, I am making it a question & answer mode.
Q: What Certifications are available from Adobe?
A:
Adobe Certified Expert
Adobe Certified Professional
Adobe Certified Associate
Adobe Certified Instructor
It could be a little confusing, as the website says it’s a ACP exam for Flex 2 but the PDF you download says ACE exam for Flex2. Just remember the exam name.
Q: What is the Certification Path?
A: Here is a visual
Q: What is the Flex certification exam called?
A: Adobe Flex 2 Developer Exam
Q: What will the exam consist?
A: It will consist of 65 multiple-choice questions. The exam duration might be between 1 to 2 hours. I am not sure how many you need to get right to pass the certification.
Q: Exam Fees?
A: 150$ as of date.
Q: What are Adobe Flex 2 Topic areas & Objectives of the exam?
A:
Following is a detailed outline of the information covered on the ACE Exam.
1. Flex Application User Interface (UI) Creation
- Identify and describe the basic UI controls used in a Flex application.
- Identify the purpose of UI containers and when to use them.
- Identify how to change the look and feel of a design by using API styles and style sheets.
- Recognize how to customize changes, control-related presentation layouts and navigation in an application by using view states, and using transitions and effects.
2. Flex System Architecture and Design
- Recognize how UML and Use Cases are used in object-oriented design.
- Identify the relationship of design patterns with respect to system architecture.
- Recognize and describe event-based programming model in events.
- Identify how to build loosely-coupled components.
- Recognize how Inheritance, Encapsulation, and Polymorphism works.
- Recognize the structure of a J2EE architecture.
3. Flex Application Programming Fundamentals
- Identify the properties and relationships between classes and objects and how they work in Flex.
- Identify how to display data in Flex.
- Identify how to manipulate data in Flex.
- Recognize how to validate data by using built-in and custom validator classes.
- Recognize how to create and use ActionScript classes.
- Identify the purpose and uses of handling events in Flex.
- Recognize how to use XML data in Flex.
- Recognize how to create and use custom components in Flex.
- Recognize how to display data using diff erent chart types, formats, and legends.
4. Interacting with Remote Data and Flex Applications
- Recognize how to use Remote Procedure Call (RPC) services.
- Recognize how to manage data using Flex Data Services (FDS).
Q: More information?
A: Check out the comprehensive link:
http://www.adobe.com/devnet/flex/articles/flex_certification.html





