شايد بد نباشه من ابتدا كمي در مورد remoting توضيح بدم:
remoting يك امكان ارتباط مستقيم بين فلش و application server هاي مبتني بر Java و Net. مي باشد كه در فلش نسخه 6 قرار داده شده است. براي استفاده از remoting نياز به flash player 6 يا بالاتر و نسخه سرور remoting مي باشد. remoting server در application server هاي ColdFusion و Jrun وجود دارد ولي براي application server هاي ديگر بايد به صورت جداگانه نصب شود.
اصول كار remoting چيزي شبيه به برنامه نويسي socket مي باشد با اين تفاوت كه نيازي به تفسير كردن اطلاعات در سمت client و server نيست. با استفاده از يك كلاس builtin درون فلش ميتوان با remoting server كه gateway ناميده مي شود ارتباط دو سويه برقرار كرد بدين صورت كه فلش ابتدا درخواست اطلاعات مي كند و سرور اطلاعات خواسته شده را بر مي گرداند. اين اطلاعات قبل از ارسال تبديل به فرمت AMF يا Active Message Format مي گردد كه مدل باينري و بسيار اصلاح شده از SOAP مي باشد و توسط Flash Player و Remoting Server قابل درك و تفسير است.
بهترين مزيت استفاده از remoting علاوه بر سرعت بالاي آن قابليت درك و ارسال اطلاعات با DataType خود آن اطلاعات مي باشد. بدين صورت كه چه در سمت Client و چه در سمت سرور data هاي تعريف شده از قبيل String و Number و Array و حتي Object قابل ارسال به طرف ديگر مي باشند و اين اطلاعات پس از دريافت به همان شكل قابل دسترسي است. در واقع فلش كار serialize و desrialize كردن اطلاعات در زبانهاي برنامه نويسي ديگر كه كاري بسيار وقت گير است را به صورت automatic انجام مي دهد.
remoting همراه با تعدادي component و class ارائه مي گردد كه طريقه استفاده از آنها در سايت macromedia موجود است. ابتدا بايد NetServices.as را در ابتداي برنامه include كرد و با استفاده از API ارائه شده توسط macromedia با remoting server ارتباط برقرار كرد.
NetServices.as حاوي چند صد خط برنامه مي باشد كه كلاس هايي براي ايجاد و ارتباط با remoting gateway و دريافت اطلاعات را شامل مي شود.
در صورتي كه كسي با برنامه نويسي asynchrone و طريقه مدريت event ها آشنايي داشته باشد مي تواند كلاسهاي مورد استفاده را بدون استفاده از NetServices.as ايجاد كند كه چيزي بيشتر از چند خط برنامه نخواهد بود.
در صورت نياز كلاس بسيار ساده شده استفاده از remoting را پست خواهم كرد.