Macromedia has joined the app-server add-on pack, having announced that the next version of ColdFusion (code-named NEO), which can run standalone but also on top of all the big Java application servers - all without changing the ColdFusion Markup Language (CFML) environment.
Interestingly enough, I believe that this move has been on the card for about two years, so it could be argued that the Allaires knew where the market was heading, before ATG and SilverStream decided to support J2EE servers, as well as their own proprietary offerings.
As well as running standalone (by which they mean that ColdFusion will run on top of an embedded version of JRun), Macromedia will also support WebLogic, WebSphere and connect with .NET.
In fact, there is already a Java application
that runs CMFL pages on servlet engines.
... but why don't these companies support low price kit such as Orion and JBoss?
Learn more about NEO
Read Press Release
This is really good news. I was a ColdFusion developer several years ago and it remains one of my favourite web development languages. ColdFusion provides much more functionality than any of the tag libraries I have seen for Java and really allows an organisation to develop a very streamlined workflow for development, following classic layered architecture patterns. It becomes possible to have 'Interface' developers working on the presentation layers, talking to deep Java/EJB backend systems developed by 'Application' specialists.
Remember when Allaire purchased Live Software, the original publisher of JRun? Live had a product called CF_Anywhere, a servlet that could process Cold Fusion templates without the need of a Cold Fusion server. While it didn't support the entire CFML set of tags, it did recognize the important ones.
When Allaire decided they needed to get into the Java business, I thought their choice of which company to acquire was largely based on Live's development of CF_Anywhere. This killed two birds with one stone: acquiring Live got them into the Java business and eliminated a potential competitor that threatened their franchise. Now, they've probably resurrected at least part of CF_Anywhere for this new strategy.
Based upon what I know of the inner workings at Allaire/ Macromedia, I can't believe they were foresightful enough to dream this up three years ago. I believe this is more a happy coincidence than the culmination of a brilliant technology strategy. Remember that they spent a lot of time spinning their wheels on Spectra and WDDX...
As far as support for Orion, JBoss, Tomcat, Jetty, etc., supporting those platforms doesn't get Macromedia very much. By partnering with BEA and IBM, MM gets access to all those outfits that have the money to drop on such marquis brands. Those who deploy JBoss or Tomcat servers aren't likely to drop $5k on a tag library for their frontend developers. Those who've plunked down $50-100k for their app server are more likely candidates. While MM could (and very well may) ship Cold Fusion as a deployable WAR file, they will probably only support BEA, IBM and JRun installations because they don't want to provide technical support and expertiese for every java app server that comes down the pike. I would venture that this is viewed as too expensive.
Having said all this, I think it's a cool idea: the ease of development of CF with the performance and scalibility of Java application servers. It's about time...
Can some one shed some light on the following comparison:
1. use CF for web tier + EJB
2. use jsp/servlet for web tier + ejb.
This the new is good than there must be some advantage of #1 over #2. This will kill jsp.
It won't kill JSP at all, but it offers an alternative for those willing to bear the extra licensing cost. ColdFusion can really just be viewed as an incredibly comprhensive tag library.
Everything you can do in COldFusion you can do in JSP, its just that ColdFusion comes 'out-of-the-box' but without a tag library framework for JSP (and remember there are some good open-source ones around) you will have to develop much functionality yourself.
Believe it, baby!
You said you couldn't believe that this strategy has been in the works for 3 years. Well, what do you think Paul Colton and co. were trying to do with CF_ANYWHERE at Livesoftware? And all those guys have been here at Macromedia for the past three years.
Further, go back to the early JSP drafts and specs -- 0.91, 0.92, 1.0 -- Allaire/Livesoftware had domain experts (Tom Reilly, Edwin Smith, Jeremy Allaire) on the JSP and Servlet specs' expert groups since the earliest days. The push to standardize JSP tags was much influenced by Allaire and CFML.
Note that NEO was announced quietly to the CF/JRun dev community at last year's Allaire DevCon, and preceding that were whitepapers on our Web site from Jeremy Allaire announcing the strategy (some of those were pulled because, I believe, they predicted that CF 5 was going to be running on Java, which it didn't end up doing). This year the product is an imminent reality, so the announcement was to the world, with backing from industry supporters.
Spectra always struck me as a pretty good personalization app? Will Macromedia continue with it, roll the functionality into Neo ... or just bin it?
From the FAQ at http://www.macromedia.com/go/neo
Will Neo include Macromedia Spectra?
We plan to include in Neo a next-generation version of the core architecture that made Macromedia Spectra a powerful platform for building Web sites and applications. We believe making this capability a part of Neo will broaden its usability and accessibility and make it even easier for customers to build powerful Internet applications. Customers looking for more specific information about Neo and Macromedia Spectra should contact their sales representatives.
It's my understanding that the only part of the Spectra debris to be transplanted into Neo will be the COAPI, the content object API. It's that part of Spectra that enabled developers to create and persist pseudo-objects. Also, Spectra has been (always was, I guess) community sourced, so you're free to make modifications and share them with other Spectra developers. Check out spectrasource.macromedia.com for more details.
Folks, go.jtransit.com has been up for a while with a Servlet/Compiler environment that will allow you to do just that, AND run in ANY J2EE app server of your choice. Further JTransit ships with a development license of Orion, the app server of choice. Version 2.0 is going to support all of ColdFusion and they're looking for beta testers.
NEO is about to go beta, and Ive looked at the alpha version in some detail.
All things will seem the same for a coldfusion developer as they can write and run CF templates in exactly the same way they used to.
The big difference is that the server (e.g. Weblogic) is running java classes that have been created by the NEO product at run time. All of this is transparent (if required) to the developer.
In addition, the CF templates can access 3rd party JSP Tag Libraries as well (although the CF functionality far surpasses any tag library available).
Anyone who has developed coldfusion in anger knows that coldfusion easily surpasses anything in the Java world in terms of development speed/cost.
So now those enterprises who have standardised on the J2EE platform can take advantage of the strong advantages on offer with coldfusion.
As regards spectra, Im also an experienced spectra developer, and I cant see any spectra in NEO at all.
CFMX components (CFC) are greatly influenced by the Spectra development. In addition Macromedia had talked of an object persistence layer to work in combination with CFCs (codenamed Greylock) but this never eventuated. In any event writing a custom persistence layer for CFCs is very straight forward.
For anyone who hasn't tried CF or for jaded CF coders CFCs alone are enough to bring you back into the fold. Not to mention XML transformation services, charting, web services, flash remoting, etc.
The CFMX preview release is well worth a peak. Write your own SOAP webservice in five minutes.. you'll be amazed.