Show TOC

SilverlightIslandLocate 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 FlashIsland das SilverlightIsland zur Verfügung. Dadurch können auf der Web-Präsentationstechnik Silverlight von Microsoft basierte Anwendungen in Web Dynpro integriert werden.

Microsoft Sivlerlight ist eine Technologie für die Entwicklung von Rich Internet Anwendungen (RIA). Die kompilierten Microsoft Silverlight Anwendungen werden mit Hilfe des Silverlight Plugin innerhalb von Web Browsern ausgeführt. Das Silverlight Browser Plugin ist für verschiedene Browser-Versionen verfügbar.

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

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

Die wichtigsten Eigenschaften der SilverlightIsland sind source, 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 SilverlightIslandüber die Aggregationen PROPERTIES und DATA_SOURCES zur Verfügung gestellt. Außerdem ist es möglich, EVENTS zu deklarieren, die von der Microsoft Silverlight Anwendung ausgelöst und vom Web-Dynpro-Framework verarbeitet werden sollen.

Eine Microsoft Silverlight Anwendung kann beispielsweise mit der Entwicklungsumgebung Microsoft Visual Studio erstellt werden. Ein solches Projekt besteht aus drei Teilen:

  1. Die Microsoft Silverlight Library, die von SAP NetWeaver zur Verfügung gestellt wird und zur Kommunikation zwischen der Microsoft Silverlight Anwendung und dem Web-Dynpro-Framework benötigt wird.

  2. Die selbst entwickelte Microsoft Silverlight Komponente

  3. Der Anwendungsentwickler muss die selbst entwickelte Microsoft Silverlight Komponente in der SilverlightIsland-Verschalung aufrufen. Die SilverlightIsland Component stellt Methoden bereit, um auf die Daten des UI-Elements zuzugreifen und ausgelöste Events zu behandeln.

Weitere Informationen: Microsoft Silverlight Islands Integration

Hinweise

Barrierefreiheit

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

Übersetzung

Für Texte innerhalb der Microsoft Silverlight Anwendung (XAP-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 SilverlightIsland UI-Elemente wird nicht unterstützt.

Rechteckiger Bildschirmbereich

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

Keine Mehrfach-Anzeige

Das SilverlightIsland 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 SilverlightIsland-UI-Element, da es RootUIElementContainer ist.

Sie können jedoch pro "Page" mehrere SilverlightIslands gleichzeitig anzeigen

Debugging

Um eine Microsoft Silverlight-Anwendung debuggen zu können, müssen die Symbol-Dateien ( pdb-Dateien) der Anwendung vorhanden sein. Danach ist es möglich, die Anwendung in Microsoft Visual Studio mit Hilfe des Befehls Attach to Process... zu debuggen.

Dialogfenster

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

Implementierungsdetails

Laufzeit-Klasse

CL_WD_SILVERLIGHT_ISLAND

Name

Type

Anfangswert

Bindbar

id

STRING

(automatisch)

nein

enabled

WDY_BOOLEAN

true

ja

height

STRING

 

ja

lifeTime

WDUI_LIFE_TIME

whenVisible

ja

source

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

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 Desigener Name

Laufzeitname

Typ

enabled

ENABLED

WDY_BOOLEAN

height

HEIGHT

STRING

lifeTime

LIFE_TIME

WDUI_LIFE_TIME

 lifeTime: whenAlive

CL_WD_SILVERLIGHT_ISLAND=>E_LIFE_TIME-WHEN_ALIVE

 lifeTime: whenVisible

CL_WD_SILVERLIGHT_ISLAND=>E_LIFE_TIME-WHEN_VISIBLE

source

SOURCE

STRING

tooltip

TOOLTIP

WDY_MD_TRANSLATABLE_TEXT

visible

VISIBLE

WDUI_VISIBILITY

visible: none

CL_WD_SILVERLIGHT_ISLAND=>E_VISIBLE-NONE

visible: visible

CL_WD_SILVERLIGHT_ISLAND=>E_VISIBLE-VISIBLE

width

WIDTH

STRING

View Desigener Name

Laufzeitname

Kardinalität

DATA_SOURCES

DATA_SOURCES

0..n

EVENTS

EVENTS

0..n

PROPERTIES

PROPERTIES

0..n

Beispiel

Sie finden ein Test-Beispiel für dieses Oberflächenelement in der Component WDR_TEST_SILVERLIGHT.