LCDS

Adobe and Salesforce.com Unite RIA and The Cloud

The two major trends transforming software right now are Rich Internet Applications (RIAs) and Cloud Computing / Software as a Service (SaaS or PaaS). These trends are driven by two needs:

  • Full client capabilities, which allow software to perform optimally and increase usability

      • Easy deployment, which allows developers to focus on business needs instead of building infrastructure
      The combination of RIA and Cloud is the future of software because it provides full client capabilities and easy deployment. The chart below illustrates this in comparison to the other major software architectures (main-frame, client / server, and web).
<img src="http://www.jamesward.com/blog/wp-content/uploads/2009/10/RIA.png" alt="RIA" title="RIA" width="600" height="370" class="alignnone size-full wp-image-1272" srcset="https://www.jamesward.com/uploads/2009/10/RIA.png 600w, https://www.jamesward.com/uploads/2009/10/RIA-300x185.png 300w" sizes="(max-width: 600px) 100vw, 600px" />

In line with these trends Adobe and Salesforce.com [announced today][1] that they are working together to unite Rich Internet Applications and The Cloud. At the core of this announcement is a developer preview of the [Adobe Flash Builder for Force.com][2] tool. This tool enables developers to easily build intuitive user interfaces with Flex which connect to the Force.com cloud platform and Salesforce.com CRM data. These applications can be deployed either in the browser or on the desktop using Adobe AIR. When utilizing Adobe AIR, the applications can still function when users are disconnected. Later, when users reconnect, the changes are synchronized with Force.com using the LiveCycle Data Services synchronization engine.

Being able to connect Flex applications to Salesforce.com / Force.com has been possible (and easy) since I co-created what was originally called the [Flex Toolkit for Apex][3]. So while it has been possible to build Rich Cloud Applications for a few years, today's announcement is significant for a few reasons:

  * Adobe and Salesforce are now officially partnered together around Rich Cloud Applications
  * Much better, officially supported developer tooling
  * Much better offline data synchronization

It's really exciting to see how the vision of Rich Cloud Applications is becoming reality!

If you'd like to learn more or try out the new tooling check out these resources:

  * [Get the developer preview and watch video demos][2]
  * [Get inspired and see how it works][4]
  * [Watch a video walk-through][5]

Another great way to learn more is to sign up for a [Webinar / Tech Talk][6] that I will be co-presenting.

Let me know what you think about this exciting new partnership and developer tooling.

My MAX 2009 Sessions

MAX 2009 is coming fast! It’s going to be another great event with tons of great speakers and after party fun. Here are my sessions this year:

Also Drunk on Software will be there filming some episodes.

So this is certainly a MAX you don’t want to miss! I hope to see you there!

Protected Messaging in Flex with BlazeDS and LCDS

UPDATE: BlazeDS 4 and LCDS 3.1 now have built-in support to disallow subscriptions to wildcard subtopics. Just set the following parameter on the messaging destination’s server properties:

<disallow-wildcard-subtopics>false</disallow-wildcard-subtopics>

You no longer need to use the ProtectedMessagingAdapter from the code examples below in order to protect your messages.

One of the great things about Flex is how easy it is to set up publish and subscribe messaging using BlazeDS, LCDS, or other various server technologies. Basically a Flex application can be either a Consumer of messages from the server, a Producer of messages to the server, or both. The channels that are used for the actual transport can vary dramatically depending on the needs. Here is a great blog that explains the different transports. No matter what transport / channel is used the API in Flex is the same. If you'd like to see how to use those APIs check out this video I recorded.

RTMP Spec To Be Opened

A little over a year ago Adobe opened the AMF spec. Now Adobe has announced it will be opening the RTMP spec! Wahoo!!! This is big news for Flex developers! For those that don’t know, RTMP is the streaming protocol used for streaming video and audio in Flash Media Server and for streaming data in LiveCycle Data Services. The spec is expected to be published first half of this year.

Take the Tour de Flex

Over the past few months Greg Wilson, Christophe Coenraets, and myself have been hard at work on a secret project. So today we are proud to announce the new Tour de Flex has just gone live! Tour de Flex showcases the capabilities of Flex, BlazeDS, LCDS, Adobe AIR, and Flash Player (now collectively called the Adobe Flash Platform).

Like the old Flex Component Explorer, Tour de Flex can be used to find components. But it goes way beyond just out-of-the-box Flex components. This first release contains 217 components and samples including popular Cloud APIs like Salesforce.com and Intuit, numerous community components from people like Doug McCune and Tink, commercial components from companies like ILog, and numerous other goodies. If you find something missing you can submit it!

Video: Flex and Java

Here is the recording of a presentation I gave at the NLJUG a few weeks ago on Flex and Java. I hope you find this useful. Let me know what you think.

Article & Videos on Integrating Flex and Java

This week I’m in Europe speaking at various Java User Groups about integrating Flex and Java. I tend to move quickly through code demos so many people have asked me how they can continue learning. Here are a few resources to get you started:

InfoQ Article: Building Web and Desktop Applications with BlazeDS and AMF

Adobe TV Video: Flex Messaging Service

Adobe TV Video: The Data Management Service in LiveCycle Data Services

Email List: JavaFlexCoders Yahoo! Group