
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).
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:
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.
Die selbst entwickelte Microsoft Silverlight Komponente
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 |
|---|---|---|---|
|
STRING |
(automatisch) |
nein |
|
|
WDY_BOOLEAN |
true |
ja |
|
|
STRING |
ja |
||
|
WDUI_LIFE_TIME |
whenVisible |
ja |
|
|
STRING |
ja |
||
|
Übersetzbarer Text |
ja |
||
|
WDUI_VISIBILITY |
visible |
ja |
|
|
STRING |
ja |
|
Name |
Kardinalität |
Typ |
|---|---|---|
|
0..n |
||
|
0..n |
||
|
0..n |
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 |
WDY_BOOLEAN |
|
|
HEIGHT |
STRING |
|
|
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 |
STRING |
|
|
TOOLTIP |
WDY_MD_TRANSLATABLE_TEXT |
|
|
VISIBLE |
WDUI_VISIBILITY |
|
|
visible: none |
CL_WD_SILVERLIGHT_ISLAND=>E_VISIBLE-NONE |
|
|
visible: visible |
CL_WD_SILVERLIGHT_ISLAND=>E_VISIBLE-VISIBLE |
|
|
WIDTH |
STRING |
|
View Desigener Name |
Laufzeitname |
Kardinalität |
|---|---|---|
|
DATA_SOURCES |
0..n |
|
|
EVENTS |
0..n |
|
|
PROPERTIES |
0..n |
Sie finden ein Test-Beispiel für dieses Oberflächenelement in der Component WDR_TEST_SILVERLIGHT.