Channels ▼

Mike Riley

Dr. Dobb's Bloggers

Enterprise Development with Flex Book Review

June 17, 2010

O'Reilly has been on a Flex fixation, with Enterprise Development with Flex being their second Flex book publishing in the last few months. Two weeks ago, I reviewed O'Reilly's Flex 4 Cookbook, a "must-have" title for Flex developers. Does Enterprise Development with Flex match this categorization? Read on to find out.This multi-authored book begins with a comparison of several popular Flex frameworks such as Cairngorm, Mate and puremvc ActionScript framework, and ultimately decide that the Clear Toolkit is their framework of choice. Considering the book's authors created the open source MIT-licensed toolkit, this should come as no surprise.

Next, various design patterns ranging from Singleton, Proxy and Mediator to Data Transfer Object, Asynchronous Token and Class Factory are examined. Chapter 3 discusses the components required to build a Flex-based enterprise framework. Chapter 4 covers the external factors such as the type of staff talent required, their workstation configurations, web page interactions, testing, logging and documenting the project at hand. Chapter 5 on Flex Messaging is offers an excellent dive into one of Flex's more challenging aspects. Adobe's Java-based BlazeDS and LiveCycle Data Services (LCDS) are reviewed and demonstrated. Modules and Library options are detailed in Chapter 7, followed by a 50+ page chapter on performance optimization suggestions. Adobe Air and LiveCycle Enterprise Suite are also explored. Chapter 11 on Printing with Flex is another one of the book's gems, as this seemingly simple task often confounds Flex developers seeking the 'flexibility' they need in dynamically generating various PDF-based reports.

The book concludes with an introduction to Model-Driven development courtesy of Adobe's LCDS ES2. The authors show how the process begins using Flash Builder 4, walking through what is generated and how master/detail/search views can be created.

Numerous screenshots and copious quantities of code listings accompany the descriptive text, and the authors clearly have the Flex expertise necessary to be the authoritative subject matter experts on Flex enterprise development. I earned a deeper level of respect for the Flex framework reading this book, though I still don't see myself using it for internal projects any time soon. However, knowing the capabilities this expansive environment has to offer has better prepared me for the time when the request arises to consider if Flex has a role in the enterprise I support.

I have only a few criticisms. So much can be said about Flex that the book could have easily been divided into two or more volumes. More chapters like those on the subjects of printing and messaging would address these very basic yet very challenging enterprise application feature expectations. I would have also preferred to see chapters on integrating Flex with other languages besides Java, such as PHP (beyond the very brief mention of AMFPHP) and ASP.NET.

The authors conclude the book by stating their intended objective: "We tried to discuss the most important subjects that Flex/AIR practitioners face while working on an enterprise RIA. We tried not to just give you better Flex components, but to explain how you can build similar or better ones for your enterprise-wide framework." They succeeded.

Title: Enterprise Development with Fle: Best Practices for RIA Developersx Authors: Yakov Fain, Victor Rasputnis and Anatole Tartakovsky Publisher: O'Reilly Media ISBN: 978-0-596-15416-5 Pages: 688 Price: $54.99 US

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.