Chapter 10, Developing Flex Applications for LiveCycle Enterprise Suite
LiveCycle is an service-oriented architecture (SOA) platform that runs on Java EE
application servers, and this chapter is about creating enterprise workflows using
this tool. You will learn how to use a web browser–based UI written in Flex to
streamline the part of the workflow that requires user interaction. We’ll cover the
process of extending LiveCycle with your application-specific services and the cre-
ation of complex PDF documents. The larger portion of this chapter explains how
to integrate LiveCycle ES functionality with your existing Flex-based
applications.
Chapter 11, Printing with Flex
Printing is often one of the most time-consuming tasks in developing Flex enter-
prise applications. Just using the Flex printing API would require allocation of
substantial budget and human resources. In this chapter, we’ll discuss an open
source solution for generating PDF documents on the client. This printing func-
tionality will be applied to the sample pharmaceutical application introduced in
Chapter 9.
Chapter 12, Model-Driven Development with LCDS ES2
In this chapter, you’ll see how to create a CRUD application in which Flex talks to
a remote database via recently released LCDS 3.0. The good part is that no pro-
gramming is required. You’ll create a data model and the rest of the code will be
generated automatically.
Conventions Used in This Book
The following typographical conventions are used in this book:
Italic
Indicates new terms, URLs, email addresses, filenames, and file extensions.
Constant width
Used for program listings, as well as within paragraphs to refer to program elements
such as variable or function names, databases, data types, environment variables,
statements, and keywords.
Constant width bold
Shows commands or other text that should be typed literally by the user.
Constant width italic
Shows text that should be replaced with user-supplied values or by values deter-
mined by context.
Preface | xix
Convert pdf to jpg - Convert PDF to JPEG images in C#.net, ASP.NET MVC, WinForms, WPF project
How to convert PDF to JPEG using C#.NET PDF to JPEG conversion / converter library control SDK
changing pdf to jpg file; convert pdf pages to jpg online
Convert pdf to jpg - VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.net, ASP.NET MVC, WinForms, WPF project
Online Tutorial for PDF to JPEG (JPG) Conversion in VB.NET Image Application
change from pdf to jpg on; best convert pdf to jpg
This icon signifies a tip, suggestion, or general note.
This icon signifies a warning or caution.
Using Code Examples
This book is here to help you get your job done. In general, you may use the code in
this book in your programs and documentation. You do not need to contact us for
permission unless you’re reproducing a significant portion of the code. For example,
writing a program that uses several chunks of code from this book does not require
permission. Selling or distributing a CD-ROM of examples from O’Reilly books does
require permission. Answering a question by citing this book and quoting example
code does not require permission. Incorporating a significant amount of example code
from this book into your product’s documentation does require permission.
We appreciate, but do not require, attribution. An attribution usually includes the title,
author, publisher, and ISBN. For example: “Enterprise Development with Flex, by Ya-
kov Fain, Victor Rasputnis, and Anatole Tartakovsky. Copyright 2010 Yakov Fain,
Victor Rasputnis, and Anatole Tartakovsky, 978-0-596-15416-5.” If you feel your use
of code examples falls outside fair use or the permission given here, feel free to contact
us at permissions@oreilly.com.
The source code for this book is available online; each chapter is in a single zipped
folder. To download the sample code for a chapter, enter the directory URL followed
by the name of the chapter with the extension .zip. For example, the code for Chap-
ter 5 can be accessed at the following URL:
http://faratasystems.com/entflex_sc/chapter5/chapter5.zip
If you see a directory called Flex4 in some of the .zip files, it contains a port of the Flex
3 code samples. Please note that the folder for Chapter 4 doesn’t exist, as there is no
sample code in that chapter. The folder for Chapter 6 doesn’t exist either, because all
of the source code for enhanced Flex components is included in the clear.swc library
in the Clear Toolkit Concurrent Versions System (CVS) repository at SourceForge. To
save space, Chapters 7 and 10 contain only manually written code.
Most of the chapters contain Flex projects copied from the workspaces of the authors
of this book. In certain cases, supporting libraries were not included (such as Chap-
ter 8), as some of the projects were more than 300 MB! To use the code in these cases,
create a new project in Flash Builder and copy the source code into the newly created
project.
xx | | Preface
Online Convert Jpeg to PDF file. Best free online export Jpg image
Online JPEG to PDF Converter. Download Free Trial. Convert a JPG to PDF. You can drag and drop your JPG file in the box, and then start
to jpeg; convert pdf page to jpg
Online Convert PDF to Jpeg images. Best free online PDF JPEG
Download Free Trial. Convert a PDF File to JPG. Easy converting! We try to make it as easy as possible to convert your PDF files to JPG.
bulk pdf to jpg; convert pdf file to jpg
How to Contact Us
Please address comments and questions concerning this book to the publisher:
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
800-998-9938 (in the United States or Canada)
707-829-0515 (international or local)
707-829-0104 (fax)
We have a web page for this book, where we list errata, examples, and any additional
information. You can access this page at:
http://oreilly.com/catalog/9780596154165
To comment or ask technical questions about this book, send email to:
bookquestions@oreilly.com
For more information about our books, conferences, Resource Centers, and the
O’Reilly Network, see our website at:
http://oreilly.com
Safari® Books Online
Safari Books Online is an on-demand digital library that lets you easily
search over 7,500 technology and creative reference books and videos to
find the answers you need quickly.
With a subscription, you can read any page and watch any video from our library online.
Read books on your cell phone and mobile devices. Access new titles before they are
available for print, and get exclusive access to manuscripts in development and post
feedback for the authors. Copy and paste code samples, organize your favorites, down-
load chapters, bookmark key sections, create notes, print out pages, and benefit from
tons of other time-saving features.
O’Reilly Media has uploaded this book to the Safari Books Online service. To have full
digital access to this book and others on similar topics from O’Reilly and other pub-
lishers, sign up for free at http://my.safaribooksonline.com.
Acknowledgments
Writing a book requires very serious support from family members, and we’d like to
thank them—especially our children, who got used to the idea that after coming home
from work, dads still had to be glued to those computers to work on some boring
technical book.
Preface | xxi
C# Image Convert: How to Convert Adobe PDF to Jpeg, Png, Bmp, &
This demo code just converts first page to jpeg image. String inputFilePath = @"C:\input.pdf"; String outputFilePath = @"C:\output.jpg"; // Convert PDF to jpg.
pdf to jpeg; reader convert pdf to jpg
C# Image Convert: How to Convert Tiff Image to Jpeg, Png, Bmp, &
RasterEdge.XDoc.PDF.dll. This demo code will convert first page to jpeg image. C:\input.tif"; String outputFilePath = @"C:\output.jpg"; // Convert tiff to jpg.
reader pdf to jpeg; conversion of pdf to jpg
We’d like to thank all the members of the Flex community who appreciated our work
in the past and encouraged us to continue sharing every little bit of knowledge we’ve
gained.
We are grateful to the excellent software engineers from the Adobe Flex team, who put
their trust in our ability to write such a complex and advanced book. Our special thanks
to one unknown member of the Flex team who allegedly said during the book approval
process something like, “I don’t agree with many of the things that these authors write
about Flex, and I’d rather not approve them, but I will because there are not many
people in the industry who are capable of writing such a book.” We don’t know your
name, but we consider this assessment to be the best compliment we’ve received so far.
Our praise goes to the cover designers, who correctly visualized the authors of this book
without ever seeing them.
We’d like to thank Aliaksandr Yuzafovich for his research and contribution to the data
synchronization solution described in Chapter 9.
Our hats off to Linda Laflamme, an excellent development editor from O’Reilly. After
reading some of her comments, we had the feeling that she understands technical ma-
terials better than we do.
And mainly, we thank you, our readers, for reading this book.
—Yakov Fain, Victor Rasputnis, and Anatole Tartakovsky
Technical Editor Bios
Kaushik Datta is currently working at Mercedes-Benz USA, LLC, where he and his
team have built Flex-based web applications. He has been using Flex since the Beta
Royale days. Kaushik spends his off-hours reading blogs on various other Adobe prod-
ucts and looking for better designer–developer workflows. He also enjoys cricket and
theater. You can reach him at kaudata@yahoo.com.
Greg Jastrab is presently a technical project manager at SmartLogic Solutions in Bal-
timore, MD. He’s been using Flex since version 1.5 and occasionally speaks at local
Adobe user groups. Outside of work, Greg enjoys relaxing with his wife and dog, and
playing the guitar, video games, and poker. You can follow him at http://blog.smartlo
gicsolutions.com and on Twitter at @gjastrab.
Igor Lachter is currently a senior developer at SAIC, where he is involved in developing
a procurement system using Flex technology. He’s been working with Flex since version
3, utilizing many of the approaches described in this book. When not programming,
he tutors SAT math and plays soccer with his three daughters. You can reach him online
at igor_gl@yahoo.com.
xxii | | Preface
C# Create PDF from images Library to convert Jpeg, png images to
Batch convert PDF documents from multiple image formats, including Jpg, Png, Bmp, Gif, Tiff, Bitmap, .NET Graphics, and REImage.
convert pdf to high quality jpg; best way to convert pdf to jpg
VB.NET PDF Convert to Images SDK: Convert PDF to png, gif images
Resize converted image files in VB.NET. Convert PDF to Jpg, Png, Bmp, Gif, Tiff and Bitmap in ASP.NET. Embed PDF to image converter in viewer.
pdf to jpg converter; convert pdf to jpg for
CHAPTER 1
Comparing Selected Flex Frameworks
The first 90% of the code accounts for the first 90% of
the development time. The remaining 10% of the code
accounts for the other 90% of the development time.
—Tom Cargill
Frameworks Versus Component Libraries
Whenever the subject of third-party architectural frameworks is raised at a gathering
of Flex developers, the developers are quick to start explaining how they use and like
a particular framework. But a simple question like, “Why do you use this framework?”
often catches them off guard. Many enterprise developers, especially those who came
to Flex after spending some time developing Java EE applications, just know that using
these frameworks is the right thing to do. Is it so? What are the benefits of using ar-
chitectural frameworks? This chapter offers some answers as to what you should expect
of a framework built on top of the Flex framework.
The goal of any well-designed framework is to make the process of software develop-
ment and maintenance easier. There are different ways of achieving this goal. Some
people prefer working with frameworks that are based on the Model-View-Controller
pattern; others like dealing with libraries of components. Each approach has its benefits
and costs. In this chapter, you will learn how to build the same application using several
frameworks or component libraries used by Flex developers.
First, let’s define the term framework versus component library. Imagine a new housing
development. For some pieces of property, the builder has already erected the frames
for certain house models, but other pieces of property have only piles of construction
materials guarded by specially trained dogs. By the entrance to the new community,
you see a completely finished model house with lots of upgrades.
You have three options:
• Purchase the model house and move in in a month.
1
C# TIFF: C#.NET Code to Convert JPEG Images to TIFF
Use C# Code to Convert Jpeg to Tiff. string[] imagePaths = { @"C:\demo1.jpg", @"C:\demo2.jpg", @"C:\demo3.jpg" }; // Construct List<REImage> object.
convert pdf to gif or jpg; batch pdf to jpg online
VB.NET PDF - Convert PDF with VB.NET WPF PDF Viewer
4. To Image. Convert PDF to image formats, such as PNG, JPG, BMP and GIF. Copyright © <2000-2015> by <RasterEdge.com>. All Rights Reserved.
convert pdf pages to jpg; .net convert pdf to jpg
• Purchase one of five prearchitected models (see those houses that are framed?).
The frames are pretty much ready; you just need to select windows, flooring, and
kitchen appliances.
• Purchase a custom house using a mix of the builder’s and your own materials.
Now, to draw some analogies to the software engineering world, Case A is the equiv-
alent of purchasing an all-encompassing enterprise software package that comes with
2,000 database tables and thousands of lines of code, with a promise to cover all the
needs of your organization.
Case B is the equivalent of a software framework that you must code in ways that
operate by the rules of the framework, adding your own application-specific logic where
appropriate. Often such frameworks are intrusive—you have to include in your appli-
cation code hooks to build your software on the pillars of the selected framework.
Case C gives you complete freedom of choice, as long as you have all the components
and the know-how to put them together. For some people, it’s the most appealing
option, but for others it is the most intimidating option, because it has such freedom;
these people select option B to ensure that their house will not be blown away by the
Big Bad Wolf, as in the fairy tale “The Three Little Pigs.”
Adobe Flex provides you with an extendable framework that you can use as a solid
starting point for your business application. Along with that, there are a number of
third-party frameworks and component libraries created with the same noble goal: to
make your life easier.
As Flex is already a framework, you should have very strong reasons to create another
one. Flex has extendable components and events, and when you work in a team of
developers, each of them may have a different understanding of how custom compo-
nents should find and communicate with each other, how to properly organize the
project, and how to make a team work more productively. At the time of this writing,
there are about a dozen Flex frameworks from which you can choose to help you or-
ganize your Flex project. Each of these frameworks has the same goal: to increase each
developer’s productivity.
In this chapter, you’ll get familiar with three architectural frameworks and one toolkit,
which includes additional productivity plug-ins and a component library. Of course,
as the readers of this book may have a different understanding of what easy means, the
authors decided to show you how you can build the same application using each of the
frameworks or libraries. (Each of the reviewed products is offered at no charge.)
The sample application that you will build is based on Café Townsend, a small program
that was originally developed by creators of the Cairngorm framework. This application
allows the end user to maintain data for Café Townsend’s employees. The application
reads data from the database, displays a list of employees, and allows the user to add
a new employee or edit an existing employee.
2 | | Chapter 1: Comparing Selected Flex Frameworks
The chapter starts by introducing the original Cairngorm Café Townsend application
on the Adobe website. Next, it explores the version of the application written in the
Mate framework and published on the AsFusion website. The chapter then analyzes
the version of the application written in Cliff Hall’s PureMVC framework. Finally,
you’ll explore a version of the Café Townsend application generated with the help of
the open source Clear Toolkit. The Café Townsend application versions are posted on
each framework’s corresponding website, which is the best place to download the
sample application and the given framework, as it’s safe to assume that the authors of
the frameworks in each case have either written or approved the code.
Each of the following sections starts with a brief introduction of the framework or
library, followed by a code walkthrough and conclusions. Each framework will be ex-
plored, followed by a report card evaluation of the framework’s pros and cons.
Introducing Café Townsend
The original Café Townsend application consists of three views (Figures 1-11-2, and
1-3). These views allow the user to log in, display the list of employees, and add a new
employee of the Café. The application also has one image (the Café Townsend logo)
and a CSS file, main.css, for styling.
Figure 1-1. Café Townsend Employee Login view
Introducing Café Townsend d | | 3
Figure 1-2. Café Townsend Employee List view
The application retrieves data from Employee.xml, as shown in the following code
snippet:
<?xml version="1.0" encoding="utf-8"?>
<employees>
<employee>
<emp_id>1</emp_id>
<firstname>Sue</firstname>
<lastname>Hove</lastname>
<email>shove@cafetownsend.com</email>
<startdate>01/07/2006</startdate>
</employee>
...
</employees>
Although retrieving data from an XML file simplifies the explanation of this framework
in this example, it is preferable that you pass the typed data from the server in real-
world projects, for example, Java value objects converted into their ActionScript
strongly typed peers. This technique eliminates the need to write a lot of mundane code
to convert the 
startdate
from 
String
to 
Date
and the like.
At the end of this chapter, you’ll learn how to include a Java-to-ActionScript 3.0 version
of the Café Townsend application, which uses Flex remoting to populate the data.
4 | | Chapter 1: Comparing Selected Flex Frameworks
Figure 1-3. Café Townsend Employee Details view
Employee List Without Frameworks
The title of this section is a bit of a misnomer, because Flex itself is a framework. But
we wanted to stress that you can create an application that reads XML and displays the
data in a list control without the use of any additional third-party framework or com-
ponent library.
The Flex framework already supports the MVC pattern by separating the View (the
List
control) and the data that can be stored in a nonvisual data provider such as
ArrayCollection
. Let’s write a quick-and-dirty version of the 
EmployeeList
component
that does not use any frameworks.
This Café application uses 
HTTPService
to read the file Employees.xml located in the
folder assets, and a 
List
component displays the full name of the employee using the
label function 
fullName()
.
The data is stored in the data provider 
employees
(a.k.a. MVC’s Model), and the 
List
controls play the role of MVC’s View. For simplicity, this version does not have error
processing, and the Add Employee and Logout buttons are nonfunctional.
The following application (Example 1-1) reads the list of employees using just the Flex
framework.
Introducing Café Townsend d | | 5
Example 1-1. EmployeeList using the Flex framework
<?xml version="1.0" encoding="utf-8"?>
creationComplete="empService.send()">
<mx:Panel title="Employee List" horizontalCenter="0">
<mx:HBox paddingTop="25">
<mx:Button label="Add New Employee" />
<mx:Spacer width="100%" />
<mx:Button label="Logout" />
<mx:Spacer width="100%" height="20" />
</mx:HBox>
<!-- List of Employees a.k.a. View-->
<mx:List id="employees_li" dataProvider="{employees}"
labelFunction="fullName" width="100%"/>
</mx:Panel>
<mx:HTTPService id="empService" url="assets/Employees.xml"
result="employeeDataHandler(event)" />
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.collections.ArrayCollection;
//data provider for the list is an ArrayCollection a.k.a. model
[Bindable]
private var employees: ArrayCollection=new ArrayCollection;
private function employeeDataHandler(event:ResultEvent):void{
employees=event.result.employees.employee;
}
// format the names to display last and first names in the List
public function fullName( empItem : Object ) : String {
return empItem.lastname + ", " + empItem.firstname;
}
]]>
</mx:Script>
</mx:Application>
Because real-world RIAs are a lot more complex than this simple application and may
contain a hundred or more different views created by multiple developers with data
coming from different sources, consider using one of the additional frameworks or
component libraries to simplify the programming of similar tasks and to better organize
the project.
Now let’s consider the Café application rewritten in Cairngorm, Mate, PureMVC, and
the Clear Toolkit.
6 | | Chapter 1: Comparing Selected Flex Frameworks
Documents you may be interested
Documents you may be interested