Flex remoting perspective, nothing changes: Flex still sends and receives DTOs from
a destination specified in remoting-config.xml.
After downloading and installing the Hibernate framework under the server with
BlazeDS, the integration steps are:
1.Create a server-side entity bean 
Employee
that uses annotations to map appropriate
values to database tables and specify queries:
@Entity
@Table(name = "employees")
@NamedQueries( {
@NamedQuery(name = "employeess.findAll", query = "from Employee"),
e.employeeId= :employeeId") })
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "employeeId", nullable = false)
private Long employeeId;
@Column(name = "firstName", nullable = true, unique = false)
private String firstName;
2.Create a file called persistence.xml under the META-INF directory of your BlazeDS
project. In this file, define the database location and connectivity credentials.
3.Write a Java class 
EmployeeService
with method 
getEmployees()
that retrieves and
updates the data using Hibernate—for example:
public List<Employee> getEmployees() {
EntityManagerFactory entityManagerFactory =
Persistence.createEntityManagerFactory(PERSISTENCE_UNIT);
EntityManager em = entityManagerFactory.createEntityManager();
Query findAllQuery = em.createNamedQuery("employees.findAll");
List<Empoyee> employeess = findAllQuery.getResultList();
return employees;
}
4.Define a destination in the BlazeDS remoting-config.xml file that points at the class
EmployeeService
:
<destination id="myEmployee">
<properties>
<source>com.farata.EmployeeService</source>
</properties>
</destination>
Integrating with the Hibernate Framework k | | 207
Pdf to jpeg converter - 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
pdf to jpeg; changing pdf to jpg file
Pdf to jpeg converter - 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
convert pdf to jpg file; changing pdf to jpg on
The rest of the process is the same as in any Flex remoting scenario.
The only issue with this approach is that it has problems supporting lazy loading.
BlazeDS uses the Java adapter to serialize Java objects, along with all related objects
regardless of whether you want them to be lazy-loaded.
The entire process of the integration of Flex, BlazeDS, Hibernate, and
MySQL Server is described in detail in an article published at the Adobe
Developer’s Connection website. You can find it at http://www.adobe
.com/devnet/flex/articles/flex_hibernate_print.html.
If your Flex application uses LCDS, this issue is solved by applying special Hibernate
adapter for Data Management Services. Digital Primates’ dpHibernate is a custom Flex
library and a custom BlazeDS Hibernate adapter that work together to give you support
for lazy loading of Hibernate objects from inside your Flex applications. You can get
dpHibernate at http://code.google.com/p/dphibernate/.
There is one more open source product that supports Hibernate. It’s
called Granite Data Services and is an alternative to BlazeDS.
Project Documentation
Programmers don’t like writing comments. They know how their code works. At least,
they think they do. Six months down the road, they will be wondering, “Man, did I
actually write this myself? What was I planning to do here?”
Program documentation is as important as the code itself. If you are managing the
project, make sure that you encourage and enforce proper documentation. Some de-
velopers will tell you that their code is self-explanatory. Don’t buy this. Tomorrow,
these developers won’t be around, for whatever reason, and someone else will have to
read their code.
Program Documentation with ASDoc
Flex comes with ASDoc, a tool that works similarly to JavaDoc, which is well known
in the Java community. ASDoc reads the comments placed between the symbols 
/**
and 
*/
; reads the names of the classes, interfaces, methods, styles, and properties from
the code; and generates easily viewable help files.
The source code of the Flex framework itself is available, too. Just Ctrl-click on any
class name in Flash Builder, and you’ll see the source code of this ActionScript class or
MXML object. Example 4-3 is the beginning of the source code of the Flex 
Button
component.
208 | | Chapter 4: Equipping Enterprise Flex Projects
Online Convert PDF to Jpeg images. Best free online PDF JPEG
Online PDF to JPEG Converter. Download Free Trial. Convert a PDF File to JPG. Drag and drop your PDF in the box above and we'll convert the files for you.
batch pdf to jpg converter online; convert multiple pdf to jpg
C#: How to Use SDK to Convert Document and Image Using XDoc.
You may use our converter SDK to easily convert PDF, Word, Excel, PowerPoint, Tiff, and Dicom files to raster images like Jpeg, Png, Bmp and Gif.
change pdf to jpg format; bulk pdf to jpg
Example 4-3. A fragment of the Button source code
package mx.controls
{
import flash.display.DisplayObject;
import flash.events.Event;
...
/**
*  The Button control is a commonly used rectangular button.
*  Button controls look like they can be pressed.
*  They can have a text label, an icon, or both on their face.
*
*  Buttons typically use event listeners to perform an action
*  when the user selects the control. When a user clicks the mouse
*  on a Button control, and the Button control is enabled,
*  it dispatches a click event and a buttonDown event.
*  A button always dispatches events such as the mouseMove,
*  mouseOver, mouseOut, rollOver,rollOut, mouseDown, and
*  mouseUp events whether enabled or disabled.
*
*  You can customize the look of a Button control
*  and change its functionality from a push button to a toggle button.
*  You can change the button appearance by using a skin
*  for each of the button's states.
*/
public class Button extends UIComponent
implements IDataRenderer, IDropInListItemRenderer,
IFocusManagerComponent, IListItemRenderer,
IFontContextComponent, IButton
{
include "../core/Version.as";
/**
 @private
 Placeholder for mixin by ButtonAccImpl.
*/
mx_internal static var createAccessibilityImplementation:Function;
/**
 Constructor.
*/
public function Button(){
super();
// DisplayObjectContainer properties. Setting mouseChildren
// to false ensures that mouse events are dispatched from the
// button itself, not from its skins, icons, or TextField.
// Another is that if mouseChildren were true and someone uses
// Sprites rather than Shapes for the skins or icons,
// changes between the mouseDown and the mouseUp.
Project Documentation n | 209
C# PDF Convert: How to Convert Jpeg, Png, Bmp, & Gif Raster Images
Jpeg, Png, Bmp, Gif Image to PDF. |. Home ›› XDoc.Converter ›› C# Converter: Raster Image to PDF.
convert pdf file to jpg format; pdf to jpg
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
batch pdf to jpg; convert pdf image to jpg online
// they are dispatched from the Button in this case.)
mouseChildren = false;
Beside the 
/**
and 
*/
symbols, you have a small number of the markup elements that
ASDoc understands (
@see
@param
@example
).
The beginning of the Help screen created by the ASDoc utility based on the source code
of the 
Button
class looks like Figure 4-14.
Figure 4-14. A fragment of the Help screen for Button
Detailed information on how to use ASDoc is available at http://blogs.adobe.com/flex
doc/2009/01/updated_doc_on_using_the_flex_1.html.
Documenting MXML with ASDoc has not been implemented yet, but is planned to be
released with Flex 4. The functional design specifications of the new ASDoc are already
published at the Adobe open source site.
UML Diagrams
Unified Modeling Language (UML) diagrams are convenient for representing relation-
ships among the components of your application. There are a number of tools that turn
210 | | Chapter 4: Equipping Enterprise Flex Projects
XDoc.Converter for .NET, Support Documents and Images Conversion
This .NET file converter SDK supports various commonly used document Office (2003 and 2007) Word, Excel, PowerPoint, PDF, Tiff, Dicom, SVG, Jpeg, Png, Bmp
convert pdf to jpg; to jpeg
VB.NET PDF Converter Library SDK to convert PDF to other file
As this VB.NET PDF converter component plug-in embeds several image image converting applications, like PDF to tiff conversion, PDF to JPEG conversion and
convert pdf photo to jpg; change pdf file to jpg
the creation of diagrams into a simple drag-and-drop process. After creating a class
diagram, these tools allow you to generate code in a number of programming languages.
In a perfect world, any change in the class definition would be done in the UML tool
first, followed by the code generation. Future manual additions to these classes
wouldn’t get overwritten by subsequent code generations if the model changes.
UML tools are also handy in situations where you need to become familiar with poorly
commented code written by someone else. In this case, the process of reverse engi-
neering will allow you to create a UML diagram of all the classes and their relationships
from the existing code.
There are a number of free UML tools that understand ActionScript 3 (UMLet,
VASGen, Cairngen) with limited abilities for code generation.
Commercial tools offer more features and are modestly priced. Figure 4-15 shows a
class diagram created by Enterprise Architect from Sparx Systems. This diagram was
created by autoreverse engineering of the existing ActionScript classes.
The process is pretty straightforward: create a new project and a new class diagram,
then right-click anywhere on the background, select the menu item “Import from
source files,” and point at the directory where your ActionScript classes are located.
The tool supports ActionScript, Java, C#, C++, PHP, and other languages.
Figure 4-15. Enterprise Architect: a UML class diagram
Project Documentation n | 211
C# PDF Converter Library SDK to convert PDF to other file formats
Help to convert PDF to multiple image formats, including GIF, BMP, JPEG, PNG and so on. Remarkably, this PDF document converter control for C#.NET can
pdf to jpg converter; batch pdf to jpg converter
C# Create PDF from images Library to convert Jpeg, png images to
NET converter control for It enables you to build a PDF file with one or more images. Various image forms are supported which include Png, Jpeg, Bmp, and Gif
change pdf to jpg on; convert pdf to jpg 100 dpi
Accessibility of Flex RIA
Some users can’t see, hear, or move, or have difficulties in reading, recognizing colors,
or other disabilities. The World Wide Web Consortium has published a document
called Web Content Accessibility Guidelines 1.0, which contains guidelines for making
web content available for people with disabilities.
Microsoft Active Accessibility (MSAA) technology and its successor, the UI Automa-
tion (UIA) interface, are also aimed at helping such users. Adobe Flex components were
designed to help developers in creating accessible applications.
Did you know that blind users of your RIA mostly use the keyboard as opposed to the
mouse? They may interact with your application using special screen readers (e.g.,
JAWS from Freedom Scientific) or need to hear special audio signals that help them in
application navigation.
A screen reader is a software application that tries to identify what’s being displayed
on the screen, and then reads it to the user either by text-to-speech converters or via a
Braille output device.
The computer mouse is unpopular not only among blind people, but also among people
with mobility impairments. Are all of the Flex components used in your application
accessible by the keyboard?
If your application includes audio, hearing-impaired people would greatly appreciate
captions. This does not mean that from now on every user should be forced to watch
captions during audio or hear loud announcements of the components that are being
displayed on the monitor. But you should provide a way to switch your Flex application
into accessibility mode. The Flex compiler offers a special option—compiler.accessible
—to build an accessible .swf.
You can find more materials about Flex accessibility at http://www.adobe.com/accessi
bility/products/flex/.
For testing accessibility of your RIA by visually impaired people, use aDesigner, a dis-
ability simulator from IBM. aDesigner supports Flash content and is available at http:
//www.eclipse.org/actf/downloads/tools/aDesigner/index.php.
Summary
This chapter was a grab bag of various recommendations and suggestions that each
Flex development manager or architect may find of use over the course of the project.
We sincerely hope that materials and leads from this chapter will ensure that your next
Flex project is as smooth and productive as possible.
We hope that the variety of commercial and open source tools reviewed in this chapter
represent Adobe Flex as a mature and evolving ecosystem, well suited to your next RIA
project.
212 | | Chapter 4: Equipping Enterprise Flex Projects
This chapter talked about tools that help in building and testing both the client and
server portions of Flex RIA; the next chapter will concentrate on using powerful server-
side technology from Adobe, called LiveCycle Data Services.
Summary | | 213
CHAPTER 5
Customizing the Messaging Layer of
LCDS or BlazeDS
There are two ways of constructing a software design:
one way is to make it so simple that there are obviously
no deficiencies, and the other way is to make it so com-
plicated that there are no obvious deficiencies. The first
method is far more difficult.
—Sir Tony Hoare
Flex Messaging Unleashed
People as well as programs receive messages for one of two reasons:
• A message sent to you and your device (e.g., an iPhone or BlackBerry) is configured
to work in so-called push mode: the other party can push messages for you even if
you aren’t necessarily eager to get them immediately after they were sent.
• At any given time you decide to check if there messages for you. You press the
refresh button on your iPhone or your application makes a call from the client to
the server. This mode is called polling.
This chapter starts with a quick example of how to perform the push by making a direct
call to a 
MessageBroker
, which comes with LiveCycle Data Services (LCDS) and
BlazeDS. Next, it discusses the existing world of custom adapters and message chan-
nels. You’ll see how to implement a use case with guaranteed message delivery and take
care of the proper sequencing of messages.
At this writing, the newly released LCDS 3.0 promises support for reliable messaging
to guarantee that no message is lost in case of network failure (check out the
<reliable>
tag in the configuration file for Data Management Services). Data-throttling
support will allow you to reduce or increase the amount of data going over the wire
215
based on the speed at which Flash Player processes the data. Adaptive throttling should
allow the LCDS server to make such changes automatically.
It’s too early to assess whether these new features will fit the bill for some of the very
demanding real-time applications. We are pretty confident that Adobe engineers will
do a good job in this area.
Not everyone has a commercial LCDS license, however, and there will always be a
customer who will come up with that special requirement that none of the existing
tools support. Hence, our goal remains the same: to show you how things work under
the hood so you can build the software that fits your needs exactly.
After reading this chapter, you won’t be intimidated if the need arises to enter the
somewhat geeky territory of Flex messaging protocols. You’ll learn how to implement
clients’ heartbeats; create channels and adapters that can acknowledge, receive, and
resend lost messages; and more. The best part is that it’s not rocket science. Trust us.
Server Messages: Shooting in the Dark
Sending messages from an LCDS or BlazeDS server to a Flex client starts with getting
a reference to the 
MessageBroker
, which is a Java object deployed in the servlet container
where you’ve installed BlazeDS or LCDS. Then, create an instance of the
AsyncMessage
object, and set the client ID (specific sender) and the destination (an
equivalent of a topic in the publish/subscribe messaging terminology). When this is
done, place your business-related object inside (e.g., 
myOrderInfo
) and call the function
routeMessageToService()
. This process can go like this:
MessageBroker msgBroker = MessageBroker.getMessageBroker(null);
String clientID = UUIDUtils.createUUID(false);
AsyncMessage msg = new AsyncMessage();
msg.setDestination("myDestination");
msg.setClientId(clientID);
msg.setMessageId(UUIDUtils.createUUID(false));
msg.setTimestamp(System.currentTimeMillis());
myOrderInfo = new OrderInfo();
// Populate myOrderInfo with some data
msg.setBody(myOrderInfo);
msgBroker.routeMessageToService(msg, null);
Here comes the million-dollar question: did the message reach the recipient? Remem-
ber, we are talking about the Java server-side code here, not a conventional use of Flex
Producer
/
Consumer
objects that come with acknowledgment event 
MessageAckEvent
.
This uncertainty explains the need to implement some kind of a client heartbeat. A
connected client sends a small message to the server, say, every 500 milliseconds. These
heartbeats contain delivery confirmations for server messages that successfully arrived
at the client within a specified interval.
216 | | Chapter 5: Customizing the Messaging Layer of LCDS or BlazeDS
Documents you may be interested
Documents you may be interested