Show TOC

FlashIslandLocate this document in the navigation structure

Verwendung

Die Web Dynpro UI-Elemente sind Schnittstellen zu den grafischen Benutzungsoberflächen von Web-Dynpro-Anwendungen. Für die verschiedenen Anwendungen werden die vorgegebenen UI-Elemente je nach Bedarf zusammengestellt. Es gibt zur Zeit keine Infrastruktur für die Entwicklung kundeneigener UI-Elemente. Um hier Spielraum für die Integration verschiedener Technologien und eigener UI-Blöcke zu schaffen, steht neben dem SilverlightIsland das FlashIsland zur Verfügung. Dadurch können Adobe Flex- bzw. Adobe Flash-basierte Anwendungen in Web Dynpro integriert werden.

Adobe Flash ist eine Technologie für die Entwicklung von Multimedia-Inhalten. Adobe Flash-Filme werden mit der Creative Suite Entwicklungsumgebung von Adobe entwickelt. Adobe Flex ist eine Plattform für Rich Internet Anwendungen (RIA). Adobe Flash- und Flex-Anwendungen werden zu ShockWave Flash (SWF) Dateien kompiliert, die mit dem FlashPlayer von Adobe ausgeführt werden können. Der Adobe FlashPlayer ist als Web Browser Plugin für verschiedene Browser-Versionen und Plattformen verfügbar.

Um eine selbst entwickelte Adobe Flash/Flex-Komponente innerhalb von Web Dynpro zu verwenden, muss diese die von SAP NetWeaver zur Verfügung gestellte Library verwenden. Dies ermöglicht die Kommunikation zwischen der Adobe-Flash-Anwendung und dem Web-Dynpro-Framework.

In Web Dynpro wird ein FlashIsland-UI-Element innerhalb einer View erzeugt. Das UI-Element enthält den Pfad zu der Adobe-Flash-Anwendung (SWF-Datei). Diese Datei muss im MIME-Repository abgelegt sein, damit sie zusammen mit der Web-Dynpro-Anwendung ausgeliefert werden kann.

Legen Sie zusätzlich zur auszuführenden SWF-Datei im gleichen Verzeichnis die zugehörige Debug-Version der Adobe-Flash-Anwendung ab. Beachten Sie hierbei die Namensgebung und benennen die Debug-Version der Adobe-Flash-Anwendung mit dem Suffix -debug.swf. Beispiel: die auszuführenden SWF-Datei heißt: MyFlashApplication.swf. Dann sollte zu Debugging-Zwecken eine SWF-Datei im gleichen Verzeichnis liegen, die MyFlashApplication-debug.swf heißt.

Die wichtigsten Eigenschaften sind swfFile, height und width (siehe unten).

Hinweis

Für die Caching-Optimierung müssen Sie die Cache-Verweildauer des MIME-Objekts maximal hoch einstellen. Wählen Sie dazu auf dem MIME-Objekt den Eintrag Verfallsdauer Client-Cache.

Context-Attribute werden im FlashIsland über die Aggregationen PROPERTIES und DATA_SOURCES zur Verfügung gestellt. Außerdem ist es möglich, EVENTS zu deklarieren, die in der Anwendung verarbeitet werden sollen.

Die Adobe-Flash-Anwendung kann beispielsweise mit der Adobe FlexBuilder Entwicklungsumgebung erstellt werden. Ein solches Projekt besteht aus drei Teilen:

  1. Eine Adobe Flex library, die von SAP NetWeaver zur Verfügung gestellt wird und zur Kommunikation zwischen der Adobe Flash Anwendung und dem Web-Dynpro-Framework benötigt wird.

  2. Die selbst entwickelte Adobe Flash/Flex-Komponente

  3. Der Anwendungsentwickler muss die selbst entwickelte Adobe Flash/Flex-Komponente in der FlashIsland-Verschalung aufrufen. Die FlashIsland Component stellt Methoden bereit, um auf die Daten des UI-Elements zuzugreifen und um Events auszulösen.

Weitere Informationen finden Sie unter Adobe Flash Islands Integration.

Hinweise

Barrierefreiheit

Beachten Sie, dass beim Einsatz eines FlashIsland-UI-Elements die Barrierefreiheit nicht gewährleistet ist. Wenn Sie eine barrierefreie Anwendung erstellen möchten, raten wir vom Einsatz des FlashIsland ab.

Übersetzung

