RSS

Jumat, 09 Juli 2010

Membuat RIA dengan PHP + Mysql + Silverlight

Akhirnya saya menemukan cara baru untuk integrasi php dan silverlight...
kalo pada postingan sebelumnya saya belum bisa melakukan koneksi ke database
sekarang sudah bisa dengan mysql tanpa perlu membuat WSDL...

pertama :

buat database anda di mysql..
mudah kan?


kedua :

sekarang kita buat web servicenya di PHP
contoh :

mysql_vars.php
$dbUsername = "root";
$dbPassword = "";
$db = "product";
$sever = "localhost";

$mysql_namaproduct = "nama_product";
$mysql_contentproduct = "content_product";
$mysql_ idproduct = "id_product";

$connection = mysql_connect ($server, $dbUsername,$dbPassword);

function formatinput($rawURLData)
{
$returnString = urldecode($rawURLData);
$returnString = mysql_real_escape_string($returnString);
return $returnString;
}
?>

web service ini nantinya akan dipanggil melalui silverlight


ketiga :

buat fungsi getter setter di class product pada C#

public class TakeProduct
{
public String ProductName {get; set;}
public String IsiProduct {get; set;}
public int IdProduct {get; set;}

public TakeProduct() {}
}

lalu coba right-click pada listbox dan "Edit Additional Templates" ->Edit Generate Item (pada Blend)


keempat :

cabut ke MainPage.Xaml.cs lalu ketik script berikut:

WebClient wc = new WebClient();
ObservableCollection myProduct = new ObservableCollection();
string baseURI = “http://localhost/"phpfile anda";

oh iya jangan lupa tambahkan (using System.Net dan using System.Collections.ObjectModel;


lalu ketik script dibawah InitializeComponent() "wc.DownloadStringComplete +=" tekan TAB dua kali..event akan tergenerate dengan sendirinya
lalu ketik lagi script tepat dibawah wc.DownloadStringComplete, "wc.DownloadStringAsync(new Uri(baseURI + “file php anda”));

tekan F5 insya allah jalan....
Alhamdulillah dengan cara ini pekerjaan saya akan semakin mudah untuk membangun web yang expresif,cepat,dan aman...

Membuat RIA (Rich Internet Application) dengan integrasi Silverlight dan PHP

Sebenarnya kajian PKL saya simple..hanya membangun sebuah web.Tetapi masalahnya adalah
dari pihak perusahaan meminta web yang expresif, komunikasi data cepat dan data aman pastinya (Maklum CEOnya perfectsionis)..
pertama saya berpikir untuk memakai adobe flex builder...tetapi software tersebut tidak menjamin komunikasi data
dan keamanan data karena adobe flex builder tidak bisa dengan instan connect ke database...

Lalu saya berpikir lagi dengan menggunakan PHP,saya menemukan beberapa kemudahan dalam komunikasi data dan
keamanan yang handal dalam PHP, tetapi saya kesulitan dalam membuat Interface dari webnya (pke dreamweaver belum begitu
ngerti...hehehehe.katro)

Terlintas dipikiran saya sebuah ide yang cemerlang (gaya beut)...Tahu expression blend dan silverlight?
yap, software tersebut sangat handal membuat interface dengan kemudahan yang disediakan oleh expression blend
dan silverlight library untuk mempercanggih interface tersebut..lalu saya mengambil kehandalan PHP dalam komunikasi
data dan keamanan data..saya berhasil memadukan .NET dengan PHP...

Langkah pertama saya bagi komponen web menjadi dua bagian (Server-side dan Client-side)
pada server-side saya menggunakan PHP untuk mengontrol data pada database..
pada client-side saya menggunakan .NET untuk membangun interface yang keren...

langkah kedua saya merubah sedikit codingan pada index.php (C:\wamp\www\index.php) untuk menginclude
silverlight XAP package..
lalu buat file WSDL baru..apa itu WSDL (Web Service Description Language)
yaitu untuk mendeskripsikan network service sebagai kumpulan endpoint
WSDL ini berbasis XML..

lalu saya membuat server pada PHP dengan WSDL tersebut...

ini_set("soap.wsdl_cache_enabled", "0");
$server = new SoapServer("issiweb.wsdl");
$server->addFunction("loginsystem");
$server->handle();

simpan file yang sama dengan file wsdlnya... issiweb.php
lalu test dengan membuka browser ketikkan http://localhost/php/issiweb.wsdl
jika ada tampilan service dari wsdl berarti koneksi php telah berhasil.

lalu buka visual studio dan expression blend,..mulai buat interfacenya


setelah semuanya beres..copy aplikasi silverlight yang dibuat tadi ke directory PHP..
(catatan : project akan run pada port yang berbeda, kan biasanya port 80)...

lalu klik kanan pada project (di visual studio), properties, pilih web tab,
pilih use local IIS web server option, dan masukan path servernya..
tekan F5 insya Allah jalan...

untuk sementara selama dua minggu PKL baru ketemu itu...hehehe