1 はじめに

Oracle WebLogic Serverは、Jakarta EEアプリケーションを構築およびデプロイするための業界最高のアプリケーション・サーバーで、運用コストの削減、パフォーマンスの向上、スケーラビリティの強化、およびOracle Applicationsポートフォリオのサポートのための新機能が搭載されています。

次の各項では、Oracle WebLogic Serverの機能の概要と、その機能を使用してエンタープライズ対応ソリューションを作成する方法について説明します。

製品の概要

Oracle WebLogic Serverでは、アプリケーション構築のための最新の開発プラットフォーム、高性能と高可用性のためのランタイム・プラットフォーム、効率的で低コストの操作のための豊富な管理ツールが提供されます。

WebLogic Serverは、Jakarta Platform, Enterprise Edition 8 (Jakarta EE 8)仕様を完全に実装しているため、様々なサービス(データベース、メッセージ・サービス、外部エンタープライズ・システムなど)にアクセスできる分散Jakartaアプリケーション作成用の標準APIセットが使用できます。エンドユーザー・クライアントは、Webブラウザ・クライアントまたはJakartaクライアントを使用してこうしたアプリケーションにアクセスします。「プログラミング・モデル」を参照してください。

WebLogic Serverのインフラストラクチャでは、様々な種類の分散アプリケーションのデプロイメントがサポートされています。サービス指向アーキテクチャ(SOA)に基づいてアプリケーションを構築するには理想的な基盤です。SOAとは、アプリケーション・サービスの再利用を最大限にすることを目的とした設計手法のことです。Oracle SOA - サービス指向アーキテクチャを参照してください。

Jakarta EEを実装してWebLogic Serverを使用すると、企業のミッション・クリティカルなアプリケーションを堅牢かつセキュアで、可用性が高く、スケーラブルな環境にデプロイできます。WebLogic Serverインスタンスのクラスタを構成して負荷を分散したり、ハード・ウェアや他の原因による失敗が発生した場合に余裕をもって対応したりするための機能が備わっています。新しく導入された診断ツールでは、システム管理者によるデプロイ済みアプリケーションおよびWebLogic Server環境自体のモニターおよびパフォーマンス・チューニングが可能です。また、人の手を煩わせず自動的にアプリケーションのスループットをモニターおよびチューニングするように構成することもできます。サービスへのアクセスは豊富なセキュリティ機能によって保護され、企業データをセキュアに保つことで悪意のある攻撃を防止できます。

図1-1では、全体的なOracle Fusion MiddlewareスタックにおけるWebLogic Serverの位置づけを示します。

図1-1 Oracle Fusion Middlewareの概要

図1-1の説明が続きます
「図1-1 Oracle Fusion Middlewareの概要」の説明

プログラミング・モデル

Oracle WebLogic Serverは、Jakarta Platform, Enterprise Edition 8 (Jakarta EE 8)プラットフォームを完全にサポートしており、開発者が機能に集中できる開発モ​​デル、API、およびランタイム環境を提供することで、エンタープライズ・アプリケーション開発の複雑さを軽減します。 Jakarta EE 8の仕様は、https://www.oracle.com/java/technologies/javaee/javaeetechnologies.html#javaee8で入手できます。WebLogic ServerでのJakarta EEプログラミング・モデルのサポートについては、次のプログラミング・ガイドを参照してください:
  • Webアプリケーションでは、サーブレットおよびJavaServer Pages (JSP)のJakarta EE標準に基づいた動的なWebページをデプロイメントするための基本的なJakarta EEメカニズムが提供されます。Webアプリケーションは、HTMLページ、イメージ・ファイルなどの静的なWebコンテンツの提供にも使用されます。

  • Webサービスでは、ネットワーク上の他のシステムで利用でき、分散型Webベース・アプリケーションのコンポーネントとしても使用できる、一連の共有機能が提供されます。

  • XMLには、データ交換、コンテンツを表示とは無関係に格納する手段、などの機能があります。

  • Jakarta Messaging (JMS)を使用すると、メッセージを交換してアプリケーション同士で通信できます。メッセージとは、異なるアプリケーション間の通信を調整するために必要な情報が含まれている、リクエスト、レポート、およびイベントです。

  • JDBCでは、DBMSリソースへのプール機能付きアクセスが提供されます。

  • リソース・アダプタでは、EIS (エンタープライズ・インフォメーション・システム)への接続機能が提供されます。

  • Enterprise JavaBeans (EJB)では、データおよびビジネス・ロジックをカプセル化するためのJavaオブジェクトが提供されます。

  • Remote Method Invocation (RMI)は、アプリケーションでリモート・オブジェクト上のメソッドをローカルに呼び出せるようにする、分散オブジェクト・コンピューティングのJakarta標準です。

  • Jakarta EEセキュリティAPIを使用すると、お使いのJakarta EEアプリケーションに認証と認可の機能を統合できます。セキュリティ・プロバイダAPIを使用して、独自のカスタム・セキュリティ・プロバイダを作成することもできます。

  • WebLogic Tuxedo Connectivity (WTC)では、WebLogic ServerアプリケーションとTuxedoサービス間の相互運用性が提供されます。WTCを使用すると、WebLogic ServerクライアントからTuxedoサービスを呼び出したり、サービス・リクエストにレスポンスするためにTuxedoクライアントからEJBを呼び出したりできます。

  • Coherenceでは、WebLogic Serverアプリケーション向けの分散キャッシング機能とデータ・グリッド機能を実現します。

  • 「WebLogic Serverアプリケーション開発の概要」では、開発者用ツールおよびWebLogic Serverアプリケーションのコーディングのベスト・プラクティスを提供します。

