Jan 05 2009

Flex3 Remoteobject auf Basis von AMF0

Tag: AdobeKonstantin Elstner @ 12:32

Bei einem  aktuellen Projekt das auf amfPHP / openAMF und Flex 3 basierte stieß ich auf das Problem, dass openAMF leider nur das AMF0 Protokoll unterstützt.

Leider bemerkte ich erst recht spät das der Java-Fork von amfPHP nicht mehr wirklich weiter entwickelt wird.

Aus Zeitgründen war ein umschwenken auf einen anderen Gateway nicht mehr möglich daher musste ich das Problem direkt angehen.

Da sich das RemoteObject von Flex 3 nach meiner Recherche nicht wirklich auf den AMF0 Standard konvertieren lässt sah ich mich genötigt längere Zeit zu recherchieren 😉

Durch einen kleinen Zufall stieß ich dann zum Glück auf den Entwickler Renaun Erickson der auf diesem Gebiet mit seiner Klasse RemoteObjectAMF0 schon ganze Arbeit geleistet hat.

Die Verwendung ist denkbar einfach und stark an dem Flex3 RemoteObject angelehnt:

<renaun:RemoteObjectAMF0 id=“roDbQuery“ endpoint=“gateway“ destination=“amfphp“ showBusyCursor=“true“ source=“de.dashart.DbQuery“ fault=“onRPCerror(event)“>
<renaun:methods>
<renaun:method name=“checkLogin“ result=“onLogin(event)“ />
</renaun:methods>
</renaun:RemoteObjectAMF0>

Einzig und allein die Übergabe von Argumenten variiert leicht, die Agumente werden hier nicht als ‚arguments‘ übergeben sondern direkt beim Aufruf eingebunden:

roDbQuery.checkLogin( _user, _pwd );

Much thx to Renaun Erickson 😉