*. 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