高可用性

Oracle WebLogic Serverには、高可用性アプリケーションのデプロイメントをサポートするためのいくつかの機能とツールが用意されています。WebLogic Serverで提供される高可用性機能には、次のものがあります。
  • WebLogic Serverクラスタでは、作業負荷を複数のWebLogic Serverインスタンスに分散することにより、アプリケーションにスケーラビリティと信頼性が提供されます。着信リクエストを、処理される作業量に基づいて、クラスタ内のWebLogic Serverインスタンスに転送できます。ハードウェアまたは他の原因により失敗が発生した場合、他のクラスタ・ノードでセッション状態を利用でき、そのノードで障害の起きたノードの作業を再開できます。さらに、クラスタを実装すると、サービスをホストするマシンが1台だけの場合にも、失敗発生時にはそのサービスを別のノードに移行できます。

    HTTPセッション状態については、クラスタ内のサーバー群に渡るレプリケートに加えて、複数のクラスタに渡るレプリケートも可能なため、複数の地理的領域、電力供給網、インターネット・サービス・プロバイダに渡る可用性とフォールト・トレランスが拡張されています。

  • 動的クラスタにおける拡張度により、動的クラスタの自動スケーリングと関連リソースの再プロビジョニングが可能になります。拡張度フレームワークは、WebLogic Diagnostic Framework (WLDF)のポリシーおよびアクション・システムを活用します。

  • Coherenceクラスタでは、データを任意の数のクラスタ・メンバーに分散することにより、スケーラビリティとフォルト・トレランスを実現します。これにより、データは常に使用可能になり、WebLogic Serverでホストされているアプリケーションから容易にアクセスできるようになります。

    さらに、Webアプリケーションで、HTTPセッションの状態の格納とレプリケートにCoherenceデータ・グリッドを採用することで、スケーラビリティ、フォルト・トレランスおよびパフォーマンスを向上させることができます。

  • ワーク・マネージャでは、定義したルールに基づいて、さらには実際の実行時パフォーマンスの統計をモニターすることによって、作業の優先順位を決められます。こうした情報は、後にアプリケーションのパフォーマンスを最適化するためにも使用されます。ワーク・マネージャはWebLogic Serverドメイン全体に対して適用することも、特定のアプリケーションやコンポーネントに適用することもできます。

  • 過負荷保護機能では、過負荷状態の検出、回避、およびその状態からの回復ができます。

  • ネットワーク・チャネルでは、ネットワークのトラフィックをその種類に基づいて複数のチャネルに分割することにより、ネットワーク・リソースの効率的な利用を簡単にできるようにします。

  • 簡略化されたJMSクラスタ構成および高可用性では、アプリケーションがJMSサーバー、SAFエージェントおよび永続ストアなどのWebLogic JMSサービスの規模を容易に変更できます。クラスタのターゲットとして指定されたJMSサーバーと永続ストアは、JMSサービス・アーティファクトをクラスタに対して直接ターゲット指定することを可能にし、クラスタのサーバーごとに個々にアーティファクトを構成する必要がなくなります。

  • WebLogic Server永続ストアは、永続性を必要とするWebLogic Serverのサブシステムおよびサービスに対する、組込み型の高性能なストレージ・ソリューションです。たとえば、永続JMSメッセージを格納したり、ストア・アンド・フォワード機能を使用して、メッセージを一時的に格納してから送信したりできます。永続ストアは、ファイルベースのストアまたはJDBC対応データベースの永続性をサポートします。

  • ストア・アンド・フォワード・サービスを使用すると、複数のWebLogic Serverインスタンスに分散されているアプリケーション間でメッセージを確実に配信できます。ネットワークの問題やシステム障害が原因で、メッセージの送信時に宛先が使用不能になっている場合、メッセージはローカルのサーバー・インスタンスに保存され、リモートの宛先が使用可能になった時点で転送されます。

  • 企業向け開発ツールを使用すると、開発フェーズから本番環境へのアプリケーションのデプロイメントと移行を簡単に行えます。

  • 本番再デプロイメントを行うと、古いバージョンのエンタープライズ・アプリケーションで処理中の状態にある作業を中断せずに、新しいバージョンのアプリケーションをデプロイできます。

