Verwendungsmuster für die Implementierung angepasster Datenbinder für JAX-RPC-Anwendungen
Angepasste Datenbinder werden verwendet, um XML-Schematypen Java™-Objekten zuzuordnen. Angepasste Datenbinder stellen Bindungen für XML-Schematypen bereit, die von der aktuellen JAX-RPC-Spezifikation (Java API for XML-based Remote Call Procedure) nicht unterstützt werden. WebSphere Application Server enthält eine Erweiterung für das Programmiermodell Web Services for Java 2 Enterprise Edition (Java EE), die Schnittstelle "CustomBinder", die diese angepassten Bindungen für einen bestimmten XML-Schematyp implementiert. Der angepasste Bindungsprovider ist das Paket für die angepassten Daten-Binder, das in die Laufzeitumgebung importiert wird.
Wenn Sie mehr über die Anwendungsprogrammierschnittstelle "CustomBinder" erfahren möchten, finden Sie in den Informationen zur Schnittstelle "CustomBinder" für JAX-RPC-Anwendungen. Allgemeine Informationen zu angepassten Bindern finden Sie in den Informationen zu angepassten Daten-Bindern für JAX-RPC-Anwendungen. In den Informationen zu den anpassten Bindungsprovidern für JAX-RPC-Anwendungen können Sie nachlesen, wie angepasste Bindungsprovider für die Entwicklung gepackt werden.
Dieses Verwendungsmuster veranschaulicht, wie das Providerpaket in die Laufzeitumgebung implementiert wird und welche Rollen an dem angepassten Bindungsprozess beteiligt sind.
An der angepassten Datenbindung beteiligte Rollen
- Der angepasster Bindungsprovider (custom binding provider) ist für die Implementierung der erforderlichen angepassten Datenbinder verantwortlich. Er deklariert die Binder in einer Datei CustomBindingProvider.xml und packt die Bindungsklassen in eine JAR-Datei (Java Archive).
- Der Anwendungsentwickler (application developer) ist für das Anwenden der JAR-Datei des angepassten Bindungsproviders und die Generierung der Entwicklungsartefakte zuständig.
- Der Anwendungsassemblierer (application assembler) muss die Anwendungsanforderungen in Bezug auf die angepasste Daten-Bindung verstehen und entscheiden, wie die JAR-Datei des angepassten Providers für die Anwendung gepackt wird.
- Der Anwendungsimplementierer (application deployer) konfiguriert die gemeinsam genutzten Bibliotheken, um die Unterstützung für angepasste Datenbindungen in den Anwendungen bereitzustellen. Dieser Schritt muss ausgeführt werden, wenn die JAR-Datei des angepassten Providers nicht im Anwendungspaket enthalten ist. Wenn die Anwendung nicht implementiert ist, muss der Implementierer nach der Installation der Anwendung die Implementierungstools für Web-Services ausführen.
Allgemeine Verwendungsmuster
- Angepasste Datenbinder auf Serverebene implementieren
Dieses Muster stellt sicher, dass alle Anwendungen, die auf dem Server ausgeführt werden, die angepassten Datenbinder erhalten. Es ist hilfreich, wenn grundlegende XML-Typen eingeführt werden, die von den JAX-RPC-Standardzuordnungsregeln nicht unterstützt werden.
Eine solche Situation tritt häufig bei neuen Web-Service-Spezifikationen auf, die neue Schematypen definieren. Die Spezifikation WS-Addressing definiert beispielsweise einen Schematyp "EndpointReferenceType", der von den JAX-RPC-Zuordnungsregeln nicht unterstützt wird. Da dieses Muster die Erweiterung des Serverklassenpfads erfordert, hat es erhebliche Auswirkungen auf die Laufzeitumgebung des Servers und die installierten Anwendungen. Dieses Muster eignet sich ideal für die internen Komponenten von WebSphere Application Server.
- Angepasste Binder für eine oder mehrere Anwendungen implementieren
Verwenden Sie dieses Muster, wenn Sie die angepassten Datenbinder nur auf bestimmte Anwendungen anwenden möchten und die relevanten XML-Schematypen für eine Gruppe von Anwendungen zutreffen. Sie können die angepassten Datenbinder in einer Gruppe von Anwendungen gemeinsam nutzen und gleichzeitig unterschiedliche Anwendungsgruppen voneinander abgrenzen.
- Angepasste Binder für ein bestimmtes Webmodul in einer Anwendung implementieren
Die Verwendung dieses Musters gewährleistet, dass die implementierten angepassten Datenbinder von einem bestimmten Webmodul verwendet werden. Dieses Muster ist hilfreich, wenn eine Differenzierung der angepassten Bindungen erforderlich ist. Sie können dieses Muster nicht für EJB-Module verwenden, weil das Modul und die referenzierte Bibliothek zur gesamten Anwendung gehören.
Verwendungsmuster
- Implementierung auf Serverebene
Wenn Sie die angepassten Datenbinder auf Serverebene implementieren, müssen Sie das Geltungsbereichsattribut des deklarierten Bindungsproviders auf Server setzen. Wenn Sie das Attribut auf Server setzen, erhalten die deklarierten Binder auf jeden Fall eine höhere Priorität, wenn Konflikte zwischen dem Server und den Anwendungen auftreten. Die JAR-Datei des angepassten Bindungsproviders muss sich an der richtigen Position befinden, damit sie von der Laufzeitumgebung des Servers verwendet wird. Konfigurieren Sie den Serverpfad, und fügen Sie die JAR-Datei des angepassten Bindungsproviders in den Klassenpfad des Servers ein. Wenn Sie mehr über die für die Konfiguration des Serverklassenpfads verwendeten Werte erfahren möchten, lesen Sie die Informationen zu den JVM-Einstellungen (Java Virtual Machine).
- Angepasste Datenbinder für eine oder mehrere Anwendungen implementieren
Wenn Sie angepasste Datenbinder für eine oder mehrere Anwendungen implementieren möchten, setzen Sie das Geltungsbereichsattribut des deklarierten angepassten Bindungsproviders auf Anwendung. Wenn Sie den Geltungsbereich auf Anwendung einstellen, erhalten die Binder in jedem Fall eine höhere Priorität, falls Konflikte zwischen der Anwendung und dem Modul auftreten. Wenn die angepassten Datenbinder von mehreren Anwendungen verwendet werden, konfigurieren Sie eine gemeinsam genutzte Bibliothek für die Anwendungen. Wenn Sie mehr über die für die Konfiguration des gemeinsam genutzten Bibliothekspfads verwendeten Werte erfahren möchten, lesen Sie die Informationen zur Verwaltung gemeinsam genutzter Bibliotheken.
- Angepasste Datenbinder für ein bestimmtes Webmodul in einer Anwendung implementieren
Wenn Sie angepasste Datenbinder für ein bestimmtes Webmodul in einer Anwendung implementieren möchten, setzen Sie das Geltungsbereichsattribut des deklarierten Bindungsproviders auf Modul. Die einzige Möglichkeit, den angepassten Datenbinder für dieses Muster anzuwenden ist, die JAR-Datei des angepassten Bindungsproviders mit dem Webmodul vorab zu packen. Sie können die JAR-Datei beispielsweise in das Verzeichnis /WEB-INF/lib stellen.