My Footnotes About Adobe Flex (Indonesian language)

*. Adobe Flex adalah RIA yang mirip dengan Ajax, JavaFX, Silverlight or XUL


*. Flex platform:

  • MXML utk design form
  • ActionScript 3.0 utk scripting
  • FlashPlayer 10.0 utk plugin webbrowser utk compile bytecode (.swf)
  • Server Side integration via Flex Data Services, GraniteDS or BlazeDS, giving the applications access to J2EE applications.
  • Also the flex application could be connected to other server technologies such as PHP, Coldfusion and ASP.NET.
  • Flex Builder, yaitu IDE berbasis Eclipse

*. Flex berintegrasi dengan server menggunakan salah satu dari:
  • Webservices
  • ColdFusion Flash Remoting Service.
  • Action Message Format (herein AMF) used in BlazeDS, GraniteDS and LiveCycle Data Services.
  • This is the way in which NCSIS applications will be developed.


*. Benefit Flex:
  • Rapid prototype
  • Multi Browser compatible
  • Aplikasi Flex adalah statefulness yang berarti tidak memerlukan request setiap saat ke server
  • Jalan diberbagai webserver dan bisa konek ke webservice
  • Menggunakan AMF lebih cepat webservice


*. Flex berkomunikasi melalui RPC dan protokol HttpServices, WebServices, RemoteObject


*. Proses membuat aplikasi Flex:
  • Buat form MXML
  • Buat ActionScript sesuai fungsinya
  • Compile the code, form MXML dan ActionScript akan menjadi file .swf yang bisa dijalankan di FlashPlayer
  • Deploy .swf file dengan mengembbed kedalam HTML


*. MXML adalah GUI


*. ActionScript adalah logic


*. ActionScript adalah asynchronous yang berarti method dijalankan oleh server tetapi tidak mengembalikan nilai


*. Cara link MXML dan ActionScript:
  • Embed ActionScript code didalam
  • Import eksternal file
  • Import ActionScript classes
  • Import ActionScript compiled components



*. Contoh cara manggil ActionScript ke dalam MXML:

-----------------Test.mxml




-----------------TestAS.as
public function sayHello():String
{
var response:String = "Say Hello World";
return response;
}


*. Dalam MXML Flex juga dikenal istilah DataBindings seperti PageDefinitionnya Oracle ADF:



{first.text}
{last.text}





*. Validasi di Flex bisa melalui:
  • ActionScript
  • DataBindings
  • Events

*. Cairngorm merupakan framework MVC yang digunakan sebagai event model utk memanggil dan menerima panggilan dari server




*. Cairngorm akan sangat membantu terutama apabila bekerja dengan lebih dari satu developer dan project dengan skala besar


*. Cairngorm komponen:

  • ValueObject utk pojo di level view (isi VO ini sama persis dengan pojo di level server)
  • Event akan mentrigger business logic yang di Command utk segera di proses
  • FrontController utk mapping antara Event dan Command
  • Command yaitu utk proses business logic
  • BusinessDelegate
  • ServiceLocator yaitu utk menentukan di view akan memanggil service apa yang berkaitan dengan form tsb
  • ModelLocator yaitu global data (di JDev seperti adapter)
*. [Bindable]
public class ModelLocator implements IModelLocator
Bindable disini artinya semua variabel yang di define didalam class tsb bisa dijadikan data binding



*. Urutan flow Cairngorm: View -> Event -> FrontController -> Command -> Delegate -> ServiceLocator -> Model -> View
Contoh penjelasannya dalam form login:

  • Form login mempunyai button login, button login tsb akan mentrigger event.
  • FrontController akan mencari Command apa yang sesuai utk Event tsb.
  • Command kemudian akan mendelegasikan tugas kepada ServiceLocator utk meng-execute business logic di sisi Server.
  • Hasil execute tersebut (entah select/insert/update/delete) akan mengembalikan Model yang kemudian di tampung lagi ke View