ページの先頭です。
サイト内の現在位置を表示しています。
  1. ホーム
  2. ソフトウェア
  3. WebOTX
  4. アプリケーションサーバ
  5. 特長/機能
  6. 機能一覧
  7. Java基本ライブラリ群の提供
ここから本文です。

WebOTX Application Server - Java基本ライブラリ群の提供 ~Java EE仕様への対応~

「機能一覧」へ戻る

Java Platform, Enterprise Edition (Java EE) は、エンタープライズ領域を対象とした業務システムなどの設計、開発、運用のための規格群です。Java EE 規格に対応するアプリケーションサーバは、再利用可能なコンポーネントのための多層分散アプリケーション・モデル、柔軟なトランザクション制御と一体化したセキュリティ・モデル、XML ベースのオープン・スタンダードとプロトコルの上に統合されたデータ交換技術によるWeb サービス支援を提供します。WebOTX Application Server V9.1では、Java EE 6に対応しています。

Java EE テクノロジの進化は、これまでより迅速なマーケットへの革新的ビジネスソリューションを提案するだけでなく、特定のアプリケーションサーバ・ベンダの製品やプログラミング・インタフェースに縛られないプラットフォーム非依存のJava EE コンポーネント・ベース型ソリューションももたらします。

Java EE 仕様はWeb とEJB を中心とするバージョン1.2 から始まり、その後非同期型アプリケーション・モデルの提供とベンダ間の相互接続性の解決に取り組んだバージョン1.3、Web サービス技術の標準統合と運用管理の仕組みやインタフェースを一般化したバージョン1.4 へと進化してきました。Java EE 5では「開発の容易性(EoD: Ease of Development)」を最大のコンセプトとし、配備記述子を代替するアノテーションによるアプリケーション動作時設定の記述や、POJO(Pure Old Java Object)開発を可能にするEJB インタフェースの簡略化、JPA(Java Persistence API)によるオブジェクト永続化などを含んでいます。

最新のJava EE 6では「開発の容易性」をより押し進めています。サーブレットをアノテーションだけ記述できるようになり、煩雑なweb.xmlの記述は不要になりました。インジェクションの共通仕様である CDI (Contexts and Dependency Injection) が導入され、POJOに対してもインジェクションが可能になりました。その他にも、EJBやJPA等のバージョンアップや、JAX-RSによるRESTful Webサービスのサポートなどの強化が行われています。

WebOTX とJava EE との関わりは、Java EE 技術あるいはJava EE という用語が生まれる前に遡ります。Java EE が誕生する前は、Java EE に含まれる各種仕様が単独で提案されていました。WebOTX は、当時のEJB 1.0 仕様から対応を始めています。そして、J2EE 1.2 が最初に提案されて以降、一貫してJavaEE に準拠したアプリケーションサーバを製品化しています。WebOTX は、特にミッションクリティカルな領域において、エンタープライズ・アプリケーションの配備、運用、実行シーンで堅牢な基盤を提供します。その基盤の中でも特徴的な優位点は、トランザクション制御と性能、実行時管理にあります。

プロファイル[New]

アプリケーションサーバの肥大化、複雑化の傾向に対処する仕組みとして「プロファイル」がJava EE 6から仕様化されました。Java EE 6仕様で規定されたプロファイルに加え、WebOTX独自のプロファイルとして、2つのプロファイルを提供しています。利用者の用途に応じたアプリケーションサーバ環境の構築を支援します。

  • Webサーバ・プロファイル : このプロファイルは、利用ニーズの高いWebサーバ機能だけに最小化したAPサーバ構成を実現する超軽量なプロファイルです。このプロファイルでは、起動時間を業界最速クラスの4秒未満に短縮しています。

  • カスタム・プロファイル : このプロファイルは、用途に応じて必要な機能を選択できるプロファイルです。システムに応じて必要な機能を選択したアプリケーションサーバ構成を容易に実現できます。APサーバ構成を利用目的に応じてカスタマイズできることで、ファイル容量とメモリ消費を軽量化し、起動性能も超高速化。物理マシンあたりのVM稼動数を増加でき、仮想化・クラウド運用で投資効果を高めることができます。

Java Servlet

