Welcome to Abdul Malik Ikhsan's Blog

Kolaborasi Flex dan Zend (Zend_Amf_Server)

Posted in Flex, Zend Framework by samsonasik on June 7, 2009

Kolaborasi Flex dengan zend bisa dengan berbagai cara, salah satunya kita bisa gunakan zend_amf sebagai jembatannya, zend_db sebagai library koneksi db nya. Berikut cara yg bisa kita lakukan dengan menggunakan zend_amf.
Pertama, kita siapkan dulu zend kita, sehingga tersusun seperti simulasi gambar berikut (tergantung documentroot masing2) :
— di sini, documentroot saya berada di /media/disk-1/web —

direktori config berisi file konfigurasi (terutama dengan database dan management environment. contoh isi file nya seperti berikut :

[production]
 database.adapter       = "PDO_MYSQL"
 database.params.host = "localhost"
 database.params.dbname = "dokumentasiflexzend"
 database.params.username = "root"
 database.params.password = ""

 [development : production]
 database.adapter       = "PDO_MYSQL"
 database.params.dbname = "dokumentasiflexzend"

 [testing : production]
 database.adapter       = "PDO_MYSQL"
 database.params.dbname = "dokumentasiflexzend"

direktori library berisi library zend 1.7.4

direktori models berisi model logic program, biasanya default nya mendefinisikan relasi table (walaupun sebenarnya bisa juga digunakan untuk kebutuhan logic yg lain)
contoh isi filenya : (ceritanya, kita punya table exampletable, field2nya id dan name)

fetchAll();
 } else {
 $fetch = $this->fetchAll("name like '%$keyword%'");
 }

return $fetch;
 }
 }
 ?>

direktori services , untuk koneksitas terhadap flex,  di sini saya buat contoh dua kelas, yakni ExampletableClass.php (pendefinisian field-field table) dan ExampletableService.php untuk penghubung antara models zend dan flex.
contoh source code ExampletableClass.php :


contoh source code ExampletableService.php

Exampletable = new Exampletable();
 }

public function getData($keyword=null)
 {
 $result = array();
 $fetch = $this->Exampletable->getAll($keyword);

foreach($fetch as $key=>$val)
 {
 $ExampletableObj = new ExampletableClass();
 $ExampletableObj->id = $val->id;
 $ExampletableObj->name = $val->name;

$result[] = $ExampletableObj;
 }
 return $result;
 }
 }
 ?>

File includer.php berisi source load konfigurasi :

database);
 Zend_Db_Table_Abstract::setDefaultAdapter($dbAdapter);
 $registry = Zend_Registry::getInstance();
 $registry->configuration = $configuration;
 $registry->dbAdapter     = $dbAdapter;
 $locale = new Zend_Locale('id');
 Zend_Registry::set('Zend_Locale', $locale);

?>

Nah, file index.php berisi source untuk memanggil zend_amf :

addDirectory('./services/');
 echo($server -> handle());

OK, Let’s go to Flex :
Pertama : Buat sebuah project flex :

Biasakan membuat project location tidak berada di documentroot kita, supaya aman. dan supaya load data cuma flex saja (tidak campur dengan zend).

Setelah itu , klik Next
maka akan tampil seperti berikut :

PERHATIKAN OUTPUT folder, jangan sampai menimpa aplikasi kita yang lain.
Klik Next dan Finish.
maka kita akan menjumpai direktori debugging seperti ini :

Langkah selanjutnya adalah membuat file konfigurasi berbentuk xml untuk compiler setting sehingga tampil seperti berikut :

contoh isi file service-config.xml sebagai berikut :


 
 
 
 
 
 
 

 *
 
 
 
 
 
 
 
 
 
 

Nah, sekarang, setting compilernya , dengan cara, klik kanan project kita, klik properties, pilih flex compiler, tambahkan -services “services-config.xml” :

klik OK

Let’s coding in flex :


 
 <!-- remote object untuk meremote service -->
 
 
 


 
 


 
 
 
 
 

Jika tampil seperti berikut, berarti kita sudah berhasil 🙂 :

Selamat mencoba .

One Response

Subscribe to comments with RSS.

  1. […] sekarang, untuk di flex nya, struktur nya sama seperti pada dokumentasi sebelumnya […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: