Globalisierung

Eine Anwendung, die die Informationen gemäß verschiedenen länderspezifischen Konventionen anzeigen kann, wird als für den internationalen Einsatz geeignet bezeichnet. Die Anwendung kann so konfiguriert werden, dass sie mit Benutzern an verschiedenen Standorten den lokalen Gepflogenheiten entsprechend interagieren kann. In einer für den internationalen Einsatz geeigneten Anwendung sieht der Benutzer in einer bestimmten Region Fehlernachrichten, Ausgaben und Bedienelemente in der benötigten Sprache. Datums- und Zeitformate sowie Währungen werden dem Benutzer so präsentiert, wie es in seiner Region üblich ist. Ein Benutzer in einer anderen Region sieht die Ausgabe in der Sprache und in dem Format, das in seiner jeweiligen Region üblich ist. Die Globalisierung findet in zwei Phasen statt: Internationalisierung (Aktivierung einer Anwendungskomponente für die Eignung für kulturübergreifenden Einsatz) und Lokalisierung (Übersetzung und Implementierung einer bestimmten regionalen Konvention).

In der Vergangenheit war die Erstellung von Anwendungen, die sich für den globalen Einsatz eignen, auf große Unternehmen beschränkt, die komplexe Systeme entwickeln. Angesichts der Verbreitung der verteilten Datenverarbeitung und der Nutzung des World Wide Web sind Anwendungsentwickler gezwungen, immer mehr Anwendungen global verwendbar zu machen. Dies erfordert jedoch einen einfacheren Zugriff auf Globalisierungsverfahren für die Anwendungsentwickler.

Die Internationalisierung einer Anwendung wird durch zwei Variablen gesteuert: Zeitzone und Ländereinstellung (Locale). Die Zeitzone gibt an, wie die Ortszeit aus einer Standardzeit wie der Westeuropäischen Zeit (GMT) anhand der Zeitverschiebung abgeleitet werden kann. Die Locale ist eine Sammlung von Informationen zu Sprache, Währung und Konventionen für die Darstellung von Datumsangaben und anderen Informationen. Eine Zeitzone kann viele Ländereinstellungen umfassen, und eine einzelne Ländereinstellung kann andererseits auch mehrere Zeitzonen umfassen. Durch die Kombination von Zeitzone und Ländereinstellung können Datum, Zeit, Währung und Sprache für Benutzer in einer bestimmten Region ermittelt werden.

Gemäß der Konvention wird eine Ländereinstellung durch ein Codepaar (für Sprache und Region) angegeben, das durch verschiedene Normen festgelegt wird. Die Norm ISO-639 legt den Sprachencode fest, und die Norm ISO-3166 legt den Regionalcode fest. Die Schreibweise sieht normalerweise so aus, dass die beiden Codes durch ein Unterstreichungszeichen (_) verbunden sind, z. B. de_DE für Deutsch. Im Java™-Code werden Ländereinstellungen mit der Klasse java.util.Locale festgelegt und abgerufen.

Erster Schritt: Lokalisierung der Zeichenfolgen in der Schnittstelle

In einer nicht global verwendbaren Anwendung ist die Benutzeroberfläche unveränderbar in den Anwendungscode geschrieben. Das Lokalisieren einer Benutzeroberfläche fügt dem Design einer Anwendung eine weitere Abstraktionsschicht hinzu. Diese zusätzliche Abstraktionsschicht ermöglicht Ihnen, die Anwendung für jede Locale zu lokalisieren, die eine Anwendung unterstützen muss.

