Home Page Icon
Home Page
Table of Contents for
Cover
Close
Cover
by Yakov Fain, Anatole Tartakovsky, Victor Rasputnis
Enterprise Development with Flex
A Note Regarding Supplemental Files
Preface
Who Is This Book For?
How the Book Is Organized
Conventions Used in This Book
Using Code Examples
How to Contact Us
Safari® Books Online
Acknowledgments
Technical Editor Bios
1. Comparing Selected Flex Frameworks
Frameworks Versus Component Libraries
Introducing Café Townsend
Employee List Without Frameworks
Cairngorm
Café Townsend with Cairngorm
To Use or Not to Use Cairngorm?
Report Card: Cairngorm
Mate
Report Card: Mate
PureMVC
Café Townsend with PureMVC
Report Card: PureMVC
Clear Toolkit
Café Townsend with Clear Toolkit
Installing the software for the CRUD example
Creating an Eclipse Dynamic Web Project with CDB facets
Report Card: Clear Toolkit
Final Framework Selection Considerations
References
2. Selected Design Patterns
Singleton
Proxy
Mediator
Data Transfer Object
Asynchronous Token
Class Factory
A Class Factory from the Flex Framework
Creating UIStaticClassFactory
Creating UIClassFactory
Building an Enterprise Framework
Upgrading Existing Flex Components
Introducing Component Library clear.swc
Creating a Value-Aware CheckBox
Creating a Centered CheckBox
Creating a Protected CheckBox
Upgrading ComboBox
Resources As Properties of UI Controls
Styles Versus Properties
The Base Class for Resources
DataGrid with Resources
Data Forms
The DataForm Component
The DataFormItem Component
Validation
Sample Application: DataFormValidation
The ValidationRule Class Explained
Embedding Validation Rules into a DataGrid
Minimizing the Number of Custom Events
Summary
4. Equipping Enterprise Flex Projects
Staffing Considerations
GUI and Component Developers
Flex Architects
Designopers and Devigners
Flex Developer’s Workstation
IDE Choices
Preparing for Teamwork
Embedding .swf Files into HTML Pages
Adding a .swf to HTML with SWFObject
Interacting with HTML and JavaScript
The ExternalInterface Class
Flex AJAX Bridge
The flashVars Variable
Testing Flex RIAs
Unit and Integration Testing
FlexUnit4
FlexMonkey
Visual Flex Unit
Functional Testing
Load Testing
Code Coverage
Application Modularization from 30,000 Feet
Build Scripts and Continuous Integration
Automation of Ant Script Creation
Maven Support
Continuous Integration
Logging with Log4Fx
Remote Logging with Log4Fx
A Grab Bag of Component Libraries
Integrating with the Java Spring Framework
Integrating with the Hibernate Framework
Project Documentation
Program Documentation with ASDoc
UML Diagrams
Accessibility of Flex RIA
Summary
5. Customizing the Messaging Layer of LCDS or BlazeDS
Flex Messaging Unleashed
Server Messages: Shooting in the Dark
Sending the Client’s Heartbeats
Heartbeat Adapter
Testing the Client Heartbeat
Guaranteed Delivery of Server Messages
Building a Custom Acknowledging Channel
Resending Messages with QoSAdapter
Testing Guaranteed Delivery
When Message Order Matters
SerializingChannel
Guaranteed Delivery of Client Messages
The ReliableClientMessage Class
Acknowledging the Endpoint
Resending Channel Guarantees Delivery
Testing Guaranteed Delivery from the Client
Keeping Client Messages in Order
Testing Ordered Delivery of Client Messages
Summary
6. Open Source Networking Solutions
BlazeDS Versus LCDS
Why Is AMF Important?
AMF Performance Comparison
AMF and Client-Side Serialization
HTTP Connection Management
The Hack to Increase a Web Browser’s Performance
Other Ways of Increasing a Web Browser’s Performance
What Is Comet?
Putting Streaming to Work
The Networking Architecture of BlazeDS
Setting Up a BlazeDS Sample Application on Jetty
Setting BlazeDS Messaging to Use the Jetty NIO API
NIO Performance Test
The Theory
Data Access Automation
Data Transfer Objects
ChangeObject
Assembler and DAO Classes
DataCollection Class
Deep Data Synchronization with BlazeDS
Nested DataCollections
Batching Remote Calls
Using AMF Message Headers
Data Push in Data Access
A Server As a Command Center
Reverse RPC
Extending the Protocol
Custom Serialization and AMF
Security Appliances
Third-Party Networking Solutions
Summary
7. Modules, Libraries, Applications, and Portals
Flex Portals and Modularization
Basic Modularization: Image
Runtime Style Modules
Real Actors: Loader and URLLoader
Loading Modules with Module Loader
Preloading Modules with ModuleManager
Communicating with Modules
Introducing Application Domains
Paying Tribute to Libraries
RSLs: “Under”-Libraries
Bootstrapping Libraries As Applications
Sibling Domains and Multiversioning
Four Scenarios of Loading Portlets
Default Portlet Loading: Same Sandbox Child Domain
Loading Portlets for Multiversioning
Bootstrap Class Loading
Sample Flex Portal
Integrating Flex into Legacy JEE Portals
Summary
8. Performance Improvement: Selected Topics
Planning for Modularization
It Takes Two to Perform
Application Startup and Preloaders
Dissecting LightweightPreloader.swf
The Main SWF Talks to LightweightPreloader.swf
Supporting Logout Functionality
Using Resource-Shared Libraries
How to Link Flex Libraries
Flex Framework RSL
Optimizing RSL Loading
Creating Modules with Test Harness
Creating a Shell Application with a Custom RSL Loader
A Grab Bag of Useful Habits
Dealing with Memory Leaks
Closures
Opportunistic garbage collector
Just-in-Time Benefits and Implications
Using the Flash Builder Profiler
Performance Checklist
Startup time
UI performance
I/O performance
Memory utilization
Code execution performance
Summary
9. Working with Adobe AIR
How AIR Is Different from Flex
Hello World in AIR
Native Windows
Working with Files
Commonly Used Directories
Reading and Writing to Files
Working with Local Databases
Creating a database file
PharmaSales Application
Installing PharmaSales
The PharmaSales Application for Dispatchers
The PharmaSales Application for Salespeople
Detecting Network Availability
After the Salesperson Logs On
OfflineDataCollection
Integrating with Google Maps
Summary
10. Developing Flex Applications for LiveCycle Enterprise Suite
Business Process Example: Vacation Request
Meet LiveCycle Workspace ES
Meet the Flexlet: Vacation Request
LiveCycle ES Architecture in a Nutshell
Endpoints
Custom Services
Tools
Creating Flex Applications Enabled for LiveCycle Workspace ES
Form Variable Declaration and Process Instantiation
Flexlet Mapping for User Activity
Controlling the View State of the Reusable Flexlet from the Process
Workspace: Flexlet Conversation Basics
LiveCycle FormConnector
Which data should you trust more: Enterprise data or LiveCycle internal data?
Flexlet Code Walkthrough
Namespaces and variables
Reading data from the process and enterprise data store
Writing data to the enterprise data store and the process
Running Workspace from Adobe Sources
Business Example: Warehouse Processes
User Interface for the Retailer
User Interface for the Supplier
User Interface for the Manufacturer
Introducing Process Orchestration
The Warehouse Processes Under the Hood
Extending LiveCycle with Custom Services
Custom Providers for the User and Group Repository
Creating custom authentication providers
Creating a custom directory service provider
Creating a custom groups provider
Creating a custom users provider
Custom Solution Components
Implementation of initializeProcessVariables()
Implementation of handleApprovedOrder()
Orchestrating Processes with Asynchronous Events
Defining Events
Dispatching Events
Starting the Process on an Asynchronous Event
Blending the LiveCycle API with Custom Flex Applications
Invoking a LiveCycle Process on the Server
Starting a Process Instance from the Flex Application
Summary
11. Printing with Flex
PDF Generation on the Server
PDF Generation on the Client
Basic Printing with AlivePDF
Enhancing AlivePDF
Printing Flex Containers
Extending Flex Components for PDF Generation in XDP Format
Adding Printing to the PharmaSales Application
Printing for Acme Pharm Dispatchers
Printing for Acme Pharm Salespeople
ClearBI: A Web Reporter for Flex
Summary
12. Model-Driven Development with LCDS ES2
Introduction to Model-Driven Development
Starting Model-Driven Development with Flash Builder 4
Data Sources and RDS
What Has Been Generated?
Creating Master/Detail/Search View
Summary
Epilogue
Index
About the Authors
Colophon
Copyright
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Enterprise Development with Flex
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset