Flash Remoting
Категория: Интернет
вторник, 10 Февруари 2004 0:00ч
Според пресмятания на Macromedia нейният плейър Flash е изтеглен от Internet цели 500 милиона пъти в целия свят. При толкова голяма многоплатформена клиентска база разработчиците биха се радвали да ползват предимствата на платформата за нещо повече от привлекателни, умни и самостоятелни приложения. Но доскоро това бе трудно и дори невъзможно. Благодарение на новите възможности на Flash Remoting MX популярната платформа на Macromedia вече може да е нещо повече от “умна” и да общува без усилия със сървъри, на които работят Java, Microsoft, .NET и Web услуги.
Flash се отличава при създаването на привлекателни за клиента приложения. За разлика от нея традиционните Java (или J2EE) приложения в браузърите се нареждат откъм “по-тънката” страна, като при тях логиката на приложението работи на сървър. Flash Remoting не променя богатата, ориентирана към клиента насоченост на платформата. Но това означава, че клиентите на Flash вече може да се свързва с корпоративни системи на сървър.
За да разработвате приложения, които могат да използват Flash Remoting, трябва да инсталирате Flash Remoting шлюз на вашия сървър за приложения. Този шлюзов модул се разпространява във варианти за разнообразни съвременни J2EE сървъри за приложения, с отделна версия за .NET. При продуктите Macromedia JRun 4 и ColdFusion MX 6.1 дистанционното общуване е вградено.
На клиентската страна имате нужда от Flash player 6 или по-висока версия в допълнение към Flash Remoting MX Components. Тези клиентски библиотеки, които се състоят от шепа нови ActionScript класове, управляват общуването между вашите Flash клиенти и шлюза на вашия сървър, който от своя страна поддържа връзка с ресурсите на сървъра.
Обхватът от сървърни ресурси, до които може да имате достъп, е впечатляващ. Общуването с Java компоненти се осъществява без усилия. При това може да извикате .NET код от Flash. ActionScript постига това, като пренасочва автоматично своите собствени видове данни към тези на Java и .NET на сървъра, посредством Flash шлюза, който поема претоварването при изпълняване на дистанционни повиквания.
Стратегията при програмирането е да се получи обект, който да се обръща към вашия Flash Remoting шлюз и след това да търси Java или .NET обекти или Web услуги по име. С помощта на това обръщане “на живо” към сървърния ресурс вие след това извиквате избраните методи, които да извършат същинската работа, свързана с дистанционното програмиране. Извличането на резултатите от тези дистанционни повиквания е малко по-сложно: трябва да пишете отделни програмни отрязъци, за прихващане на събития, свързани със състоянието или с грешки.
Вероятно сте запознати с Web услугите, базираните на XML протоколи, които пакетират функционални повиквания на различни системи, като използват SOAP за обмен на съобщения. Във Flash е предварително вградена поддръжката на стандартни Web услуги; сървърният модул се занимава с подробностите, свързани с базираните на SOAP повиквания. Но макар че SOAP без съмнение е индустриален стандарт, той може да бъде проблематичен, защото изисква значителна мрежова пропускателна способност за изпращане на обемисти текстови съобщения на базата на XML чрез HTTP. Вместо него, Flash Remoting предлага интелигентна специализирана технология, наречена Action Мessage Format (AMF), която използва компресирани двоични съобщения за поддържане на разговор между Flash плейъра и шлюза на отдалечения сървър. Това AMF решение намалява изискванията за пропускателен капацитет, но неговото реално предимство е в простотата, която предлага на разработчиците; благодарение на пакетирането на всички дистанционни повиквания по един и същ начин, повикванията към Java, .NET и Web услуги може да бъдат по един и същ начин на клиента.