In einer lokalisierten Anwendung bestimmt die Locale den Nachrichtenkatalog, aus dem die Anwendung die Nachrichtenzeichenfolgen abruft. Die Anwendung gibt nicht einfach eine Fehlernachricht aus, sondern stellt die Fehlernachricht zunächst mit einigen sprachenneutralen Informationen dar. Im einfachsten Fall entspricht jede Fehlerbedingung einem Schlüssel. Um eine verständliche Fehlernachricht auszugeben, sucht die Anwendung dann in einem Nachrichtenkatalog den Schlüssel. Jeder Nachrichtenkatalog ist eine Liste von Schlüsseln mit zugehörigen Zeichenfolgen. Die unterschiedlichen Nachrichtenkataloge enthalten Zeichenfolgen für die verschiedenen unterstützten Sprachen. Die Anwendung sucht den Schlüssel im entsprechenden Katalog, ruft die Fehlernachricht in der angeforderten Sprache ab und gibt diese Zeichenfolge für den Benutzer aus.

Die Lokalisierung von Text dient zu weit mehr als zum Übersetzen von Fehlernachrichten. Die Verwendung von Schlüsseln für jedes Element in einer grafischen Benutzerschnittstelle (GUI) und die Bereitstellung geeigneter Nachrichtenkataloge bewirkt, dass die GUI selbst (Schaltflächen, Menüs usw.) mehrere Sprachen unterstützen kann. Eine Erweiterung auf die Unterstützung zusätzlicher Sprachen erfordert die Bereitstellung von Nachrichtenkatalogen für diese Sprachen. In vielen Fällen muss die Anwendung selbst nicht weiter geändert werden.

Das Paket localizable-text ist eine Gruppe von Java-Klassen und -Schnittstellen, die zum einfachen Lokalisieren von Zeichenfolgen in verteilten Anwendungen verwendet werden können. Sprachspezifische Zeichenfolgenkataloge können zentral gespeichert werden, sodass sie effektiv gepflegt werden können.

Die Anforderungen der Globalisierung in verteilten Anwendungen

Mit der Einführung von internetbasierten Geschäftsmodellen verwenden Anwendungen immer häufiger Clients und Server, die mit in unterschiedlichen geografischen Regionen eingesetzt werden. Diese Unterschiede bringen neue Herausforderungen bezüglich des Designs einer stabilen Client/Server-Infrastruktur mit sich:

Clients und Server können auf Computern mit unterschiedlichen Endian-Architekturen und codierten Zeichensätzen ausgeführt werden.

Clients und Server können auf Computern mit unterschiedlichen Endian-Architekturen ausgeführt werden. Beispielsweise könnte ein Client in einer Little-Endian-CPU und der Servercode in einer Big-Endian-CPU ausgeführt werden. Ein Client kann eine Geschäftsmethode in einem Server aufrufen, der mit einem anderen codierten Zeichensatz arbeitet als der Client.

Eine Client/Server-Infrastruktur muss exakte Regeln für die Überwachung und Konvertierung von Endian-Modellen und codierten Zeichensätzen definieren. Die Java-Plattform hat diese Probleme durch den Einsatz einer Java Virtual Machine (JVM) nahezu einheitlich gelöst. Die JVM codiert alle String-Daten im UCS-2-Format und stellt alle Daten extern im Format Big-Endian zur Verfügung. Die JVM verwendet eine Reihe von plattformspezifischen Programmen als Schnittstelle zur nativen Plattform. Diese Programme führen die erforderlichen Konvertierungen von UCS-2 in den nativen codierten Zeichensatz einer Plattform (und umgekehrt) durch.

Clients und Server können auf Computern mit unterschiedlichen Locale-Einstellungen ausgeführt werden.

Client- und Serverprozesse können unterschiedliche Locale-Einstellungen verwenden. Beispielsweise kann ein spanischer Client eine Geschäftsmethode für ein Objekt in einem amerikanischen Server aufrufen. Einige Geschäftsmethoden können von ihrem Wesen her Locale-abhängig sein. Von einer Geschäftsmethode beispielsweise, die eine sortierte Liste von Strings zurückgibt, erwartet der spanische Client, dass die Liste gemäß der spanischen Sortierfolge und nicht nach der englischen Sortierfolge des Servers sortiert ist. Weil die Datenabruf- und -sortierprozeduren im Server ausgeführt werden, muss die Locale des Client im Server verfügbar sein, damit die Sortierung ordnungsgemäß vorgenommen werden kann.

