John

I have done what you are attempting, many times -- though without web
services.

Frequently, I would move databases from one remote host to another
using WDDX.

WDDX and XML get a little slow on big recordsets and the amount of tag
overhead is typically 256% -- for every 100 characters of actual data,
you have 256 characters of XML tags.

Other than that, I never never experienced reliability problems with
the process.  The largest db I moved was 33 meg.

Now, some opinion..

In the situation that you describe, the format and structure of the
data is known in advance by both the publisher and consumer of the web
service.  IMO, WDDX/XML (and it's associated overhead) is not justified
for this use:

   -- the data does not need to be self-defining within the transmitted
packet

   -- the data does not need to be human-readable

Instead, I would use the concept of thinArrays*  where the overhead is
typically 13% (instead of 256%).

This would be much faster, use less bandwidth, and be less exposed to
"reliability" outages because of longer transmissions.

With thinArrays, the recordset is encoded into a single string with a
single-character separator between each cell of data -- this is similar
to a CF list (with a couple of nuances).  The WDDX/XML packet contains
the header and open/close tags for the thinArray.

You can see/get the thinArray code at Rob Rohan's site.

    http:///www.rohanclan.com/products/neuromancer/

Note:  The client-side part of Rob's Neuromancer system  only runs on
newer browsers -- Mozilla, Firefox, etc.  The server-side (including
thinArrays) run on anything.

All of the demos use thinArrays and web services.

The source contains:
--server-side CF apps
--server-side CFCs that serialize/deserialize recordsets (CF queries
and arrays) into thinArrays
--server-side  web service CFCs to publish/consume the thinArrays
--client-side js functions to consume web services (including
thinArrays)
--client-side js functions to serialize/deserialize the thinArrays into
js  recordsets
--client-side js functions to manipulate js recordsets.
--client-side PIA apps

HTH

Dick



On May 20, 2004, at 6:58 AM, Burns, John D wrote:

> I'm getting into using web services more (from Flash and CF) and I'm
>  curious if there is an amount of data that is considered "reliable"
> and
>  if there is a set amount that is considered "too much" for web
> services
>  to handle.  Just as an off the wall example, let's say I have a server
>  with information in a database (1000 records and about 10
> columns).   If
>  I query that information out of the database and want to call a web
>  service on another machine to pass that data to machine 2 and have it
> do
>  some data scrubbing and then insert into a database on that computer,
> is
>  that too much to pass via a webservice?  Is it better to loop over the
>  1000 records and pass them to the web service one at a time or is it
>  better to pass a struct of all 1000 records at once and do the parsing
>  on the web service side?
>
>
>  If anyone has examples of things that are and are not reliable and
> maybe
>  some general pointers on when web services are a good thing and when
>  they might not be the best tool for the job, please share.  Thanks!
>
>
>  John Burns
>
[Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]

Reply via email to