この章の項目は次のとおりです。
ビジネスでは、インターネット・アプリケーションを世界中のユーザーが言語、通貨形式など適切なロケール設定で使用できるようにすることが重要です。Oracle Application Serverは、完全に国際化されており、インターネット・アプリケーションを開発および配置するためのグローバル・プラットフォームを提供しています。
Oracle Application Serverを使用するインターネット・アプリケーションまたはWebサイトを作成するには、開発および配置における優れたグローバリゼーションの実施例が必要です。このマニュアルでは、グローバリゼーション実施の推奨例について説明します。
グローバリゼーションを理解するには、次の概念をよく理解しておくことが必要です。
ロケールとは、言語、キャラクタ・セットおよび言語が話されている地域のことです。地域に関する情報には、日付や通貨の形式があります。たとえば、米国と英国の主要言語は、両方とも英語ですが、2つの地域では別々の通貨や日付形式が使用されています。このため、米国と英国ではロケールが異なります。
キャラクタ・セットは、言語を構成する文字のバイナリ値を定義しています。たとえば、ISO-8859-1キャラクタ・セットを使用すると、大部分の西欧言語をエンコードできます。
グローバル・インターネット・アプリケーションを設計するには、いくつかのアプローチがあります。このマニュアルでは次のアプローチについて説明します。
単一言語
単一言語インターネット・アプリケーションの設計では、いくつかのインスタンスをサポートできます。各インスタンスは、別々のロケールをサポートしています。ユーザーは、設定しているロケール項目によって、そのロケールに対応するインスタンスを実行する必要があります。
多言語
多言語インターネット・アプリケーションの設計では、1つのインスタンスでいくつかのロケールをサポートできます。すべてのユーザーは、ロケールにかかわらず、同じインスタンスを実行できます。
どちらの設計でも、Unicodeキャラクタ・セットを使用する集中型データベースが1つ存在します。
図1-1に、単一言語インターネット・アプリケーションの設計を示します。
クライアント(英語、日本語、ヘブライ語およびタイ語のロケール)は、HTTP接続を経由して、Oracle Application Serverの個別のインスタンスと通信します。アプリケーションの1つのインスタンスは、Oracle Application Serverのインスタンスの1つと同じロケールで実行します。たとえば、英語のアプリケーションは、Oracle Application Serverのインスタンス1と同じロケールで実行します。英語と日本語のアプリケーションとそれぞれのOracle Application ServerインスタンスはサーバーAで実行中であり、ヘブライ語とタイ語のアプリケーションとそれぞれのインスタンスはサーバーBで実行中です。各Oracle Application Serverインスタンスは、Unicodeデータベースと通信します。インスタンスは、Oracle Netを経由して、データベースと通信します。
たとえば、英語のロケール用のクライアント・キャラクタ・セットは、ISO-8859-1です。英語のロケールと関連付けられたOracle Application Serverのインスタンスのインスタンス1は、Oracleキャラクタ・セットWE8MSWIN1252を使用して、データベースと通信します。データベース・キャラクタ・セットは、Unicodeキャラクタ・セットです。
表1-1に、単一言語インターネット・アプリケーションを配置するメリットとデメリットを示します。ロケールの数が増えると、単一言語設計のデメリットがメリットを上回ります。単一言語のアプリケーション設計は、1つまたは2つのロケールのみをサポートする顧客に適しています。
表1-1 単一言語インターネット・アプリケーション設計のメリットとデメリット
メリット | デメリット |
---|---|
異なるロケールのサポートを別々のサーバーに分けることができます。これによって、ロケールを様々なタイムゾーンでサポートすることができます。その結果、ワークロードを分散できます。 |
管理対象のOracle Application Serverサーバーが多くなります。 |
コード記述が多言語インターネット・アプリケーションよりも簡単です。 |
各Oracle Application Serverインスタンス上でのインターネット・アプリケーションの動作確認のために、より多くのテスト・リソースが必要です。 |
|
アプリケーションの各インスタンスに対してOracle Application Serverを構成する必要があります。 |
|
サーバーに要求される作業量にかかわらず、各ロケール用のサーバー・インスタンスを管理する必要があります。ロード・バランシングは、同じロケールをサポートするOracle Application Serverのインスタンスのグループ内でのみ可能です。 |
|
多言語コンテンツのサポートが困難です。 |
図1-2に、多言語インターネット・アプリケーションの設計を示します。
クライアント(英語、日本語、ヘブライ語およびタイ語のロケール)は、HTTP接続を経由して、Oracle Application Serverの1つのインスタンスと通信します。各クライアントは、Oracle Application Serverのインスタンスのロケールに関係なく、Oracle Application Serverで実行されている各アプリケーションによっていくつかのロケールが同時にサポートされるように構成されているため、個別のキャラクタ・セットを使用できます。Oracle Application Serverのインスタンスは、Oracle Netを経由して、データベースと通信します。Oracle Application Serverのインスタンスで実行されているアプリケーションとデータベースは、両方ともUnicodeキャラクタ・セットを使用します。
いくつかのロケールを1つのアプリケーション・インスタンスでサポートするために、アプリケーションで次のことを行う必要があります。
あらゆる言語のデータをサポートできるようにUnicodeで文字データを処理する。
HTMLページを適切な言語と文化的慣習に合せて作成することによって、ユーザーのロケールを動的に検出し、ロケールに適応させる。
HTMLページで使用するキャラクタ・セットを動的に判断して、UnicodeとHTMLページ・エンコーディングとの間でコンテンツを変換する。
表1-2に、多言語インターネット・アプリケーションを配置するメリットとデメリットを示します。
表1-2 多言語インターネット・アプリケーション設計のメリットとデメリット
メリット | デメリット |
---|---|
1つのOracle Application Server構成しか使用しないので、メンテナンス費が少なくなります。 パフォーマンス・チューニングと容量計画がロケールの数によって変わりません。 言語の追加サポートが比較的容易です。新しいロケールのためにマシンを追加する必要がありません。 1つのテスト環境で、複数のロケール用のアプリケーションをテストできます。 アプリケーションで多言語コンテンツをサポートできます。 |
多言語アプリケーションは、単一言語アプリケーションよりもコードが複雑です。アプリケーションでロケールを動的に検出しUnicodeを使用できる必要があります。これは、1つまたは2つの言語しかサポートする必要がない場合にはコストがかかります。 |
様々なロケールをサポートするOracle Application Server用インターネット・アプリケーションを作成するためには、適切な開発実施例が必要です。アプリケーション自体で、ユーザーのロケールを認識し、適切なロケールをユーザーに提供できる必要があります。クライアントは、クライアントのロケールにかかわらず、キャラクタ・セット変換を最小限に留めた状態で、アプリケーション・サーバーと通信できる必要があります。アプリケーション・サーバーは、キャラクタ・セット変換を最小限に留めた状態で、複数の言語のデータが含まれるデータベース・サーバーに接続できる必要があります。キャラクタ・セット変換を行うと、パフォーマンスが低下し、ターゲットのキャラクタ・セットに文字がないためにデータを損失する可能性が大きくなります。
関連項目: キャラクタ・セット変換の詳細は、Oracle Databaseドキュメント・ライブラリ内の『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。 |
また、Oracle Application Serverは、次のOracle Application Serverコンポーネントを使用したグローバル・アプリケーションの開発もサポートします。
Oracle Application Server Forms Services
Oracle Application Server Reports Services
Oracle Business Intelligence Discoverer
Oracle Web Cache
Oracle Application Server Wireless
Oracle Globalization Development Kit
このマニュアルでは、言語および開発環境でのグローバル・アプリケーションの開発について説明します。ロケール認識の開発、HTML機能の実装、集中型データベースへのアクセス、Oracle Application Serverの構成など、グローバル・インターネット・アプリケーションの開発および配置に関連する基本的な作業について説明します。