Testowa konfiguracja Zend AMF w kilku krokach

Jeżeli przesyłając dane między warstwami klienta i serwera korzystacie z protokołu AMF (Action Message Format), a dodatkowo po stronie serwera obsługujecie zapytania za pomocą PHP, prawdopodobnie korzystacie z jednej z niżej wymienionych bibliotek:

Jeżeli interesują was różnice między tymi bibliotekami, jedno z porównań znajdziecie na blogu Mihai Corlana.

Nudne, ale ważne informacje ogólne

Jeżeli dopiero rozpoczynacie przygodę z protokołem AMF lub korzystanie już z biblioteki innej niż Zend AMF, poniżej znajdziecie przykładową procedurę szybkiego skonfigurowanie biblioteki Zend AMF do wykorzystania z projektami Adobe Flash Builder 4 oraz Adobe Flex Builder 2/3.

Procedura przedstawia jeden z możliwych scenariuszy konfigurowania Zend AMF. Będzie to instalacja służąca do testów na komputerze lokalnym. Z założenia nie zwracam uwagi na takie “drobiazgi” jak bezpieczeństwo i optymalizacja kodu. Moim celem jest uruchomienie Zend AMF i przygotowanie do przeprowadzenia testów. Pomijam okienkowy mechanizm Data Centric Development, bo został on opisany w wielu innych miejscach. Lokalizacje folderów i plików zostały arbitralnie przyjęte przeze mnie (w innych konfiguracjach mogą być inne – w zależności od potrzeb i upodobań). Zostały one podane w formie nieogólnej w celu ułatwienia odtworzenia konfiguracji na swoim komputerze.

Zakładam, że na komputerze lokalnym został wcześniej skonfigurowany serwer WWW (WAMP lub MAMP). W procedurze wykorzystałem XAMPPa, ale każdy inny serwer WWW/PHP będzie równie odpowiedni. Serwer WAMP skonfigurowałem tak, że gdy wpiszę w oknie przeglądarki “http://localhost”, zostanie wyświetlnony plik “index.php” z folderu “c:\_dane\xampp\htdocs” znajdującym się na dysku lokalnym komputera (tzw. root folder). Procedura zakłada wykorzystanie MS Windows, w przypadku innych systemów operacyjnych trzeba odpowiednio zmodyfikować ścieżki do folderów.

Wszystkie pliki opisane niżej znajdziecie w ZendAMFTest.rar. Należy je rozpakować i umieścić w systemie plików zgodnie z opisem poniżej. Ufff! Przejdźmy wreszcie do meritum.

Procedura

  • Pobrać i rozpakować archiwum z biblioteką Zend AMF do folderu na lokalnym serwerze WWW (“C:\_dane\xampp\htdocs\frameworks\zendamf”). Wcześniej utworzyć w “C:\_dane\xampp\htdocs” foldery “frameworks” i “zendamf”.
  • W pliku php.ini (“C:\_dane\xampp\php\php.ini”) odnaleźć linię rozpoczynająca się od “include_path = ” i dodać na końcu (wewnątrz cudzysłowów) “;C:\_dane\xampp\htdocs\frameworks\zendamf\library”. Zostawić nietknięte wpisy, które już tam istniały (<…>). Linia ta powinna mieć postać:
include_path = "...;C:\_dane\xampp\htdocs\frameworks\zendamf\library"
  • W “C:\_dane\xampp\htdocs\frameworks\zendamf” utworzyć folder “Services”, dla klas PHP, do których będzie się odwoływała aplikacja Flexa.
  • W “C:\_dane\xampp\htdocs\frameworks\zendamf\Services” utworzyć przykładowe serwisy PHP oraz plik PHP uruchamiający serwer Zenda (server.php). Gotowe do przekopiowania pliki znajdziecie w “ZendAMFTest.rar” (folder “Services”).
  • Utworzyć nowy projekt Flexa w Flash Builder 4 (w Flex Builder 2/3 analogicznie)
    • w Flash Builder 4 kliknąć: File->New->Flex Project
    • w “Project name” wpisać nazwę projektu (ZendTest)
    • w “Server technology”, w “Application server type” wybrać PHP
    • kliknąć Next
    • w “Server location” podać C:\_dane\xampp\htdocs (Web root) oraz http://localhost (Root URL)
    • “Output folder” ustawić na: C:\_dane\xampp\htdocs\ZendTest-debug
    • kliknąć Finish
  • Dodać dyrektywę kompilatora
    • w “Package Explorer” kliknąć prawym projekt “ZendTest”, z menu kontekstowego wybrać “Properties”
    • kliknąć “Flex Compiler” (na liście po lewej)
    • w polu “Additional compiler arguments” dodać poprzedzając spacją:  -services “services-config.xml”
    • kliknąć OK
  • W folderze “src” utworzyć plik “services-config.xml”. Gotowy do przekopiowania plik znajdziecie w “ZendAMFTest.rar” (folder “XML”) oraz w pliku projektu Flexa (folder “FB4″).
  • W pliku “ZendTest.mxml” utworzyć instancję obiektu RemoteObject oraz wywołać metodę getData() – szczegóły w dołączonym przykładowym projekcie Flexa, w pliku “ZendAMFTest.rar” (folder “FB4″).
  • Aby zaimportować projekt zapisany w pliku FXP, w Flash Builder 4 należy wybrać File->Import Flex Project (FXP).

Uruchomienie

Działanie Zend AMF testujemy wprowadzając zmiany w klasach PHP w folderze “Services” (można oczywiście dodać swoje własne) i uruchamiając aplikację Flexa “ZendTest” (najlepiej w trybie debugowania, ustawiwszy wcześniej breakpointy w metodach “myservice_faultHandler” oraz “myservice_resultHandler”).

Więcej informacji

Jeśli wszystko działa, możemy teraz przystąpić do “rozgryzania” szczegółów związanych z działaniem Zend AMF. Na początek zachęcam do zapoznania się z:

This entry was posted in AMF, Frameworki, Tutoriale and tagged , , , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

You must be logged in to post a comment.