サーバサイドJavaプログラムとして、入力データを解析し、業務を行い、動的なHTMLを生成するプログラムです。動的なHTML生成は、Servletとして作るとprintメソッドが 大量に発生してプログラムの可読性が下がること、画面イメージの変更のたびに影響を受けることなどから、現在ではJSPで記載されることが多くなっています。

WebOTX のWebコンテナはJava Servlet 3.0仕様に準拠しています。

Java EEJava EEアプリケーションサーバ構成

JavaServer Pages (JSP)

Java Servletで記述したように、動的HTMLの生成部分を可読性が高いようにHTML にスクリプトを埋め込む形でJavaプログラムを記述できるようにしたものです。サーバ サイドのJavaアプリケーションプログラムすべてをJSPで記述することもできますが、逆にビジネスロジックを実現するプログラムやHTML部分の可読性が落ちてしまうので、動的HTML生成部分のみをJSPで記述することが望ましいと考えられています。JSPは実行時にコンパイルされてServletプログラムとして動作します。

WebOTX のWebコンテナはJSP 2.2仕様に準拠しています。

JavaServer Pages Standard Tag Library (JSTL)

JakartaのTaglibsプロジェクトで公開されているJSPの拡張タグライブラリのうち、特に高い汎用性を求められるものについて策定した標準仕様です。条件分岐や繰り返し処理など記述が特にわずらわしくなるようなものについて効果を発揮します。

WebOTX では、JSTL 1.2仕様に準拠しています。

JavaServer Faces (JSF)

JavaベースのWebアプリケーション構築のためのフレームワークであり、Java EE 5に加えられました。アーキテクチャはStrutsと同じMVCモデルで、ViewとControlerの機能を提供しますが、JSFは、よりEoD(Ease of Development)を考慮したものとなっています。

またUIコンポーネントなどWebアプリケーションを作成するための画面部品をいくつか規定しており、ユーザーインターフェース開発のさらなる容易性を実現します。

WebOTX では、JSF 2.0仕様に準拠しています。

JavaBeans Activation Framework (JAF) / JavaMail

JavaBeans Activation Framework (JAF)は、データの種類(MIMEタイプ)に応じて、適切な JavaBeans を呼び出す仕組みを提供する API です。Windows で実現しているファイル拡張子の関連づけなどと同じように、ファイル名から種類を判別して「編集」、「閲覧」などのメニューを表示し、その種類に対応した JavaBean を起動することができます。JavaMail でも利用されています。

JavaMail は、Javaプログラムから電子メールを発信するためのアプリケーションインタフェースです。非同期で結果を通知するなどの利用が可能です。JavaMail は Java VM が動作すれば動作しますので、Webコンテナ、EJBコンテナどちらでも動作させることができます。

WebOTX では、JAF 1.1JavaMail 1.4についてリファレンス実装を提供しています。

Java Persistence API (JPA)

Java Persistence API (JPA)は、Javaオブジェクトの状態を永続化するために提供されているAPIであり、EJB 3.0の一部として新たに導入されています。ただしAPI自体はEJBからは独立した構成となっているため、JPA単体での利用も可能です。

EJB2.x以前でも、例えばEJB Entity Beanのようなデータ永続化に関するAPIは提供されていますが、仕組みが複雑なためなかなか普及していません。また外部データベースやファイル等に情報を格納するようなプログラミングを行えばJavaオブジェクト永続化は実質上は可能ですが、例えばデータベースに格納するとなるとJavaオブジェクトとデータベーステーブルとの関連付けを開発者が行う必要がありますし、それに伴うプログラミングも煩雑です。加えてデータ書き込み失敗時のデータ一貫性保証なども考慮する必要があります。

JPAでは上述のような問題点を解決します。永続化可能なJavaオブジェクトとデータベーステーブルとの関連付け(O/Rマッピング)をアノテーションを利用してシンプルに定義する事が可能となっています。また永続化対象となるデータにアクセスする際のトランザクション管理を行うAPIも提供されており、これを使うことでデータの一貫性を保証することができます。

WebOTX では、JPA 2.0仕様に準拠しています。

Java Transaction API (JTA)

WebOTXでは、JTA 1.1に準拠した分散トランザクション用のインターフェースを提供しています。このJTAインターフェースは、JNDI を使用してEJBやServletなどのJ2EE アプリケーションから簡単に利用することができ、さらにCORBAのJavaアプリケーションから使用することもできます。JTAインターフェースを使用することで、複雑に分散して実行されるトランザクションの一貫性を簡単に保つことができます。

