GraniteDS Documentation

GraniteDS Documentation

Reference Guide


Project Overview
1. Getting Started
1.1. Requirements (Free Tools)
1.2. Example Projects
1.3. Hello World, POJO
1.4. Hello World, revisited with EJB3
2. Usage Scenarios
2.1. Client Options
2.2. Server Options
2.3. Common Technology Stacks
3. Project Setup
3.1. Server Libraries
3.2. Configuring web.xml
3.3. Framework Configuration
3.4. Application Configuration
3.5. Client Libraries and Setup
3.6. Developing with Ant
3.7. Developing with Maven
3.8. Using Maven archetypes
3.9. Developing with Flash Builder
4. Remoting and Serialization
4.1. Using the RemoteObject API
4.1.1. RemoteObject in MXML
4.1.2. RemoteObject in ActionScript
4.1.3. RemoteObject in ActionScript without services-config.xml file
4.1.4. Using HTTPS
4.2. Using the Tide API
4.2.1. Basic remoting
4.2.2. Basic remoting with dependency injection
4.2.3. Using the ITideResponder Interface
4.2.4. Simplifying asynchronous interactions
4.2.5. Service Initializer
4.2.6. Client Message Interceptors
4.2.7. Global Exception Handling
4.2.8. Miscellaneous Features
4.3. Mapping Java and AS3 objects
4.4. Externalizers and AS3 Code Generation
4.4.1. Example of a JPA entity and its corresponding AS3 beans
4.4.2. Standard Configuration
4.4.3. Autoscan Configuration
4.4.4. Built-in Externalizers
4.4.5. Custom Externalizers
4.4.6. @ExternalizedBean and @ExternalizedProperty
4.4.7. Custom Class Getters
4.4.8. Instantiators
4.5. JPA and Lazy Initialization
4.5.1. Single-Valued Associations (proxied or weaved associations)
4.5.2. Collections (List, Set, Bag, Map)
4.6. Securing Remote Destinations
4.6.1. Configuration
4.6.2. SecureRemoteObject
4.6.3. Fine-grained Per-destination Security
5. AS3 Code Generator
5.1. Overview
5.2. Generated ActionScript 3 Classes
5.3. Java Classes and Corresponding Templates
5.4. Known Limitations
5.5. Eclipse Plugin
5.6. Ant Task
5.7. Maven Plugin (Flexmojos)
5.8. Template Language
6. Messaging (Gravity)
6.1. Example Usage with Consumer/Producer
6.2. Topics and Selectors
6.3. Common Configuration
6.3.1. Supported Application Servers
6.3.2. Advanced Configuration
6.3.3. Tomcat and JBoss/Tomcat Specific Configuration Tips
6.4. Integration with JMS
6.5. Using an Embedded ActiveMQ
6.6. Server to Client Publishing
6.7. Securing Messaging Destinations
7. Integration with EJB3
7.1. Using the RemoteObject API
7.1.1. Basic Remoting Example
7.1.2. Common Configuration
7.1.3. Configuration for Remote EJBs
7.1.4. Automatic Configuration of EJB Destinations
7.1.5. Configuration for Stateful EJBs
7.1.6. Security
7.2. Using the Tide API
7.2.1. Configuration
7.2.2. Basic Remoting with Dependency Injection
7.2.3. Typesafe Remoting with Dependency Injection
7.2.4. Security
8. Integration with Spring
8.1. Spring MVC Setup
8.2. Using the RemoteObject API
8.2.1. Basic Remoting Example
8.2.2. Configuration with a MVC Setup
8.2.3. Default Configuration
8.2.4. Automatic Configuration of Destinations
8.2.5. Integration with Spring Security
8.3. Using the Tide API
8.3.1. Configuration with a MVC Setup
8.3.2. Default Configuration
8.3.3. Basic Remoting with Dependency Injection
8.3.4. Typesafe Remoting with Dependency Injection
8.3.5. Integration with Spring Security
8.4. Messaging with Spring (Gravity)
9. Integration with Seam 2.2
9.1. Seam 2 Native Setup
9.2. Using the RemoteObject API
9.2.1. Basic Remoting Example
9.2.2. RemoteObject with Seam Conversations
9.2.3. Configuration with the Seam XML
9.2.4. Default Configuration
9.2.5. Automatic Configuration of Destinations
9.2.6. Integration with Seam Security
9.3. Using the Tide API
9.3.1. Configuration with a Native Setup
9.3.2. Default Configuration
9.3.3. Basic Remoting with Dependency Injection
9.3.4. Using Context Variables
9.3.5. Integration with Variable Outjection
9.3.6. Integration with Conversations
9.3.7. Integration with Events
9.3.8. Integration with Asynchronous Events
9.3.9. Integration with Messages
9.3.10. Data Paging with Query Component
9.3.11. Integration with Identity Component
9.4. Messaging with Seam 2 (Gravity)
10. Integration with CDI
10.1. Configuration with Servlet 3
10.2. Default Configuration
10.3. Using the Tide API
10.3.1. Basic Remoting with Dependency Injection
10.3.2. Typesafe Remoting with Dependency Injection
10.3.3. Integration with Conversations
10.3.4. Integration with Events
10.3.5. Security
10.4. Messaging with CDI (Gravity)
11. Client-Side Validation API (JSR 303)
11.1. Getting Started with the GraniteDS Validation Framework
11.2. Working with Error Messages and Localization
11.3. Working with Groups
11.4. Integration with Code Generation Tools (Gas3)
11.5. Writing your own Constraints
11.6. Using the FormValidator Class
11.7. Notes on Compatibility
12. ActionScript 3 Reflection API
12.1. Getting the Properties of a Class
12.2. Exploring Class Members
12.3. Looking for Annotations
12.4. Calling Constructors or Methods, and Getting or Setting Properties
12.5. Working with Application Domains
12.6. Working with Specific Namespaces
12.7. Visitor Pattern Support
13. Big Numbers Implementations
13.1. Working with Long, BigInteger or BigDecimal AS3 Types
13.2. Serializing Long, BigInteger or BigDecimal
13.3. Integration with Code Generation Tools
13.4. Note on Performance
14. Tide client framework
14.1. Getting Started
14.2. Application Initialization
14.3. Contexts and Components
14.4. Dependency Injection
14.5. Event Bus
14.6. Conversations
14.7. Integration with Data Management
14.8. Extension and Plugins
14.9. Security
14.10. Modules
14.11. Support for Deep Linking
15. Data Management
15.1. JPA and Managed Entities
15.2. Transparent Lazy Loading
15.3. Reverse Lazy Loading
15.4. Dirty Checking and Conflict Handling
15.5. Data Validation
15.6. Data Paging
15.7. Data Push
16. Extensibilty
16.1. Handling Custom Data Types
16.2. Writing a Security Service
16.3. Custom Exception Handlers
16.4. Server Message Interceptors
16.5. Custom Java or ActionScript3 Class Descriptors
16.6. Custom AMF3 (De)Serializers
16.7. ServiceInvocationListener (Advanced use only)
17. Configuration Reference
17.1. Framework Configuration
17.2. Application Configuration
17.2.1. Channels
17.2.2. Factories
17.2.3. Remoting Destinations
17.2.4. Messaging Destinations
18. Appendix
18.1. GraniteDS Config DTD
18.2. GraniteDS Spring/Seam Configuration XSD
18.3. Release Notes