診断フレームワーク

WebLogic診断フレームワークは、実行中のWebLogic Serverインスタンスやそれにデプロイされたアプリケーションによって生成される診断データを作成、収集、分析、アーカイブし、それにアクセスするためのモニタリングと診断のサービスです。この診断データによって、WebLogic Serverインスタンスとデプロイされているアプリケーションの実行時のパフォーマンスを把握でき、それはまた、発生したフォルトやパフォーマンスのボトルネックの特定や診断に役立ちます。『Oracle WebLogic Server診断フレームワークの構成と使用』WebLogic診断フレームワークとは何かに関する項を参照してください。

セキュリティ

WebLogic Serverのセキュリティ・アーキテクチャでは、アプリケーションをインターネット上で利用可能にする際のセキュリティ上の問題を扱うために設計された、包括的で柔軟性に富んだセキュリティ・インフラストラクチャが提供されます。WebLogicセキュリティは、WebLogic Serverアプリケーションを保護するためにスタンドアロンで使用することも、最高レベルのセキュリティ管理ソリューションとしてエンタープライズ全体のセキュリティ管理システムの一部として使用することもできます。詳細は、『Oracle WebLogic Serverセキュリティの理解』「WebLogicセキュリティ・サービスの概要」を参照してください。

クライアント・オプション

WebLogic Serverでは、ブラウザ・ベースのWebアプリケーション・クライアントのサポートに加え、様々な種類のクライアントがサポートされており、多機能なGUIアプリケーションを作成することも、簡単なコマンド行ユーティリティを作成することもできます。こうしたクライアントの種類には、RMI-IIOP、T3、Jakarta SEクライアント、Jakarta EEシン・クライアント、CORBA/IDLクライアント、Oracle Tuxedoと通信するC++クライアントなどがあります。詳細は、『Oracle WebLogic Serverスタンドアロン・クライアントの開発』「スタンドアロン・クライアントの概要」を参照してください。

Oracle WebLogic Suiteとの統合

WebLogic Serverは、統合されたOracle WebLogic Suite Javaインフラストラクチャ内でコア・アプリケーション・サーバー・ランタイムを提供します。この統合インフラストラクチャでは、アプリケーション・パフォーマンスとアプリケーションの可用性の向上ができます。また、これによって、アプリケーション・サービス品質が高まり、予測可能で信頼性のあるアプリケーション・スケーラビリティを実現できます。 WebLogic Suiteでは、Oracle JDeveloperとEclipse用のOracle Enterpriseパックに基づいた生産的な高い開発ツール、およびOracle Enterprise Managerで大規模な管理と操作ができる完全な統合管理が含まれています。WebLogic Suiteの開発、ランタイムと管理機能は、ミッション・クリティカル・エンタープライズ・アプリケーションを実装するための基礎を提供します。