また、JTAでは、Java Transaction Service (JTS)のインターフェースを通して、WebOTX Transaction Serviceが提供するCORBAのTransaction Serviceと連携して動作するので、他の言語で記述したCORBAアプリケーションや、X/Open XAインターフェースを提供するデータベース、MQシリーズなどと一貫したトランザクション制御を行うことができます。

Java API for XML Registries(JAXR)

UDDI やebXML などのXML ベースのレジストリサービスにアクセスするときに使用するJava 言語の標準API です。

WebOTXでは、JAXR 1.0仕様に準拠しています。

Java API for XML-based RPC(JAX-RPC)

SOAPやWSDLを使ってJava言語でRemote Procedure Call(RPC)によるリモートプログラム呼び出しを実現するときに使用する標準APIやWeb サービスアプリケーションの実装方法などについて定義した仕様です。

WebOTXでは、JAX-RPC 1.1仕様に準拠しています。

Java API for XML Web Service(JAX-WS)

JAX-RPC の後継仕様で、XML/HTTP バインディングや非同期通信が可能になっています。

WebOTXでは、V7.1より、JAX-WS 2.2仕様に準拠しています。

Web Service Metadata for the Java Platform

Web Service Metadata for the Java Platformは、Webサービスの開発をPOJOベースで行えるようにするためのアノテーションのセットを規程しています。規程されたアノテーションを利用することで、WSDLでのインタフェース定義や、各種設定ファイルの生成を開発者が意識する必要がなくなります。

WebOTXでは、Web Service Metadata for the Java Platform 2.0仕様に準拠しています。

Common Annotations for the Java Platform

Common Annotations for the Java Platformでは、Java EEや、Java SEで標準的に使われている、あるいは将来的に利用されることになるアノテーションを定義しています。

WebOTXでは、Common Annotations for the Java Platform 1.0仕様に対応しています。

SOAP Attachments API for Java(SAAJ)

Java 言語でSOAP メッセージや添付ファイルつきのSOAP メッセージを作成したり、読み込んだりするときに使用する標準API です。

WebOTXでは、SAAJ 1.3仕様に準拠しています。

Java Architecture for XML Binding(JAXB)

Java とXML のデータバインディングのためのAPI です。

WebOTXでは、V7.1より、JAXB 2.2仕様に準拠しています。

Streaming API for XML (StAX)

Streaming API for XMLは、JavaプログラムからXMLドキュメントを解析・生成するためのAPIを提供するXMLパーサです。JAXB 2.0でもStAXを使用しています。

同様のXML解析用APIとしてはDOMやSAXが知られています。DOMはXMLドキュメント全体の解析の結果をDOMツリーとしてメモリ上に格納する方式です。一度メモリ展開されればその後の処理性能は高いのですが、XMLドキュメントのサイズが大きくなるにしたがって使用するメモリ容量が増えます。SAXはXMLドキュメントを先頭から順に読み込んでいき、目的の要素が開始されたなどのイベントを検出したらそれをXMLパーサからアプリケーションに伝達(コールバック)する方式です。DOMとは対象的にイベント伝達後は解析内容をメモリ保持しないため、使用するメモリ容量を小さくできます。

StAXもSAX同様のイベント伝達方式を採用していますが、StAXではアプリケーションから特定のイベントがあるかどうかをパーサに問い合わせる点が異なります。イベントが存在すればアプリケーションがそれをパーサから取得してそれぞれに応じた操作を実行します。SAXの場合、登録するイベントの数が増えるとイベント処理のためのプログラミングが複雑化しますし、XMLドキュメントの解析をアプリケーション側で制御できないという欠点もあります。StAXを使うとこの点を効率化できるようになります。

WebOTXでは、StAX 1.0仕様に準拠しています。

Java EE Management / Java EE Deployment

Java Management Extensions(JMX)は、Javaを利用してネットワーク上のハードウェアやソフトウェアなどを統合的に管理・監視するための仕様です。

WebOTX では、JMX 2.0に準拠した運用管理フレームワークを提供しており、全ての管理リソースはJMX で規定されているModel MBean として定義しています。

WebOTXでは、Javaを利用してネットワーク上のハードウェアやソフトウェアなどを統合的に管理・監視するための仕様である、JMXに関連するものである、Java EE Management 1.1、およびJava EE Deployment 1.2に準拠しています。

