Adobe Flex i Zend Framework
• zašto povezati Flex i PHP?• kako povezati Flex i PHP?• Action Message Format (AMF)• Zend Framework• Zend_Amf• Hello, World• mapiranje objekata• debuggiranje• alternative Zend_Amf-u
• klasični razvoj bogatih aplikacija weba• HTML kao prezentacijski sloj• PHP na serveru zadužen za poslovnu logiku
• komunikacija aplikacijskih slojeva• poziv modula/stranice/skripte• AJAX
GET/POST
Ajax
XML
XHTML
• prednosti• poznata razvojna platforma, razni alati
• nedostaci• cross-browser problemi• teško razdvajanje aplikacijskih slojeva
• čemu teže klasične bogate web aplikacije?• Web 2.0+ izgled, interakcija• visok stupanj ergonomije• optimizacija komunikacije prema serveru
• rezultat• korištenje velikog broja tehnologija
• HTML, CSS, JavaScript + AJAX, jQuery, Prototype, + Flash + PHP
• jedan od ciljeva:
Što jednostavnije održavanje !!!
• ima li tu kontradikcije?
........
• Zend PHP• najpopularniji serverski programski jezik
• Adobe Flex• trenutno najkvalitetnija tehnologija za razvoj sučelja bogatih web aplikacija
• klasični HTTP servisi• dohvat poruka, XML objekata
• SOAP• često se prenosi previše formalnih podataka
• AMF• http://en.wikipedia.org/wiki/Action_Message_Format
• Action Message Format • object remoting protocol
• prva verzija – uz Flash Player 6 • aktualna generacija: 3.0
• poznati dodatci za PHP i AMF• AMFPHP• WebOrb for PHP• Zend_Amf• SabreAMF
Dohvat 2000 redaka
http://www.jameswardcom/census/
Dohvat 5000 redaka
http://www.jameswardcom/census/
• Flex – klijent• sadrži objekt s informacijama• spaja se na AMF servis• šalje objekt putem AMF protokola
• PHP – server• prima informaciju putem AMF protokola• obrađuje podatke• šalje odgovor u AMF obliku
• Flex – klijent• prihvaća odgovor
• potpuno razdvojeni aplikacijski slojevi• optimizirana komunikacija među slojevima• manji broj korištenih tehnologija
• skup klasa za kvalitetniji razvoj web aplikacija• prva verzija nastala 2006. godine• aktualna verzija 1.7, 1.8 beta
• neke od mogućnosti Zend Frameworka• MVC arhitektura• Zend_Db, Zend_Session, Zend_Filter• Zend_Date, Zend_Currency, Zend_Config• Zend_Json, Zend_Gdata, Zend_Pdf• Zend_Services, Zend_Uri,...• Zend_Amf
• skup klasa za rad s AMF protokolom • koraci u razvoju Zend_Amf servisa
• web servis klasa• metode servisa• objekti za slanje• modul za spajanje na servis
• koraci za pristup web servisu• MXML RemoteObject, VO klase
<mx:RemoteObject id="zendRemote" destination="zend" source="ZendAMFService" showBusyCursor="true" fault="faultListener(event)"> <mx:method name="login" result="loginResultHandler(event)"/> <mx:method name="getMessages" result="getMessagesResultHandler(event)"/> <mx:method name="register" result="registerResultHandler(event)"/> <mx:method name="getTeams" result="getTeamsResultHandler(event)"/></mx:RemoteObject>
<?phppublic class ZendAMFService{
public function login($manager){......}public function getMessages(){......}public function register(VOManager $manager, VOTeam $team){....}public function getTeams() {......}.....
}?>
package org.zgflex.vo{ [RemoteClass(alias="VOPlayer")] [Bindable]
public class VOPlayer{
public var id: int;public var name: String;public var smallPic: String;public var bigPic: String;public var description: String;public var transferValue: int;public var position : VOPosition;public var team: VOTeam;
}}
class VOPlayer {
public $id;public $name;public $smallPic;public $bigPic;public $description;public $transferValue;public $position;public $team;
}
$server = new Zend_Amf_Server();$server->setClass("ZendAMFService");$server->setClassMap("VOPlayer",
"VOPlayer");$server->setClassMap("VOPosition",
"VOPosition");$server->setClassMap("VOTeam",
"VOTeam");$server->setClassMap("VOLeague",
"VOLeague");echo($server->handle());
• Flex debugger + Zend Studio Toolbar• unutar istog Eclipse alata
• jednostavno povezivanje• Flex Builder + Zend Studio for Eclipse
• ne baš jednostavna implementacija• Zend Debugger
• Flex debugger + Xdebug plugin
• service browser• PHP-Actionscript mapping alati• poboljšano debuggiranje Zend Toolbara
• više informacija na:• http://framework.zend.com/manual/en/zend.amf.html
• dio Zend Frameworka• dobra korisnička podrška i stalno održavanje• planovi za sljedeće verzije
• service browser• bolja mogućnost mapiranja PHP i Actionscript objekata• bolja podrška za Zend Toolbar
• nedostaci• nepostojanje service browsera• otežano debuggiranje na strani servera
• AMFPHP• jedan od prvih alata• sadrži service browser• nesigurna budućnost razvoja
• WebOrb for PHP• odlični alati za analizu servisa• nejasna poslovna politika razvojnog tima
• ZgFlex Football Manager• Flex-Zend_Amf komunikacija• VO klase• Custom eventi i njihovo propagiranje• Custom komponente• ItemRendereri• svašta pomalo...• PHP servis• MySQL baza
• Action Message Format (AMF)• http://en.wikipedia.org/wiki/Action_Message_Format
• Zend Framework• http://framework.zend.com
• Zend_Amf• http://framework.zend.com/manual/en/zend.amf.html
• Zend Debugger• http://www.zend.com/products/studio/downloads• http://static.zend.com/topics/Debugger-Install.pdf
Top Related