WebLogic Suiteは、次のサーバー側コンポーネントで構成されています。

  • Oracle WebLogic Server

  • Oracle Coherence

    Oracle Coherenceを使用すると、使用頻繁度の高いデータへの迅速かつ信頼性のあるアクセスを実現することにより、企業はミッションクリティカルなアプリケーションを予測どおりに拡張できるようになります。Oracle Coherenceは自動的かつ動的に複数のサーバー上のメモリにデータを分割し、サーバーで障害が発生した場合でも、データの可用性およびトランザクションの整合性を保証します。

    WebLogic Serverには、CoherenceクラスタおよびCoherenceベースのアプリケーションの管理とデプロイメントを簡素化するCoherenceコンテナが用意されています。

  • TopLinkの概要

    Oracle TopLinkを使用して、永久性のあるオブジェクト指向のデータをリレーショナル・データベースに格納する高性能アプリケーションを構築できます。オブジェクト指向のデータはリレーショナル・データかXML (Extensible Markup Language)エレメントに変換されます。

    Oracle TopLinkは高度なオブジェクト永続性およびオブジェクト変換フレームワークであり、開発と保守にかかる労力を削減して、エンタープライズ・アプリケーションの機能性を高める開発ツールと実行時機能を提供します。

    Oracle TopLinkには、Jakarta EEおよびJakarta SE環境でのEJB 3.0のサポートや、EJB 2.nのコンテナ管理の永続性(CMP)のサポートが含まれています。Oracle TopLinkは、Oracle WebLogic Server、JBoss、IBM WebSphereなどの様々なアプリケーション・サーバーと統合できます。

他のシステムとの統合

WebLogic Serverには、お使いのアプリケーションと様々なシステムを統合するためのツールが豊富に用意されています。 これらのツールには、Webサービスリソース・アダプタJMS .NETクライアントJMS Cクライアント、およびJMSプロバイダ・オプションアドバンスト・キューイングおよびRMIの統合に使用するツールが含まれています。

Webサーバーとの統合

WebLogic Serverには、Oracle HTTP Server、Apache HTTP Server、またはMicrosoft Internet Information Server (IIS)からOracle WebLogic Serverにリクエストをプロキシできる一連のWebサーバー・プラグインが含まれています。通常は、これらのWebサーバーで静的なHTMLコンテンツを処理しながら、JSPなどの動的なWebコンテンツのリクエストをWebLogic Server環境に転送します。

KubernetesでのOracle WebLogic Serverの実行

KubernetesでWebLogic Serverを実行すると、デプロイメントを最新化でき、Kubernetesでの実行のメリットを享受できます。

これらのメリットには、最新のインフラストラクチャの活用、デプロイメントにかかる時間の短縮、パッチ適用の自動化と簡素化、アプリケーション更新の自動化と高速化、高可用性の組込み、動的かつ自動化されたスケーリング、クラウド間および環境間での移植性などがあります。

WebLogic Kubernetes Toolkitを使用すると、既存のアプリケーションの移行、ドメインの管理と更新、アプリケーションのデプロイと更新、アプリケーションのモニター、ログの永続化、およびイメージの作成とパッチ適用の自動化を行うことができます。複数のツールの統合により、CI/CDプロセスを通じて更新を自動化できます。詳細は、Oracle WebLogic Kubernetes Toolkitを参照してください。

次のドキュメントでは、WebLogic ServerとOracle Fusion Middleware (FMW)イメージを取得して作成し、パッチによって更新する推奨手順、および本番環境で実行されている既存のコンテナを更新する推奨手順について説明します。『OPatchによるパッチ適用』Oracle Fusion Middlewareイメージの取得、作成、パッチによる更新を参照してください。

WebLogic Deploy Tooling

WebLogic Deploy Tooling (WDT)は、WebLogic Serverドメインのプロビジョニングおよびアプリケーションのデプロイメントの自動化を簡略化します。