Java EE Managementは、Java EEアプリケーション・サーバの現在の状態や、配備したアプリケーションやその状態を知るためにサーバに対して問い合わせをする管理ツール用のAPIを規定しています。

Java EE Deploymentは、Java EEアプリケーション・サーバによって提供される配備ツールの実行環境とプラグイン・コンポーネント間のインタフェースを定義しています。

Java Authorization Service Provider Contract for Containers(JACC)

J2EEアプリケーション・サーバと認証ポリシー・プロバイダ間の規約を定義した仕様です。

WebOTXでは、JACC 1.3仕様に準拠しています。

Enterprise JavaBeans (EJB)

Enterprise JavaBeans (EJB) は、コンポーネント・ベースの分散ビジネス・アプリケーションの開発者と適用のためのアーキテクチャです。

EJB 3.0では、O/RマッピングフレームワークやDI/AOPコンテナフレームワークからフィードバックされた機能と、さらにJava SE 5 で導入されたアノテーションを用いることによって、開発の容易化が図られています。

WebOTX では、このEJB 3.1仕様に準拠しています。

詳細はEJBコンテナをご参照ください。

Java Message Service (JMS)

異種システム間の接続や株価情報の配信のようなシステムには、メッセージ・キューイングやイベント通知といったアプリケーション間の結合度を疎にする非同期通信が欠かせません。

WebOTXでは、J2EE1.4で追加されたJava(TM) Message Service(JMS) v1.1に準拠したメッセージングサービスを提供します。JMSとは、複数のオブジェクト間においてイベント通知を実現するサービスであり、キューやトピックと呼ばれる宛先を介して非同期に通信を行うことができます。

また、EJB2.0で導入されたイベント受信処理を行うメッセージドリブンBeanはJMSとの連携により実現されています。利用者は標準APIを使用して、メッセージ作成、宛先へのメッセージ送信、宛先からのメッセージ受信を容易に行うことができ、統一された構造のメッセージを抽象化された宛先を介してやり取りするため、システムとアプリケーションの結合を疎に保つことができるという特徴があります。

さらにWebOTXでは、Java Transaction API(JTA)と連携して2フェーズコミットを実行する機能、メッセージを暗号化(SSL)する機能を備えており、信頼性の高い通信を行うことも可能です。また、高速な通信を行うためにメッセージ受信確認を簡素化する機能、JMSの動作する環境のリソースに応じて宛先に格納するメッセージの数を制限する機能を備えており、ニーズに応じて設定することができます。さらに、フェイルオーバクラスタシステムに対応しており、障害発生時には宛先およびメッセージの情報を待機系システムのJMSサーバで引き継ぐことによって、メッセージング処理を継続することができます。

WebOTXバージョン6では、サーバ/クライアント間の通信プロトコルの独自プロトコルへの変更により、バージョン5と比較して大幅な性能向上を実現しています。また、従来より提供していた宛先単位のメッセージ滞留抑止だけでなく、コネクション単位やシステム単位のメッセージ滞留抑止や、実メモリの監視によるメッセージフロー制御をサポートし、メモリ不足によるパフォーマンス低下やプロセスダウンを未然に防ぐ機能を拡張しています。

Java EE Connector Architecture (JCA)

Java EE Connector Architecture(JCA)は、既存の多数のアプリケーションサーバと Enterprise Information Systems(EIS)間の接続の問題に対して、Java によるソリューションを提供します。JCAを使用することにより、EIS ベンダーは 各アプリケーションサーバに合わせて製品をカスタマイズする必要はなくなります。JCAに準拠したアプリケーションサーバのベンダーは、カスタムコードを追加することなく、新しい EIS への接続機能を追加できます。

JCAは、Java EE の一部として定義および標準化されたテクノロジに基づいています。

WebOTXでは、JCAに準拠した製品である「WebOTX OLF/TPアダプタ」を提供しています。OLF/TPアダプタは、ACOS-4 VIS II、TPBASEなどとの通信を提供しており、既存の業務アプリケーション資産と通信するために必要な電文作成・解析のロジックは、OLF/TPアダプタ開発環境がCOBOL COPY原文ファイルから自動生成することができます。そのため、アプリケーション開発者は既存資産をそのまま流用でき、アプリケーションサーバ上で実装すべきビジネスロジックの開発に専念できます。通信の細かな設定はプロパティで行うので、ビジネスロジックの移植性を損ねることはありません。

