Anatole,

1. Yes I am very aware of how Firewalls and Proxies can wreak havoc on
binary streaming protocols.  AMF is not a binary streaming protocol, its
simply a stateless HTTP POST of data.  If a firewall can't handle AMF then
it will likely have problems on things as simple as multi-part form POST.

2. This is a mute argument.  Your standard AMF packet is smaller than a
similar SOAP envelope.  Yes, if you GZIP the SOAP it will be comparable to
the AMF packet.  But you can also GZIP the AMF and then it is that much
smaller yet.

3. Your talking about the speed on the server side.  The issues are in the
speed of parsing on the client-side.  The simple truth is that it will
always take longer to parse XML compared to a binary protocol.  In one I
have a string that I need to check every character for a tag close.  In the
second I have two bytes that tell me exactly how many characters to read in.

I think there are many times when SOAP is a better solution than AMF.  SOAP
has much better support and community around it.  Its much easier to debug.
When dealing with 3rd parties SOAP makes much more sense.  What I am arguing
is that if performance is your top priority, AMF is a better solution.  And
I don't think that its relationship to SOAP has anything to do with Java's
relationship to Assembly.

It is not difficult to abstract your code in a way that allows you to easily
toggle between SOAP and AMF or even have both working in parallel.  It is
worth the effort to do this to ensure that you can benefit from both
protocols in different situations.

Kevin

-----Original Message-----
From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of Anatole Tartakovsky
Sent: Saturday, October 22, 2005 9:54 PM
To: flexcoders@yahoogroups.com
Subject: Re: [flexcoders] Re: Open source AMF solutions that work with flex

Kevin,
    I do not think Dave needs help on this one as he obviously is expert in
this field. Just let me note that Dave's experiences were independently seen
in our apps as well as we were doing a lot of proprietary remoting over HTTP
in the last 7 years for RIA type of applications. Here are the results:
1. Firewalls will through some problems.  Much more will come from proxy
servers. HTTPS/keepAlive bugs in apache and clones will add theirs. There
are bugs in URLMon ( Microsoft module that handles HTTP streams) with
handling large compressed streams that will make  you loose your sleep. You
want your protocol be as much debuggable and configurable as possible -
preferably on per client basis - to be able to send data differently to
Japan or New York.

2. GZip is a huge win for relational type of info (DataGrids and lists). AMF
Remoting does not remove metadata info - and with GZip the package size of
XML output should be comparable.

3. Main difference in the speed is in the way AMF "optimistic" approach
works. You send request to the server and it tries to introspect Java
classes and find best match (by doing comparison of all methods
signatures) - and all that is somewhat optimized and cached . Obviously all
metadata - including field names and types - travel with the package. When
it comes back - the same deal here - either it uses packet metadata to
create dynamic object or reconcile it with registered class.

I personally had quite a few cases when AMF diagnostics of the protocol
problems required me to debug flashremoting servlet. Compared to other
protocols I have seen there is no magic - just a good implementation of
serialization / deserialization machanism (I might of missed something
though) with very few basic types - and that is not different from any other
proprietary protocol Dave is refering to.

Webservices usually requre 2 roundtrips - one to get metadata and create
"client proxy" and one for actual code execution. Good implementations
suppose to cache the first call thus making that cost negligible. Client
proxy can be made more efficient then dynamic built-in one.

The benchmarks creation is a separate art form - and is too often in line to
what we expect to see. If I was serious about performance I still should be
coding in Assembly language. Chances are that most of us code mostly in Java
or scripting environment.

Personal note:

There pros and cons for use of XML to serialize ActionScript objects misses
the point that XML is the universe of it's own. I hope that with E4X in the
core product people will gradually get in more complex data models that will
move this discussion from comparison simple "POC" apps to real world ones. 
As you move your application towards use of stateful datasets and other
large transfers you will find yourself using HTTPRequests and WebServices
more often.

Sincerely,
Anatole Tartakovsky



----- Original Message -----
From: "Kevin Langdon" <[EMAIL PROTECTED]>
To: <flexcoders@yahoogroups.com>
Sent: Friday, October 21, 2005 3:55 PM
Subject: RE: [flexcoders] Re: Open source AMF solutions that work with flex