WDTは、アプリケーションによって使用されるドメイン、アプリケーションおよびリソースを記述する宣言型メタデータ・モデルを作成します。このメタデータ・モデルによって、繰り返して行われるドメインのライフサイクル処理のプロビジョニング、デプロイおよび実行が容易になります。WDTを使用して、オンプレミス・ドメインの構成およびアプリケーションをDockerイメージまたはKubernetesの永続ボリュームに移行できます。WebLogic Deploy Toolingのドキュメントとサンプル一式、およびオープン・ソースWebLogic Deploy Tooling GitHubプロジェクトは、https://github.com/oracle/weblogic-deploy-toolingを参照してください。

WebLogic Image Tool

WebLogic Image Toolを使用すると、独自にカスタマイズしたイメージを含む、WebLogic Server Dockerイメージの作成、パッチ適用および更新を自動化できます。

WebLogic Image Toolを使用すると、次の操作を実行できます。

  • カスタマイズしたWebLogic ServerとFMWインフラストラクチャDockerイメージを作成します。

  • WebLogic ServerまたはFMWインフラストラクチャのベース・インストール・イメージにパッチを適用します。

  • WDTモデル、WDT変数およびWDTアーカイブ・ファイルを含む補助イメージを作成します。

また、これらのユースケースを自動化されたプロセスに組み込んで、Kubernetesで稼働しているWebLogicサーバー・インフラストラクチャおよびアプリケーションのパッチ適用や更新を行うことができます。WebLogic Image Toolのドキュメントとサンプル一式、およびオープン・ソースWebLogic Image Tool GitHubプロジェクトは、https://github.com/oracle/weblogic-image-toolを参照してください。

WebLogic Kubernetes Operator

WebLogic Kubernetes Operatorは、アプリケーション固有のコントローラで、複雑なアプリケーションのインスタンスを作成、構成および管理できるようKubernetesを拡張します。オペレータは、Kubernetesの標準的な演算子パターンに従って、WebLogicドメインおよびデプロイメントの管理と操作を単純化します。

オペレータは、一般的なKubernetes APIセットを使用することにより、プロビジョニング、ライフサイクル管理、アプリケーションのバージョニング、製品のパッチ適用、スケーリングおよびセキュリティなどの操作を自動化する際のユーザー・エクスペリエンスを改善します。

オペレータは、Oracleで完全にサポートされているオープン・ソース・プロジェクトとして開発されています。オペレータをすぐに体験してみるには、「クイック・スタート」ガイドの手順に従います。または、ドキュメントを調べたり、ブログを読んだり、サンプルを試したりしてください。プロジェクトのスクリプト、追加のサンプルおよびソース・ファイルについては、WebLogic Kubernetes Operator GitHubリポジトリを参照してください。

WebLogicリモート・コンソール

Oracle WebLogicリモート・コンソールは、WebLogic Server管理サーバーのドメイン構成またはWebLogicデプロイ・ツール(WDT)メタデータ・モデルの管理に使用できる軽量のオープン・ソース・コンソールです。

WebLogicリモート・コンソールで提供されるWebLogicサーバー管理GUIを使用すると、現在のクラウドネイティブのトレンドに合せてWebLogic管理情報にRESTベースでアクセスできます。

詳細は、Oracle WebLogicリモート・コンソール・オンライン・ヘルプを参照してください。

ノート:

WebLogicドメインを管理するためのGUI、Oracle WebLogicサーバー管理コンソールは、14.1.2.0.0で削除されました。WebLogicリモート・コンソールは、削除された管理コンソールと同等の機能を提供します。

WebLogic Kubernetes Toolkit UI

WebLogic Kubernetes Toolkit (WKT)は、WebLogicベースのアプリケーションをプロビジョニングしてKubernetesクラスタ上のLinuxコンテナで実行させるために役立つオープン・ソース・ツールのコレクションです。

WKT UIによって提供されるグラフィカル・ユーザー・インタフェースには、WKTツール、Helm、Kubernetesクライアント(kubectl)が含まれます。また、これによって、WebLogicドメインの作成と変更、ドメインの実行に使用するLinuxコンテナ・イメージの作成、ドメインをKubernetesクラスタ内デプロイしてアクセスするために必要なソフトウェアと構成の設定とデプロイのプロセスがガイドされます。

詳細は、GitHubのWebLogic Kubernetes Toolkit UIドキュメントを参照してください。

WebLogic Monitoring Exporter