Ähnliche Punkte müssen auch dann berücksichtigt werden, wenn der Server Strings zurückgeben muss, die Datums-, Zeit- oder Währungsangaben, Ausnahmenachrichten usw. enthalten, die gemäß den länderspezifischen Erwartungen des Clients formatiert werden müssen.

Clients und Server können in unterschiedlichen Zeitzonen arbeiten

Client- und Serverprozesse können in unterschiedlichen Zeitzonen ausgeführt werden. Bis heute haben sich die gesamten Veröffentlichungen und Ressourcen zur Internationalisierung hauptsächlich mit Themen beschäftigt, die sich auf codierte Zeichensätze und Locales beziehen. Das Thema Zeitzone wurde im Allgemeinen vollkommen ignoriert, obwohl Geschäftsmethoden ebenso zeitzonen- wie Locale-abhängig sein können.

Angenommen, ein Lieferant bestätigt, dass "Bestellungen, die vor 14:00 empfangen werden, noch am selben Tag bis 17:00 bearbeitet werden". Die Zeiten gelten natürlich für die Zeitzone des Servers, der die Bestellung bearbeitet. Die Zeitzone des Clients muss bekannt sein, damit Kunden in anderen Zeitzonen die richtigen Zeiten für die Bearbeitung von Bestellungen am selben Tag angezeigt werden.

Weitere zeitzonenabhängige Operationen sind das Kennzeichnen von Nachrichten, die in einem Server protokolliert werden, mit Zeitmarken und das Zugreifen auf Datei- oder Datenbankressourcen. Das Konzept der Sommerzeit stellt bei der Zeitzonenthematik ein weiteres Problem dar.

Java Platform, Enterprise Edition (Java EE) bietet Unterstützung für Anwendungskomponenten, die auf Computern mit unterschiedlicher Endian-Architektur und verschiedenen codierten Zeichensätzen ausgeführt werden. J2EE bietet jedoch keine dedizierte Unterstützung für Anwendungskomponenten, die auf Computern mit unterschiedlichen Ländereinstellungen und Zeitzonen ausgeführt werden.

Konventionell wird das Problem abweichender Zeitzonen bei fernen Anwendungskomponenten dadurch gelöst, dass mit allen Geschäftsmethoden, die für die Übertragung der Ländereinstellung oder Zeitzone zum Server notwendig sind, zusätzliche Parameter übergeben werden. Diese Technik ist zwar einfach, unterliegt im Zusammenhang mit EJB-Anwendungen (Enterprise JavaBeans) jedoch folgenden Einschränkungen:
  • Sie stellt einen nicht unerheblichen Eingriff dar, weil allen Bean-Methoden in der Aufrufkette für Locale- oder zeitzonenabhängige Methoden ein oder mehrere Parameter hinzugefügt werden müssen.
  • Sie ist fehleranfällig.
  • Sie kann nicht in Anwendungen eingesetzt werden, die nicht modifiziert werden dürfen, was bei herkömmlichen Anwendungen der Fall ist.

Der Service zur Internationalisierung ist der Herausforderung abweichender Ländereinstellungen und Zeitzonen gewachsen, ohne den Einschränkungen konventioneller Techniken zu unterliegen. Der Service verwaltet systemantisch die Verteilung von Internationalisierungskontexten auf die verschiedenen Komponenten von EJB-Anwendungen, einschließlich Clientanwendungen, Enterprise-Beans und Servlets. Weitere Informationen finden Sie unter Taskübersicht: Anwendungskomponenten internation einsatzfähig machen (Service zur Internationalisierung).


Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cin_main
Dateiname:cin_main.html