Für Texte innerhalb der Adobe Flash Anwendung (SWF-Datei) gibt es keinen Übersetzungsanschluss. Die Übersetzung von Texten ist nur dann möglich, wenn diese von außen, d.h. über den Context (also GACDataSource bzw. GACProperty), mitgegeben werden. Achten Sie dabei darauf, die Texte nicht bei jedem Roundtrip zu übertragen, sondern nur einmal.

Bidirektionaler Text

Der Anwendungsentwickler ist selbst verantwortlich für die Gewährleistung der Right-to-Left-Unterstützung (RTL).

Personalisierung

Die Personalisierung für FlashIsland UI-Elemente wird nicht unterstützt.

Rechteckiger Bildschirmbereich

Ein FlashIsland UI-Element läuft immer in einem rechteckigen Bildschirmbereich ab. Andere Formen warden zur Zeit nicht unterstützt.

Keine Mehrfach-Anzeige

Das FlashIsland UI-Element kann immer nur einmal auf einem Bildschirm dargestellt werden. Es ist nicht möglich, es via DataSource mehrfach anzuzeigen. Daher kann es auch nicht in einem RowRepeater, einer MultiPane oder in einem TablePopin (wenn es zu einem Zeitpunkt mehr als ein offenes Popin geben soll) verwendet werden.

Kurz, pro View gibt es immer nur ein FlashIsland-UI-Element, da es RootUIElementContainer ist. Sie können jedoch pro "Page" mehrere FlashIslands gleichzeitig anzeigen.

Debugging

Um die Adobe Flash-Anwendung debuggen zu können, muss das Debug-File (s.o.) im gleichen MIME-Verzeichnis wie das .swf-File liegen und die Web-Dynpro-Anwendung muss mit dem URL-Parameter sap-wd-flashDebug=X gestartet werden. Dadurch wird automatisch das Debug-File anstatt des .swf-Files für das FlashIsland verwendet.

Dialogfenster

Beachten Sie, dass die Integration von FlashIsland in Web-Dynpro-ABAP-Dialogfenster (Popups) nicht unterstützt wird.

Implementierungsdetails

Laufzeit-Klasse

CL_WD_FLASH_ISLAND

Name

Typ

Anfangswert

Bindbar

id

STRING

(automatisch)

nein

enabled

WDY_BOOLEAN

true

ja

height

STRING

 

ja

lifeTime

WDUI_LIFE_TIME

whenVisible

ja

swfFile

STRING

 

ja

toolTip

übersetzbarer Text

 

ja

visible

WDUI_VISIBILITY

visible

ja

width

STRING

 

ja

Name

Kardinalität

Typ

DATA_SOURCES

0..n

GACDataSource

EVENTS

0..n

GACEvent

PROPERTIES

0..n

GACProperty

Hinweis

Weitere Eigenschaften, die über Vererbung zur Verfügung stehen, sind in den dazugehörigen übergeordneten Klassen definiert. Die dazugehörigen Oberflächenelemente sind:

Dynamische Programmierung

Für die dynamische Programmierung stehen dieselben Eigenschaften, Ereignisse und Aggregationen zur Verfügung wie im View Designer. Beachten Sie dabei die unterschiedlichen Schreibweisen.

View Designer Name

Laufzeit-Name

Typ

enabled

WDY_BOOLEAN

WDY_BOOLEAN

height

HEIGHT

STRING

lifeTime

LIFE_TIME

WDUI_LIFE_TIME

lifeTime: whenAlive

CL_WD_FLASH_ISLAND=>E_LIFE_TIME-WHEN_ALIVE

lifeTime: whenVisible

CL_WD_FLASH_ISLAND=>E_LIFE_TIME-WHEN_VISIBLE

swfFile

SWF_FILE

STRING

toolTip

TOOLTIP

WDY_MD_TRANSLATABLE_TEXT

visible

VISIBLE

visible

visible: none

CL_WD_FLASH_ISLAND=>E_VISIBLE-NONE

visible: visible

CL_WD_FLASH_ISLAND=>E_VISIBLE-VISIBLE

width

WIDTH

STRING

Name

Laufzeitname

Kardinalität

DATA_SOURCES

DATA_SOURCES

0..n

EVENTS

EVENTS

0..n

PROPERTIES

PROPERTIES

0..n

Beispiel

Es wird keine Beispiel-Component für FlashIsland im System ausgeliefert, für Tests steht jedoch die Component WDR_TEST_FLASH_ISLAND im System zur Verfügung.