ColdFusion Muse

Scoropio's Integration Tools and Widgets

Mark Kruger May 9, 2007 7:28 PM Coldfusion's Future Comments (5)

A few posts ago I wrote about Scorpio for the developer. I was reviewing a topic covered by Adam Lehman at our local Coldfusion User Group. His topic was presented in 3 parts. The first part (covered in the previous post) had to do with developer tools or widgets that are features of the language. His second part had to do with integration. Here's the rundown:

Exchange Widgets

A new "cfexchange" tag will allow a developer to make a connection to an exchange server and manipulate exchange objects globally or on the basis of an account. For an example he showed us retrieving a calendar object. This seems like a nice intermediate fit - especially for all those CF lead management tools that are out there.

Presentation Tags

Adam showed us a set of tags that allows a developer to assemble slides, swf files, audio and video into a presentation format (like breeze or connect). Personally I thought this was ingenious and (if it works well) it could help us get past some tasks we hate to do as hard core coders - like create tutorials or presentations. I suspect however, that while this presentation framework will be useful in the same way that cfdocument is useful, it will have its own learning curve and syntax that may require work in its own right.

PDF Stuff

Beyond the items mentioned in the previous post, Scorpio will have tags that allow for things like merging 2 PDFs together or manipulating DDX directly. I am quite excited about some of the PDF possibilities. We have a widely used application that is crying out for the possibility of "off-line forms" (forms to use and save data while not connected to the Internet), but no one is going to pay an arm and a leg (and a first child and a temporal lobe) to buy Adobe's PDF server product. So we've been limping along with excel files.

.NET Integration

Of course in that happy world of standards based web services this seems to be a moot point. After all, you can interact with .NET assemblies using SOAP and .NET can utilize services provided by Coldfusion using serializable components - right? Actually, it is a little like a side show carney pitching a teen with acne as "the world famous brail faced boy... come and read the guilt written on his face". The show never quite matches the pitch. The promise of "full integration" with .NET using web services has always been disappointing. There are simply too many data type and object incompatibilities between MS and the Ajax soap libraries to make it work seamlessly. It turns out to be devilishly difficult to simply pass a record set back and forth.

Allairobemedia says that they have solved this problem by integrating .NET assembly usage into createobject(). Behind the scenes (according to Adam) they have solved some of those ticklish compatibility problems and the managed to effectively translate the various objects. He made 2 further points that I found interesting. One point was that this approach to .NET was available on non .NET machines. In other words, you could create a local instance of a .NET object from within your Linux CF Server - pretty neat! The other thing he mentioned was that shuttling the data back and forth was done using a fast binary protocol instead of SOAP and XML - resulting in performance gains. I'm not sure how that is possible from the Linux server, but if it is it's a nice touch.

Coming Soon... Administration

In my next post I will talk about one of the most exciting things I saw - the new admin tools and interface. The monitoring stuff is really outstanding.

  • Share:

5 Comments

  • Tom Chiverton's Gravatar
    Posted By
    Tom Chiverton | 5/10/07 3:16 AM
    "create a local instance of a .NET object from within your Linux CF Server "
    As I understand it, the actual .NET object will need to reside on a Window server still - you can just talk over the .NET remoting protocol.
    It's not like they've intergrated Mono or something.
  • mark kruger's Gravatar
    Posted By
    mark kruger | 5/10/07 8:00 AM
    Tom - yes... you are right. The assembly will still have to reside on the windows server. I was not too clear on that point. Thanks for the correction.
  • Tim Buntel's Gravatar
    Posted By
    Tim Buntel | 5/10/07 9:41 AM
    Tom, just a clarification. Our .NET integration in CF 8 is not just .NET remoting. As in the case described here, we access remote .NET assemblies using a binary protocol via TCP/IP that offers significant benefits over .NET Remoting or web services.
    Tim
  • Tom Chiverton's Gravatar
    Posted By
    Tom Chiverton | 5/10/07 9:52 AM
    Cheers to that Tim.
    But in order to use that, the remote Windows box will need some extra widgit or other installing (and setting up in the .Net assembly) ?
    If so, does CF8 (on Linux, specificaly) fall back to plain .Net remoting if the widgit is missing ?
  • Lola LB's Gravatar
    Posted By
    Lola LB | 5/10/07 3:34 PM
    Linux server? So, one could do this .NET thingy on an OS X server as well? Ironies abound . . .