コネクションはあらかじめプーリングされるので、セッション開設など時間がかかる処理をスキップし、高性能なトランザクションシステムを構築できます。

さらにWebOTXではマイクロフォーカス社のJCA準拠製品である、「Micro Focus Enterprise Server」とも連携できます。これにより既存COBOL資産をJava EEシステム上で活用できます。詳細については、既存システム連携のCOBOL対応をご参照ください。

Java基本ライブラリ群の提供 ~J2SE5.0、Java SE 6、Java SE 7への対応~

WebOTXはJavaの開発・実行環境として、J2SE5.0、Java SE 6、Java SE 7 に対応しています。またWebOTXでは、Oracle社とのライセンス契約によりJava SDKをバンドルしています。(*)

  • *(*)HP-UXについては再配布権の問題によりバンドルを行っていません。

Java Naming and Directory Interface (JNDI)

Javaプログラムの名前・ディレクトリサーバへのアプリケーションインタフェースです。任意の部品コンポーネントをJNDIで登録することで名前を指定してターゲットのクラス オブジェクトを取得することができ、アプリケーションのポータビリティの向上が図れます。

WebOTXでは、JNDIのサービスを提供するサーバ(JNDIサーバ)としてCosNamingサーバ(CORBA用)とSerial Context Provider (RMI用)を提供しています。WebOTX Enterprise Editionを使うことでJNDIサーバ(CosNamingサーバ、Serial Context Provider)の二重化運用が可能になり、システム全体の可用性を確保することができます。

WebOTXはJNDI 1.2仕様に準拠しています。

JDBCデータソース

JDBCのコネクションをプーリング管理することで、コストの高いデータベースへの接続、切断処理をトランザクション実行前に行い、トランザクションの実行性能を上げることが重要です。

WebOTXはJDBC 2.0/3.0/4.0/4.1仕様に準拠しています。

詳細はJDBCデータソースをご参照ください。

RMI over IIOP (RMI/IIOP)

従来、Javaのプログラム間通信手段としてはRMIが使われていましたが、J2EEが要求するトランザクション・セキュリティ技術に対応するには独自プロトコルによる拡張が必要であったため、ベンダ固有の通信となってしまい相互接続性がありませんでした。RMI over IIOPは、これらの問題を解決し、CORBAの高い相互接続性とJava言語への親和性の高い通信を両立するものです。

WebOTXでは、RMI over IIOP 1.0仕様に準拠しています。またEJBコンテナのページでも説明しています。

Java API for XML Processing (JAXP) / Xerces

Java API for XML Processing (JAXP) は、JavaでXML文書を扱うための標準的なAPIです。XML文書を扱うための標準的な API であるDOM や SAX では、プログラミング言語に依存しない仕様になっているため、実際にJavaでプログラミングを行う時に使用するAPIという形式ではありません。

JAXP は、Java言語でXMLドキュメントの読み書きや構文解析をする時に使用するAPIを提供します。

JAXPは、アプリケーションコードを変更することなく任意のXMLプロセッサを変更できます。WebOTX では、米国 Sun Microsystems社のJAXP 1.3 (リファレンス実装)を提供しているほか、Apache XML Project が提供しているJAXP実装モジュールである「Xerces」「Xalan」をバンドルしています。

Java Management Extensions(JMX)

Java Management Extensions(JMX)は、Javaを利用してネットワーク上のハードウェアやソフトウェアなどを統合的に管理・監視するための仕様です。

WebOTX では、JMX 2.0に準拠した運用管理フレームワークを提供しており、全ての管理リソースはJMX で規定されているModel MBean として定義しています。

またWebOTXでは、JMXに関連する仕様であるJMX Remote API 1.0に準拠しています。

JMX Remote APIは、リモートのJMXに準拠した運用管理クライアントがアプリケーション・サーバにアクセスする際に利用するコネクタの仕様について規定しています。

Java Authentication and Authorization Service (JAAS)

Java Authentication and Authorization Service (JAAS)は、Java コードを実行中のユーザを信頼かつ安全な方法で確認する方法(認証)と、動作の実行に必要なアクセス権をユーザが保持していることを確認する方法(承認)を提供しています。


ページの先頭へ戻る