As various AJAX implementations popup on a weekly basis now, it is going to be 
quite important for all the vendors to settle on the client/server XML 
protocol. This reminds me of the early days of SOAP. Different companies 
initially tried to do it their own way, and if W3C would not step in and 
standardize the protocol, integration through web services would be a mess now. 
Something very similar should happen with AJAX. In the ideal world an AJAX 
client should be able to talk to any kind of implementation regardless whether 
it is written in ColdFusion of C#. In fact, one should be able to swap the 
underlying implementation of an AJAX powered webapp and no one should notice 
the difference. The benefits of that approach are huge - no vendor lockin and 
simplified (seamless) application integration come to mind.

Since there is no standard client/server XML protocol, our product 
(WebORB)implements something we came up - WOLF (Web Object Literal Format). The 
protocol is flexible and supports all possible data types: primitives, dates, 
strings, complex objects, arrays, pointers, etc. The same protocol is used to 
enable communication between an AJAX client and ColdFusion components, .NET or 
Java objects and XML Web Services. With regards to CFCs, WebORB can serialize 
all available data types as method arguments or return values. The client side 
library (Rich Client System) we provide implements the protocol and can create 
native JS objects representing the server-side counterparts (primitives, dates, 
arrays, structs, ResultSets for CFQUERY, etc). The same library also provides a 
very easy-to-use object binding API, so, for example, to bind to a CFC from 
JavaScript one would do the following:

var cfcProxy = webORB.bind( "mycomponent", "http://weborburl"; );

// now you can invoke any method on the CFC identified as "mycomponent"
cfcProxy.helloWorld();

// to invoke the same method asynchronously, do the following
var async = new Async( processResult );
cfcProxy.helloWorld( async );

// handle the asynchronous result
function processResult( result )
{
  // result is whatever your CFC returned from the helloWorld() function
}

You can see a bunch of detailed invocation examples here:
http://www.themidnightcoders.com/examples/ajaxdotnetguide.htm

Currently the CFC support is available only with BlueDragon.

cheers,
Terry

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Logware (www.logware.us): a new and convenient web-based time tracking 
application. Start tracking and documenting hours spent on a project or with a 
client with Logware today. Try it for free with a 15 day trial account.
http://www.houseoffusion.com/banners/view.cfm?bannerid=67

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:215540
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to