This content has been marked as final. Show 4 replies
I don't think I can offer any definitive advice. Partly because it should be based on what your requirements are longer term I guess, and (probably mostly) because I don't know that much about it myself. I'll share what little I know.
For flash, in terms of my understanding remoting is the fastest/most efficient means of communicating with a service you expose on your server , and I'd assume its more scalable as an approach longer term. There's the Adobe versions with Coldfusion and, I think .net, but there are open source options e.g. AMFPHP as well. I think that CS3/as3 will ultimately have no problems with remoting - I read somewhere that although the remoting components are not there now, flash cs3 can use flex non-visual components and also somewhere else that the remoting components are not necessary for remoting to be possible (but I guess they make it easier). I have no idea whether either is true, but I'd be surprised if long term flash cs3 can't do remoting as well as previous versions. The amf encoding method that is used for remoting is more readily accessible in as3 I think, so I can't see it being a problem.
There's another framework for a type of remoting based on what I assume is some form of XML serialisation called XMLPC , but I don't know much about it.
Both flash remoting and XMLRPC give you the ability to not worry about how the data is translated and transferred between flash client and server. You just deal with it in the native data structures in a similar way to making function/method calls locally. LoadVars is great if you just want to transfer name value pairs...eg sets of variables, XML is great for transferring structured representation of data. I've become more accustomed to working with XML as it is and using it as a the basis for my data in flash when I need to use it, which saves having customer encoding/decoding functions to change the way its dealt with locally. This is not always possible or convenient... but with XPathAPI in as2 it is a little easier, and I'm looking forward to using the new CS3 xml representation.
LoadVars and XML are also great and if you're starting out, and are probably essential in terms of having them as an option anyhow so may not be a bad option to begin with just so you're familiar with them. I would suggest that you always know how to work with these approaches and maybe they'll be enough for you for now anyway .
I know nothing about SOAP or any other type of webservice.
Don't know if that helps.
That's most helpful to hear your views. To be honest I've dabbled a little with the LoadVars and XML Object and I've developed some "ASP Classic" (as I believe they call it now) pages which manage to send some data to and from flash and to and from a SQL Server. It doesn't feel elegant - in fact it feels a bit of a hideous mess and I fear how well this approach might work when I have 30 or 40 similar flash files, presumably all speaking to a similar number of asp pages just to get the communication happening properly. I think that's the moment I started wondering if the Remoting and Web Services options were a better alternative.
I really appreciate your views GWD. Does anyone else have some opinions on SOAP / other types of web service so that I can take these on board?
FYI here's some Flash remoting as3 info:
Also something that might be considered "official" - [perhaps] from adobe at the end of this thread about remoting components:
I'd say webservices is the way to go. I use them for a couple of reasons:
1.- It follows the MVC framework. I usually have two versions of my sites (Flash and HTML) and it is easier to bring data from one source instead of several sources for each development.
2.- If I ever need to upgrade the View part of the proejct or change anything withing the business logic the webservice approach makes it easier for you.
If you use Flash Remoting or ASP Classics you end up with a solution that only works for itself. Webservices are the way to go if your projecto needs scalability.