WebLogic Monitoring Exporterは、監視するWebLogic ServerインスタンスにデプロイできるWebアプリケーションです。エクスポータは、ランタイムの状態とメトリックにアクセスするためにWebLogic Server RESTful管理インタフェースを使用し、その後、Prometheus互換性メトリック(モニタリングのためにGrafanaダッシュボードに表示できる)をエクスポートします。

実用的な例は、「WebLogic Serverからのメトリックのエクスポート」および「Kubernetes上のWebLogic ServerをモニターするPrometheusおよびGrafana」のブログ投稿を参照してください。WebLogic Monitoring Exporterの詳細は、GitHubのWebLogic Monitoring Exporterプロジェクトを参照してください。

WebLogic Server APIのサンプルとサンプル・アプリケーション

Oracle WebLogic Serverには、アプリケーションにJakarta EE APIおよびOracle WebLogic Server固有の機能を実装する方法を示す、包括的なサンプル・コードおよびサンプル・アプリケーションが含まれています。

Jakarta EE APIおよび他のWebLogic Server機能のデモのためのサンプル・コードは、別のサンプルJARファイルで提供されます。これはWebLogic Serverインストールと同じORACLE_HOMEにインストールされます。サンプル・コードにアクセスするには、startWebLogic.cmdまたはstartWebLogic.shコマンドをORACLE_HOME/user_projects/domains/wl_serverから実行します(ORACLE_HOMEは、Oracle WebLogic ServerをインストールしたときにOracleホームとして指定したディレクトリです)。サンプル・コードが利用可能な状態になれば、追加サンプルをダウンロードすることもできます。詳細は、WebLogic Serverサンプル・コードのインストールを参照してください。

サンプル・コードとともに、Avitek Medical Records (またはMedRec)という完全なサンプル・アプリケーションの2つのバージョンも用意されます。

元のMedRecは、Jakarta EEプラットフォームのすべての特徴を簡潔にデモするWebLogic Serverサンプル・アプリケーション・スイートです。MedRecはあらゆるレベルのJakarta EE開発者向け学習ツールとして設計されています。それは、各Jakarta EEコンポーネントの使用方法、およびコンポーネントの対話やクライアント開発のベスト・プラクティスとなるデザイン・パターンを例示します。また、MedRecはWebLogic Server上でアプリケーションを開発するためのベスト・プラクティスを提示します。

MedRecのSpringバージョン(MedRec-Spring)は、Spring Frameworkを使用して再キャストしたMedRecです。WebLogic Server上でSpringアプリケーションを開発する場合は、MedRec-Springサンプル・アプリケーションをレビューしてください。SpringからのWebLogic Serverのエンタープライズ機能の利用方法を説明するために、コアJakarta EEコンポーネントをそれに対応するSpringに置き換えてMedRecを再構築しました。MedRec-Springでは、オリジナル・バージョンのMedRecの機能がSpringを使用して再実装されています。詳細は、MedRec-Springサンプルを参照してください。

MedRecを起動するには、startWebLogic.cmdまたはstartWebLogic.shコマンドをORACLE_HOME/user_projects/domains/medrecから実行します。ORACLE_HOMEは、Oracle WebLogic Serverのインストール時にOracleホームとして指定したディレクトリです。

MedRec-Springを起動するには、startWebLogic.cmdまたはstartWebLogic.shスクリプトをORACLE_HOME/user_projects/domains/medrec-springから起動します。ORACLE_HOMEは、Oracle WebLogic Serverのインストール時にOracleホームとして指定したディレクトリです。

手順の詳細は、WebLogic Serverサンプル・コードのインストールを参照してください。

更新

WebLogic Serverでは、WebLogic Serverのあるバージョンから次のバージョンへのアプリケーション環境の移行をサポートする、強力なアップグレード機能が用意されています。アプリケーション環境は、WebLogicドメインとそれに関連付けられているアプリケーションおよびアプリケーション・データで構成されます。また、アプリケーション環境には、ファイアウォール、ロード・バランサ、LDAPサーバーなどの外部リソースも含まれます。 以前のバージョンのWebLogic Serverに実装されているアプリケーションを現在のWebLogic Serverの環境に移行する際に役立つツールおよびドキュメントが提供されています。Oracle WebLogic Serverのアップグレードを参照してください。