Time to read: 4 minutes.
Table of contents for Flex Data Services, Hibernate and Eclipse – A Hands-on Approach for Architects.
Preface
About This Series
About This Book
Target Audience
How to Read This Book
About the Code Examples
Java EE or J2EE?
Why Eclipse?
Why Not Maven?
Why Hibernate?
Why Tomcat?
Why not Spring?
Why not JBoss, WebSphere, Weblogic, IAS, etc?
Why BlazeDS and LiveCycle Data Services ES?
Why not GraniteDS or Pimento?
What about WebOrb?
Acknowledgements
About the Author
PART 1 - TUTORIAL
1. Overview
POJOs and Persistence
Client-Server Architecture
2. Tooling
Operating Systems
Topology
Updating JDK 6
Macintosh
Installing and Configuring Eclipse and Flex/Flash Builder
Obtaining an Up-to-Date Flex SDK
Source Control
Network
Database
Windows Issues
Database Instances
Unit Testing With Database Snapshots
3. Hibernate Basics
Hibernate Packages
Installing Hibernate
User Libraries vs. Catch-all lib Directory vs. Working Sets
Eclipse Working Sets
Adding Eclipse Libraries to the Project Build Path
4. Configuring Hibernate
Matching a Developer Database to Production
Manual Table Creation
Table Creation Using a GUI
SQuirrel SQL Client
MySQL Administrator
Hibernate Configuration Files
Connecting Hibernate to a Database
Hibernate Initialization
5. Mapping POJOs to Tables
Creating POJOs and Mapping Files from Tables
Running hbm2java from Eclipse
Listing of the Generated POJOs
Discussion of the Generated POJOs
Declaring ActionScript Class References
Solution – Calling out ActionScript Class Dependencies
6. Testing Hibernate Annotations
Entity Relationships
Hibernate Sessions
Testing with JUnit 4
Setting up
Sample JUnit 4 Test
Debugging Hibernate
7. Creating Database Tables from Annotated POJOs
Naming Conventions
Consider Schema when Designing Class Hierarchy
8. Data Services
AMF over HTTP in another Multiverse
About Flex Data Services
Documentation Issues
Channels, Endpoints and Destinations
Channel Types
Client Channels in Combination with Server Endpoints
Channel Sets
Flex Data Services Channel Designer
Common Properties
Client Channel Properties
Server Endpoint Properties
XML Channel Definition
NIO and RTMP Server Endpoints
Polling
Long Polling
Streaming
Server Endpoint Properties
RTMP
Services
Data Services Configuration
RPC Visibility Rules
Serialization and Deserialization
Introspective Serialization
Explicit Serialization
TypeMarshaller
Serialization Practicalities
[RemoteClass]
registerClassAlias()
Deep Copy
[Transient]
[Managed]
Deserialization RPC and Messaging Results
AMF
JSON
XML
Performance
TypeMarshaller Example Project
IExternalizable Example Project
Data Compression
Tomcat
Apache httpd
9. Working With BlazeDS
Installing the BlazeDS Turnkey Package
Installing the BlazeDS Binary Distribution
BlazeDS Files and Directories
BlazeDS Binary Package Contents
BlazeDS Configuration
Tomcat and AMF
Tunneling and Proxying AMF
Eclipse Project Setups
Defining Application Server Instances
Macintosh Server Setup Problem
Combined Flex / Java Project Setup
Combined Flex / Java Project Directories
Retrofitting Flex to an Existing Java WST Project
Multiple Flex Projects for a Single Java Project
Server-side WST Projects
Creating a WST Project
Relocating an Eclipse Project
Testing the Eclipse Web Project
Editing Eclipse Server Configuration
Testing the Server
Adding BlazeDS Libraries
10. Remoting Service
Channels
Destinations
Creating the Destination Source
Testing the Destination Source
Adapters
Assemblers
Statically Bound Technique Overview
Using the Statically Bound Technique
Modifying web.xml
Setting Java EE Web Library Dependencies
Setting Inter-Project Dependencies
Creating the echoTest Client Form
Debugging the echoTest Client
Dynamic Configuration Technique
The Service
Server-Side Logging
Flex Data Dervices Logging
Log4j
Discovering the Originating URL
Constructing the Endpoint
Obtaining a Service Instance
AmfFactory.as
AmfServices.as
StopWatch.as
Event Classes
dynamicServer.mxml
Creating the Flex Builder Project
11. Messaging Service
Channels
Destinations
Adapters
Programmable ChannelSet Sample Project
How the program works
Client logging
Automatically Filtering Messages
ActionScript
Subtopics
Custom Messaging Adapter – Narrowcasting
Running the Project
About the Project
12. Proxy Service
Channels
Destinations
Adapters
HTTPService and WebService Review
Translation AJAX / JSON Project
HTTPService, WebService and the Proxy Service
Proxy Service Properties
External Proxies
13. Automatically Generating ActionScript Value Objects from POJOs
Enhancing the POJO
Granite ActionScript 3 Code Generator
Auto-Refresh
Installing Granite Eclipse Builder
Adding the GraniteDS Nature to a Java EE Project
Updating the POJO
14. LiveCycle Data Services ES
Choosing between BlazeDS and LCDS
Threading Models
LCDS Licensing
Purchasing an Enterprise License
OEM Licenses
Installing LCDS
Data Management Service
Channels
Destinations
Messages
Adapters
Assemblers
Hibernate Assemblers
HibernateAnnotationsAssembler
HibernateAssembler
Custom Assemblers
[Managed]
Properties
Test Drive
How the Program Works
Syncing Occasionally Connected AIR Clients
DataService Properties for Synchronization
Sync Project
Defining a Launch Configuration for the HSQLDB Database
About the Application
Running the Application
How the Program Works
Synching Occasionally Connection AIR Clients
DataService Properties for Synchronization
InSync Projects
How to use the Application
Common Project Details
Tip for Developing Flex Data Services with Hibernate
HSQLDB
Defining a Launch Configuration for the HSQLDB Database
Custom Assembler Version
How It Works
Defining a Launch Configuration for the HSQLDB Database
Hibernate Assembler Version
About the Application
Transaction Support
Unit Tests
Running the Unit Tests
Running the Application
How It Works
Interpreting the Client Debug Log
Edge Servers
15. Lazy Loading
Lazy Loading with the LCDS DMS
PART 2 - REFERENCE
16. Eclipse Tips and Techniques
Flex Builder Source Code
Hot Keys
Defining Hot Keys
Bookmarks
Comparing Files
Beyond Compare
TCP/IP Monitor
Other TCP Monitoring Tools
Flash Builder 4
Charles Proxy
Fiddler 2
Apache TCPMon
Updating a Flex Builder Project for BlazeDS or LCDS
Creating an Eclipse User Library
Installing Hibernate Tools for Eclipse
Multi-User Deployment Issues
Multiple Eclipse Installations
GuideLines
Workspace Organization
Project Organanization
Remote Debugging
Remotely Debugging Server-side Java programs
Remotely Debugging Client-side Flex programs
Debugging BlazeDS and LCDS
Eclipse Problems
HTML and JSP Validation Errors
Setting property 'source' to 'org.elipse.jst.Java EE.server
Flex Builder 3 / Ganymede SR1 Incompatibility
Apache httpd Port Misuse
Grouped Breakpoints
TODO and FIXME
17. Annotation Summary
Java Persistence Annotations
Hibernate Annotations
18. Tomcat Connector Configuration
Standard Implementation
NIO Implementation
HTTP/1.1 and HTTP/1.0 Support
Proxy Support
TLS/SSL Support
Connector Comparison
19. BlazeDS and LCDS Features
BlazeDS Features
LCDS Features
20. Data Services
History of Flex Data Services
Comparison of BlazeDS and LCDS
Client Channel / Server Endpoint Combinations
Servlet-Based Endpoints and Their Client Channels
NIO-Based Server Endpoints and Their Client Channels
Properties of Client Channels and Server Endpoints
General Properties
Client Dhannel Properties
Server Endpoint Properties
Polling
Client Channel Properties
Server Endpoint Properties
Streaming
Client Channel Properties
Server Endpoint Properties
RTMP
Destination Properties and Elements
Common Elements
RPC and Data Management Service Properties
Data Management Service Properties
Network Elements
Hibernate Assembler Elements
Hibernate Assembler fill-configuration Elements
Hibernate Assembler metadata Elements
Hibernate Assembler server Elements
SQL Assembler Elements
SQL Assembler metadata Properties
SQL Assembler server Elements
SQL Assembler server database Elements
SQL Assembler server count, CRUD and fill Elements
HTTP Service Properties
Web Service Properties
Java to ActionScript Type Mappings
ActionScript to Java Type Mappings
Logging Filter Patterns
BlazeDS Files and Directories
BlazeDS JARs
LCDS Files and Directories
LCDS JARS
21. Glossary
Index