1. Pendahuluan
Macromedia Flash sekarang banyak digunakan di Internet untuk menyempurnakan deskripsi konten situs Web. Rilisan Flash terbaru Macromedia (Flash 6 dan Flash MX) memperjelas bahwa Macromedia secara serius mempertimbangkan Flash sebagai antarmuka pilihan untuk pengembangan aplikasi Web. Untuk antarmuka, Flash mungkin merupakan pilihan yang bagus; namun pilihan ini bukan untuk menggunakannya untuk menggantikan logika bisnis, manajemen kueri, dan keamanan. Bagi pengembang Web, untuk mencapai kinerja yang benar-benar hebat dan kemampuan kelas perusahaan, Anda memerlukan dukungan .NET, Flash, dan lapisan deskripsi yang kaya, dikombinasikan dengan teknologi .NET Microsoft.
Flash menyertakan ActionScript - bahasa skrip yang digunakan untuk menambah interaktivitas pada animasi. Sejak diperkenalkannya ActionScript di Flash 5, Macromedia terus memperbaikinya dari bahasa scripting yang sederhana menjadi fitur pemrograman yang cukup solid yang masih memiliki banyak keterbatasan. Di Flash MX 2004, Macromedia memperkenalkan ActionScript 2.0 - yang mendukung fitur baru dan cara baru untuk menyusun kode. Agar artikel ini lebih mudah dipahami, sebaiknya Anda membaca terlebih dahulu beberapa pengetahuan dasar tentang membangun situs Flash dengan ActionScript.
Macromedia telah memperkenalkan metode untuk dengan mudah mengintegrasikan data eksternal ke dalam aplikasi Flash untuk memungkinkan aplikasi berbasis data yang lebih kompleks dan kuat. Flash dan .NET keduanya mempromosikan diri mereka sebagai solusi lintas platform dan dengan demikian menjadi mitra alami. Namun, menghubungkan kedua teknologi bukanlah tugas yang mudah. Artikel ini akan membahas dengan Anda beberapa metode mengintegrasikan aplikasi Flash dan .NET.
2. Integrasikan Flash dan ASP.NET
dan sematkan animasi Flash ke halaman ASP.NET.
Animasi Macromedia Flash ditempatkan di halaman .aspx dengan menggunakan tag OBJECT dan EMBED secara bersamaan. Tag EMBED awalnya dikembangkan oleh Netscape untuk bekerja dengan Netscape 2.0 atau lebih tinggi. Belakangan, tag ini diadopsi oleh Microsoft Internet Explorer (MSIE). Untuk kompatibilitas browser, tag OBJECT khusus MSIE dan tag EMBED dapat digunakan bersama. Kode HTML berikut menunjukkan penggunaan tag OBJECT dan tag EMBED untuk menyematkan animasi Flash (file *.swf):
3. Hubungkan Flash ke data eksternal.
Ada tiga cara untuk mengintegrasikan animasi Flash dengan data eksternal: FlashVars, LoadVars dan teknologi FlashRemoting baru. Salah satu metode paling sederhana adalah meneruskan data eksternal dari halaman .aspx ke animasi Flash yang tertanam di halaman Web dengan menggunakan FlashVars untuk meneruskan variabel di bagian kode HTML. Nilai variabel yang disetel menggunakan FlashVars dapat diakses di tingkat akar animasi Flash. Untuk berjalan di semua lingkungan browser, atribut FlashVars harus diberi nilai dalam tag OBJECT dan EMBED.
Berikut adalah FlashVars yang digunakan dengan tag objek:
<PARAM Name="FlashVars" Value="init=yes&check=true">
Berikut ini adalah FlashVars yang digunakan dengan tag EMBED:
<EMBED src="test.swf" FlashVars=" init =yes&check=true"></EMBED>
4. Mengapa menggunakan FlashVars?
Daripada meminjam FlashVars, Anda juga dapat memasukkan variabel ke dalam tag HTML - menambahkannya ke akhir URL file .SWF melalui string kueri, lalu meneruskannya ke animasi Flash. Mungkin ada masalah dengan pendekatan ini - jika variabel ini diperlukan saat file .SWF dimuat, karena file .SWF harus diunduh dan dijalankan sebelum data diminta dari server. Nilai variabel juga dapat diatur di Flash melalui metode "Muat Variabel" dan JavaScript. Masing-masing metode ini memiliki kelemahan yaitu waktu respons yang lamban dan lambat, itulah sebabnya pengembang harus menggunakan FlashVars untuk meneruskan data dari ASP.NET ke animasi Flash. Gambar berikut menunjukkan kode untuk meneruskan variabel sebagai string kueri:
Variabel apa pun yang diteruskan menggunakan FlashVars dapat diakses di tingkat akar animasi Flash (_level0). Untuk mengambil nilai-nilai ini dalam animasi Flash, Anda dapat membuat variabel dinamis. Kode ActionScript berikut mengimplementasikan penetapan "initvalue" di Flash:
_level0.initvalue = init;
5. Komunikasi antara Flash dan database
Animasi Flash tidak dapat mengakses database secara langsung. Namun, Flash dapat berkomunikasi dengan database melalui teknologi sisi server seperti ASP atau ASP.NET. Ada beberapa cara untuk menyelesaikan tugas ini. Pada artikel ini, kami akan menjelaskan metode LoadVariables dan metode sendAndLoad.
(1) Gunakan metode loadVariables dalam klip animasi.
Metode loadVariables dari klip animasi membaca data dari file atau URL eksternal dan menetapkan nilai untuk variabel klip animasi. Setelah klip animasi dipakai, tindakan pemuatan klip animasi dimulai di pengendali peristiwa klip. Saat klip animasi diinisialisasi, metode loadVariables dapat dipanggil untuk memuat variabel. Metode loadVariables adalah panggilan asinkron dan Flash tidak menunggu hasil panggilan tersebut. Ketika data diterima dalam perilaku loadVariables(), perilaku data klip animasi diinisialisasi dalam pengendali peristiwa klip.
Untuk mendemonstrasikan penggunaan metode ini, contoh ini mengambil nama dan usia pengguna dari database berdasarkan ID yang dipilih dari animasi Flash. Pada gambar di bawah, metode loadVariables animasi digunakan untuk memuat data ke dalam fragmen animasi dari halaman .aspx getUserData.aspx. Di sini, ActionScript meneruskan id pengguna - nama dan usianya akan ditampilkan dalam animasi Flash sebagai string kueri ke halaman .aspx.
Halaman getUserData.aspx mengambil nilai id dari string kueri yang ditunjukkan di bawah ini:
Sekarang, ASP.NET dapat meneruskan id nilai ini ke komponen bisnis .NET. Contoh ini mengambil nama dan usia pengguna:
Seperti disebutkan sebelumnya di bagian ini, perilaku data pengendali kejadian onClipEvent klip animasi diinisialisasi ketika data diterima dalam perilaku loadVariables(). Deklarasikan variabel dinamis berikut dalam animasi Flash: flashName dan flashAge. Gambar berikut menunjukkan kode ActionScript yang digunakan dalam pengendali onClipEvent animasi Flash untuk mengambil nilai yang dikembalikan dari halaman .aspx.
CATATAN: Ini penting - ini adalah variabel yang sama yang disetel dari halaman .aspx. Dalam contoh yang ditunjukkan di sini, variabel yang diakses dalam animasi Flash adalah "nama" - variabel yang sama yang disetel dari halaman .aspx (Response.Write("name="&User.name)).
Nilai-nilai ini sekarang dapat digunakan di dalam animasi Flash.
(2) Gunakan metode sendAndLoad dari klip animasi
Di Internet saat ini, XML menempati tempat penting dalam bentuk sistem dokumen sebagai format transportasi universal dengan potensi memungkinkan pertukaran data yang lancar bahkan antar jenis aplikasi yang berbeda. XML menyediakan mekanisme gateway untuk komunikasi antar aplikasi – bahkan aplikasi pada berbagai sistem yang berbeda. Selama aplikasi dapat berbagi data (melalui HTTP, berbagi file, atau mekanisme lainnya) dan memiliki parser XML, aplikasi dapat berbagi informasi terstruktur yang sangat mudah untuk diproses.
Flash MX mendukung transfer data XML dan ada beberapa metode teknologi server seperti ASP dan ASP.NET untuk bertukar XML. Flash MX dapat mengirim dan menerima paket XML dengan menggunakan kelas XML - memuat, mengirim dan mengirimAndLoad atau XMLConnector baru dari Flash MX. Yang terakhir dapat digunakan untuk mengirim dan menerima paket melalui HTTP dan mengikatnya ke widget UI di lapisan Flash.
Mari kita bahas metode sendAndLoad pada objek FlashXML, yang merupakan metode populer untuk mengimplementasikan komunikasi data XML berorientasi arsitektur, penanganan pengecualian, dan kinerja. Kami menggunakan contoh sederhana ini dengan memasukkan rincian skor pengguna ke dalam database dari klien Flash dan mengirimkan pesan keberhasilan atau kegagalan kembali ke klien Flash.
(3) Membuat paket XML di Flash
Paket XML dapat dengan mudah dibuat di Flash, sebagai berikut:
var sendXML:XML =
new XML("<userid>123456</userid>");
halaman - menggunakan ASP/ASP.NET dan menangani paket XML kembali.
Penggunaannya adalah sebagai berikut:
xmlObject.sendAndLoad (URL: String, targetXMLObject: XML): Void
'xmlObject' ini adalah contoh objek XML - ini merangkum XML yang harus dikirim ke halaman .aspx; URL tujuan yang menentukan objek XML; 'targetXMLObject' adalah objek XML - ia akan menerima informasi yang dikembalikan dari sisi server.
Metode sendAndLoad mengirimkan paket XML ke templat sisi server dan menerima paket XML sebagai respons - tidak seperti metode kirim pada kelas XML - yang hanya mengirimkan paket XML dan tidak mengharapkan respons apa pun. Masing-masing metode ini bekerja dengan caranya sendiri, tetapi ada satu perbedaan penting: metode pengiriman kelas XML mengambil target sebagai parameter - ini memungkinkan Anda untuk membuka jendela browser baru atau mengganti konten jendela browser saat ini, sementara metode sendAndLoad menggunakan paket XML sebagai parameter - metode ini tidak memulai jendela browser baru. Karena metode kirim membuka jendela browser baru, kita dapat melihat output dari jendela browser itu sendiri - yang bisa sangat berguna untuk debugging.
Catatan: Jika file Flash yang mengeluarkan panggilan sendAndLoad berjalan di browser Web, URL target akan berada di domain yang sama dengan animasi Flash. Jika Anda juga perlu berkomunikasi dengan aplikasi di domain berbeda, lihat "Pemuatan Data Lintas Domain" di
www.macromedia.com untuk informasi lebih lanjut.
Kode pada gambar berikut menunjukkan bagaimana metode sendAndLoad objek XML digunakan untuk berkomunikasi dengan halaman .aspx dan memproses XML yang dikembalikan dari server:
Kode di atas melakukan hal berikut:
· Memuat string XML ke dalam objek XML "userscore_xml". Instance ini menyimpan XML - yang dikirim ke halaman ASP.NET sisi server jarak jauh.
·Mengatur atribut abaikanPutih dari objek XML "ResponseXMLObj_xml". Contoh objek XML ini menyimpan paket XML dari server.
·Panggil metode sendAndLoad ("userscore_xml") dari objek XML untuk mengirim XML ke halaman .aspx sisi server,
http://localhost/MyTestApp/scoring.aspx dan simpan paket XML yang dikembalikan ke dalam instance objek XML "ResponseXMLObj_xml ".
·Mengatur metode onLoad dari objek XML "ResponseXMLObj_xml". Flash menerima respons XML kembali dari halaman .aspx sisi server - ini ditangani dalam metode onLoad objek XML.
·Ini kemudian mem-parsing paket XML yang diterima untuk menampilkan pesan yang diperlukan pada klien Flash.
(4) Menerima paket XML yang dikirim dari Flash halaman ASPX.
Gambar berikut menunjukkan kode untuk menyelesaikan tugas ini:
Kode di atas melakukan hal berikut:
· Menerima XML yang dikirim dari klien Flash (xmlDoc.Load(Request.InputStream)).
· Parsing XML yang diterima dan meneruskannya ke komponen bisnis untuk dimasukkan ke dalam database.
· Pesan XML yang terbentuk dikirim kembali ke klien Flash. Kondisi keberhasilan atau pengecualian yang diajukan pada lapisan bisnis ditangani sesuai dan diubah menjadi berbagai pesan XML - pesan ini diteruskan kembali ke klien Flash. Klien Flash menerima pesan XML ini dan menampilkannya sesuai dengan itu.
6. Kesimpulan
Teknologi Flash dan .NET semakin populer di pasar saat ini dan kemungkinan besar akan menjadi mitra sukses dalam semakin banyak arsitektur aplikasi. Kedua teknik ini menangani beberapa masalah yang sama, namun pada dasarnya berbeda. Flash MX memungkinkan situs Web merasakan interaktivitas, sementara .NET membantu membangun aplikasi perusahaan. Seperti yang dieksplorasi dalam artikel ini, mengintegrasikan aplikasi Flash dan .NET sepenuhnya mungkin dilakukan. Setiap langkah adalah tentang pengambilan keputusan – bagaimana menghubungkan kedua bagian ini dan melakukan perencanaan arsitektur yang tepat secara strategis.
Meskipun arsitektur generasi baru seputar Flash Remoting mendapatkan momentum di bidang ini, perlu waktu beberapa tahun sebelum metode yang dibahas dalam artikel ini dapat diterapkan pada aplikasi skala besar.