...

HP NonStop Application Server for Java (NSASJ)

by user

on
Category: Documents
53

views

Report

Comments

Transcript

HP NonStop Application Server for Java (NSASJ)
データシート
HP NonStop Application
Server for Java
NonStop サーバーのエンタープライズ JAVA
考察
NSASJ 1.0 は、Java Enterprise Edition 6 (JEE
6)のフルプロファイルの JBoss® Application
Server version 7.1.2 をベースにしています。
注: JBoss AS の名称は WildFly に変更され
ましたが、本カタログでは JBoss AS を使用
します。
はじめに
NSASJについて
NonStop Application Server for Java (NSASJ)製品は、アプリケーションサーバー市場で
多くの実績を持つ、オープンソース JEE アプリケーションサーバーである JBoss
Application Server (AS)を、NonStop システム上に実装をいたしました。HP では、
NonStop サーバーを広くご活用頂くために、標準ベースのエンタープライズアプリ
ケーション開発プラットフォーム環境とツールの提供に努めてまいりました。
NSASJ は、この取り組みの一環となるものであり、JEE ベースのアプリケーション開
発/デプロイコンテナ一式を提供いたします。
NSASJ 1.0リリースについて
NSASJ は、JBoss AS に付加価値をつけて移植しました。初回リリースとなる 1.0 では、JTA
などの関連テクノロジーの実装とともに、EJB コンテナを提供いたします。EJB は、サーバー
サイドロジックとして再利用可能なコンポーネントを作成できるテクノロジーです。エンター
プライズアプリケーションのバックエンドの複雑なビジネスロジックを、標準化された手法で、
よりスピードアップして容易に開発できるようにすることを目的としており、作成されたビジ
ネスロジックは、異なるサーバープラットフォーム間で移植できるようになります。つまり、
EJB は、POJO (Plain Old Java Object)の WORA (Write Once Run Anywhere: 一度プログラムを
書けばどこでも実行可能)の利点を、エンタープライズクラスのアプリケーションにまで拡張
したものといえます。
NSASJ 1.0 は、JEE 6 プロファイルの一部となる EJB 3.0/3.1 仕様に準拠しています。EJB 3.x
は、過去の EJB 2.x 仕様を大幅に簡素化しました。EJB 3.0.x は JEE 5.0 仕様で標準となった
JAVA のアノテーション機能を備えているため、EJB のデプロイとライフサイクル管理に必要
な構成設定を大幅に減らすことができます。アノテーションの使用により、デプロイの記述
に必要だった長大な XML 構成ファイルが不要になります。また、EJB 3.x は、JPA を使用し
てコンテナ管理の一貫性を簡素化しています。JBoss AS への JPA の実装には Hibernate を
使用しています。
1
図 1: NSASJ1.0 のアーキテクチャー
EJB 3.x API はほぼすべてが更新されており、EJB 本体も 2.x 仕様と比較して軽量化さ
れました。今後のリリースでは、Servlet コンテナ、Web/REST サービス、JCA、およ
びそのほかの機能を提供していく予定です。
NSASJ リリース 1.0 の主な特徴
• JEE 6 プロファイル EJB 3.0/3.1 仕様への準拠
• Stateless Bean、Stateful Bean、Message Driven Bean のサポート
• プラットフォーム上およびプラットフォーム外の両クライアントのサポート
• 連続可用性とほぼリニアな拡張性
• トランザクション管理ファシリティである NonStop TMF とのシームレスな統合による
堅牢なデータ一貫性の実現
• TMF と統合された JTA の実装による、TS/MP、SQL/MX 等 NonStop リソースの
XA トランザクションへの参加
• クライアントセッション関連一時データの Infinispan キャッシュへの格納
• JPA と Hibernate による EJB セッション Persistence のサポート
• NonStop Message Queue (NSMQ)との統合
• JBoss 提供の CLI ベース GUI による管理
2
アーキテクチャーの特色
図 2: NSASJ サーバークラス
考察
EJB 3.x 仕様は、エンタープライズアプリケ
ーション開発の高速化をめざして、特に簡
素化にフォーカスして開発されました。
EJB 3.0/3.1
Enterprise JavaBeans は、複雑なアプリケーションを開発する際に、プラットフォー
ムの性能や関連する機能について、たとえばトランザクションの整合性やデータ一
貫性やセキュリティなどを意識させずに、ビジネスロジックの開発に集中できる環
境を提供します。NSASJ では、仕様で定義されている 3 種類の Bean (Stateless
Session Bean (SLSB)、Stateful Session Bean (SFSB)、Message Driven Beans (MDB))のすべ
てをサポートします。
プラットフォーム内/外のクライアントのサポート
NSASJ コンテナにデプロイされた EJB に対しては、同一または異なる NonStop ノー
ドで実行されるクライアントからアクセスできます。また同様に、NonStop とは異
なるプラットフォーム上のクライアントからもアクセスできます。これは、NSASJ
1.0 リリースにおける JBoss Remoting 3 インターフェイスのサポートによって実現さ
れています。
Remoting
外部システムとの通信では、Remoting サブシステムがコネクターになります。
NSASJ では、このサブシステムに NonStop 専用の変更や構成は行っておりません。
NSASJ 1.0 では、リモート(NSASJ サーバーがデプロイされている NonStop システムの
外)の EJB クライアントとの接続に際してこのサブシステムを使用します。
3
連続可用性とほぼリニアな拡張性
ミッションクリティカルアプリケーションの停止は許されません。NonStop EJB コンテナは、
NonStop サーバーの持つ無停止性という利点をすぐにアプリケーションにもたらすことがで
きます。
NSASJ は、TS/MP サーバークラスとして設計されており、クライアントからのリクエストは
Post Master を経由して Pathsend メッセージとして受け取ります。NSASJ Serverclass のプロ
セス管理と動的拡張は、TS/MP によって行われるように構成されます。これにより、NSASJ
は、継続的可用性と直線的拡張性というサーバークラスの利点を受け継ぎます。TS/MP 内
の 1 つの NSASJ サーバー定義は、その TS/MP の管理下の複数のインスタンスになるとい
う特徴があり、この点は JBoss ドメイン構成と異なります。JBoss ドメイン構成では、複数サ
ーバーがそれぞれ専用の定義を持ちます。
Post Master コンポーネントの拡張性は、NonStop システムに構成される通信サブシステム
の種類によって異なります。たとえば、通信サブシステムに TCP/IPv6 を用いる場合は、各
CPU で 1 つの Post Master インスタンスのみを実行できます。一方、IP-CIP を使用する場合
には、1CPU 上で Post Master の複数インスタンスを実行できます。Post Master はプロセス
管理の目的のためのみに TS/MP によって構成され、これは Domain Controller および
Infinispan キャッシュクラスターにおいても同様です。
Infinispan クラスターは、分散モードで動作します。あるノードのクラスターに格納
されたデータは、他ノードに 1 つのバックアップコピーを持ちます。一貫性のある
ハッシュアルゴリズムを用いて、格納データはクラスターのノード間で均等に分散
されます。クラスター内のノード数は管理者が静的に構成します。
トランザクション管理とデータ整合性 - JTAとNS TMFの統合
NSASJ は、Pure Java ベースの JTA を備えた JBoss Transaction Services (JBoss TS)を使用し
ています。NSASJ トランザクションは、XARM ライブラリを使用して NonStop TMF と統合され
ます。そのため、NSASJ 上でアプリケーションを開発する際に、TMF またはその他の
NonStop 特有の API を呼び出す必要はありません。アプリケーションは、標準の JTA ライブ
ラリを呼び出すことで、トランザクションの開始/コミット/中止を行います。
TMF トランザクションに参加するすべてのリソースは、NSASJ によって開始されたグローバ
ルトランザクションの一部になります。NSJSP サーブレット、プレーン Java アプリケーション、
および NSMQ クライアントは、このライブラリを使用して、XA トランザクションおよび対応す
る NS TMF トランザクションを開始して制御できます。
NSASJ のトランザクション管理は、ビジネスアプリケーションの開発者によるデー
タロストが発生しないように設計されています。
Java Persistence API (JPA)
JPA は、一貫性とオブジェクト関係マッピングを管理する標準的な API です。JBoss は内部
で、JPA プロバイダに Hibernate を使用します。
NSASJ は、必要な NonStop 専用ツール(ダイアレクトファイルなど)を提供することで、
NSASJ における Hibernate の JPA 実装をサポートします。つまり、NSASJ では、NS
SQL/MX との統合テストにおいてデータベースドライバーを介して行われます。その
ため、NSASJ 上でのアプリケーション開発で、アプリケーションのビジネスデータ
の一貫性維持に必要になるのは、標準の JPA API に関する知識のみとなります。開発
者は、NonStop JDBC ドライバー(T2/T4)や SQL/MX データベースの仕様を知る必要は
ありません。
データソース
NSASJ では、JBoss が提供するデータソースサブシステムをサポートしています。XA
および XA 以外のデータソースを定義できます。また、必要に応じて複数のデータ
ソースを定義できます。データソース定義では、コンテナレベル、EJB サブシステ
ムレベル、またはアプリケーションレベルに対して 1 つのデータソースを定義しま
す。NSASJ では、アプリケーションデプロイメント記述子内にデータソースを定義
できます。
セキュリティ
NSASJ 1.0 リリースでは、JBoss が提供する認証、権限付与、監査を行うセキュリテ
ィサブシステムがそのまま使用できます。
4
コンテキストストレージキャッシュ
NSASJ は、一時的な状態情報の格納に JBoss の Infinispan モジュールを使用します。
NSASJ 1.0 では、Stateful Session Bean (SFSB)の状態を Infinispan に保存します。複数ノ
ードがまとめられて 1 クラスターを形成します。各ノードは、UDP/TCP ポート上の
JGroups を使用して互いに通信します。Infinispan は、ハッシュアルゴリズムを用い
て、利用可能なノード間に格納データオブジェクトを分散します。連続可用性を確
保するために、エントリーは 2 ノード間で複製されます。
NonStop Message Queue (NSMQ)との統合
NSASJ 1.0 は、NSMQ 1.0 リリースとの統合テストを実施済みです。
NSMQ が提供するリソースアダプターが NSASJ にデプロイされます。これにより、
NSMQ は、NSASJ のメッセージングインターフェイスとなります。SLSB と SFSB は、
NSMQ へメッセージを転送するためにアウトバンド接続を使用します。NSMQ からの
メッセージを NSASJ MDB が受信する際には、インバウンド接続を使用します。
NSASJ サーバーでは、リソースアダプターによってコネクションのプールを管理し
トランザクションを制御します。XA とローカルトランザクションのプロパゲーショ
ンは、アウトバンド接続間でサポートされます。
図 3: NSMQ との統合
NonStop Servlets for JavaServer Pages (NSJSP)
NSASJ 1.0 は、NSJSP 7.0 との統合テストを実施済みです。
NSASJ では、クライアントライブラリを提供しており、サーブレットとして NSJSP にデプロイさ
れた Web アプリケーションが、NSASJ コンテナ内の EJB の呼び出し時に使用できます。図
で示すように、NSJSP は、Java Infrastructure API を使用して直接的に、あるいは Post
Master を使用して EJB を呼び出すように構成できます。
また、JTA 準拠のトランザクションライブラリがサーブレットアプリケーションに提供されます。
アプリケーションがトランザクション内から EJB を呼び出すと、コンテキストが NSASJ サーバ
ー上に渡されます。
セキュリティ証明書は NSASJ 1.0 と NSJSP 7.0 のローカルに存在し、この 2 つのコン
テナ間では共用されません。
図 4: NSJSP との統合
5
NSASJ コンテナの管理
NSASJ 1.0 は、CLI ベースの管理も実装しています。CLI は、プラットフォーム上で実行するこ
とも、また、外部のプラットフォームで実行することもできます。CLI は、リモートからコンテナ
インスタンスを管理するために、Windows®や Unix®といったプラットフォーム上で実行できる
GUI を提供します。管理者は、CLI ベースの GUI を使用して、次のような管理機能を実行で
きます。
• Query/Add/Update/Delete コンテナ構成エレメントと属性
• コンテナ構成の変更に一貫性をもたせ、コンテナのリスタートまで変更を保持
• インフラストラクチャコンポーネント(トランザクションマネージャー等)とアプリケーション
コンポーネント(特定の EJB 等)のクエリランタイム統計
次のようなタスクのためのスクリプトが提供されています。
• 管理的タスクの実行(新規ユーザーの追加等)
• コンテナの起動/停止
NSASJ が NonStop にデプロイされると、NonStop 上には、1 つのサーバー定義と、サ
ーバークラスに対する複数インスタンスが存在するようになります。これは、他の
システムにおける JBoss のデプロイの場合とは異なります。他システムで複数サー
バーが存在する場合、1 つのドメイン内に各サーバー専用のサーバー定義が存在し
ます。そのため、NonStop クラスターのデプロイが他システムと同様に見えるよう
にするために、それぞれの NSASJ サーバークラスには一意の名前が与えられます。
これは、管理上の目的のためであり、各 NSASJ サーバークラスインスタンスが個別
のサーバーに見えるようにすることを意図したものです。
アプリケーションのデプロイ
CLI は、アプリケーションのデプロイに使用されます。アプリケーションに対して、デプロイ、
アンデプロイ、再デプロイ、有効化、無効化、削除の操作を実行できます。アプリケーション
は、EAR、JAR、RAR パッケージとしてデプロイできます。
Maven を使用したアプリケーション開発環境は、JBoss AS の統合と同様に NSASJ と
統合することができます。
ホスト側のシステム要件
• HP Integrity NonStop NS シリーズサーバー、HP Integrity NonStop BladeSystem サーバー
• NonStop OS H06.26/J06.15 以上の OSS 環境
• ネットワーク用の NonStop TCP/IPv6 または IP-CIP
• NonStop Server for Java 7(NSJ 7)以上
• NonStop TS/MP 2.5 以上
• iTP WebServer 7.4 以上
• TMF 3.7 以上
• NonStop Message Queue version 1.0 (NSMQ 1.0)以上(オプション)
• NonStop servlets for JavaServer Pages 7.0 (NSJSP 7.0)以上(オプション)
• NonStop SQL/MX 3.2.1 以上(オプション)
製品オーダー情報
• H シリーズ: HSJ87V1 - NonStop Application Server for Java
• J シリーズ: QSJ87V1 - NonStop Application Server for Java
HSJ87V1、QSJ87V1 ともに CPU ごとにライセンスの購入が必要
6
HP サービス
HP サービスは、IT コストを削減し、可用性を向上することを目的としています。お客様の IT
部門の競争力とビジネスの要求の変化に対する対応力を向上させます。
お客様の IT 部門が、変化するビジネスニーズに対応することで、お客様はビジネス
を円滑に運営できるようになります。HP サービスは、IT ソリューションの全ライフ
サイクルをカバーしており、インフラストラクチャーの設計、導入、統合、管理を
支援します。
HPクリティカルサービス
HP クリティカルサービスは、システムダウンの発生が許されない、ミッションクリ
ティカルなビジネスのために、プロアクティブおよびリアクティブなサポートを包
括的に提供します。クリティカルサービスを利用することで、お客様の IT 環境はユ
ーザーが要求する高水準の可用性を実現できます。
HP NonStopサーバー アドバンスドサービス
HP NonStop サーバー アドバンスドサービスは、NonStop サーバーの設置設備、ネッ
トワーク環境などのインフラストラクチャーの設計・構築およびシステム運用、維
持に関するトータル・ソリューションを提供します。
詳細情報
HP Integrity NonStop サーバーに関する詳細情報は、以下の Web サイトをご覧ください。
www.hp.com/jp/nonstop
7
Sign up for updates
hp.com/go/getupdated
本書の記載内容は、予告なく変更されることがあります。HP 製品およびサービスに対する保証については、当該製品およびサービスの保証規定書に
記載されています。本書のいかなる内容も、新たな保証を追加するものではありません。本書中の技術的あるいは校正上の誤り、脱落に対して、責任
を負いかねますのでご了承ください。© Copyright 2013 Hewlett-Packard Development Company, L.P.
JBoss は、Red Hat, Inc.の登録商標です。Java は、Oracle およびその関連会社の登録商標です。UNIX は、The Open Group の登録商標です。Windows
は、Microsoft Corporation の米国における登録商標です。
日本ヒューレット・パッカード株式会社
〒136-8711 東京都江東区大島 2-2-1
DTN12816-01、4AA4-6102ENW 2013 年 5 月
Fly UP