Scorpio and Apollo - Coming Soon to a Town Near You!

Yes, you read the title correctly: "Scorpio," the highly anticipated eighth major release of ColdFusion is coming soon to a town near you. Even before the release of the highly successful ColdFusion MX 7 two years ago, the ColdFusion team was already hard at work scheming, experimenting, planning, building, creating...and the result is "Scorpio."

Building on top of the powerful platform introduced in ColdFusion MX, and the solid feature set of ColdFusion MX 7, Scorpio piles on new features and technologies for developers, administrators, technical decision makers, and more. The official release of Scorpio is projected to be around the mid-2007 timeframe, but you don't have to wait until then to see it for yourself.

Ben Forta (as well as Tim Buntel in some locations) will be demonstrating lots of Scorpio throughout an extended user group tour in the spring, where attendees will get to see Scorpio in action, as well as gain access to the pre-release beta, and get the chance to win Adobe software. At the time of this writing there are 25 presentations scheduled from April 23 to May 21, but the schedule of dates/locations is being updated regularly. To check if a ColdFusion user group near you is participating, visit the schedule at http://labs.adobe.com/wiki/index.php/Scorpio.

What are the new features in Scorpio? Scorpio is currently in beta and members of the beta are under NDA, so new features can't be discussed. It has been announced that in addition to the user group tour dates, Scorpio topics will also be discussed at the CFObjective and CFUnited conferences. I and many other developers blogged about features we'd like to see - google the phrase "ColdFusion 8 wish list" (or "Scorpio wish list") to find many of those entries. You can also visit the Scorpio wiki at http://labs.adobe.com/wiki/index.php/Scorpio and look at the "Things that customers are looking for" section at the bottom of the page to see other features being requested. Of course, a wish list isn't the same as a feature list, so there are no guarantees, but Adobe does pay a lot of attention to what the community and the customers are asking for most often. Even if I could post a feature list, it's important to note that the product is currently in beta, so a feature here today could be gone tomorrow (and vice versa). One thing's for sure though - this truly is a very highly anticipated release (just look at the number of hits you get searching for wish lists) and the server team promises it's going to be another major feature-packed release (as opposed to a "patch" release), so keep your eyes and ears open for the tour and get ready to code. If you are not already on the Scorpio Beta and would like to apply to be on it, the URL is https://prerelease.adobe.com/callout/apply.html? callid={E9F64ADB-DADA-485E-BFFE-60E0D783EBEF} (there's also a link on the Scorpio Wiki referenced earlier).

One other very recent noteworthy announcement from Adobe is the availability of the Apollo alpha. Apollo is a cross-operating system runtime environment developed by Adobe that allows Web developers to leverage their current knowledge of Flex, ActionScript/Flash, HTML, JavaScript, HTML, and AJAX to build desktop applications (or, as the Adobe Apollo Wiki describes it, "to build and deploy rich Internet applications [RIAs] to the desktop"). Apollo is currently supported on Windows and OSX and plans are in the works to support Linux in the near future. There are many planned features such as PDF support, the ability to launch external applications, and many more (a more complete list is on the Apollo FAQ at http://labs.adobe.com/wiki/index.php/Apollo:developerfaq# What_are_some_of_the_features_
that_are_not_included_in_the_Apollo_alpha.3F
).

Many developers and clients have asked me why a ColdFusion developer should be interested in Apollo, and how Apollo impacts the role of the CF developer in an organization. These are very good questions that I plan to address in more detail in a future editorial, but for now I'll offer this brief bit of insight.

As for why a ColdFusion developer may be interested in Apollo, there are two ways in which I see Apollo being extraordinarily useful for us. One is the obvious fact that using ColdFusion alone, your application is Web based and runs on an application server, whereas Apollo let's you build something that runs on the desktop. This means your end users don't need to remember or bookmark any URL (just access the application from their desktop), your applications can do things that Web applications can't traditionally do such as access the file system and other resources on the client machine, and end users can even use your application when they don't have any Internet connectivity or when your servers are not online. This last benefit also makes Apollo ideal when users may want to take the application home or to some other remote location, do their work (storing data locally and using data they've retrieved from the server for offline use), and then possibly synch the work they've done offline with your servers when they return to the office or obtain connectivity. I also see Apollo as being very useful in that developers will be able to distribute prototypes, demos, and/or finished products to end users not only via the Web but on CD and other physical storage devices. Can't you already do this with Java? Well, kind of but not entirely and the short answer to that question is "no" (yes, you can run a desktop app written in Java anywhere you have a runtime and yes, you can do some simple Web scripting rendering with Java) - but Apollo really is different, and Apollo allows Web developers to leverage their existing skills to build these applications - the significance of which cannot be overstated.

Regarding how Apollo impacts the role of ColdFusion or ColdFusion developers in an organization - that's tough to say so early in the game and it also depends largely on the nature of the application(s) on a project-by-project basis. In an Apollo application, the role of ColdFusion will typically be that of a service provider. It's a typical client/server relationship where data persistence is (most likely) being performed on the client and business logic may or may not be performed on the client depending on whether this logic must be server-side or may need to be available to applications other than the Apollo client apps. Logic written using CFCs can be used by Apollo, Flex 2, and ColdFusion applications and can be exposed as a Web service that's consumable by any other SOAP-enabled environment. Logic in an Apollo app is available to the Apollo app. On the other hand, logic in the Apollo app runs client side, thus greatly reducing server load as well as dependence on an active Internet connection. It's important to keep in mind that in addition to offering services that provide database interaction and/or perform business logic on the server, ColdFusion will be a good candidate to provide services that generate/manipulate documents, leverage products deployed on the enterprise (Verity, mail servers, Java/COM/CORBA objects, etc.), and that access other server-side resources (such as the servers local file system).

If you aren't interested in developing desktop applications or distributing your current content to the desktop, then Apollo may not be something you need immediately dive into, but it's definitely something to better familiarize yourself with in the event that it suits your needs in the future. If nothing else, it's a skill that will most likely make you a more marketable developer and could make your contributions in the workplace more valuable. Though the features are yet to be publicly announced, Scorpio certainly looks to be a ColdFusion release with many significant new features that allow you to do more, more easily and/or in better ways, so I strongly recommend attending the user group presentation nearest you and signing up for the Scorpio beta. If you're fortunate enough to not only be a CF developer but to also be one of the early adopters of Flex, then 2007 looks to be a very productive, interesting, and fun year for you and your organization. Keep your eye on the Adobe Labs site for breaking news, downloads, and other information, as Adobe is doing a fantastic job releasing loads of "goodies" at a great rate.

© 2008 SYS-CON Media