RIAs with Java, Spring, Hibernate, BlazeDS, and Flex
1. RIAs with Java, Spring,
Hibernate, BlazeDS, and
Flex
James Ward
www.jamesward.com
Technical Evangelist - Adobe
#6662
2. Applications have evolved
Easy
2004
WEB APPLICATIONS
EASE OF DEPLOYMENT
RICH INTERNET
1998 APPLICATIONS
1992
Hard
MAINFRAME CLIENT/ SERVER
Client
Limited Capability Full
3. Adobe’s Software Development Platform
Applications
Adobe
Media
Open Bug Database: Acrobat
Buzzword Connect
Player http:/ / bugs.adobe.com
Designer/ Developer Tools Clients
Client
Runtimes Adobe Flash PDF
AIR Player
60 Day Free Trial
Free for students Frameworks
High Performance
Adobe
and Creative Suite 4
educators JIT’ing VM: Ajax Flex 3
Mozilla Tamarin
Servers/ Services
Open Source: MPL
Flex Builder
LiveCycle ColdFusion
Use any text editor Scene7
Acrobat
Flash Media Flash / IDE
Server Connect Cast
4. Adobe AIR Application Stack
HTML Flash
Cross- OS
HTML Flex Application
JavaScript Flash ActionScript HTML Integrated
XML XML Rendering
CSS Audio
Integrated DOMs
PDF Video PDF
& Scripting
File Syst em Network Applicat ion Drag and Local
Access Detect ion
Not ifications
Update Drop Database
... Adobe AIR APIs
Mac, Windows, Linux & Device OS
5. How Flex Works
Flex Builder IDE Browser and ActionScript AIR
MXML Adobe
Flash Player
Flex SDK
MXML ActionScript
Flex Class Library
SOAP HTTP/ S AMF/ S RTMP/ S
Web Server
Compile
XML/ HTTP BlazeDS or
REST LC Data Services
SOAP Web Services
J2EE Application Server
.swf
Ex isting Applications and Infrastructure
7. Flex with Java via XML (RESTful / SOAP)
App Server
Web Service
XML
Client (RESTful /
SOAP)
8. Introducing Open Source BlazeDS
BlazeDS
Service
Data Management
BlazeDS is the remoting and HTTP- based Adapters
Data Synchronization
messaging technology which Adobe is LiveCycle
Off- line Applications
contributing to the community under LGPL
Data Paging SQL
v3
Capabilities RPC Services Hibernate
> Easily connects Flex & AIR applications to existing Web Service
server logic HTTP Service ColdFusion
> High performance data transfer for more responsive Rem ote Object Service
applications JMS
Messaging
> Real- time data push over standard HTTP Java
Publish & Subscribe
> Full pub/ sub messaging that ex tends existing Collaboration
messaging infrastructure Real Tim e Data Push
Custom…
Publication of the Action Message Format Prox y Service
(AMF3) binary data protocol specification Web- tier Compiler
Portal Deployment
Certified builds, warranty protection and
RIA- PDF Generation
enterprise support subscriptions available
10. Flex with Java via Remoting
J2EE Server
BlazeDS
POJO
Endpoint Spring Bean
AMF
Client
EJB
Other
11. Flex with Java via Messaging
J2EE Server
BlazeDS
Messaging
Adapter X
System X
Message JMS
Endpoint JMS Adapt er
Service Provider
Messaging
Adapter Y
System Y
RTMP
AMF
HTTP Publisher
Subscriber
12. Spring and Flex!
SpringSource and Adobe have formed a joint partnership to turn this idea into
reality!
The foundations of this new integration will be available as open source
– A new Spring subproject in the web portfolio:
Spring BlazeDS Integration
Focus on integrating the open source BlazeDS with Spring
12
13. M1 - Dec 2 0 0 8
Bootstrap the BlazeDS MessageBroker as a Spring- managed bean (no more
web.xml MessageBrokerServlet config needed)
Route http- based Flex messages to the MessageBroker through the Spring
DispatcherServlet
Expose Spring beans for remoting using typical Spring remoting exporter
configuration
13
14. M2 - March 2 0 0 8
Spring Security integration
– Ensure that Spring security can secure any Springmanaged
endpoints with credentials provided by the Flex app
14
15. post M2
Spring JMS integration
– Integration with the BlazeDS MessageService
– Use Spring configuration to manage BlazeDS
MessageDestinations
– Let Spring manage the JMS details
– Allows easy communication from Flex clients to Spring
message- driven POJOs
Spring 3.0 REST integration
– Provides support for multiple client- types
– Flex apps can already consume Spring 3.0 RESTful endpoints through
HTTPService
– Additional value could be realized by providing an AMFView
implementation
Response or TTP
f H request w i h Cont
s t a ent Type= applcat on/ i
i i act onscri
pt
20. 20
Hibernate Integration
Either wrap beans by remoting Spring services / EJB Session Beans /
POJOs...
public class Employee
public class EmployeeService
Or use dpHibernate
Or use LCDS’s Data Management Service