> - AMF is binary data passed over standard HTTP request and responses.  So
> you should not have any problem with packet filtering.
>
> - You can turn on GZIP compression with remoting just as you cand with
> SOAP.  That means it be even smaller.  Remoting cuts out all the extra
> metadata so its always going to be smaller.
>
> - GZIP compression doesn't improve the client side processing of the data,
> it actually hurts it in a small way.  This is why AMF is so much faster 
> than
> SOAP.  Flash uses DOM to parse XML, due to this you will see that the 
> client
> side parsing time grows exponentially with the size of your data.  AMF 
> grows
> linearly.  Even with small datasets AMF is much faster due to the 
> simplicity
> of its serialization.
>
> Its not difficult to setup a simple benchmark test.  Do this and you will
> quickly see how much better AMF performs compared to SOAP, especially with
> large datasets.
>
>
> -----Original Message-----
> From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
> Behalf Of Dave Wolf
> Sent: Friday, October 21, 2005 3:42 PM
> To: flexcoders@yahoogroups.com
> Subject: [flexcoders] Re: Open source AMF solutions that work with flex
>
> A few comments.
>
>> * Binary transport
>
> So is SOAP when you turn on GZIP compression in your container.  And I 
> would
> argue that binary transmission can be a bad thing too.  What if a firewall
> used on a corporate environment has packet filtering turned on.  Does that
> firewall have an AMF filter and did the firewall admin know what it was? 
> I
> spent oodles of time working in CORBA.  IIOP is a binary protocol and I 
> cant
> tell you how often we bumped intot his issue in a true distributed
> application.  We actually used to tunnel the IIOP through HTTP a lot to
> avoid this.
>
>> * 50% percent faster then SOAP or Webservice
>
> Not true with GZIP turned on.
>
>> * Automatic object serialization/deserialization
>
> So does XML web services in Flex.
>
>
> --
> Dave Wolf
> Cynergy Systems, Inc.
> Macromedia Flex Alliance Partner
> http://www.cynergysystems.com
>
> Email:  [EMAIL PROTECTED]
> Office: 866-CYNERGY x85
>>
>>
>> -abdul
>>
>>
>>
>> -----Original Message-----
>> From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED]
>> On Behalf Of Dave Wolf
>> Sent: Friday, October 21, 2005 12:29 PM
>> To: flexcoders@yahoogroups.com
>> Subject: [flexcoders] Re: Open source AMF solutions that work with
>> flex
>>
>> I do want to know why you're prefering AMF over HTTP or WebService.
>>
>> Just curious on the motivation there.
>>
>> --
>> Dave Wolf
>> Cynergy Systems, Inc.
>> Macromedia Flex Alliance Partner
>> http://www.cynergysystems.com
>>
>> Email:  [EMAIL PROTECTED]
>> Office: 866-CYNERGY x85
>>
>> --- In flexcoders@yahoogroups.com, Clint Modien <[EMAIL PROTECTED]> wrote:
>> >
>> > I guess I should specify that they don't need to be open source at
>> all they
>> > could be 3rd party as well. (More than willing to pay for a
>> > solution)
>> >
>> >
>> >  On 10/21/05, Clint Modien <[EMAIL PROTECTED]> wrote:
>> > >
>> > > Anyone get any open source amf solutions to work with flex?
>> > >  Looking into this due for the most part to the lack of amf
>> support in the
>> > > flex alpha release. I'm also guessing that this is what MM will
>> release as
>> > > the non enterprise version of flex. So I'm looking for
>> > > alternatives
>> to
>> > > webservices and httpservices.
>> > >
>> >
>>
>>
>>
>>
>>
>>
>>
>> --
>> Flexcoders Mailing List
>> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
>> Search Archives:
>> http://www.mail-archive.com/flexcoders%40yahoogroups.com
>> Yahoo! Groups Links
>>
>
>
>
>
>
>
>
> --
> Flexcoders Mailing List
> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
> Yahoo! Groups Links
>
>
>
>
>
>
>
>
>
>
>
> --
> Flexcoders Mailing List
> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
> Yahoo! Groups Links
>
>
>
>
>
>
>
> 




--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links



 





------------------------ Yahoo! Groups Sponsor --------------------~--> 
Most low income households are not online. Help bridge the digital divide today!
http://us.click.yahoo.com/cd_AJB/QnQLAA/TtwFAA/nhFolB/TM
--------------------------------------------------------------------~-> 

--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/flexcoders/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to