はじめに
このホワイトペーパーは、COBOL、Java、.NET、Web サービスなどの複雑で多様 なテクノロジを理解しようとしている設計者や IT 管理者を対象にしています。ここ で説明する内容は、「プラットフォームとしてのCOBOL」の考え方および Micro
Focus Enterprise Server という新製品の基になっている概念です。Enterprise Server の登場により、COBOL の役割は単なるプログラミング言語からアプリケー ションサービスのプラットフォームにまで高められました。Enterprise Server の使 用により、各種要素からなるエンタープライズアプリケーションの最新プラットフ ォームにとって、COBOL は重要な要素となります。Enterprise Server を使用した 環境では、各種要素からなるこのようなアプリケーションのキーコンポーネントと して COBOL アプリケーションを簡単に再利用することが可能です。 COBOL は長い歴史のある言語です。COBOL とそのアプリケーションは、長い歴 史によってもたらされた高い安定性と完成度という強みを持っています。一方、新 しいテクノロジである Java および .NET には、優れた柔軟性と広い適用範囲といっ た特長があります。しかし、IT 企業にとっては、新しいビジネス要件をどのように 解決するか、また統合化と「現代化」のイニシアチブをどのように 取るかといった ようなアーキテクチャ上のアプローチ方法が非常に難しい問題となっています。こ のような背景にあって、問題を簡単にするための打開策が求められています。 このホワイトペーパーでは、新旧のテクノロジを組み合わせるときに「サービス」 という概念が非常に役立つことを説明します 。また、Micro Focus 製品を使用して、 COBOL、J2EE、.NET、および Web サービスを取り込んだ幅広いアプリケーショ ンプラットフォームで、COBOL アプリケーションを主役に仕立てる方法について も説明します。最大の効果を発揮できるように新旧のテクノロジを調和させて組み 合わせること。この方法こそが、コスト対効果の高いビジネスシステムの構築を可 能とします。
また、Enterprise Server をどのように使えば、Java プラットフォームとシームレ スに統合できるようなトランザクション処理用プラットフォームを COBOL アプリ ケーションに対して提供できるかを説明するとともに、Web サービスを基本にした アーキテクチャで COBOL アプリケーションを使用することの利点を明確にします。 最後に、Enterprise Server では COBOL が Java および .NET プラットフォームと 同じレベルで扱えることを説明します。こうした位置付けにより、既存のエンター プライズシステムとその維持管理要員の利用価値を将来に向けてさらに高めていく ことができます。COBOL アプリケーションの開発者は、Enterprise Server を使う
目次
概要... 1
最新の COBOL システムへ ... 2
サービスベースのアーキテクチャとは... 4
DIRECT COBOL WEB サービス ... 6
ENTERPRISE SERVER ... 9
COBOLサービス の統一実行アーキテクチャ 9 エンタープライズアプリケーションプログラミングインターフェイス 10 柔軟性のあるインターフェイス管理ツール 10 クライアントアプリケーションプログラミングインターフェイス 11おわりに... 13
用語集... 14
概要
「COBOL に対する関心や期待は、時とともに変わっていくはずです。短期的にみれば、 COBOL 資産をより有効に管理することが関心の的となるでしょう。中期的には、 COBOL 資産を Web にどう展開していくか、また長期的には COBOL 資産を Web サー ビスのフレームワークにどう組み込んでいくかの戦略と方法が最大のテーマとなるかもし れません。利用者が COBOL の将来に期待すること、これこそが Micro Focus の目指す ところです。」1 インターネットの到来以来、すべての利用者は、以前に比べてより多くの情報を即座に入手したいと 思っています。この情報化時代において企業が競合力を維持していくためには、顧客やパートナーに、 高度に統合された情報サービスを「リアルタイム」で提供していかなければなりません。このような ニーズがあって、「しなやかな企業」という概念が生まれてきました。しなやかな企業は、顧客の差し 迫った要求事項に素早く対応できるだけでなく、新しいビジネスチャンスに対して、しなやかさに劣 る競合企業よりも迅速に適応できるプロセスとシステムを実現しています。 しかしここ数年は経済の動きが鈍り、IT に対する新しい投資予算が厳しく査定されるようになってい ます。IT の予算は平均して 7% 低下し、しかもその額は基本的に変化がありません2。このように、大 半の企業は新たな IT インフラに予算を配分できない状況にあります。レガシーシステムを入れ替える 多くのプロジェクトでは、その目的の一環として IT インフラを簡素化しようとしていますが、膨大な コストがかかるため成功していません。また、企業の吸収と合併によって、アーキテクチャ上の多様 性や複雑さが増大してきました。このような状況の中、コアとなるビジネスシステムのために新たな テクノロジへ投資すると、コストが高くなるだけでなく、かなり大きなリスクを伴うことが明確にな ってきました。一言で言うと、2003 年のビジネスは、「少ない投資で大きな成果」という課題を避け て通れない状況にあります。 オンラインユーザが要求する情報のほとんどは、既存のアプリケーションとデータベースの中にあり ます。これらは、ビジネスに従事している人々を対象に、手作業や時間のかかる作業を支援する目的 で開発されてきたアプリケーションです。しかし、これらのアプリケーションは新しい顧客のために 設計されたものではなかったため、迅速な対応はもとより、現場の生の声も考慮されていませんでし た。それでもこれらのシステムには、ビジネスの遂行に欠くことのできない基本的なデータとルール が蓄積されています。またこれらのアプリケーションには、データを安全に保護するとともに必要な 量だけのトランザクションを処理できるような、厳密な手順とシステムが実装されています。 Micro Focus が行った最近の調査では、多くのプロジェクトでインターネットからビジネスシステムに アクセスできるようにしていることがわかりました。また、このような組織では、Java プラットフォ ームを重要なプロジェクトとして推進中でした。これらのプロジェクトの多くでは、現在、レガシー データおよびプロセスを統合して Web ベースの新しいクライアントアプリケーションを構築するプラ ットフォームとして Java を候補に挙げ、精力的に調査しています。
最新の COBOL システムへ
2000 年問題対応プロジェクト以来、Gartner 社の Roy Schulte3 は、アプリケーションとプラットフ ォームを都市のビルにたとえてきました。このたとえは有益な示唆に富んでいます。というのは、コ スト対利益の関係の類似性が浮き彫りになるからです。都市には、世界ランキング上位2000 社の多様 なアプリケーションと同様、さまざまなビルがあります。ビルを撤去して別のビルに建て替えること が非常に破壊的で出費もかさむということくらいは、誰でも直観的にわかります。しかしそれと同時 に、単純な建て替え計画では、新しい建築様式に従って都市を再構築するなどということは期待でき そうにないこともわかります。多くの例でみられるように、問題はビルそのものにはありません。問 題は新しいインフラサービスをどのようにしてビルの使用者に提供するかというところにあります。 同様に、アプリケーションに関する問題は、アプリケーションそのものにも少しは関係しますが、そ れ以上に大切なのは、どのようにしてインフラを統合するかです。
こ う し た認 識があったからこそ 、EAI (Enterprise Application Integration) や BPM (Business Process Management) ソフトウェアが台頭してきたわけです。この流れの中でいくつものソフトウェ アベンダーが独自の統合サーバを開発し、「コネクタ」 (「アダプタ」と呼ぶこともある) を通して中央 の「プロセスオートメーション」エンジンに接続する機能を提供してきました。これらの統合用「ハ ブ」はそれぞれが独自のものではありましたが、次のようなバックエンドサービスを「現代化」およ び「再利用化」するための格好のモデルとなりました。 • レガシーアプリケーション • CICS および IMS トランザクション • SAP や PeopleSoft などのパッケージ • MQ シリーズ • COM、CORBA および EJB インターフェイス
図 1 は IBM の Mikhail Genkin と Jin Li の著作からの抜粋です4。この図は、クライアント側にある
保険代理店のアプリケーションがプロバイダのファイアウォールを経由して Web サービスを呼び出す 様子を示しています。Web サーバは、受け取ったサービス要求を Java アプリケーションサーバに渡 します。Java アプリケーションサーバは、この要求を J2EE リソースアダプタを使ってレガシーアプ リケーションに渡します (用語がわからない場合には、本資料の最後にある用語集を参照してくださ い)。
3 『Application Integration Scenario: How the war is being won』Roy Schulte 著、 Application Integration –
Making e-Business Work, 2000 年 9月 Gartner 会議論文集
4 『Web services and J2EE connectors f or B2B integration』(Web サイト
図 1 – 企業のアプリケーションアーキテクチャ (IBM の論文より) この例は、Java ベースのアプリケーション統合プラットフォームを提供するために開発された典型的 な統合アーキテクチャを表しています。この論文は対象として B2B を扱っていますが、そのアーキテ クチャはアプリケーションの内部的な統合にも適用できます。実際、アナリストの間では、最初に統 合化問題を内部的に解決してから、ビジネスの境界で発生するファイアウォール、信用、交渉、セキ ュリティ、トランザクションといった各種の問題を検討する必要があるということで意見が一致して います。 この図で私たちが目にしているのは「サービスベース」の単純なバックエンドアーキテクチャです。 中間層に使う統合テクノロジについては議論が白熱する一方ですが、長期的な使用に耐えるという点 では、この「サービスベース」のバックエンドアーキテクチャがその地位を築き上げつつあります。 この事実は、COBOL アプリケーションをサービスベースの現代版に仕立て上げれば、統合プラット フォームの変化に対する投資損失を長期にわたって防ぐことができるということを意味しています。 多くの著述家は「中間層」や「バックエンド」のことをハードウェアプラットフォームの同義語とし てよく使うので注意してください。注意しないと、バックエンドプラットフォームとして Windows や UNIX をベースにした中間層プラットフォーム、あるいは zSeries や類似のメインフレームを心に描 きかねません。しかし、ここでいう「中間層」や「バックエンド」は、さまざまなプラットフォーム の特性を抽象化した論理的な階層のことです (以下を参照)。これらの論理階層 (「中間層」と「バック エンド」) は、同じハードウェアプラットフォーム (UNIX や zSeries) 上に存在していてもかまいませ ん。また、数多くのさまざまなハードウェアプラットフォームからなる高度に構造化されたネットワ ーク内で、いくつもの中間層プラットフォームが複数のバックエンドプラットフォームに接続されて いるという形態もありえます。
サービスベースのアーキテクチャとは
「サービスベース」のアーキテクチャでは、中心となる「サービス」を基本にして、要求者と提供者 との間の統合関係を明確に定義します。また、サービスを、サービスの要求者 (クライアント) から分 離して定義します。そのため、サーバ (サービス要求を受け付けて実行するプラットフォーム) におけ るサービスの実行方法を最適化して、サービスに対するスケーラビリティ、信頼性、可用性を高める ことができます。IBM CICS などのトランザクション処理 (TP) システムでは、端末オペレータやアプ リケーションに対してスケーラブルな「サービス」を提供します。このため、Java アプリケーション サーバにサービスを配信するシステムとしては、TP システムが理想的です。ここが COM、CORBA および Java (J2EE) といった「コンポーネントベース」のアーキテクチャとは 大きく異なる点です。コンポーネントベースのアーキテクチャでは、ネットワーク内の各コンポーネ ントが複雑に関係し合って動作します。オブジェクトが分散していて複雑なシステムは、オブジェク トモデルを使用することで明確に定義し理解することができます。しかし、分散オブジェクトモデル を実行するプラットフォームでは 2 つの情報を追跡する必要があります。一つは、長時間にわたって 実行される多数の並行セッションで、もう一つは、各スレッドが分散コンポーネントからなる入り組 んだ網を通過する際の「実行スレッド」の状態です。 コンポーネントベースのアーキテクチャは、クライアントで発生したスレッドがサーバを通して送ら れるような複雑な場合に適しています。この状況は、クライアントスレッドがブラウザ (ユーザ) であ ってもプログラム (アプリケーション) であっても同様です。一般に、ビジネスサービスを提供し終え るまでには多くの処理を連携させる必要があります。コンポーネントベースのアーキテクチャでは、 こうした連携に必要となる長時間の処理フローを明確に定義できます。ただし、ここでいう長時間と は、「セッション」の中でクライアント側から起動した対話シーケンスの時間のことです。 サービスベースのアーキテクチャは、要求/応答の単純なやりとりが非常に多い場合を管理するのに適 しています。それぞれの対話がお互いに独立したものとして扱われるので、本質的に「ステートレ ス」です。この点が、IBM の CICS、Microsoft の COM+、および BEA の Tuxedo といった TP シス テムの基本的な特性です。TP システムに精通しているプログラマは、トランザクションを構成する多 数の処理単位 (サービス) からアプリケーションを構築する方法を知っています。その結果、従来のア プリケーションでは、対象としているビジネスプロセスに基づいて、オペレータが全体の流れを制御 するようになっていました。しかし、対象とするサービスを大きな単位で適切に定義することにより、 クライアントの要求に対して「ビジネスサービス」を直接配信するために必要なすべてのロジックを カプセル化することができます。サービスベースのプラットフォームを使えば、サービス全体の実行 を完了した状態で終わらせるか、またはシステムを整合性のある状態にロールバックすることができ ます。サービスは、IT 企業の運用データを保護するのに必要なスケーラビリティ、信頼性、および可 用性といった特性を提供するために、短時間で実行されます。ここでいう短時間とは、リソースを更 新する際にそのリソースをロック状態にしておく「妥当な」時間を意味します。 より単純なアーキテクチャが求められていますが、そうしたアーキテクチャは、中間層の統合にはコ ンポーネントベースのプラットフォーム (J2EE や .NET など) の強みを生かし、バックエンドサービ スにはサービスベースのプラットフォーム (CICS や COM+ など) の長所を生かすという方法で実現で きます。この例を図 2 に示します。 この統合方式では、サービスが最終目的地になります。「セッション固有の」処理が別の統合ノードに 波及することはありません。Java のようなコンポーネントベースのプラットフォームと、COBOL を 扱うサービスベースのプラットフォームとの間にコネクションを確立する方法はたくさんあります。 次にその例を示します。
• J2EE コネクタアーキテクチャの仕様では、Java アプリケーションサーバと COBOL アプリケーションなどのエンタープライズ情報システム (EIS)との間でサービスベース の規約が定義されています。 • IBM の MQ シリーズでは、中間層のプラットフォームとサーバベースのトランザクシ ョンとの間で、要求/応答メッセージの処理をエンドツーエンドで行うように設定でき ます。その場合、送信した要求と受信した応答を MQ シリーズの相関処理 ID 機能を使 って関連付け、セッションの「スレッド」を維持します。
• Microsoft の COM オブジェクトモデルは、Microsoft の COM+ トランザクションサー バとシームレスに連携します。また、Microsoft のホスト統合サーバには、メインフレ ームの CICS や IMS COBOL アプリケーションへ簡単に接続できる機能があります。 • エンタープライズアプリケーションインテグレーション製品では、COBOL アプリケー ションなど一般的に普及しているバックエンドサービスとの間に、「アダプタ」や 「コネクタ」を採用しています。 Web サーバ Java アプリケーションサーバ COBOL サーバ Java アプリケーションの コ ンポーネントは、クライア ントのコンテキストに応じ て関連付けられる トランザクションサーバで は、サービスが互いに依存 することなく実行される 多くのクライアント が同時に接続する 現在アクティ ブなコンポー ネント 図 2 – コンポーネントベースの Java アーキテクチャとサービスベースの CICS アーキテクチャ どのケースにも言えることですが、これらのコネクションを使う場合は、外部エージェントから容易 に起動できるように、前もって「サービス」を定義しておく必要があります。COBOL の場合を例に あげれば、画面を使用しないトランザクションを作成するということがこの要件に該当します。デー タは、連絡レコードを経由してこれらのトランザクションに渡され、サービスはリモートプロシージ ャコールを使って呼び出されます。 多くの企業では、こうしたアーキテクチャ上の変革が到来することを期待してきました。また、2000 年問題のバグを修正して以降、COBOL アプリケーションを再構築して、自分たちのプラットフォー ムに合った API を使えるようなサービスレベルのインターフェイスの実現に努力してきました。中間 層の統合プラットフォームから使うサービスベースのインターフェイスを考えた場合、こうしたイン ターフェイスは非常に理に適っていると言えます。 次の節では、Web サービスベースアーキテクチャでの COBOL アプリケーションの役割を説明します。 具体的には、Micro Focus の Enterprise Server で COBOL アプリケーションのためのトランザクシ ョン処理プラットフォームをどのように 実現しているかを 説明します。このプラットフォーム は、 Java プラットフォームと Web サービスにシームレスに統合できます。
Direct COBOL Web サービス
Micro Focus は、WS-I5 のメンバであり、COBOL の今後の推進および COBOL アプリケーションの Web サービス化の推進をコミットしています。WS-I は、100 社を超える技術系ベンダーから構成され るコンソーシアムであり、非常に積極的な活動を展開しています。ここでは、各ベンダーが協力して、 さまざまなプラットフォームおよびプログラミング言語間の相互運用性を保証する Web サービス「プ ロファイル」を開発しています。
COBOL アプリケーションを使うことで、価値の高いビジネスサービスを豊富に実現できます。また、 COBOL アプリケーションはさまざまな方法で再利用できます。Micro Focus では、COBOL アプリケ ーションから簡単に Web サービスを作成したり利用したりできる製品を提供していく予定です。また、 Micro Focus は WS-I が相互運用のために行っているオープンスタンダードの開発活動をサポートして いきます。
簡単に言えば、Web サービスは、サービスベースアーキテクチャの中で「サービス」を定義したり呼 び出したりするための新しいミドルウェアプロトコルです。Web サービスは、ステートレスでアトミ ック、つまり、処理上の状態がなく 1 回の処理ですべてが完了するサービスです。そのため、サービ スベースのアーキテクチャがカバーするクライアントの範囲を、イントラネットを越えてインターネ ットにまで広げることができます。Web サービスの中心となるプロトコルは、SOAP (Simple Object Access Protocol) です。SOAP は XML ドキュメントに基づいており、http 経由で送信されます。リモ ートクライアントがサービスに「サブスクライブ」して「バインド」するためのサービスインターフ ェイスは、WSDL (Web サービス記述言語) で記述できます。また、UDDI (Universal Description, Discovery, and Integration) を使うことで、サービスの検索を容易にするための「イエローページ」 (サービスディレクトリ) を作成し、利用することができます。 Web サービスが一般化してきた大きな要因として、これらのサービスが、ベンダーの各種プラットフ ォームを橋渡しする新しい標準を使って、既存の Web 標準 (TCP/IP 、HTTP および XML) 上に構築 されているという事実があります。 Web サービスは、統合化の促進とコスト低減、再利用の改善、そしてインフラの展開コスト節約とい ったような目的で使われようとしています。しかし、セキュリティや関連標準が欠如しているために、 ビジネス分野における Web サービスの採用はあまり進んでいません。それにもかかわらず先進的な企 業では、すでにサプライチェーンの取引パートナーとの間でWeb サービスを使用しつつあります。 この資料では、Web サービスを詳細には定義していません。しかし、Web サービスプロトコルを使っ た Web ベースのサービス呼び出し機構は、Java や .NET サービスに適用できるのと同様に、COBOL サービスにも適用可能です。Micro Focus では、「Direct COBOL Web サービス」を定義しています。 この機能を使うことで、COBOL プログラマは、その他のプログラミング言語を使わなくても Web サ ービスとインターフェイスをとれるように、Web サービスを構築できます。
COBOL 関連者の間には既存の COBOL アプリケーション群を再利用して大規模な統合を行いたいと いうニーズがありますが 、その要望に応えるのが Direct COBOL Web サービスです。Enterprise Server には、サービスベースの COBOL 用「バックエンド」プラットフォームを提供する Direct COBOL Web サービスが実装されています。また、コンポーネントベースの「中間層」統合プラット フォームには、J2EE、.NET などのテクノロジが使われています。この組み合わせによって、ユーザ はスケーラブルで柔軟性の高い統合化 Web アプリケーションを構築することができます。Direct COBOL Web サービスを使えば、プログラミングチームは、これらのプラットフォーム内/間でビジネ ス情報をどのように流したらよいかの検討に集中することができます。Java プログラマは、J2EE の 5 次の URLで、プレスリリースを参照してください。http://www.microfocus.com/press/releases
セッションおよびセキュリティ機能を使う新しいビジネスプロセス (ワークフロー) を定義することで、 同時にアクセスする多数のクライアントのコンテキストを管理できます。COBOL プログラマは、バ ックエンドの提供する基本サービスを、馴染みのあるトランザクション処理のパラダイムに従って開 発し拡張することになります。Enterprise Server では、情報の流れに COBOL のサービスを完全に組 み込むためのインフラが整備されているので、プログラミングチームの編成までして、さまざまなプ ラットフォームを連携させるための複雑な仕組みを構築する必要はありません。 Web サービスに関する論評 (前述した IBM の著作など) の多くは、「バックエンド」サーバが「素材」 サービスを提供すること、および J2EE (または .NET) がインターネットに対するサービス「ブロー カ」(仲介) テクノロジを提供するという前提に立っています。少し考えればわかることですが、J2EE (または .NET) プラットフォームが提供しているのは、CICS アプリケーションとの間のサービス「ゲ ートウェイ」機能だけです。Java ゲートウェイを導入しても、新しいロジックやワークフローが追加 されることはほとんどなく、サービスインターフェイスが単に COBOL から SOAP へ変換されるだけ です。そうであるとすると、Web サーバとバックエンドサービスとの間の Java 階層は、単なる邪魔 者にすぎません。プラットフォームが複合化されている場合に Java 階層を組み込むと、その統合機能 を使用しない限りは、セットアップ、管理、テスト、および展開が一層複雑になるだけです。このよ うな「プラットフォームの複合化」は、最終的には Web サービスを呼び出すクライアント側で統合が 行われることになるので、生み出される価値に比べてコストがかかりすぎます。 Javaアプリケーションサーバ .NET サービス Java サービス COBOL サービス SOAP HTTP 図 3 – SOAP を使ったサービス集約アーキテクチャ (web サーバは省略)
Net Express および Enterprise Server は、Web サービスのクライアントに Web サービスを直接パブ リッシュするためのインフラと、Web サービスを実装言語に関係なく呼び出すためのインフラを提供 します。この例を図 3 に示します。図では、COBOL、Java、.NET といったさまざまなソースから提 供されるバックエンドサービスが、SOAP を使って Java アプリケーションサーバに集約される様子を 示しています。 これまでの説明で、中間層の統合化と COBOL、Java、および .NET に対するバックエンドサービス の区別を形式化しました。Java や .NET を使えば、どちらのニーズに対してもサービスをある程度提 供できますが、それでも、異なるプラットフォームで実行させたいという要求とこれらを結合したい
アプリケーションを統合する目的で Web サービスを採用した企業からは、IT インフラにかかるコスト が大幅に低減したことが報告されています。こうしたコストの低減メリットは、コストのかかる独自 のミドルウェアソリューションに頼ってポイントツーポイントの統合化を行う必要がなくなるため、 長期間に渡って得ることができます。多くのプラットフォームベンダー、ソフトウェアベンダー、ア プリケーションパッケージベンダーが Web サービスの標準を採用しているので、このコスト低減は、 種類の異なる多数のシステムや接続形態で実現できます。
Direct COBOL Web サービスを使えば、さらにコストを低減できます。このサービスを実装すること で、今までに培ってきた IT 技術を再利用することができます。多くの IT 部門では、今までのアプリ ケーションを廃棄して新しく作り直そうとすると、新しいアプリケーションの概念を実証するために プロジェクトチームを編成し、そこで、複雑なプログラミングパラダイムを短い期間で習得しなけれ ばなりません。このためには、かなりの追加費用を使ってスタッフを再トレーニングする必要があり ます。対応を間違えると、ビジネスを継続してその灯りを絶やさないようにするためのアプリケーシ ョンがスキル不足で維持できなくなります。しかし、Micro Focus の Net Express® と Enterprise Server を使えば、プログラマの再トレーニングを少し実施するだけで、最新の複合アプリケーション を開発し、SOAP を使って COBOL サーバ上に配備することができます。
Enterprise Server
図 4a6 に、COBOL サービスを構築してクライアントにまで広くパブリッシュするために必要な、サ ービスプラットフォームのキーコンポーネントを示します。Enterprise Server と呼ぶこのプラットフ ォームでは、ミッションクリティカルなビジネス問題を解決するために COBOL の豊富な言語環境を さらに拡張した環境が利用可能です。Enterprise Server を使うことで、より広い複合アプリケーショ ン領域 (EAI) を始めとし、究極的にはビジネス領域 (B2B) のアプリケーションにまで COBOL サービ スを適用することができます。 エンター プライズ API クライ アント API インターフェイス 管理 クライアント からのアクセス サービスの実行 図 4a – サービスのプラットフォーム今までに投資してきた COBOL の財産がある場合は、Enterprise Server を使うことでプラットフォー ムの統一が可能となり、COBOL 財産を新しい複合アプリケーションへ統合するための投資が容易に なるだけでなく、コストを抑えることも可能となります。COBOL サービスのプラットフォームが統 一できないと、この資料で提唱する費用効果の高い再利用戦略が納得を得られないものとなるばかり でなく、再利用やリプレースのために独自のプラットフォームを構築する必要が生じて、ビジネスの 展開にかかる費用が増大します。
Enterprise Server には柔軟性のあるインターフェイス管理ツールがあり、Windows、Linux (z/OS を 含む)、および UNIX の各プラットフォーム用サービスを結合して、統一したサービス実行アーキテク チャを構築することができます。図 4b ∼ 4e を参照しながら、Enterprise Server の基本となる機能を 詳細に説明します。わからない用語があれば、用語集でその意味を調べてください。
COBOL サービスの統一実行アーキテクチャ
Micro Focus は、革新的なビジョンを提供することにより、長年に渡ってユ ーザの COBOL 技術開発を手助けしてきました。Enterprise Server の目指 すところは、標準の COBOL プラットフォームを構築することでした。 Direct COBOL Web サービスのサポート、および、コンポーネントベース とサービスベースが混在する複合アーキテクチャのサポートには、COBOL プラットフォームが欠かせません。COBOL 用の J2EE コネクタを使う場合 は、COBOL サービスで J2EE に合ったセッション、トランザクション、お よびセキュリティの各プロトコルを使う必要があります。Web サービスプロ トコルには、多くのインターフェイス規約 (セキュリティなど) が組み込まれ ています。そのため、Web サービスプロトコルを使うサーバにも同様の機構 が必要になります。たとえば、SOAP メッセージと独自の MQ メッセージ はどちらも XML を使いますが、その詳細は大きく異なります。しかし「サ ービスの規約」は要求側と提供側との間で、論理的に同一です。 サービスの実行 UNIX COBOL サービス Windows COBOL サービス Linux COBOL サービス トランザクション / セキュリティ …
Enterprise Server は、Net Express と Server Express の COBOL アプリケーションに対してサービ スプラットフォーム機能を提供します。このアーキテクチャには、XML 処理、SOAP 処理、J2EE リ ソースアダプタ、オーディット、フェールオーバー、セキュリティ、トランザクション、ログ、復元、 管理などの機能が含まれています。J2EE が Java の位置をプログラミング言語からプラットフォーム にまで高めたように、Enterprise Server も COBOL をプログラミング言語からプラットフォームにま で高めます。
エンタープライズアプリケーションプログラミングインターフェイス
エンタープライズアプリケーションプログラミングインターフェイス (API) は、既存のアプリケーシ ョンインターフェイスと新しいアプリケーションインターフェイスから構成されており、クライアン トに提供する API は、これらのインターフェイスを素材にして作成します。エンタープライズ API に は、企業がビジネスシステムを構築するために使用する一連の共通サービスが定義されています。 広範なアプリケーション群を所有する企業には、多くの既存インターフェイスが必ず存在します。こ の中には、素材として他のインターフェイスより適しているものがあります。COBOL プログラムに は、COBOL プログラムの入口点や連絡パラメータ形式、CICS の COMMAREA 定義、あるいは IMS のメッセージ定義といった形式で定義されたインターフェイスがあります。画面インターフェイスも、 分類とアクセスが容易な API の形式に簡単に変換できます。Micro Focus Revolve®7 および Revolve Enterprise Edition で は、素材となるこうしたインターフェイスを探して把握し、カ タログ化することができます。Revolve には、COBOL のすべ ての構文および方言を完全にサポートする機能とともに、企業 の所有しているさまざまなアプリケーション資産を相互に参照 できる機能があります。このように、Revolve を導入すること でエンタープライズアーキテクチャの総合的な全体像を構築す ることができます。 ユーザはこの情報を使って所有アプリケーションのポートフォ リオを文書化し、重要なビジネスサービスのアクセスに使うク ライアント API の「サービス」要素をカタログ化することが できます。アプリケーションが適切に構造化されていないと、 プログラムのロジックを修正または抽出して、新しいエンター プライズ API として動作させなければならないことがありま す。Revolve を利用すると、サービス全体を作成するために必 要なコードセクションの識別が容易になります。
柔軟性のあるインターフェイス管理ツール
素材となるサービスベースのインターフェイスには、さまざまなフォームがあります。フォームは、 プログラム の連 絡レコード を含 む COBOL の COPY ファイルであることもあれば、CICS の COMMAREA レコードや画面定義であることもあります。これらの「素材」インターフェイスは、既 7 ここで引用している製品については、次の当社の Web サイトを参照してください。 図 4c サービスの実行 エンタープライズ API プログラム の 解釈 トランザクション / セキュリティ … UNIX COBOL サービス Windows COBOL サービス Linux COBOL サービス 図 4c存プログラムのデータモデルと制御フローに関する仮定とから抽出されてきました。この「素材」イ ンターフェイスの一例として、呼び出されるプログラムの機能を制御するために 1 文字の入力フィー ルドを定義するパラメータがあります。また別の例として、応答に含まれている日付が COBOL アプ リケーションの内部形式で表されている場合もあります。統合プラットフォームに合った新しいデー タモデルを使って、物理的なプログラムインターフェイスを論理的なサービス定義に変える理由はた くさんあります。そのような変更を行うことにより、素材にするサービスのデータモデルとフローに 関する仮定に基づいて、新しいサービスインターフェイスを分離し、抽象化することができます。 サービスの実行 エンタープライズ API プログラム の 解釈 インターフェイス 管理 インター フェイス マッピング コード生成 プロセス ワークフロー UNIX COBOL サービス Windows COBOL サービス Linux COBOL サービス トランザクション / セキュリティ … 図 4d
Net Expresss の Interface Mapping Toolkit6 を使うと、既存の COBOL プログラムを基にして、新し い論理「サービス」インターフェイスを設計することができます。こうすることにより、クライアン ト環境に存在する実際の型モデルに基づいて、サービスインターフェイスのデータモデルを単純化す ることができます。また Interface Mapping Toolkit を使うと、サービスインターフェイスを定義でき るだけでなく、さらには Enterprise Server で動作する COBOL アプリケーションを自動的に配備す ることができます。
クライアントアプリケーションプログラミングインターフェイス
Interface Mapping Toolkit の重要な特長は、ミドルウェアテクノロジの領域にサービスをパブリッシ ュできることです。たとえば、Enterprise Server の J2EE コネクタを使って Java アプリケーション サーバと統合させるために、サービスをパブリッシュするということが可能です。またこれとは別の 方法として、Enterprise Server の Direct COBOL Web サービスサポートを使うこともできます。さ
また Enterprise Server には、メッセージ配信用のフォーマットとプロトコルをカスタマイズできる機 能もあります。このように共通のミドルウェア階層を通すことで、クライアントテクノロジを使う複 合アプリケーションに COBOL サービスを加えることができます。Interface Mapping Toolkit のマッ ピングおよびコード生成機能を使うことにより、J2EE と Web サービスの標準仕様を通して、Java や COM といった多くのクライアントで使用可能なクライアント API を作成することができます。 サービスの実行 エンタープライズ API プログラム の 解釈 クライアント API J2EE Web サービス その 他 … インターフェイス 管理 UNIX COBOL サービス Windows COBOL サービス Linux COBOL サービス Java クライアント .NET クライアント ブラウザ クライアント レガシー クライアント MQ クライアント インター フェイス マッピング コード生成 プロセス ワークフロー トランザクション / セキュリティ … 図 4e – COBOLのサービスプラットフォーム
Micro Focus の Enterprise Server および Application Server8 は、同じ Micro Focus の Net Express および Server Express™ を使って開発した COBOL アプリケーションを配備するために必要なテクノ ロジを提供します。両者の違いは、Micro Focus Application Server が単層構成のアプリケーションに COBOL のコアサービスを提供するのに対して、Enterprise Server の方は 2 層構成のクライアント/サ ーバアプリケーション、および 3 層構成の複合アプリケーションにトランザクション、セッション、 およびセキュリティサービスを追加します。Enterprise Server には、Direct COBOL Web サービス のためのサポートと、J2EE 接続のための COBOL リソースアダプタが組み込まれています。
Enterprise Server は、Net Express と Server Express のどちらとも組み合わせて使用できます。こ れら 2 つの製品には、Interface Mapping Toolkit が組み込まれており、開発者はこのツールキットを 使って COBOL サービスを定義し、Enterprise Server に配備することができます。
Micro Focus の Application Server または Enterprise Server を使用すれば、COBOL プログラムで、 COBOL の提供する Web サービスや、Java および .NET など他の Web サービスプラットフォームが 提供する Web サービスを呼び出すこともできます。また COBOL プログラムで、COBOL 自身と融和 した自然な構文を使って XML ドキュメントを解析、加工、および生成することができます。Net Express および Server Express についての詳細は、Micro Focus の次の Web サイトを参照してくだ さい。 http://www.microfocus.com
おわりに
すでに言及したように、J2EE が Java の位置付けをプログラミング言語からプラットフォームに高め るのと同様、Enterprise Server も COBOL の位置付けをプログラミング言語からプラットフォームに 高めます。これを COBOL プラットフォームと呼びます。Enterprise Server は、新しい複合アプリケ ーションの中で COBOL 開発者がどこまでレガシーアプリケーションサービスを利用できるかという 課題に対し、直接影響を与えます。
Enterprise Server を使用することにより、新しい複合プラットフォーム上で COBOL アプリケーショ ンをシームレスに動作させることが可能になり、今後のビジネス展開にはかりしれない価値を与える ことでしょう。COBOL は、現在でも大規模なビジネスアプリケーションで最も広く使用されている 言語です。人々が働くビルのように、COBOL アプリケーションは、費用効果の高いビジネス価値を 提供し続け、経済の回復に貢献することでしょう。 既存のビジネスアプリケーション、そして COBOL と最新テクノロジを組み合わせて生まれる力。こ の両者を利用することによって、ビジネスの新たなニーズに対応できるリアルタイム統合情報システ ムを構築することができます。システムの統合を可能とするこの革新的なアプローチは、他の大きな リプレースプロジェクトに比べてリスクが少なく、また、コストも大幅に減ります。 さらに、信頼のおけるサービス指向のアーキテクチャを使って従来のシステムから新しいシステムを 構築すれば、最初の努力は必要であっても、いったん完成すると、そのシステムが基礎となり、新た なビジネスの要請が発生しても、以前より迅速に新しい統合システムを構築して対応することができ ます。このようになれば、ビジネスに対する即応体制が整い、真の競合力を保ち続けることができま す。
用語集
.NET
.NET は、Microsoft が提唱している Windows プラットフォームの最新版であり、Java (J2EE) プラ ットフォームと同様なアプリケーションサーバ機能を提供します。また .NET には、Web サービスの 開発および配備を簡単にするための機能が多く組み込まれています。.NET アプリケーションを構築す るための統合化された開発環境として、Visual Studio.NET が用意されています。
API
API (Application Programming Interface; アプリケーションプログラミングインターフェイス) は、 別のプログラムからソフトウェアモジュールを呼び出すためのインターフェイスであり、厳密に定義 されています。API には、プラットフォーム (Microsoft Windows など) の提供するサービス要素が 定義されています。エンタープライズ API、つまり、企業がビジネスシステムを構築するために必要 な共通サービスを定義するときにも同様の概念を使うことができます。
B2B
business-to-business の略語で、EDI (電子データ交換) などのネットワーク接続または Web を使って 行う企業間の電子的な取引を指します。この用語は、B2C (business-to-consumer; Web ブラウザを通 して行う企業・一般消費者間の取引) や EAI (Enterprise Application Integration; 企業内部の企業業 務統合) と区別するために使われます。
BPM
Business Process Management (ビジネスプロセス管理) の略語で比較的新しい用語です。ワークフロ ーを使ったビジネスサービスの統合を高度に抽象化した概念です。BPM ツールを使うことで、活動フ ロー全体における人間の行動/作業や電子的な処理を利用した高度なビジネスプロセスを定義し、実行 することができます。このような活動/処理は待ち行列に入れられ、ビジネスルールに従った順序とタ イミングで実行されるようにスケジュール化されます。ワークフローエンジンは、並行して流れるい くつものビジネスプロセスの実行を調整します。対象となるビジネスプロセスにはいくつものタイプ があり、なかには、完了するまでに数時間、数日、または数週間かかるものもあります。
CICS
Customer Information Control System の略語です。CICS は、メインフレームのアプリケーションに スケーラブルなオンライントランザクション処理環境を提供するために開発されたシステムです。現 時点で実装されているCICS には、Transaction Server (最新のリリースレベルは 2.2) としてメインフ レームに実装されている CICS と、TX シリーズ (WebSphere Application Server の一部) として中間 層に実装されている CICS があります。
COM
COM は Microsoft の Component Object Model を表す略語です。COM はコンポーネントのフレーム ワークを提供します。Microsoft のアプリケーションは、このフレームワークの中でアプリケーション の機能とデータを作成し、共有することができます。COM のコンポーネントは、コンポーネントベー スの分散アプリケーションを構築するために、言語、プロセス、およびコンピュータの境界を越えて 呼び出すことができます。COM+ はトランザクションサービスに対応できる COM の拡張版です。
COMMAREA
COMMAREA (Communications Area の略語) は、オペレータセッションが長時間続く場合に、CICS の各トランザクション間でアプリケーションデータを受け渡すための標準的で効率のよい方法です。 オペレータが呼び出した各トランザクションは、COMMAREA にデータを置いて次のトランザクショ ンに渡すことができます。CICS トランザクションでは、端末が接続されていない場合に、入力データ の唯一のソースとして COMMAREA を使うことができます。リモートのクライアントは、このような プログラムを呼び出してアプリケーションサービスを提供することができます。
CORBA
CORBA は 、 OMG (Object Management Group) の 定 義 し た Common Object Request Broker Architecture を表す略語です。CORBA は、言語に依存しないオープンスタンダード仕様です。多く のベンダーがこの仕様を実装し、コンポーネントベースのアプリケーションに対する分散プラットフ ォームとして提供しています。
EAI
アナリストが考え出した用語 Enterprise Application Integration (エンタープライズアプリケーショ ンインテグレーション) の略語で、多くのアプリケーションを組み合わせて「スーパー」アプリケーシ ョンを実現する一般的な活動を表します。Web を使ってクライアントに広範なサービスを提供すると きは、多くの場合、統合化が必要です。しかし、アプリケーションの多くは、オペレータ (画面やウィ ンドウを使用) およびファイルだけを相手に動作するように作られているため、統合化は困難です。
EJB
Enterprise JavaBeans の略語です。EJB は JavaBean の 1 つの形式であり、リモートのクライアン ト (Java) アプリケーションから呼び出すことができます。EJB には、処理の対象とするデータやトラ ンザクションの意味に合わせて、様々な種類があります。Session Bean は、クライアント固有のセッ ション状態を維持し、Entity Bean は、データベースのレコードを表す共有データを提供します。
HTML
HyperText Markup Language の略語です。HTML は、ブラウザに表示する Web ページを作成する ための言語です。HTML は、標準的な Web ブラウザであればどのブラウザでも理解できるように、 http を使ってインターネット上を転送されます。
HTTP
HyperText Transfer Protocol の略語です。HTTP は、インターネットかイントラネットかに関係なく、 HTML や XML などのデータを転送するために使われるネットワークプロトコルです。
IMS
IBM の Information Management System (情報管理システム) の略語です。IMS は、銀行業務など 非常に高速のトランザクション処理が要求されるアプリケーションをサポートするために、多くの企
J2EE
Java 2.0 Enterprise Edition の略語です。J2EE は、トランザクション、セッション、およびセキュ リティ管理といったアプリケーションサービスのプラットフォームを、完全な形で提供します。J2EE は Java の拡張版であり、Java アプリケーション用のアプリケーションサーバを提供します。このサ ーバを Java プラットフォームと呼ぶことがよくあります。
J2EE コネクタアーキテクチャ
J2EE コネクタアーキテクチャ は、Java アプリケーションから Java 以外のアプリケーション (Enterprise Information Systems または EIS とも呼ばれる) にアクセスするための一般的な機構を規 定した仕様です。このアーキテクチャでは、コネクションを「管理」することによって、Java の厳密 な制約に違反する EIS の動作から、Java クライアントおよび Java プラットフォームを保護します。
Java
Sun Microsystems の提供するプログラミング言語であり、ハードウェアプラットフォームに合ったバ イトコードインタプリタと仮想マシン (実行時) を使うことにより、ほとんどすべてのプラットフォー ムで実行できます。Java 言語は、SUN9 の管理下にある JCP (Java Community Process) が標準化と 維持管理を行っています。
JavaBean
JavaBean は、自己検証可能なインターフェイスを提供する Java クラスです。そのため、アプリケー ションは、ソースコードがなくても、そのクラスおよびメソッドの署名を調べてクラスを呼び出すこ とができます。また、Java ツールを使って自己検証を行うことにより、プログラマは自分の作成する アプリケーションに JavaBean を簡単に組み込むことができます。Java プラットフォーム
Java プラットフォームは、Java 言語、J2EE サービス、Web サーバ、および Java アプリケーション サーバで実現される Java ベースのアプリケーション環境です。Java プラットフォームには、多くの Web ユーザが並行使用できるようなアプリケーションを構築するためのトランザクション、セッショ ン、およびセキュリティサービスが用意されています。
MQ
MQ シリーズ は、メッセージキューイングを目的とした IBM のミドルウェアであり、リモートコン ピュータとの間で、配信を保証するスケーラビリティの高いメッセージ配信サービスを提供します。SOAP
Simple Object Access Protocol の略語です。SOAP は、コンピュータ間で情報を交換するための XML ベースのプロトコルです。SOAP メッセージは、http を使ってインターネットやイントラネット上に 配信されるのが普通で、リモートプロシージャを呼び出したりドキュメントを配信したりすることが できます。SOAP メッセージは、エンベロープにヘッダと本体を含めて配信します。ヘッダには要求 の配信に役立つ情報を設定し、本体には、送信先アプリケーションで必要となる情報を入れます。 9
TP
Transaction Processor (トランザクションプロセッサ) の略語です。TP は、同時にアクセスする多数 のオンラインユーザにサービスを提供するシステムに対して、ビジネスデータの完全性を保証すると ともに処理とリソースの利用を最適化するためのアプリケーションサービスを提供します。TP システ ムの例としては、IBM の CICS Transaction Server、 XSeries、および BEA の Tuxedo があります。 TP システムでは、情報システムの構成要素となっている複数のデータベースを、整合性のある状態で 維持します。ユーザの要求した各処理単位 (トランザクション) は、完全に実行されるか、またはまっ たく実行されないかのどちらかで、処理途中で終了するということはありません。トランザクション の処理中にシステム障害が発生したときは、復旧機構が働いて、すべてのデータベースを整合性のあ る元の状態に戻します。
UDDI
Universal Description, Discovery, and Integration の略語です。UDDI には、開発者やアプリケーシ ョンが Web サービスを検出してその位置を特定するための機構があります。UDDI は、Web サービス のイエローページと呼ばれることがあります。一般的に、開発者用のツールでは、UDDI レジストリ にアクセスして、対象とするサービスの WSDL を探します。次に WSDL を使って、クライアントア プリケーションを作成します。このときリモートコンピュータと通信するための複雑なコードを生成 するツールを使います。アプリケーションが UDDI レジストリを調べて、複数の候補から 1 つを選択 し、そこへ要求を送信する場合もあります。
Web サービス
Web サービスは、クライアントプログラムがインターネットを通して利用できるアプリケーションサ ービス (たとえばプログラム) のことです。Web サービスを利用する場合は、http を使って Web サー バに要求を送ります。Web Services のこの定義はあいまいなので、Web Services Interoperability Organization10 では、標準化されているプロトコル (http、XML、SOAP、WSDL、および UDDI) の 組み合わせ (Web サービス相互運用プロファイルと呼ばれている) を使った、より厳密な定義に置き換 えようとしています。WSDL
Web Services Description Language (Web サービス記述言語) の略語です。WSDL は、Web サービス との間でインターフェイスに関する情報を指定するための、XML スキーマのことです。WSDL によっ て定義されている公開インターフェイスには、次の情報を含めることができます。 • 公に利用できる全操作の情報 • 全メッセージのデータ型の情報 • 使用する特定の転送プロトコルに関するバインド情報 • 指定したサービスの位置を特定するためのアドレス情報
XML
ベースになっています。多くの企業は、種々の業種やアプリケーションで11 XML スキーマを定義しよ うとしています。
アプリケーションサーバ
アプリケーションサーバという用語は、さまざまなクライアントから送られてきたメッセージに応じ て、複数のアプリケーションを同時に実行できる環境を表すときに使います。この用語は、IBM の WebSphere Application Server や BEA の WebLogic Application Server といった Java アプリケーシ ョンサーバを参照するときによく使います。これらのサーバでは、Web ベースのクライアントセッシ ョンやその他のクライアントセッションに代わって Java アプリケーションを実行するための、スケ ーラビリティの高い J2EE サービスを利用できます。一般的に Java アプリケーションサーバは、イ
ンターネットを利用しているクライアントに対してWeb サーバ経由で応答します。
CICS と IMS は多数の 3270 端末使用クライアントに実行環境を提供するので、これらもアプリケー ションサーバといえます。Microsoft の Windows は、COM および .NET フレームワークを使ってア プリケーションサーバ機能を提供しています。Micro Focus の Application Server は、Windows、 UNIX、および Linux の各プラットフォームで COBOL アプリケーションを動作させるための実行環 境を提供しています。
インターフェイスマッピング
インターフェイスマッピングは、2 つのインターフェイス間の関係を定義して、それらインターフェイ ス間でデータを移動させるプログラムコードを自動的に作成できるようにする技法です。インターフ ェイスマッピングは、COBOL プログラムの内部インターフェイス (COMMAREA や連絡節など) を、 外部インターフェイス (SOAP 要求など) にマッピングする方法を定義するために使用されます。可用性
可用性は、アプリケーションサーバの「サービス品質」特性であるRAS (信頼性、可用性、保守性) の 1 つです。可用性の高いシステムでは、オペレータがサービスを必要とするときに、いつでも迅速に、 そのサービスを利用できます。コンポーネント
コンポーネントは、複数のクライアントが同時に共有できるアプリケーションサービスです。コンポ ーネントのインターフェイスは、一般的にオブジェクト指向型です (コンポーネントは、クラスおよび そのクラスの提供するサービスを定義するメソッドで定義されます)。各クライアントは、コンポーネ ントの既存インスタンスに接続することで、他のクライアントと同じコンテキストを利用することが できます。もちろん、新しいインスタンスを呼び出すこともできます。Microsoft のコンポーネントモ デルは COM です。CORBA はより一般的なコンポーネントモデルであり、種類の異なる多くのプラッ トフォームで利用できます。サービス
サービスは、サーバの処理対象となる要求をカテゴリ (タイプ) に分けて定義したものです。サービス は通常、サービス名 (たとえば、UDDI レジストリ内の Web サービス名) とサービスインターフェイス (たとえば、サポート対象の操作およびメッセージを定義するための WSDL) で定義します。サービス の実行は、サーバが待ち行列から要求を取り出した時点で、対応する「インスタンス」が生成され開 始されます。多くのサービスインスタンスが並行して実行されることもありますが、その場合、タイ プの異なるサービスインスタンスどうしはもちろんですが、タイプの同じインスタンスどうしであっ 11ても、それぞれが完全に切り離されて実行されます。
サービスブローカ
サービスブローカとは、入ってくるサービス要求を受け付けるとともに、そのサービスを提供するア プリケーションへ、そのサービスの実行に適した形式で配信するミドルウェアのことです。ブローカ は、サービスインスタンスの位置を特定して実行の準備をするとともに、入ってきた要求データをパ ラメータデータに変換します。サービスインスタンスの実行が終わると、サービスブローカはその出 力データを変換してクライアントに返します。サービスインスタンスはその時点で消滅します。処理単位
処理単位とは、(最小単位の) 完結したトランザクションを実行するプログラムコードのことです。処 理単位は、最後まで処理されるかロールバックされるかのいずれかです。CICS のトランザクションは 1 つの処理単位です。COBOL プログラムが処理単位になることもあります。その場合、プログラムの 入口が開始位置になり、プログラムの出口が処理単位の終了位置になります。信頼性
信頼性 は、アプリケーションサーバの「サービス品質」特性である、RAS (信頼性、可用性、保守性) の 1 つです。信頼性は、何らかの原因でシステムに障害が発生する可能性を定義したものです。障害 が発生すると、クライアントに間違った応答が返ったり、データが壊れたりします。ステートレスサービス
ステートレスサービスとは、サービスの動作内容が以前の実行履歴から影響を受けないサービスのこ とです。データベースに対する単純なクエリー (たとえば、Get Customer by ID) はステートレスサー ビスの一例です。ステートレスサービスは、異なるクライアント間でサービスを効率よく再利用でき るという特長から、サーバにとっては重要なサービスです。セッション
セッションとは、3 層構成の (複合) プラットフォームで、種々の技術階層にわたって実行される論理 的な制御スレッドのことです。どのセッションも、コンテキストの提供対象となるクライアントは 1 つのみです。このコンテキストは、クライアントがその前のやりとりでアクセスしたデータを使用し たいような場合、長時間にわたって維持させることができます。セッション管理は、クライアントに 対するセッションの継続性を保証するだけでなく、同じ Web サーバおよびアプリケーションサーバで 複数のセッションが並行して実行される場合でも、それぞれのセッションを完全に切り離して実行さ せます。層
層は、複合プラットフォームアーキテクチャにおける論理的なプラットフォーム要素です。3 層アーキ テクチャでは、層 1 がクライアント (または Web ブラウザ)、層 2 が中間層、層 3 がバックエンドにそ れぞれ対応します。3 層アーキテクチャの場合は、フロントエンド (クライアント) から発信されたサ ービス要求が、論理層を通ってバックエンド (メインフレーム) に送られます。N 層と呼ぶ場合は、分 散コンピューティング用の複合プラットフォームで (アーキテクチャ上の)「対等」なコンピュータを中間層
中間層とは、3 層アーキテクチャの中間にある層のことです。中間層の多くは複数の Web サーバとア プリケーションサーバから構成されており、Windows または UNIX プラットフォームで動作します。 中間層は、スケーラビリティを高める目的で複数のコンピュータに実装されることがあります。また、 いわゆる 2 層アーキテクチャとよく呼ぶものを提供するために、(たとえば Linux の動作する) メイン フレームに組み込まれることもあります。バックエンド
バックエンドとは、3 層アーキテクチャにおける 3 番目の層のことです。バックエンドは、中間層 (中 間つまり 2 番目の層) に対して、トランザクションサービスやデータアクセスサービスを提供します。 バックエンドサービスは、従来型のトランザクション処理プラットフォームで実行されることがあり ます。3 層アーキテクチャによって、3270 端末からアプリケーションサービスにアクセスするという 形態が、MQ などのミドルウェアを通した中間層アクセスに取って代わられました。ファイアウォール
ファイアウォールは、外部のアクセスから内部のシステムとデータを保護するためのセキュリティを 提供します。ファイアウォールは、インターネットへ出ていくトラフィックとインターネットから入 ってくるトラフィックがすべて通るゲートウェイであり、送信元アドレスと送信先アドレスを監視し て、許されているトラフィックのみを通過させます。複合プラットフォーム
複合プラットフォームはハードウェアプラットフォームとソフトウェアプラットフォームから構成さ れ、そのアーキテクチャは 3 層または n 層になっています。Windows NT Server 上で Web サーバ と Java アプリケーションサーバを動作させるとともに、MQ シリーズを通して OS/390、CICS、および DB2 の実行されている IBM メインフレームに接続している場合、その Windows NT Server は、複合 プラットフォームの一例といえます。保守性
保守性は、アプリケーションサーバの「サービス品質」特性である RAS (信頼性、可用性、保守性) の 1 つです。保守性は、システムエンジニアがシステムの性能、完全性、監査などをどこまで管理および 変更できるかというレベルを定義したものです。リソースアダプタ
リソースアダプタは、Java からベンダーのアプリケーションにアクセスするための Java アプリケーシ ョンサーバ用プラグインコンポーネントです。リソースアダプタを使うことで、Java アプリケーショ ンサーバとベンダーアプリケーションとの間の橋渡しが可能となります。リソースアダプタは、基本 的に Java 以外の言語で作成されており、異なるプラットフォームで実行させることができます。リソ ースアダプタを使うことにより、アプリケーションと J2EE との間でトランザクション、セキュリテ ィ、および接続の各機構を連携させることができます。リモートプロシージャコール
何回も行う操作を一連の命令としてまとめたものをプロシージャと呼び、その基本となるインターフ ェイスは、データを渡して結果を返してもらうというかたちをとります。通常は、アプリケーション に組み込みます。リモートプロシージャコールは、リモートコンピュータ上の操作を呼び出すための機構です。リモートプロシージャコールの構文は、アプリケーション内の操作を呼び出す場合と同じ です。リモートプロシージャとの間のデータの受け渡しは、通信ソフトウェアを使って行います。