Flash Builder: Hello World (BlazeDS)
Flash Builder: Hello-Word-Anwendung mit BlazeDS
BlazeDS installieren
- BlazeDS herunterladen (binary distribution)
- Ordner
c:\web\blazeds
erstellen - Inhalt der Zip-Dateie
balzeds-bin-x.x.x.xxx.zip
in den Ordnerc:\web\blazeds
entpacken.
Ein neues Flex-Projekt anlegen
- Flash-Perspektive öffnen: Falls rechts oben kein Flash-Icon zugänglich ist:
Fenster
⇒Perspektive öffnen
⇒Flash
oderAndere
⇒Flash
Datei
⇒Neu
⇒Flash-Projekt
- Projektnamen angeben und BlazeDS als Remote Object Access Service wählen ⇒
Weiter
- Pfad zur Datei
blazeds.war
angeben und Namen für diverse Ordner vergeben, Ganz wichtig: Kontextstamm, Inhaltsordner und Ausgabe-Wurzelordner müssen mit dem Projektnamen übereinstimmen. Beim Ausgabeordner sollte unbedingt noch ein beliebiger Unterordner angegeben werden.
- Flash Perspektive.png
Flash-Perspektive öffnen
- Flash HelloWorld BlazeDS 01 Neues Projekt 01.png
Flex-Projekt erstellen
- Flash HelloWorld BlazeDS 01 Neues Projekt 02.png
Projektdaten erfassen
- Flash HelloWorld BlazeDS 01 Neues Projekt 03.png
Ordnernamen angeben, Achtung: mögliche Fehlerquellen
Java-Datei Test-Service.java
erzeugen
- Flash HelloWorld BlazeDS 02 TestService 01.png
Neuen Java-Paket-Ordner anlegen
- Flash HelloWorld BlazeDS 02 TestService 02.png
Namen des Java-Paket-Ordners festlegen:
hello
- Flash HelloWorld BlazeDS 02 TestService 03.png
Analog: Neue Java-Klasse anlegen (
Andere
) - Flash HelloWorld BlazeDS 02 TestService 04.png
Analog: Neue Java-Klasse anlegen (
Klasse
) - Flash HelloWorld BlazeDS 02 TestService 05.png
Namen der Java-Klasse festlegen:
TestService
- Flash HelloWorld BlazeDS 02 TestService 06.png
Code erfassen (und anschließend speichern)
Test-Service.java
package hello;
import java.util.Date;
public class TestService
{
public TestService()
{
// This is required for the Blaze DS to instantiate the class.
}
// Eine Methode, die vom Flash-Client aufgerufen kann.
public void helloServer()
{
// Schreibe eine Nachricht in die Tomcat-Log-Datei
System.out.println("Der Client sagte 'Hallo' (Uhrzeit: " + new Date() + ")");
}
// Eine Methode, die vom Flash-Client aufgerufen kann
// und die eine Antwort zurückschickt.
public String getResult()
{
return "Hallo Client! (Uhrzeit: " + new Date() + ")";
}
}
Tomcat-Konfigurations-Datei remoting-config.xml
bearbeiten
- Flash HelloWorld BlazeDS 03 remoting-config xml.png
TestService
eintragen
remoting-config.xml
<?xml version="1.0" encoding="UTF-8"?> <service id="remoting-service" class="flex.messaging.services.RemotingService"> <adapters> <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true" /> </adapters> <default-channels> <channel ref="my-amf"/> </default-channels> <destination id="TestService"> <properties> <source>hello.TestService</source> <scope>session</scope> </properties> </destination> </service>
Flex-Datei HelloWorld_BlazeDS.mxml
bearbeiten
- Flash HelloWorld BlazeDS 04 HelloWorld BlazeDS mxml 01.png
Methoden für Zugriff auf
TestService
erfassen - Flash HelloWorld BlazeDS 04 HelloWorld BlazeDS mxml 02.png
Verbindung zu
TestService
erfassen und graphisches Front-End (mit Text-Feldern und Button) erstellen - Flash HelloWorld BlazeDS 04 HelloWorld BlazeDS mxml 03.png
Das grafische Front-End kann auch im Grafikmodus bearbeitet werden
HelloWorld_BlazeDS.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="1024" minHeight="768"
>
<fx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
[Bindable]
private var v_text: String = "Bislang keine Antwort!";
private function callServer(): void
{
TestService.helloServer();
TestService.getResult();
trace("Klick");
}
private function getResultCallback(event: ResultEvent): void
{
v_text = String(event.result);
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<s:RemoteObject id="TestService" destination="TestService" showBusyCursor="true">
<s:method name="getResult" result="getResultCallback(event)"/>
</s:RemoteObject>
</fx:Declarations>
<s:VGroup x="10" y="10" width="400" height="100">
<s:Label width="400" height="20"
text="Hello-World-Beispiel (BlazeDS) von Max Mustermann"
fontWeight="bold" fontSize="15"
/>
<mx:Spacer/>
<s:Button label="Hallo Server!" click="callServer()"/>
<mx:Spacer/>
<s:Label id="c_answer" width="400" height="20" text="{v_text}"/>
</s:VGroup>
</s:Application>
Anwendung ausführen
- Flash HelloWorld BlazeDS 05 Run on Server 01.png
HelloWorld_BlazeDS.mxml
auf dem Server ausführen - Flash HelloWorld BlazeDS 05 Run on Server 02.png
Ergebnis (fehlt: Wahl des Servers: Tomcat)
- Flash HelloWorld BlazeDS 06 Webanwendung 01.png
HelloWorld_BlazeDS.mxml
als Web-Anwendung ausführen - Flash HelloWorld BlazeDS 06 Webanwendung 02.png
Ergebnis (im Firefox)
- Flash HelloWorld BlazeDS 06 Webanwendung 02.png
Klick auf den Button
Hallo Server!
Demo-Version
Eine leicht erweiterte Version der hier vorgestellten Anwendung finden Sie unter hello_world_fb4_blazeds. Diese Anwendung können Sie mit Subclipse direkt in Ihren Flash Builder installieren.