talend esb - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/v552/... ·...

114
Talend ESB ⼊⾨ガイド 5.5.2

Upload: others

Post on 30-May-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend ESB⼊⾨ガイド

5.5.2

Page 2: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend ESB

発⾏⽇ 2015年1⽉29⽇製作著作 © 2011-2015 Talend Inc. All rights reserved.

Copyleft

本書は、クリエイティブコモンズパブリックライセンス(CCPL)の条件に基づいて提供されています。CCPLに準拠した許可事項および禁⽌事項の詳細は、http://creativecommons.org/licenses/by-nc-sa/2.0/を参照してください。

このドキュメントには、Apache License 2.0の下でライセンスされているApache SoftwareFoundationで作成されたドキュメンテーションが含まれている場合があります。

商標について

TalendおよびTalend ESBはTalend, Inc.の商標です。

Apache CXF、CXF、Apache Karaf、Karaf、Apache Cellar、Cellar、ApacheCamel、Camel、Apache Maven、Maven、Apache Archiva、Archiva、ApacheSyncope、Syncope、Apache ActiveMQ、ActiveMQはApache Foundationの商標です。EclipseEquinoxは、Eclipse Foundation, Inc.の商標です。soapUIはSmartBear Softwareの商標です。HypericはVMware, Inc.の商標です。NagiosはNagios Enterprises, LLC.の商標です。

その他のブランド、商品名、会社名、商標、およびサービスマークは各所有者に帰属します。

Page 3: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend ESB⼊⾨ガイド

⽬次1. Talend ESBソリューションの概要 ..................................................................... 1

1.1. Talend ESBフィーチャー ...................................................................................... 21.1.1. Webサービスのサポート .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.2. 標準のOSGiランタイム .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.3. メッセージング .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.4. Talend Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2. Talend ESB製品およびアーキテクチャ ....................................................................... 71.2.1. Talend ESB Standard Edition (SE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2.2. Talend Open Studio for ESB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2.3. Talend Enterprise ESB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.2.4. Talend Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2. Talend ESBの使い⽅ ..................................................................................... 152.1. Talend ESB製品を使⽤するための前提条件 ................................................................ 162.2. ソフトウェアのダウンロードおよびインストール ......................................................... 16

2.2.1. コミュニティ製品の場合 .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.2.2. EnterpriseおよびPlatform製品の場合 .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3. デモの代替コンテナの作成 .................................................................................... 172.4. ソフトウェアの開始 ............................................................................................ 19

2.4.1. Talend Runtimeの実⾏ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.4.2. Talend Administration Centerの開始 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.4.3. Talend Studioの開始 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.5. デモのソフトウェア要件 ....................................................................................... 283. 基本的なデプロイメントとRuntimeのユースケース ........................................... 29

3.1. Studioを使ったデータサービスとルートの構築とデプロイ .............................................. 303.1.1. 簡単なSayHelloデータサービスの構築 .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.1.2. SayHelloRouteのサンプル .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.2. Studioを使ったRESTサービスの構築とデプロイ .......................................................... 483.2.1. 単純なRESTサービスの構築 .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.2.2. RESTサービスのデプロイ .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.2.3. 単純なRESTサービスコンシューマーの構築 .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

3.3. Javaを使⽤したデータサービスおよびルートのビルドおよびデプロイ ................................ 773.3.1. Rent-a-Carデモのサンプル .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773.3.2. デモのデプロイ .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793.3.3. デモの実⾏ .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813.3.4. デモのアンインストール .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

3.4. EclipseへのRent-a-Car Javaデモのインポート ........................................................... 863.4.1. プロジェクトファイルのビルド .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863.4.2. Eclipseへのインポート .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863.4.3. サンプルの実⾏ .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

4. SOAガバナンスによる⾼度なデプロイメントとRuntimeのユースケース ................ 894.1. Service LocatorおよびService Activity Monitoringを使⽤したRent-a-Carデモ ................... 90

4.1.1. Service LocatorおよびService Activity Monitoringのインストールおよび開始 .. . . . . . . . . . . . . . 904.1.2. 前のフィーチャーのアンインストール .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924.1.3. Service Activity MonitoringおよびService Locatorを有効化したデモのビルド .. . . . . . . . . . . . . . 924.1.4. Rent-a-Carサンプルフィーチャーのインストール .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934.1.5. 1つのコンテナでデモを実⾏してService Activity Monitoringデータを⽣成 .. . . . . . . . . . . . . . . . . . 944.1.6. 2つのコンテナでのデモの実⾏ - Service Locatorでのサーバーフェールオーバーのシミュレーション .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964.1.7. デモフィーチャーのアンインストール .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

4.2. Security Token Serviceを使⽤してWS-SecurityベースのSAML認証を提供するRent-a-Carのデモ .................................................................................................................... 99

4.2.1. ログの設定 .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994.2.2. セキュリティが有効なデモの構築 .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994.2.3. デモフィーチャーのアンインストール .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

4.3. Artifact Repositoryを使⽤したRent-a-Carのデモ ...................................................... 1014.3.1. NexusArtifact Repositoryのダウンロードおよびインストール .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024.3.2. Artifact Repositoryへのデモのパブリッシュ .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024.3.3. Nexus Artifact Repositoryを使⽤したデモのTalend ESB Standard Editionへのデプロイ .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034.3.4. Talend Administration Centerを使⽤したデモのArtifact RepositoryからTalendRuntimeへのデプロイ .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

4.4. XKMSを使⽤したRent-a-Carのデモ ....................................................................... 1074.4.1. デモ⽤のXKMSサービスの設定 .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074.4.2. Rent-a-Carデモの例の構築 .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Page 4: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend ESB⼊⾨ガイド

Page 5: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend ESB⼊⾨ガイド

1.Talend ESBソリューションの概要エンタープライズサービスバス(ESB)は、常に各ベンダーのサービス指向アーキテクチャ(SOA)戦略の基盤となっています。Talend ESBは、従来のESBより以下の点で著しく改善されています:

• ⽐較的⼩さなフットプリント

• 実証済みのオープンソーステクノロジーの活⽤

• 既存のアプリケーションおよびインフラストラクチャの容易な統合

この章では、Talend Runtime、OSGiコンテナ、Webサービスのサポート、Talend Studioなど、Talend ESBソリューションとそのコンポーネントおよび機能の⾼度な概要について説明します。

また、利⽤可能なパッケージ、およびそれぞれのアーキテクチャの詳細についても説明します。

Page 6: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend ESBフィーチャー

2 Talend ESB⼊⾨ガイド

1.1. Talend ESBフィーチャーTalend ESBは、組織でさまざまな統合の課題に対処するための、汎⽤性のある柔軟なESBです。これは、広範な標準の転送およびプロトコル、エンタープライズ統合パターン(EIP)、効果的なメッセージソリューションを設計するために開発された⼀般的な⼀連のベストプラクティスの記述をサポートします。いくつかのパッケージで利⽤可能なTalend ESBは、既存のレガシーなインフラストラクチャコンポーネントとの広範な相互運⽤性を実現できるオープンで標準ベースのフィーチャーです。

Talendは、多様なユーザーのコミュニティで設計および構築されたソフトウェア製品をエンタープライズグレードで配信し、⾃由に利⽤可能にするための最も認知度の⾼いオープンソースコミュニティApache Software Foundation (ASF)に参加することで、Talend ESBの基盤となるテクノロジーに投資し、促進を図り、発展に寄与してきました。オープンソースコミュニティは独⾃開発のソフトウェアのベンダーよりも次世代のイノベーションをいっそう推し進めています。

Talend ESBは、Apache CXF、Apache Camel、およびApache ActiveMQオープンソース統合プロジェクトを活⽤し、システムとアプリケーションを統合し拡張するためのコスト効率の良い使いやすい⼿段を提供することで、エンタープライズクラスの統合に対処できるようにします。

オープンソースサービスフレームワーク、Apache CXFにより、企業はJAX-WSやJAX-RSなどのフロントエンドプログラミングAPIを使⽤して、サービスを構築および開発することができます。

Apache Camelは、EIPを使⽤してルーティング、転送、およびメディエーションルールを実装するための強⼒なオープンソース統合フレームワークです。

最も⼀般的なオープンソースメッセージングプロバイダー、Apache ActiveMQを活⽤することで、各メッセージブローカーは1秒間に何千ものパーシステントメッセージを処理しながら多数の接続に対処できます。

1.1.1. WebサービスのサポートTalend ESBは、Webサービスの新規作成、また既存のアプリケーションおよびインターフェイスをWebサービスに対応にする作業を⽀援します。開発者は、コードを作成する代わりに、戦略定義による設定中⼼のアプローチを利⽤して、さまざまな品質のサービスを実現できます。TalendESBは、WebサービスおよびRESTアプリケーションを開発およびデプロイするためのApache CXFのフィーチャーを活⽤します。

Apache CXFは、⼀般的なSpring Frameworkでサポートされる軽量のモジュール型アーキテクチャです。そのため、実⾏するプラットフォームを問わず、アプリケーションと連携できます。以下のように実⾏できます:

• スタンドアロンのJavaアプリケーション

• サービスエンジン(Tomcatなど)の⼀部として

• (Talend Runtimeなど)OSGiコンテナでOSGiバンドルとして

Apache CXFは、重要なあらゆるWebサービスの標準をサポートし、Java API for XML Web Services(JAX-WS)仕様に完全に準拠します。JAX-WSでは、WebサービスコンテキストでスタンドアロンJavaアプリケーションを表す⽅法をCXFなどのツールに指⽰する注釈を定義します。CXFを使⽤したWebサービスの開発には、次の2種類があります:

1. コントラクトファースト開発:

WSDLは、Webサービスが提供する操作およびタイプを定義します。これはWebサービスコントラクトとも呼ばれることもあり、Webサービスとやりとりするために、コントラクトを満たす必要があります。コントラクトファースト開発とは、まず(⼿書きまたはツールを使⽤して)WSDLファイルを記述してから、CXFなどのツールを使⽤してWSDLファイルからスタブJavaクラス実装を⽣成するということです。

Page 7: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

標準のOSGiランタイム

Talend ESB⼊⾨ガイド 3

2. コードファースト開発:

Webサービスを開発するもう1つの⽅法は、まずJavaクラスから開始して、WebサービスフレームワークでWSDLコントラクトを⽣成するジョブを処理させるという⽅法です。これは最も容易な開発モードですが、ツール(この場合、CXF)もコントラクトになるコントロールに含まれることになります。WSDLファイルを最適に調整したい場合、コントラクトファーストアプローチをお勧めします。

Apacheは、広範なベンダーのWebサービス実装で承認され、検証されてきました。ユーザーはこの相互運⽤性の検証の恩恵を受け、アプリケーション統合に関する全体的なコストおよび複雑性が削減されます。

Talend ESBは、SOAPおよびREST Webサービスの作成をサポートし、HTTPおよびJMS転送上でのWS-Addressing、WS-Reliable Messaging、およびWS-Securityのサポートを含め、市場で最⾼のWS-*機能を提供します。

さらに、Talend ESBディストリビューションのWebサービススタックは、Apache CXFの範囲を超えて、以下をサポートします:

• 説明的な例およびドキュメンテーションを含むOSGiコンテナ

• Talend Studioを使⽤したグラフィカルなデータサービス開発

• デプロイ時ポリシーを使⽤した詳細サービスガバナンス

• WebユーザーインターフェイスおよびJMXベースAPIを介した⼀元的なデプロイおよび設定オプション

• サービスの管理および監視

1.1.2. 標準のOSGiランタイムTalend ESBの標準ランタイムは、OSGiコンテナです。Talend ESBに同梱のOSGi実装は、OSGiRuntimeとしてEclipse Equinoxを使⽤するApache Karafであり、さまざまなコンポーネントおよびアプリケーションをデプロイできる軽量なコンテナを提供します。

図1.1 Karafコンポーネントの概要

Karafは、以下のフィーチャーをサポートします:

• ホットデプロイメント:Karafは、[home]/deployディレクトリ内のjarファイルを監視します。そのため、jarがこのディレクトリにコピーされるとランタイムの中に⾃動的にインストールされます。その後これを更新または削除することは可能で、Karafは適宜処理します。

• 動的設定:サービスは、通常、監視対象のプロパティファイルを使⽤して標準のOSGiサービスで設定されます。変更はサービスに伝播されます。

• ログ: Log4Jでサポートされる⼀元的なロギングバックエンドを使⽤します。

Page 8: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

メッセージング

4 Talend ESB⼊⾨ガイド

• インスタンスの管理:Karafには、複数のインスタンスを管理するための単純なコンソールコマンドが⽤意されています。

• Karafの例については、「Javaを使用したデータサービスおよびルートのビルドおよびデプロイ」を参照してください。詳細は、『Talend ESBコンテナ Administration Guide』およびhttp://karaf.apache.org/を参照してください。

1.1.3. メッセージングエンタープライズメッセージングソフトウェアは、統合プロジェクトにおいて30年以上使⽤されてきました。アプリケーション間の通信のスタイルをメッセージでやりとりするだけでなく、アプリケーション間の統合の広く採⽤されたスタイルにもなっています。メッセージングは、アプリケーション間の相互運⽤性とゆるやかに連携し、通知および⾮同期のニーズを満たします。

Talend ESBには、Apache ActiveMQメッセージブローカーが組み込まれ、数多くのさまざまなメッセージングオプションがサポートされます。ActiveMQは、Javaで記述され、JMS仕様を実装します。さらに、その他の数多くのフィーチャーが追加され、エンタープライズメッセージングに⾼い可⽤性、パフォーマンス、スケーラビリティ、信頼性、セキュリティを提供します。

メッセージブローカーの仕事は、分散アプリケーション間でイベントを転送し、対象の送信先に確実にメッセージが届くようにすることです。そのためブローカーは、可⽤性が⾼く、⾼性能で、スケーラブルである必要があります。Apache ActiveMQはTalend Runtimeに組み込まれ、Talend ESBで使いやすい⼿段を提供します。

1.1.4. Talend StudioTalend Studioは、以下のパースペクティブを持つグラフィカルな開発ツールを提供します:

• [Integration] (統合)パースペクティブ

• [Mediation] (メディエーション)パースペクティブ

• [Java]パースペクティブ(m2eclipseプラグインを含むEnterpriseおよびPlatformのStudio)

• [soapUI]パースペクティブ(EnterpriseおよびPlatformのStudioのみ)

以下のセクションでは、これらのパースペクティブについて詳細に説明します。

1.1.4.1. [Integration] (統合)パースペクティブ[Integration] (統合)パースペクティブは、Talend Studioの中のグラフィカルツールであり、これにより広範なデータアダプターのリストを使⽤しESBデータサービスをビルドして、スタンドアロン⽤またはローカルTalend Runtimeコンテナ内のデプロイメント⽤にエクスポートすることができます。EnterpriseおよびPlatformのStudioでは、アーティファクトリポジトリのプロビジョニングリポジトリでサービスをパブリッシュし、Talend Administration Centerからリモートでデプロイすることもできます。[Integration] (統合)パースペクティブでは、使いやすいグラフィカルな開発環境でデータサービスを開発することができます。これにより、あらゆるタイプのデータサービス、データ移⾏、およびデータ同期処理に対応する、あらゆるソースおよびターゲットシステムに対する事前に構築されたコネクターを使⽤して、迅速な開発およびメンテナンスコストの削減を実現できます。

[Integration] (統合)パースペクティブのコアは、Eclipseベースの単⼀のグラフィカルな開発環境の中で、4つの主要アプリケーションで構成されます(ビジネスモデラー、ジョブデザイナー、サービスデザイナー、メタデータマネージャー)。

Page 9: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Studio

Talend ESB⼊⾨ガイド 5

図1.2 サービスデザインを含む[Integration] (統合)パースペクティブ

「Service」ノードのサービスは、WSDLで定義されたWebサービスです。WSDLは、単純にインポートすることも、組み込みのグラフィカルなWSDLエディターでツールを使⽤して最初から作成することも、既存のWSDLをインポートしてからStudioで編集することもできます。ここでは、サービスはWSDL情報に基づいており、各サービス操作はジョブデザインノードに実装することができます。

図1.3 ジョブデザインを含む[Integration] (統合)パースペクティブ

データサービスジョブは、1つ以上のコンポーネントが相互に接続されたグラフィカルな設計で、データサービス操作を設定し実⾏できます。ジョブは、データ統合プロセスに必要なさまざまなソースやターゲットすべてに対応しており、データ統合プロセスをWebサービスと組み合わせます。

さらにEnterpriseおよびPlatformのStudioでは、⼤きなチームで作業するために共有リポジトリフィーチャーを使⽤してリソースを共有することができます。これにはチームコラボレーションの

Page 10: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Studio

6 Talend ESB⼊⾨ガイド

機能が備わり、チームメンバーは業界標準のソースマネージャー(SVN)でビジネスモデル、統合およびサービスジョブ、統合サービスおよびメタデータを保存し共有することができます。そのためオブジェクトおよびコードの再利⽤性が向上し、開発のベストプラクティスの設計が容易になります。Talend Studioでは、(SAP⽤などの)ウィザードのようなさらに⽣産性を向上させるための機能やデプロイメントオプション(アーティファクトリポジトリへのパブリッシュ)も利⽤できます。

詳細は、『Talend Studioユーザーガイド』を参照してください。

1.1.4.2. Mediation (メディエーション)パースペクティブ

このセクションではまずApache Camelについて説明し、次にこの機能のグラフィカルインターフェイスとなる[Mediation] (メディエーション)パースペクティブについて説明します。

Apache Camel

Talend ESBのメディエーション機能は、⼀般的なApache Camel製品をベースとしています。Camelフレームワークの中枢はルーティングエンジンです。これを使⽤し、コンポーネントを通じてメッセージを送受信するルーティングルールを定義します。メッセージ形式に制限はなく、Javaオブジェクト、XML、JSON、プレーンテキストなどさまざまな形式を使⽤できます。これらのルーティングルールは、Gregor Hohpeの著書「Enterprise Integration Patterns」などに基づいています。

そのため、Apache Camelは開発者がエンドポイント/プロセッサをワークフロー(ルート)に組み⽴てて⾼度な機能を実現しやすいフレームワークとなっています。これにより、エンタープライズ統合パターン(EIP)を活⽤してスケーラブルなサービスを実質的に組み⽴てることでアプリケーション統合が促進され、設計および実装対象のメッセージベースのシステム統合がより単純化されます。Camelは、Javaベースのドメイン固有⾔語(DSL)を使⽤してルーティングおよびメディエーションルールを実装するためのEIPを作成できるオープンソースのJavaフレームワークです。つまり、条件が変更されるとすばやく容易に更新できるルーティングルールを完備することができます。

スケーラビリティには⾮同期パターンが必要なため、EIP、つまりCamelは、⾮同期メッセージングパターンに焦点を当てています。ただし、⾮同期メッセージングはより複雑です。Camelは、統合開発者に広く理解されている⼀般的なフレームワークでこの複雑性をラッピングしています。

Camelには⾼度な抽象概念があるため(メッセージ、交換、コンポーネント、エンドポイントなど)、同じAPIを使⽤してさまざまなシステムと対話できます。たとえば、各ルートはコンポーネントおよびエンドポイントAPIを実装し、同じ基本メッセージおよびExchange構造と連携します。特定のプロトコルおよびデータタイプと連携するために、各コンポーネントを実装します。そのため、同じパターンおよびルーティングセマンティクスを使⽤しながら、さまざまなプロトコルおよびシステムを容易に接続することができます。

Camelは、異なるエンドポイント間の形式および転送を仲介します。⼀般的には、異なるメッセージ形式を使⽤し、異なる⾔語で記述されていても、サービスはCamelメディエーションで相互にやりとりすることができます。また、ロギングや追跡などの機能を追加することも容易になります。Camelは⾮常に軽量であるため、スタンドアロンJavaアプリケーション、Webアプリケーション、OSGiバンドルなど、どこにでも組み込み、デプロイすることができます。

Javaドメイン固有⾔語(DSL)を使⽤してルートを指定することができます。たとえば、以下のように指定します:

From(“file:directory”).to(“jms:queuename”)

この単純なステートメントは、ディレクトリからファイルをポーリングし、それぞれのファイルの内容のJMSメッセージをJMSキューに送信します。CamelはExchangeオブジェクトをベースとする⼀律のインターフェイスを提供するため、これが可能になります。

[Mediation] (メディエーション)パースペクティブ

Page 11: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend ESB製品およびアーキテクチャ

Talend ESB⼊⾨ガイド 7

ルートビルダー([Mediation] (メディエーション)パースペクティブ)は、Apache Camel上でTalendStudioと統合されたGUIで、開発者はこれを使⽤してビジュアル的にルートをビルドすることができます。

ルートは、スタンドアロンモードで実⾏することも、Talend Runtimeコンテナの中に容易にデプロイできるOSGiバンドルとしてエクスポートすることもできます。さらにEnterpriseおよびPlatformのStudioでは、共有リポジトリフィーチャーを使⽤して⼤きなチームで作業することもできます。

図1.4 [Mediation] (メディエーション)パースペクティブ

細かな設定が不要なTalend ESBは、豊富なコンポーネントのライブラリを通じて、80を超えるプロトコルおよびデータ型をサポートします。これらのコンポーネントを使⽤して、ルートを転送で接続し、APIを使⽤して、データ形式を認識させることができます。また、独⾃のコンポーネントを容易に作成することもできます。コンポーネントAPIは⾮常に簡潔です。Talend ESBはモジュール式アーキテクチャを備え、これによりコンポーネントが、Camelに同梱されたものか、他社製か、あるいは独⾃にカスタムで作成したものかにかかわらず、Camelにロードすることができます。独⾃のコンポーネント(プロセッシング、接続、ルーティングなど)は⾮常に簡単に作成することができ、ドキュメントも揃っています。

1.2. Talend ESB製品およびアーキテクチャApacheプロジェクトに組み込まれている標準機能以外に、Talendは、現在および将来の要件を満たすために、4種類のパッケージでESB機能を提供しています。以降のセクションで、このESB機能について説明します。これらのESB製品をすばやく⽐較するには、オンラインのESB⽐較マトリクスを参照してください。

1.2.1. Talend ESB Standard Edition (SE)Talend ESB Standard Editionは、機能的、エンタープライズおよび地理的な境界にまたがり分散されたシステムを統合するために使⽤される標準ベースの接続レイヤーです。機能には、メッセージン

Page 12: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Open Studio for ESB

8 Talend ESB⼊⾨ガイド

グ、Webサービス、インテリジェントルーティング、およびデータ変換が含まれます。モジュール式のプラグ可能なアーキテクチャによって、⼤半のエンタープライズ要件に適合するように簡単に拡張でき、オープンソースのApacheライセンスに基づいて使⽤できます。また、次のエンタープライズクラスの機能が組み込まれています。

• Service Locator—Talend ESB Standard Editionでは、Apache Zookeeperを介したダイナミックなエンドポイントの登録およびルックアップを可能にする新たに開発されたApache CXFの拡張機能を通じて、⾃動的かつ透過的なフェールオーバーおよび負荷分散を提供します。

詳細は、「Service LocatorおよびService Activity Monitoringを使用したRent-a-Carデモ」および『Talend ESBインフラストラクチャサービス Configuration Guide』を参照してください。

• Service Activity Monitoring—Talend ESB Standard Editionは、イベントをキャプチャーし、アクティビティ情報を保存することで、サービス応答時間、トラフィックパターン、サービスライフサイクル、監査などを含むサービスアクティビティのより綿密な分析を容易にします。

詳細は、「Service LocatorおよびService Activity Monitoringを使用したRent-a-Carデモ」および『Talend ESBインフラストラクチャサービス Configuration Guide』を参照してください。

• Security Token Service (STS)フレームワーク—Talend ESB Standard Editionには、SecurityAssertion Markup Language (SAML 2.0)をサポートするSTSフレームワークが組み込まれています。SAMLは、複数のアプリケーションやドメイン間でセキュリティ証明書のフェデレーションを確⽴します。これによって、クライアントとサービスは、接続時に透過的かつ安全に認証されます。カスタムコードは必要ありません。このSTSフレームワークは、TalendがApache CXFコミュニティのために実現したもう1つの重要な貢献です。

詳細は、「Security Token Serviceを使用してWS-SecurityベースのSAML認証を提供するRent-a-Carのデモ」および『Talend ESBインフラストラクチャサービス Configuration Guide』を参照してください。

1.2.2. Talend Open Studio for ESBTalend Open Studio for ESB‒Talend ESB Standard Editionをはじめとする、データサービスをモデル化、設定、デプロイおよび管理する⾰新的なEclipseベースのツール環境です。Talend OpenStudio for ESBは、開発者の⽣産性を⾼めることで、習得の困難さを排除し、デプロイメントに要する時間を短縮するため、組織はビジネスの需要に迅速に対応できます。

Page 13: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Open Studio for ESB

Talend ESB⼊⾨ガイド 9

図1.5 Talend Open Studio for ESBの運⽤の基本概念

3つの異なるタイプの機能ブロックを特定できます。

• ⻘いブロックは、データ統合またはデータサービスプロセス、メディエーションルート、およびサービスを実⾏できるTalend Studio APIを表します。詳細は、『Talend Open Studio for ESB UserGuide』の該当する章を参照してください。

• その他のブロックは、1つ以上のTalend Runtimeと追加のESBインフラストラクチャサービスから構成されるTalend ESB Standard Editionを表します。

• ⾚いブロックは、情報システム内にデプロイされた1つまたは複数のTalend Runtime (実⾏コンテナ)を表します。Talend Runtimeを使⽤して、Talend Studioで作成されたジョブ、ルート、およびサービスをデプロイおよび実⾏できます。Talend Runtimeにアイテムをデプロイする⽅法の詳細は、『Talend Open Studio for ESB User Guide』を参照してください。TalendRuntimeの詳細は、『Talend ESBコンテナ Administration Guide』を参照してください。

サービスやルートをデプロイするTalend Runtimeが複数ある場合は、必要に応じてその実⾏の負荷を分散することができます。Talend RuntimeのすべてのインスタンスはService Locatorを通じてお互いにコミュニケーションを取り、デプロイおよび実⾏に最適なインスタンスを特定します。

• オレンジのブロックは、データプロセスおよびサービスアクティビティの実⾏のログ情報を収集する監視データベースを表します。

Page 14: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Enterprise ESB

10 Talend ESB⼊⾨ガイド

データプロセスログ情報は、tFlowMeterCatcher、tStatCatcher、tLogCatcherコンポーネントを使⽤してTalend Studio内でキャプチャできます。詳細は、『Talend Components Reference Guide』を参照してください。tFlowMeterCatcher、tStatCatcher、tLogCatcherコンポーネントを使⽤せずにそれらの機能を⾃動化するには、[Stats & Logs] (統計&ログ)タブを使⽤できます。統計およびログの詳細は、『Talend Open Studio for ESB User Guide』を参照してください。

エンドユーザーはService Activity Monitoringを使⽤してサービスの呼び出しを監視できます。これは、エンドユーザーがイベントを構成する基本的な要求と応答を把握し、予期せず発⽣する障害を監視して、システム管理に関する意思決定をサポートすることができる、統合的な監視イベント情報を提供します。Service Activity Monitoringの詳細は、『Talend ESBインフラストラクチャサービス Configuration Guide』の該当の章を参照してください。

• Service LocatorおよびService Activity Monitoringに加え、Talend Runtimeは、特にクライアントとWebサービスが異なるセキュリティドメインに属する場合に、それらの間で信頼関係を確⽴するために使⽤できるSecurity Token Service機能を提供しています。Security Token Serviceは、セキュリティトークン、つまり、クライアントがサービスにアクセスするための名前、ロール、認証コードなどのクレームの集合を発⾏するために使⽤されます。メッセージの受信者は、STS証明書のみを知っていれば、トークン署名を確認し、認証情報の信頼されたステートメントを取得できます。

これらすべてのアプリケーションのインストールの詳細は、『Talendインストレーションガイド』を参照してください。

1.2.3. Talend Enterprise ESBTalend Enterprise ESBは、複数のチーム間で開発プロジェクトを管理し、企業全体にわたり⼀貫した⽅法で統合された本番環境を運⽤する必要のあるアプリケーションチーム向けに設計されています。そのため、Talend ESBには、Talend Open Studio for ESBのすべての機能が含まれ、さらに、チームのコラボレーション、エンタープライズ管理などの機能によってそれが強化されています。

Page 15: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Enterprise ESB

Talend ESB⼊⾨ガイド 11

図1.6 Talend Enterprise ESBの運⽤の基本概念

5つの異なるタイプの機能ブロックが定義されています。

• ⽔⾊のブロックは、1つまたは複数のTalend Studio APIとWebブラウザーが同じマシンまたは別のマシンにあることを⽰しています。

エンドユーザーは、Studio APIから技術的なプロセスを実⾏できます。つまり、データ統合またはデータサービスプロセス、メディエーションルートおよびサービスを実⾏して、それらをアーティファクトリポジトリ上にパブリッシュすることができます。ユーザーは⾃分が許可されているプロジェクトの作業をTalend Studioで⾏います。詳細は、『Talend Studio User Guide』を参照してください。

エンドユーザーは、WebブラウザーからセキュアなHTTPプロトコルを通じてリモートベースのTalend Administration Centerに接続します。

この説明におけるエンドユーザーのカテゴリには、開発者、プロジェクトマネージャー、管理者のほか、Web、REST、データサービス、メディエーションルートの構築に関わるさまざまな⼈たちが含まれます。それぞれのエンドユーザーは、会社のポリシーに応じて、Talend StudioまたはTalend Administration Center、あるいはその両⽅を使⽤します。

• 紫⾊のブロックは、WebベースのTalend Administration Center (アプリケーションサーバー)を⽰しています。このサーバーは、SVNサーバーベースとデータベースサーバーベースの2つの共有リポジトリに接続しています。

すべてのプロジェクトは、Talend Administration Centerで管理できます。管理メタデータ(ユーザーアカウント、アクセス権、プロジェクト権限など)はデータベースサーバーに保存され、プロジェクトメタデータ(ジョブ、ビジネスモデル、ルーチン、ルート、サービスなど)はSVNサーバーに保存されます(そのため、エンドユーザー間でそれらを容易に共有できます)。

また、Talend Administration Centerでは、Talend Studioで作成されアーティファクトリポジトリにパブリッシュされたルートまたはサービスにアクセスしてそれらを管理し、それらのTalendRuntimeへのデプロイメントおよび実⾏をセットアップし管理できます。

Page 16: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Enterprise ESB

12 Talend ESB⼊⾨ガイド

さらに、Talend Administration Centerを使⽤して、ESBアーティファクトにより安全にアクセスでき、許可されているリソースのみにアクセスするユーザーがを管理できます。事実、TalendAdministration Centerでは、サービスリソースとそれらのポリシーベースのセキュリティを専⽤リポジトリのService Registryに保存して管理できます。Service Registry⾃体は、Talend ESBコンテナの⼀部ですが、Talend Administration Centerからサービスとポリシーの⼀元管理、および配信を実⾏できます。このように、会社のサービスとポリシーを、常時、アクセス可能で⼀貫した再利⽤可能な状態に維持できます。サービスセキュリティに加え、Talend Administration Centerは、特定のユーザー、ロール、アクセス権限を特定のサービスに付与できる認証機能を提供しています。ユーザーとそのロールは、Talend Administration Centerでアクセス可能なTalend IdentityManagementサービスWebアプリケーション(Apache Syncopeに基づく)で定義されます。

最後に、Talend Administration Centerでは、分散されたコンテナから収集されたイベントをすべて監視および検索できます。それらのイベントは、Talend Runtimeコンテナ(ジョブ、ルートなど)からのログ、Talend Runtimeによって⽣成されたOSGiイベント(バンドルに関する情報)およびService Activity Monitoringイベントのいずれかです。監視、インデックス付け、および検索できる各種イベントと、それらの収集の設定⽅法の詳細は、『Talend ESBインフラストラクチャサービス Configuration Guide』を参照してください。

詳細は、『Talend Administration Center User Guide』を参照してください。

• 濃⻘⾊のブロックは、以下のすべてを保存するアーティファクトリポジトリを表します。

• ダウンロード可能なソフトウェアアップデート。

• Talend Studioからパブリッシュされ、いつでもTalend Runtimeでデプロイおよび実⾏できるルートとサービス。

それらのアーティファクトには、ESB Publisher (ESBパブリッシャー)とTalend AdministrationCenterのSoftware update (ソフトウェアアップデート)ページからアクセス可能なアーティファクトリポジトリWebアプリケーションでアクセスできます。

• ⾚いブロックは、情報システム内にデプロイされた1つ以上のTalend Runtime (実⾏コンテナ)を表します。Talend Runtimeでは、Talend Administration Center Webアプリケーションで定義されたセットアップに従って、技術的プロセスをデプロイおよび実⾏します。それらのプロセスは、アーティファクトリポジトリから取得されたルートおよびサービスです。

サービスやルートアーティファクトをデプロイするTalend Runtimeが複数ある場合は、必要に応じてその実⾏の負荷を分散することができます。Talend RuntimeのすべてのインスタンスはService Locatorで相互にコミュニケーションを取り、Talend Administration Centerでデプロイメントに設定されたアーティファクトのデプロイと実⾏に最適なインスタンスを特定します。デプロイメントに選出されたTalend Runtimeは、アーティファクトリポジトリにアーティファクトのデプロイおよび実⾏を要求します。アーティファクトとその実⾏に必要な依存関係はすべてアーティファクトリポジトリからTalend Runtimeに送られて、そのTalend Runtimeによってデプロイおよび実⾏されます。

• オレンジ⾊のブロックは、Activity MonitoringコンソールおよびService Activity Monitoringによる監視を表します。

エンドユーザーはActivity Monitoringコンソールを使⽤して、技術的プロセスの実⾏を監視できます。このコンソールには詳細な監視機能が備わっており、収集したログ情報の統合、基本的なデータフローのインタラクションの把握、予期しないエラー発⽣の回避、システム管理に関する決定のサポートなどが可能です。

エンドユーザーはService Activity Monitoringを使⽤してサービスの呼び出しを監視できます。これは、エンドユーザーがイベントを構成する基本的な要求と応答を把握し、予期せず発⽣する障害を監視して、システム管理に関する意思決定をサポートすることができる、統合的な監視イベント情報を提供します。

Page 17: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Platform

Talend ESB⼊⾨ガイド 13

これらのすべてのアプリケーションのインストールの詳細は、『Talendインストレーションガイド』を参照してください。

1.2.4. Talend PlatformTalend Platform (for Data Services、for Enterprise Integration、for MDM、Universal)は、⾼度なクラスタリング、ビジネスプロセス管理、アプリケーション統合、強化されたデータマッピング、データ管理などのフィーチャーでTalend Enterprise ESBを拡張し、会社がビジネスの⽣産性を⾼め、プロジェクトをより迅速に実現し、運⽤コストを低減できるようにします。Talend Platform Universalは、デフォルトでビッグデータテクノロジーが組み込まれていますが、他のプラットフォームでオプションとして使⽤することもできます。さらに、Talend Platform for Enterprise IntegrationとTalend Platform Universalには、⾼度なモデル化、開発、デプロイメント、および管理機能を実現するBPMも組み込まれています。

Page 18: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend ESB⼊⾨ガイド

Page 19: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend ESB⼊⾨ガイド

2.Talend ESBの使い⽅この章では、Talend ESBソフトウェアを使⽤する前に必要な情報について説明します。この章を読むと、以下の章のデモのサンプルを実⾏する準備が整います。

ソフトウェアを使⽤するための主な実⾏⼿順は、以下のセクションで説明されています:

1. 「Talend ESB製品を使用するための前提条件」

2. 「ソフトウェアのダウンロードおよびインストール」

3. 「ソフトウェアの開始」

4. 「デモのソフトウェア要件」

Page 20: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend ESB製品を使⽤するための前提条件

16 Talend ESB⼊⾨ガイド

2.1. Talend ESB製品を使⽤するための前提条件Talend ESB製品のインストールを開始する前に理解しておく必要のある、多数のソフトウェアおよびハードウェアの前提条件があります。

インストール要件、互換性のあるソフトウェアおよびソフトウェアバージョンの詳細なリストは、次を参照してください。

• Talend Studioを使⽤している場合は、『Talendインストレーションガイド』を参照してください。

• Talend ESB Standard Editionを使⽤している場合は、該当する『Talendインストレーションガイド』を参照してください。

<TalendRuntimePath>は、Talend Runtimeがインストールされているディレクトリになります。これは、通常、使⽤しているソフトウェアのバージョンに応じてRuntime_ESBSEまたはTalend-ESB-VA.B.Cのフルパスになります。適宜、置き換えてください。

たとえば、Talend Runtimeの例は、<TalendRuntimePath>/examples/talendディレクトリにあります。

2.2. ソフトウェアのダウンロードおよびインストールこのセクションでは、以降の章で説明されているデモ⽤に使⽤される製品と、それらのインストール、設定、および開始⽅法を説明します。

使⽤している製品のバージョンに応じて、以下を参照してください。

• 「コミュニティ製品の場合」

• 「EnterpriseおよびPlatform製品の場合」

2.2.1. コミュニティ製品の場合Talend ESBコミュニティ製品は、Webサイト: http://www.talend.com/download/esbから無償で⼊⼿可能です。

⼊⼿可能な製品は、次のとおりです。

• Talend ESB Standard Edition、追加のインフラストラクチャサービスを備えた、Apache Karafに基づくOSGiコンテナ。

• Talend Open Studio for ESB、StudioとESB Runtimeの両⽅が組み込まれています。ESB Runtimeは、Talend ESB Standard Edition製品とまったく同等です。

これらの製品の概要については、このガイドの1章Talend ESBソリューションの概要を参照してください。

デモに必要なソフトウェア:

• 「Studioを使ったデータサービスとルートの構築とデプロイ」および「Studioを使ったRESTサービスの構築とデプロイ」で説明されているユースケースの場合は、インフラストラクチャサービスに対応した、Talend Open Studio for ESBのStudioとESB Runtimeの両⽅をインストールして開始する必要があります。

Page 21: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

EnterpriseおよびPlatform製品の場合

Talend ESB⼊⾨ガイド 17

• ⼀⽅、「Javaを使用したデータサービスおよびルートのビルドおよびデプロイ」、「ServiceLocatorおよびService Activity Monitoringを使用したRent-a-Carデモ」、「Security Token Serviceを使用してWS-SecurityベースのSAML認証を提供するRent-a-Carのデモ」で説明されているユースケースの場合は、インフラストラクチャサービスに対応した、Talend ESB Standard Edition (またはTalend Open Studio for ESBのESB Runtime)のみが必要です。

• 「Artifact Repositoryを使用したRent-a-Carのデモ」で説明されているユースケースでは、EnterpriseおよびPlatform製品にデフォルトで含まれているリポジトリ管理ソフトウェアが必要なため、特にこれらの製品のユーザーを対象としています。ただし、外部リポジトリ管理ソフトウェアをコミュニティ製品と⼀緒に使⽤することもできます。

• 「XKMSを使用したRent-a-Carのデモ」で説明されているユースケースでは、EnterpriseおよびPlatform製品で使⽤可能な暗号化機能が必要なため、これらの製品のユーザーのみを対象としています。

詳細は、以下を参照してください。

• Talend Open Studio for ESBおよびインフラストラクチャサービスをインストールして開始するには、『Talend Open Studio for ESBインストレーションガイド』の⼿順を実⾏します。

• Talend ESB Standard Editionおよびインフラストラクチャサービスをインストールして開始するには、『Talend ESB Standard Editionインストレーション』の⼿順を実⾏します。

2.2.2. EnterpriseおよびPlatform製品の場合Enterprise (エンタープライズ)またはPlatform (プラットフォーム)エディションにサブスクライブしたお客様には、ダウンロードの⼿順が記載された電⼦メールとライセンスファイルが送信されます。

Enterprise (エンタープライズ)またはPlatform (プラットフォーム)エディションをインストールする際には、Talend Installerを使⽤することをお勧めします。代わりに、電⼦メールに指定された『Talendインストレーションガイド』の⼿順に従うこともできます。

これらの製品の概要については、このガイドの1章Talend ESBソリューションの概要を参照してください。

2.3. デモの代替コンテナの作成Talend ESBインストールのcontainerサブディレクトリには、1つのTalend Runtimeコンテナが含まれます。ただし、このガイドで説明されているデモユースケースの中には、2つのコンテナが必要なものがあります。このセクションでは、同じマシンに2番⽬のコンテナを作成する⽅法を説明します。

2番⽬のコンテナは、異なるコンテナ上で実⾏するクライアントとサーバーに共通する実世界の状況に⼀致します。それは、個別に起動しアプリケーションをデプロイできるTalend Runtimeコンテナのコピーです。この2番⽬のコンテナは、SayHelloの例のSayHelloRouteの部分(「SayHelloRouteのサンプル」を参照)、およびRent-a-Car (レンタカー)の例のService Locatorの部分(「Service LocatorおよびService Activity Monitoringを使用したRent-a-Carデモ」を参照)で必要となります。

Talend ESB Standard EditionまたはTalend Open Studio for ESBのユーザーの場合は、それぞれダウンロードしたTESB_SE-VA.B.CパッケージまたはTalend Open Studio for ESBのインストールから抽出したRuntime_ESBSEフォルダーを直接使⽤して、そのcontainerフォルダーをコピーします。

Page 22: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

デモの代替コンテナの作成

18 Talend ESB⼊⾨ガイド

EnterpriseユーザーとPlatformユーザーは、ダウンロードしたTalend-ESB-VA.B.Cパッケージを使⽤して、そのcontainerフォルダーをコピーします。また、Talend ESBのcontainerフォルダーとまったく等しいTalend Runtimeパッケージ(Talend-Runtime-VA.B.C)を直接使⽤することもできます。

Talend InstallerでTalend ESBをインストールしたEnterpriseユーザーとPlatformユーザーの場合は、esb/containerフォルダーをコピーする必要があります。

コンテナのコピー1. コピーするコンテナがまだ開始されていないことを確認します。

2. Linux端末またはWindowsコマンドラインウィンドウで、ディレクトリを<TalendRuntimePath>に変更します。

3. 関連するコマンドを実⾏して、すべての内容とともにディレクトリcontainerのコピーを作成します。

• cp -r container alternate-container (Linux)

• robocopy /e container alternate-container (Windows)

• xcopy /e container alternate-container (robocopyのない古いWindows)

これで、ディレクトリalternate-container内に2番⽬のコンテナが存在します。

2つのコンテナインスタンス間の競合を避けるために、alternate-containerの設定を調整する必要があります。

代替コンテナの設定1. デフォルト(1番⽬の)コンテナが同時に実⾏されていないことを確認します。同時に実⾏してい

ると、ポートの競合が発⽣します。

2. alternate-containerをデフォルト設定で実⾏します。

3. 代替コンテナの開始:

• Linuxで、ディレクトリ<TalendRuntimePath>/alternate-containerに移動し、次のコマンドを実⾏します。

./bin/trun

• Windowsで、ディレクトリ<TalendRuntimePath>\alternate-containerに移動し、次のコマンドを実⾏します。

.\bin\trun.bat

4. 初期化フェーズが終了するまで待ちます。Talend Runtimeが作成されたすべてのバンドルとともに開始されたことを確認するには、次のコマンドを実⾏します。

list

5. 代替コンテナのプロンプトで次のコマンドを実⾏し、別の⼀意の設定グループを設定するTalend Runtime設定適合スクリプトを呼び出します。

source scripts/configureC1.sh

これで、設定はローカルで更新され保存されます。次回、代替コンテナの実⾏時に、新しい設定が使⽤され、コンテナと代替コンテナの両⽅を同時に実⾏できます。

6. 以降のデモでは必要ありませんが、3番⽬や4番⽬のコンテナを作成する場合は、元のコンテナのディレクトリを3番⽬の場所にコピーします(上記の説明を参照)。ここでも、3番⽬のコンテナの

Page 23: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

ソフトウェアの開始

Talend ESB⼊⾨ガイド 19

実⾏を開始し、コンテナのプロンプトで次のコマンドを使⽤して、別の適合スクリプトを呼び出します。

source scripts/configureC2.sh

同様に、4番⽬のコンテナでは、次を使⽤します。

source scripts/configureC3.sh

次を使⽤して、任意のコンテナ内のデフォルト値を再設定できます。

source scripts/configureC0.sh

代替コンテナの開始時に"Port already in use" (ポートは既に使⽤中)という例外が表⽰された場合は、デフォルトパラメーターを使⽤するコンテナがまだ実⾏されていないことを再確認します。エラーが存続する場合は、無関係なプロセスによってポートが使⽤されている可能性があるため、状況に応じて、alternate-

container/etcフォルダー内の設定ファイルを⼿動で更新します。

2.4. ソフトウェアの開始このセクションでは、ソフトウェアの開始について説明します。このソフトウェアは、本ガイドの後の章で説明するユースケースを理解するために必要です。

最初に、『Talendインストレーションガイド』の説明に従って、製品を適切にインストールしたことを確認してください。

使⽤する必要のあるソフトウェアに応じて、次のいずれかの⼿順を実⾏します。

1. 「Talend Runtimeの実行」

2. 「Talend Administration Centerの開始」 (EnterpriseまたはPlatformのみ)

3. 「Talend Studioの開始」

2.4.1. Talend Runtimeの実⾏このセクションでは、Talend ESB Standard EditionおよびTalend ESB EnterpriseとPlatform EditionのTalend Runtimeを簡単に開始する⽅法を説明します。ここでは、特別な違いがない限り、両⽅のエディションをTalend Runtimeと呼びます。さらに、Talend Runtimeインフラストラクチャサービスの実⾏⽅法についても説明します。

このセクションの⼿順を実⾏する前に、「Talend ESB製品を使用するための前提条件」をお読みになることを推奨します。その後で「ソフトウェアのダウンロードおよびインストール」の説明に従って、Talend Runtimeをダウンロードしてください。

このパッケージの内容

• Talend Runtimeコンテナ

インフラストラクチャサービス

• Service Locator

• Service Activity Monitoring

• Security Token Service

Page 24: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Runtimeの実⾏

20 Talend ESB⼊⾨ガイド

その他

• Apache ActiveMQ (メッセージブローカー)

2.4.1.1. Talend Runtimeコンテナの開始

1. Talend Installerを使って製品をインストールした場合、最初に"Talend Runtime"サービスを停⽌します。

2. Talend Runtimeインストールディレクトリの<TalendRuntimePath>\container\binサブディレクトリに進みます。

3. trun.bat (Windows)またはtrun.sh (Linux)を実⾏します。

コンテナが開始すると、簡単な⼿順(以下の画⾯に類似)に続き、Talend Runtimeコンテナコンソールのコマンドプロンプトが表⽰されます。

Talend Runtimeコンテナが開始したら、初期化が完了するまで数秒待ち、それからコマンドを⼊⼒します。Talend RuntimeコンテナはKarafに基づいて構築されており、Karafによりコア以外のバンドルがバックグラウンドで開始します。そのため、コンソールが利⽤可能でも、コマンドはまだ利⽤できない場合があります。

4. コンソールのプロンプトkaraf@trun>の後に、listコマンドを⼊⼒します。

これにより、Talend RuntimeコンテナにインストールされたすべてのOSGiバンドルが表⽰され、バンドルがアクティブであるかどうかが⽰されます。

詳細は、『Talendインストレーションガイド』を参照してください。

Talend Runtimeコンテナの詳細、およびその操作⽅法の詳細は、『Talend ESBコンテナAdministration Guide』を参照してください。

2.4.1.2. すべてのインフラストラクチャサービスの開始

各インフラストラクチャサービスを個々に開始するのではなく、すべてを⼀度に開始できます。Talend Runtimeコンテナが開始し、すべてのバンドルがアクティブになったら、次の操作を実⾏します。

1. tesb:start-allと⼊⼒し、すべてのインフラストラクチャサービスを開始します。

これで、Service Locator、Service Activity Monitoring、Security Token ServiceのサービスがTalend Runtimeコンテナのフィーチャーとして実⾏されます。

EnterpriseおよびPlatform Talend ESBでは、このコマンドはTalend ESB Standard EditionおよびTalend Open Studio for ESBの場合と同じように動作しますが、このコマンドにより追加のサービスがインストールされます(たとえば、Service Registry、認証など)。

2. デモのために、EnterpriseとPlatformのユーザーは、デフォルトのセキュリティ管理システムのTalend Identity ManagementサービスをTalend ESB Standard EditionおよびTalend OpenStudio for ESBのデフォルト、JAAS認証ハンドラー(使いやすく、追加のソフトウェアのインストールを必要としない)に変更する必要があります。

Page 25: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Administration Centerの開始

Talend ESB⼊⾨ガイド 21

Talend Runtimeコンテナコンソールのプロンプトの後に次のように⼊⼒します。

tesb:switch-sts-jaas

上記のサービスを個々に起動またはスタンドアロンとして起動する⽅法についての詳細は、『Talendインストレーションガイド』を参照してください。

Talend ESBインフラストラクチャサービスの詳細は、『Talend ESBインフラストラクチャサービスConfiguration Guide』を参照してください。

2.4.2. Talend Administration Centerの開始EnterpriseまたはPlatformのユーザーは、この時点でTalend Administration Centerを開始します。Talend Open Studio for ESBのユーザーは、「Talend Studioの開始」に進んでください。

Talend Administration Centerでは、新規リモートプロジェクトを作成したり、⾃分のための新規ユーザーアカウントを作成したり、新規作成したこのプロジェクトへのアクセス権を⾃分に付与することができます。リモートプロジェクトの利点は、⼀元管理されるプロジェクトで何⼈ものユーザーが共同作業できることで、このプロジェクトは企業全体のプロジェクトに対して最⼩のプロジェクトとなります。

また、Talend Studioで作成され、Talend Runtimeコンテナに取り込まれたSOAPサービス、RESTサービスジョブ、ルートなどのESBアーティファクトのパブリッシュとデプロイをTalend Administration Centerを使って直接管理することもできます。これを⾏うには、TalendAdministration CenterとTalend Runtimeコンテナを接続する必要があります。詳細は、「TalendRuntimeのTalend Administration Centerへの接続」を参照してください。

2.4.2.1. Talend Administration Centerの実⾏

1. Talend Installerを使って製品をインストールした場合、tacという名前のディレクトリに進みます。

2. start_tac.batという実⾏可能ファイルをダブルクリックします。

これにより、Talend Administration Centerの実⾏環境であるサーブレットコンテナ(デフォルトはApache Tomcat)が起動します。

3. 開始したら、デフォルトのアカウントである[email protected]/adminを使って、TalendAdministration Centerにログインします。

Page 26: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Administration Centerの開始

22 Talend ESB⼊⾨ガイド

製品を⼿動でインストールした場合、⾃分のサーブレットコンテナでTalend Administration Centerをデプロイしたことになります。その場合は、コンテナを実⾏し、Talend Administration Centerを開始します。

2.4.2.2. Talend Administration Centerの設定Talend Administration Centerを設定するには、左側のメニューで[Configuration] (設定)リンクをクリックします。

表⽰される警告のほとんどは、製品のすべてのモジュールを開始していないことから発⽣します。たとえば、次のような場合があります。

• [Commandline/secondary] (コマンドライン/セカンダリ)のアイコンは、セカンダリコマンドラインを使⽤することにし、それを開始する場合にのみ緑⾊になります。これは次のデモユースケースには該当しません。

• [ESB Service Locator and SAM] (ESB Service LocatorおよびSAM)のアイコンは、Talend ESBおよびそのインフラストラクチャサービスを開始した場合に緑⾊になるはずです。

• [ESB Identity and Access Management] (ESB IdentityおよびAccess Management)のアイコンは、Talend Identity Managementサービスをインストールして開始する場合に緑⾊になります。これは次のデモユースケースには該当しません。

• [ESB Service Registry]のアイコンは、Talend ESBおよびそのインフラストラクチャサービスを開始した場合に緑⾊になるはずです。

• [Software Update] (ソフトウェアアップデート)のアイコンは、専⽤のTalend Archiva ArtifactRepositoryを開始する場合に緑⾊になります。これは次のデモユースケースには該当しません。

1. Talend Installerを使⽤した場合、Talend Administration Centerの[Configuration] (設定)ページの[Commandline/primary] (コマンドライン/プライマリ)セクションでは、cmdline/

start_cmdline.bat (Windows)またはcmdline/start_cmdline.sh (Linux)というコマンドラインを実⾏します。

⼿動でCommandlineをインストールした場合、インストールした場所に進み、Windowsの場合はcommandline.bat、Linuxの場合はそのバージョンに応じてcommandline-linux.shまたはcommandline-linux_x86_64.shを実⾏します。

Commandlineは、ESB Publisherを使⽤するために実⾏する必要があります。

2. Talend Administration Centerの[Configuration] (設定)ページの[ESB Publisher andConductor] (ESB PublisherおよびConductor)セクションでは、Talend Nexus ArtifactRepositoryを開始します。

Talend Administration CenterにはArtifact Repositoryが付属しています。そのため、TalendInstallerを使って製品をインストールした場合、インストールディレクトリのtacフォルダーにアーティファクトリポジトリが格納されます。Artifact-Repository-Nexus-VA.B.C.D.Eサブフォルダーの中にあります。⼿動で製品をインストールすると、Artifact RepositoryはTalendAdministration Centerパッケージ(Talend-AdministrationCenter-rXXXXXX-VA.B.C)にも格納されます。

Artifact-Repository-Nexus-VA.B.C.D.Eディレクトリから、次を実⾏します。

• ./bin/nexus console (Linux)

• .\bin\nexus.bat console (Windows)

これでアーティファクトリポジトリはhttp://localhost:8081/nexus/index.htmlで実⾏されます。localhostと8081を、Artifact RepositoryをインストールしたサーバーのIPアドレスとポート

Page 27: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Administration Centerの開始

Talend ESB⼊⾨ガイド 23

番号に置き換えます。デフォルトのログインとパスワードのadmin/admin123を使ってログインできます。

3. テクニカルログファイルおよびビジネスログファイルへのパスを⼊⼒して、Log4jパラメーターを設定します。

デモのユースケースについては、Talendログサーバーは必要ありません。そのため、[Technical logstash appender] (テクニカルlogstashアペンダー)のパラメーターの警告には注意する必要がありません。

4. Svnへの接続情報を⼊⼒し、Svnのパラメーターを設定します。

これを⾏うには、Windowsの場合、最初にSubversionサーバーをインストールする必要があります。LinuxではSubversionが組み込まれます。次にSubversionサーバーで、Talendプロジェクトのために1つ、Stuidoを開始するとダウンロードされる外部ライブラリのために1つ、合計で2つのリポジトリを作成します。

最後に、Talend Administration CenterのSvn設定エントリにこれらの2つのリポジトリへの接続情報を⼊⼒します。

2.4.2.3. Talend Administration Centerの使い⽅

これでTalend Administration Centerが開始し設定されたため、管理機能を使⽤することができます。

最初のユーザーとプロジェクトの設定

1. 左側のメニューで[Users] (ユーザー)リンクをクリックし、[Users] (ユーザー)ページで新規ユーザーを作成します。

2. [Add] (追加)ボタンをクリックします。

3. 右側の[Data] (データ)パネルに、Talend Administration CenterとSvnの⾃分の認証情報を⼊⼒します。

Page 28: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Administration Centerの開始

24 Talend ESB⼊⾨ガイド

アカウントには必ずDesignerとOperation managerの役割を割り当ててください。それにより、Studioの使⽤およびTalend Administration CenterからESBアーティファクトの管理が可能になります。

4. [Save] (保存)をクリックします。作成した新規アカウントがリストに表⽰されます。

5. 左側のメニューで[Projects] (プロジェクト)リンクをクリックし、[Projects] (プロジェクト)ページで新規プロジェクトを作成します。

6. [Add] (追加)ボタンをクリックします。

7. 右側の[Project] (プロジェクト)パネルの[Label] (ラベル)フィールドにプロジェクトの名前を⼊⼒します。

8. [Save] (保存)をクリックします。作成した新規プロジェクトがリストに表⽰されます。

9. 左側のメニューで[Project authorizations] (プロジェクトアクセス権限)リンクをクリックし、[Project authorizations] (プロジェクトアクセス権限)ページで作成したユーザーアカウントのプロジェクトにアクセス権を指定します。

10. 左側の[Project] (プロジェクト)パネルでプロジェクトをクリックして選択します。

Page 29: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Studioの開始

Talend ESB⼊⾨ガイド 25

11. 右側の[User Authorizations] (プロジェクトアクセス権限)パネルで、ユーザーの読み取り・書

き込みアイコン をクリックします。

これでこのプロジェクトに接続することができます。

2.4.2.4. Talend RuntimeのTalend Administration Centerへの接続これを⾏うには、Operation managerのユーザーとしてログインする必要があります。[email protected]アカウントにAdministratorとしてログインしている場合、⼀度ログアウトして、「Talend Administration Centerの使い方」で作成したユーザーを使って再度ログインします。

1. 左側のメニューで[Servers] (サーバー)ページをクリックし、サーバーリストを表⽰します。

Talend Installerを使って製品をインストールした場合、ライセンスに応じて、1つのサーバーとしてジョブサーバーがすでにインストールされ、デフォルトでserv1と表⽰される場合があります。

2. [Add] (追加) > [Add server] (サーバーの追加)をクリックし、新規サーバーを作成します。右側に[Execution server] (実⾏サーバー)フォームが表⽰されます。

3. 次のようにフォームを⼊⼒し、[Save] (保存)をクリックします。

• Label (ラベル):たとえば、Talend Runtime Container

• Host (ホスト):127.0.0.1

• [Talend Runtime] (Talendランタイム)チェックボックスをオンにします。

2.4.3. Talend Studioの開始EnterpriseまたはPlatform製品のユーザーは、最初に「Talend Administration Centerの開始」の⼿順を実⾏する必要があります。

2.4.3.1. Studioの起動1. 次のように、使⽤するオペレーティングシステムに対応する実⾏可能ファイルを起動します。

• Talend Open Studio for ESBの場合、TOS_ESB-win-*.exe (Windows)またはTOS_ESB-linux-

gtk-* (Linux)

• EnterpriseまたはPlatform Studioの場合、Talend-Studio-win-*.exe (Windows)またはTalend-Studio-linux-gtk-* (Linux)

Page 30: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Studioの開始

26 Talend ESB⼊⾨ガイド

2. EnterpriseまたはPlatform製品の場合、Studioを⼿動でインストールすると、この時点でライセンスファイルをロードするように指⽰されます。ライセンスファイルが格納される場所を参照してファイルを探し、[OK]をクリックしてロードします。

2.4.3.2. Studioへのログイン

Talend Open Studio for ESBの場合接続情報は必要ありません。この製品を初めて使⽤する場合、デモプロジェクトをインポートするか、新規プロジェクトを作成するように指⽰されます。

1. 新規プロジェクトを作成するには

Talend Studioのログイン画⾯で、[Create a New Project] (新規プロジェクトの作成)フィールドにプロジェクトの名前を⼊⼒し、[Create] (作成)をクリックします。

2. プロジェクト詳細の⼊⼒のために、[New Project] (新規プロジェクト)ウィザードが開きます。プロジェクトの説明を⼊⼒します。

[Finish] (終了)をクリックします。ログイン画⾯が再度開きますが、この新規プロジェクトが表⽰されます。[Open] (開く)をクリックします。

[Connect to TalendForge] (TalendForgeへ接続)ウィザードが表⽰されます。

3. TalendForge (チュートリアル、サポートなどの提供)にすでに登録している場合、この時点で接続します。登録していない場合は、詳細を⼊⼒してアカウントを作成します。⼀時的にこの⼿順をスキップすることもできます。

4. Studioの初期化の終了中に、Talend Studioの[Welcome] (ウェルカム)ページが表⽰されます。

Page 31: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Studioの開始

Talend ESB⼊⾨ガイド 27

[Welcome] (ウェルカム)ページの[x]ボタンをクリックして閉じ、Talend Studioのメイン画⾯を開きます。

EnterpriseおよびPlatform Studioの場合

EnterpriseまたはPlatform Studioから、Talend Administration Centerで作成したプロジェクトに接続します。

1. Talend Administration Centerで作成したアカウントに基づいて新規接続を作成します。

[Connection] (接続)リストの横にある[...]ボタンをクリックします。[Connection] (接続)ウィザードが表⽰されます。

2. [Repository] (リポジトリ)リストで[Remote] (リモート)を選択します。

3. 接続に付ける名前を[Name] (名前)フィールドに⼊⼒します。

4. [User E-mail] (ユーザーのEメール)と[User Password] (ユーザーパスワード)にTalendAdministration Centerで作成したユーザーアカウントの認証情報を⼊⼒します。

5. [Web-app Url] (WebアプリURL)にTalend Administration CenterのURLアドレスを⼊⼒します。

6. [Check url] (URLの確認)ボタンをクリックし、Talend Administration Centerへの接続が正常に⾏われるかどうかを確認します。

7. 接続が正常に⾏われた場合、[OK]をクリックして接続を作成します。

8. Talend Studioのログイン画⾯で、フィールドに接続情報が⼊⼒されます。

Page 32: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

デモのソフトウェア要件

28 Talend ESB⼊⾨ガイド

[Project] (プロジェクト)リストと[SVN Branch] (SVNブランチ)リストには、アクセスして作業できるすべてのプロジェクトが表⽰されるはずです。

ここではプロジェクトを1つ作成しただけで、ブランチを作成していないため、選択項⽬はありません。

9. [Open] (開く)をクリックし、プロジェクトを開きます。

[Connect to TalendForge] (TalendForgeへ接続)ウィザードが表⽰されます。

10. Talendオンラインコミュニティに接続し活⽤したい場合、このウィザードから作成して接続します。この⼿順をスキップすることもできます。

11. Studioの開始を終了するには、[Additional Talend Packages] (Talendパッケージの追加)ウィザードで必須およびオプションの他社製ライブラリをインストールするよう指⽰されます。Studioの機能を⼗分活⽤するために、この操作を⾏ってください。[Required third-partylibraries] (必須の他社製ライブラリ)および[Optional third-party libraries] (オプションの他社製ライブラリ)のチェックボックスがオンになっていることを確認し、[Finish] (終了)をクリックします。

12. [Download external modules] (外部モジュールをダウンロード)ウィザードが表⽰されたら、ウィザードの下部にある[Accept all] (全てに同意)ボタンをクリックして、Studioで使⽤する外部モジュールのすべてのライセンスに同意します。

13. [Migration tasks done] (移⾏タスクの終了)ウィザードが表⽰され、可能な移⾏タスクが⽰されるため、[OK]をクリックしてウィザードを閉じます。

14. Studioの初期化の終了中に、Talend Studioの[Welcome] (ウェルカム)ページが表⽰されます。

[Welcome] (ウェルカム)ページの[x]ボタンをクリックして閉じ、Talend Studioのメイン画⾯を開きます。

2.5. デモのソフトウェア要件「Talend ESB製品を使用するための前提条件」の要件以外に、デモを実⾏するにはもう1つソフトウェアが必要です。

Apache Maven 3.0.3を使って、SayHello例(「サービスのエクスポートとTalend Runtimeコンテナでの実行」を参照)のサービスのエクスポート部分とRent-a-Carのデモのすべての部分を構築します。そのため、http://maven.apache.org/からApache Mavenをダウンロードしてインストール、mvn実⾏可能ファイルをPath環境変数に含める必要があります。

mvnを初めて実⾏すると、必要なアーティファクト(および最新の後継バージョン)をダウンロードするために、インターネットへのHTTPアクセスが必要になります。ローカルのMavenリポジトリはデフォルトの場所に作成します。つまり、標準のMaven設定を変更することはできません。

Page 33: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend ESB⼊⾨ガイド

3.基本的なデプロイメントとRuntimeのユースケースこの章では、さまざまなデモのユースケースを使ってTalend ESB製品を開始および実⾏する⽅法を説明します。

• 「Studioを使ったデータサービスとルートの構築とデプロイ」では、Talend Studioでルートおよびサービスを作成し、それらをTalend Runtimeにデプロイする⽅法について学習します。

• 「Studioを使ったRESTサービスの構築とデプロイ」では、Talend StudioでRESTサービスを作成し、それをTalend Runtimeにデプロイして、RESTコンシューマージョブで呼び出す⽅法について学習します。

• 「Javaを使用したデータサービスおよびルートのビルドおよびデプロイ」では、Apache CXFサービスをコンパイルして、それらをTalend Runtimeにデプロイする⽅法について学習します。

• 「EclipseへのRent-a-Car Javaデモのインポート」では、サービスをプロジェクトとしてEclipseにインポートする⽅法について学習します。

Talend Studioでサービス、ルートおよびデータサービスジョブを作成し、それらをTalend Runtimeにデプロイして、soapUIプロジェクトでサービスをテストし、Apache Camelテストフレームワークを使⽤してルートの単体テストを⾏うユースケースの詳細は、『Talend Studioユーザーガイド』のESBの付録「理論の実践」を参照してください。

サービス、ルート、およびデータサービスジョブをパブリッシュおよび実⾏する⽅法、およびTalend Administration Centerでサービスエンドポイントおよびサービスアクティビティを監視する⽅法の詳細は、『Talend Administration Centerユーザーガイド』のESBの付録「理論の実践」を参照してください。

Page 34: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Studioを使ったデータサービスとルートの構築とデプロイ

30 Talend ESB⼊⾨ガイド

3.1. Studioを使ったデータサービスとルートの構築とデプロイこのセクションでは、Talend Studioを開始して実⾏する⽅法について説明します。また、あらかじめ定義されたテンプレートを使って、簡単なSayHelloのサンプルを構築する⽅法を⽰します。

JavaベースのESB開発にのみ興味がある場合は、このセクションをスキップして、「Javaを使用したデータサービスおよびルートのビルドおよびデプロイ」に進んでもかまいません。

SayHelloのサンプルに関連する⼿順は次のとおりです。

1. Talend Studioをインストールします(「ソフトウェアの開始」を参照)。

2. 簡単なSayHelloデータサービスを構築します。コンシューマーがサービスにいくつかの名前を送信すると、それぞれに"Hello!"と出⼒されるサービスです。

3. 簡単なSayHelloルートを構築します。

このセクションはデモを作成し実⾏するために⼗分な情報を⽰します。Talend Studioユーザーインターフェイスの包括的な説明については、『Talend Studio User Guide』を参照してください。

このデモで説明する具体的なコンポーネントの詳細は、データサービスコンポーネントの場合は、『TalendComponents Reference Guide』を、メディエーションコンポーネントの場合は、『Talend ESB Mediationコンポーネント Reference Guide』を参照してください。

3.1.1. 簡単なSayHelloデータサービスの構築このサービスを作成するには多数のパーツが関連します。そのサービスは既存の機能をドラッグアンドドロップして実装できます。

1. SayHelloプロバイダーを作成します。

2. SayHelloコンシューマーを作成します。

3. サービスをTalend Runtimeコンテナにエキスポートし、コンシューマーを再度実⾏します。

3.1.1.1. SayHelloプロバイダーの作成

このセクションでは、SayHelloプロバイダーの作成⽅法を⼿順を追って説明します。

サービスの作成

このセクションでは、Webサービスへの外部コントラクトを定義するWSDLを作成します。このWSDLはクライアントにより使⽤されます(詳細は、「Webサービスのサポート」を参照してください)。

1. サービスを作成するには、左側のメニューで[Services] (サービス)を右クリックし、[CreateService] (サービスの作成)を選択します。

Page 35: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

簡単なSayHelloデータサービスの構築

Talend ESB⼊⾨ガイド 31

2. 名前にSayHelloService、⽬的にDemoと⼊⼒し、サービスの説明を⼊⼒したら、[Next] (次へ)をクリックします。

3. 次の⼿順の[Assign WSDL] (WSDLの割り当て)で、[Create new WSDL] (WSDLの新規作成)を選択し、[Finish] (終了)をクリックして、メインの画⾯に戻ります。

4. これでメインの画⾯に[SayHelloService_0.1.wsdl]タブが表⽰されます。このWSDLには、サービスの新規ポート(SayHelloServicePort)、デフォルトの要求操作と応答操作

Page 36: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

簡単なSayHelloデータサービスの構築

32 Talend ESB⼊⾨ガイド

(SayHelloServiceOperationRequestとSayHelloServiceOperationResponse)が含まれます。グレーの⽮印を操作の右側に置くと、パラメーターが表⽰されます。

新規操作を追加したり、既存の操作を編集して、操作を変更することができます。ただし、このデモの場合は、デフォルトの操作だけで⼗分です。

サービスの設定と公開

グリッドのコンポーネントを変更するには

• 四⾓形の境界線をクリックして移動し、グリッドを囲みます。

• 四⾓形を右クリックして適切な操作を選択し、変更を元に戻したり、変更を編集します。

• コンポーネントに特定の操作を⾏うために、四⾓形の中央をクリックします(たとえば、コンポーネントの詳細の確認など)。

1. サービスの詳細とWSDLの要求・応答データ型をメタデータに保存します。それにより他のコンポーネントからアクセスできるようになります。そのためには、[Services] (サービス)の下の[SayHelloService 0.1]を右クリックし、[Import WSDL Schemas] (WSDLスキーマのインポート)を選択します。

Page 37: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

簡単なSayHelloデータサービスの構築

Talend ESB⼊⾨ガイド 33

このオプションにより、サービスからWSDLメタデータが[Repository] (リポジトリ)の[Metadata] (メタデータ)の下にある[File xml] (XMLファイル)にインポートされます。それにより、サービスおよびその他のコンポーネントで操作の詳細を共有できるようになります。

2. 操作を実装します。[SayHelloService 0.1]に表⽰されるモジュールを展開し、[SayHelloServiceOperation 0.1]を右クリックして、[Assign Job] (ジョブの割り当て)を選択します。ウィザードで、[Create a new Job and Assign it to this Service] (新規ジョブをサービスに割り当て)を選択し、[Next] (次へ)をクリックします。

デフォルトの名前とSayHelloServicePortType_SayHelloServiceOperationというプレフィックスをそのまま使⽤し、[Finish] (終了)をクリックします。新規ジョブが作成され、このジョブによりメイングリッドのコンポーネントを使った操作の実装が可能になります。

3. SayHelloServicePortType_SayHelloServiceOperationジョブのデフォルトのテンプレートは、tESBProviderRequestコンポーネントとtESBProviderResponseコンポーネントで構成されています。tESBProviderResponse_1アイコンをクリックし、さらに右にドラッグすることで、グリッド上の2つのESBコンポーネントを離します。

Page 38: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

簡単なSayHelloデータサービスの構築

34 Talend ESB⼊⾨ガイド

4. 次にビジネスロジックを付加します。tXMLMapはデータを変換して、1つまたは複数のソースから1つまたは複数のデスティネーションにルーティングするためのコンポーネントです。右側の[Palette] (パレット)でtXMLMapコンポーネントを探します。異なるセクションに2つのインスタンスが⾒つかる場合がありますが、2つは同じものなので、いずれかを選択します。そのコンポーネントをドラッグして、2つのESBコンポーネントの間にドロップします。

5. tESBProviderRequest_1の中央を右クリックし、[Row] (⾏) > [Main] (メイン)の順に選択し、ラインの終端をtXMLMap_1にドロップします。

6. 次に、tXMLMap_1を右クリックし、[Row] (⾏) > [Main] (メイン)の順に選択し、ラインの終端をtESBProviderResponse_1にドロップします。そのコンポーネントにResponseという名前を付け、[OK]をクリックします。スキーマをインポートするかどうかの確認で、デフォルトの[Yes] (はい)をクリックします。

サービス操作の設定

1. ここではシナリオに⼀致するようにサービス操作をカスタマイズします。tXMLMap_1をダブルクリックし、エディターを開きます。tXMLMapを使って、要求から応答に情報をルーティングし、WDSLからの既存のスキーマ情報を使⽤します。

2. 左側のmain :row1の下にある[payload]を右クリックし、[Import from Repository] (リポジトリからインポート)をクリックします。[Metadata] (メタデータ)ウィザードが表⽰されたら、[File XML] (XMLファイル)から[SayHelloServiceOperationRequest0.1]を探して選択し、[OK]をクリックします。

3. 同様に、右側でもデフォルトの応答タイプをインポートします。[payload]を右クリックし、[Import from repository] (リポジトリからインポート) > [File XML] (XMLファイル)の順にクリックして、[SayHelloServiceOperationResponse 0.1]を選択します。

Page 39: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

簡単なSayHelloデータサービスの構築

Talend ESB⼊⾨ガイド 35

[OK]をクリックします。

これで既存のスキーマから要求操作と応答操作が実装されます。

4. 次に、要求スキーマを応答スキーマにリンクします。左側のinをクリックしてドラッグし、右側の応答の下にあるout式にドロップします。

5. 次に、送信されるデフォルトの式を変更します。右側の[Expression] (式)の下にあるHelloServiceRequestという値をクリックし、その横にある[...]ボタンをクリックします。フィールドをクリックし、式の前に"Hello " +を、後に+"!"を追加して、式を編集します(これにより結果が名前になります)。

[OK]をクリックします。更新された式を右側で確認できます。[OK]をクリックし、メインのジョブデザインウィンドウに戻ります。

6. 最後に、ジョブが実⾏されるのをさらに確認するには、ログコンポーネントを追加します。これを⾏うには、右側の[Palette] (パレット)でtLogを探し、[Palette] (パレット)からtLogRowをドラッグして、tXMLMap_1とtESBProviderResponse_1の間のResponse (応答)リンクにドロップします。

Page 40: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

簡単なSayHelloデータサービスの構築

36 Talend ESB⼊⾨ガイド

これでSayHelloServiceOperationの実装が完了しました。

Talend Studioでのサービスの実⾏

ここでは、これまでの部分が機能するかどうかを確認するために簡単なチェックを⾏います。ウィンドウ下部の中央セクションにある[Run (Job SayHello...)] (実⾏(ジョブSayHello...))タブをクリックし、[Run] (実⾏)ボタンをクリックします。

これによりジョブが構築されます。ログ出⼒ではWebサービスが8090のポートに割り当てられ、他のサービスで使⽤できるようにパブリッシュされたことが⽰されます。

後で使⽤するために、"http://localhost:8090/services/SayHelloService"を選択してコピーします。

Talend Studioでは、ジョブデザインで個々に実装するサービス操作をテストし、実装が正しく⾏われたかどうかを確認できます。複数の操作が設定されたサービス全体をテストする場合、サービスをエクスポートし、ランタイムにデプロイする必要があります。Talend Studioでは複数の操作が設定されたサービスをテストすることはできません。

3.1.1.2. SayHelloコンシューマーこのセクションでは、SayHelloコンシューマーを作成し、それを使ってサービスを呼び出す⽅法を⽰します。

Page 41: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

簡単なSayHelloデータサービスの構築

Talend ESB⼊⾨ガイド 37

SayHelloコンシューマーの作成

1. サービスをテストするために、簡単なコンシューマージョブを作成できます。[Job Designs](ジョブデザイン)を右クリックし、[Create Job] (ジョブの作成)を選択します。[Name] (名前)フィールドにSayHelloConsumerと⼊⼒し、⽬的をDemoとします。[Finish] (終了)をクリックします。

2. [Job SayHelloConsumer 0.1] (ジョブSayHelloConsumer 0.1)タブのパレットでtFixedFlowInputを探してドラッグし、グリッドにドロップします。同様に、次の図のように、tXMLMap、tESBConsumer、tLogRow (2回)のコンポーネントをドラッグしてドロップします。

tFixedFlowInputコンポーネントでは、コンテキスト変数を使って、必要な数のラインとカラムを作成できます。tESBConsumerコンポーネントでは、開始したWebサービスから指定したメソッドが呼び出され、パラメーターに基づいてクラスが返されます。

3. コンポーネントを設定します。tFixedFlowInput_1の中央をダブルクリックし、その下にある[Component] (コンポーネント)タブで[Use Inline Table] (インラインテーブルの使⽤)を選択します。[Edit schema] (スキーマの編集)の横にある[...]ボタンをクリックし、スキーマ編集ウィンドウを開きます。

このウィンドウで、[+]をクリックして⽂字列引数を追加し、newColumnの名前をNameに変更し、[OK]をクリックしてウィンドウを閉じます。

4. tFixedFlowInput_1の[Component] (コンポーネント)タブに戻り、[+]ボタンを使ってサンプル⾏を追加し、"newLine"のテキストを"Peter"、"Alice"、"Bob"に置き換えます。

Page 42: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

簡単なSayHelloデータサービスの構築

38 Talend ESB⼊⾨ガイド

これはコンシューマーがSayHelloServiceに送信するデータのサンプルです。

5. 以前⾏ったように、Job SayHelloConsumer 0.1ジョブでコンポーネントをリンクします。tFixedFlowInput_1を右クリックし、[Row] (⾏) > [Main]を使って、tXMLMap_1にドラッグします。tXMLMap_1を右クリックし、[Row] (⾏)を選択して、この新規出⼒にRequestという名前を付けます(デフォルトの[Yes] (はい)をクリックし、ターゲットコンポーネントのスキーマを取得します)。ラインの終端をtESBConsumer_1にドロップします。

6. tXMLMapをダブルクリックし、以前⾏ったように設定します。右側で[payload] (ペイロード) > [Import From Repository] (リポジトリからインポート)の順にクリックします。[Metadata] (メタデータ)ウィザードが表⽰されたら、[File XML] (XMLファイル)から[SayHelloServiceOperationRequest 0.1]を探して選択します。これによりサービス操作を呼び出すことができます。[OK]をクリックします。

7. 左側で[Name] (名前)をクリックし、右側のinパラメーターにドラッグし、[OK]をクリックしてメインウィンドウに戻ります。

8. 最後に応答出⼒を設定します。tESBConsumer_1の中央を右クリックし、[Row] (⾏) >[Response] (応答)の順に選択し、ドラッグしてラインの終端をtLogRow_1にドロップします。これによりどの応答もここに送信されます。同様に、tESBConsumer_1を右クリックし、[Row] (⾏) > [Fault] (エラー)を選択し、ラインの終端をtLogRow_2にドロップします。これによりどのエラーもここに送信されます。

Page 43: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

簡単なSayHelloデータサービスの構築

Talend ESB⼊⾨ガイド 39

これでコンシューマージョブの設定が完了しました。

これまでの操作を要約すると、tFixedFlowInputにより"Peter"、"Alice"、"Bob"が⽣成され、これらはtXMLMapによりtESBConsumerに渡されます。このコンポーネントによりターゲットプロバイダーで関連する3つの呼び出しが⾏われます。

コンシューマーの実⾏

1. コンシューマーをサービスの正しいWSDLエンドポイントにポイントします。tESBConsumerコンポーネントの[Component] (コンポーネント)タブで、正しいサービスを参照するようにエンドポイントを編集します。[Service configuration] (サービス設定)フィールドの横にある[...]ボタンをクリックし、WSDL設定ウィンドウを開きます。正しいアドレスに置き換えるため、"http://localhost:8090/services/SayHelloService"を貼り付けて、完全なアドレスである"http://localhost:8090/services/SayHelloService?WSDL"に変更し、右側の更新ボタンをクリックして情報をロードします。[Finish] (終了)をクリックします。

2. コンシューマージョブを実⾏します。[Run (Job SayHelloConsumer)] (実⾏(ジョブSayHelloConsumer))タブをクリックし、[Run] (実⾏)をクリックします。ジョブが構築され実⾏されます。3つの名前を伴うHelloメッセージが出⼒に⽰されます。

Page 44: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

簡単なSayHelloデータサービスの構築

40 Talend ESB⼊⾨ガイド

これで、Talend StudioでのSayHelloコンシューマーとプロバイダーの作成と実⾏が正常に⾏われたことが確認できました。

3.1.1.3. サービスのエクスポートとTalend Runtimeコンテナでの実⾏

このセクションでは、SayHelloサービスをエクスポートし、それをOSGiコンテナであるTalendRuntimeコンテナで実⾏する⽅法を⽰します。

1. サービスをエクスポートする前に、Talend Runtimeコンテナを開始します。「Talend Runtimeの実行」での説明のように、すべてのインフラストラクチャサービスが開始していることを確認します。

2. エクスポートの前に、⼀部の設定が必要とされる場合があります。[Services] (サービス)の下の[SayHelloService 0.1]を右クリックし、[ESB Runtime Options] (ESB Runtimeオプション)を選択します。オプションでTalend ESBに特定の設定を有効にすることができますが、このデモには必要ありません。ここでは、[Use Service Activity Monitoring] (Service ActivityMonitoringの使⽤)と[Use Service Locator] (Service Locatorの使⽤)を選択します。

Page 45: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

簡単なSayHelloデータサービスの構築

Talend ESB⼊⾨ガイド 41

3. サービスをエクスポートします。[Services] (サービス)の下の[SayHelloService 0.1]を右クリックし、[Export Service] (サービスをエクスポート)を選択します。[Save As] (名前を付けて保存)ウィンドウで、Talend Runtimeコンテナ内のcontainer/deployフォルダーを指定します。これによりサービスが直接開始します。[Finish] (終了)をクリックします。

サービスはSayHelloService-0.1.karファイルとして保存されます。

これによりサービスが構築され、deployディレクトリにエクスポートされます。

4. この環境は動的ロード環境であるため、サービスの実⾏は⾃動的に開始されます。TalendRuntimeコンテナウィンドウでこれを確認するには、コンソールのプロンプトの後にlistコマンドを⼊⼒します。

5. コンシューマーを開始して、サービスが機能しているかどうかを確認します。

サービスが実⾏されるポートが変更され、Talend Runtimeコンテナポートが使⽤されます。このポートはデフォルトで8040なので、ポートを更新する必要があります。[Job Designs] (ジョ

Page 46: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

SayHelloRouteのサンプル

42 Talend ESB⼊⾨ガイド

ブデザイン)の下の[SayHelloConsumer 0.1]ジョブを開きます。tESBConsumer_1の中央をクリックします。[Component] (コンポーネント)タブに進みます。

6. [Service configuration] (サービス設定)フィールドの横にある[...]ボタンをクリックし、WSDL設定ウィンドウを開きます。

7. Talend Runtimeコンテナポートを使⽤するために、8090から8040にポート番号を変更し、更新ボタンをクリックします。

8. 以前⾏ったように、[Run] (実⾏)タブでコンシューマージョブを実⾏します。以前のような出⼒が⽰されます。

9. Talend Runtimeコンテナの出⼒を⾒ると、コンテナで実⾏されるサーバーにより⽣成されたHelloメッセージが確認できます。

以上の操作が、簡単なSayHelloコンシューマーとサービスを作成し、Talend Studioで実⾏して、Talend Runtimeコンテナでサービスを実⾏する⽅法です。

3.1.2. SayHelloRouteのサンプルこのセクションでは、既存のSayHelloコンシューマーとプロバイダー拡張する⽅法を⽰します。プロバイダーの2つのインスタンスを設定し、[Mediation] (メディエーション)パースペクティブを使って、名前でHelloメッセージをフィルタリングするルートを構築します。それにより、"Alice"という名前を含むメッセージは1番⽬のプロバイダーに送信され、その他の名前を含むメッセージは2番⽬のプロバイダーに送信されます。

最後に、最初のサンプルからコンシューマーを実⾏し、コンシューマーからメッセージが送信されていること、および正しいサービスにルーティングされていることを⽰します。

3.1.2.1. ルートの作成1. 右上の[Mediation] (メディエーション)をクリックし、[Integration] (統合)パースペクティブか

ら[Mediation] (メディエーション)パースペクティブに切り替えます。

Page 47: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

SayHelloRouteのサンプル

Talend ESB⼊⾨ガイド 43

2. [Routes] (ルート) > [Create Route] (ルートの作成)を右クリックし、新規ルートを作成します。SayHelloRouteという名前を付け、⽬的をDemoにし、[Finish] (終了)をクリックします。

[Route SayHelloRoute 0.1] (ルートSayHelloRoute 0.1)タブが開きます。

3. パレットが[Integration] (統合)パースペクティブのものから[Mediation](メディエーション)パースペクティブのものに変わったことがわかります。パレットからコンポーネントをドラッグしてルートグリッドにドロップすることで、⼀般的な内容ベースのルートを作成します。

要求メッセージはコンシューマーから送信されます。そのため、[Messaging] (メッセージング)から[cCXF]コンポーネントをドラッグしてドロップします。このコンポーネントによりサーバーのエンドポイントに送信されるメッセージがインターセプトされます。

内容ベースのルートを作成するため、[Routing] (ルーティング)から[cMessageRouter]コンポーネントをドラッグしてドロップします。このコンポーネントにより、条件に基づいてメッセージが再ルーティングされます。

2つのターゲットサービスのために、[Messaging] (メッセージング)から[cCXF]コンポーネントをさらに2つ追加します。

1つのルートで複数のcCXFコンポーネントに同じラベルを付けることはサポートされていません。

それぞれのコンポーネントには、ルート内でのその役割がわかりやすいように、⼀意の名前のラベルを付けることが推奨されています。

⼀部のコンポーネントのコードを⽣成する際に、ラベルが重複すると問題が⽣じる場合があります。

4. これを実装するには、いくつかのパラメーターを追加します。cCXF_1をクリックし、その下の[Component] (コンポーネント)タブをクリックします。

Page 48: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

SayHelloRouteのサンプル

44 Talend ESB⼊⾨ガイド

• Talend Open Studio for ESBを初めて使⽤する場合、cCXFのようなコンポーネントが使⽤できるように、Studioに外部ライブラリをインストールするように指⽰されます。指⽰に従って、ライブラリをインストールしてください。

• [Address] (アドレス)フィールドに、以前のサービスアドレスの"http://localhost:8040/

services/SayHelloService"を貼り付け、ポートを8042に変更します。新規サービスはこのポートをリッスンします。新規サービスアドレスは"http://localhost:8042/services/

SayHelloService"のようになるはずです。

• [WSDL File] (WSDLファイル)フィールドで、元のサービスからのWSDLファイルのURLを指定します。http:// addressを使って、リアルタイムのバックグラウンドサービス情報を取得します。3つのすべてのサービスに対して、"http://localhost:8040/services/SayHelloService?

WSDL"となります。

• この例ではメッセージの本⽂が重要なため、[Dataformat] (データフォーマット)リストで、[PAYLOAD]を選択します。

現在の情報はどの時点でも保存できます。これを⾏うには、[File] (ファイル) > [Save] (保存)を選択するか、左上の[Save] (保存)アイコンをクリックします。

5. 他のコンポーネントに対しても、これまでの⼿順を繰り返します。ただし、cCXF_2の場合は、[Address] (アドレス)フィールドのポート番号を8040に設定し、cCXF_3の場合は、[Address] (アドレス)フィールドのポート番号を8041に設定します。

これまでの操作を要約すると、ポート8042 (cCXF_1)で要求を作成し、メッセージの内容に応じて、それをポート8040 (cCXF_2)または8041 (cCXF_3)のいずれかに送信します。

6. ここでは、コンポーネントを接続します。cCXF_1の中央を右クリックし、[Row] (⾏) >[Route] (ルート)の順に選択して、ラインの終端をcMessageRouter_1にドロップすることで、cCXF_1とcMessageRouter_1を接続します。

7. 次に、1つのサービスにWhenトリガーを作成します。これを⾏うには、cMessageRouter_1を右クリックし、[Trigger] (トリガー) > [When] (時期)を選択し、ラインの終端をcCXF_2にドロップします。

Page 49: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

SayHelloRouteのサンプル

Talend ESB⼊⾨ガイド 45

8. 同様に、cMessageRouter_1からcCXF_3にOtherwiseトリガーを追加します。これを⾏うには、cMessageRouter_1を右クリックし、[Trigger] (トリガー) > [Otherwise] (その他)を選択し、ラインの終端をcCXF_3にドロップします。この結果は次のようになります。

9. [When] (時期)の条件を設定します。when1のラインを右クリックすると、⼩さいダイアログボックスが表⽰されます。

[Type] (タイプ)リストで、[simple] (シンプル)を選択すると、[Condition] (条件)が"${bodyAs(String)} contains 'Alice'"になります。

これにより、本⽂に"Alice"を含むメッセージは、ポート8040をリッスンするTalend Runtimeコンテナのサービスにルーティングされます。

3.1.2.2. サービスの実⾏

1. 最初に、2つ⽬の別のコンテナを作成済みで(詳細は「デモの代替コンテナの作成」を参照)、すべてのインフラストラクチャサービスを実⾏している必要があります(tesb:start-all)。また、デフォルトのコンテナが実⾏されていることを確認します。必要に応じて開始し直します。さらに別のコンテナも実⾏します。

2. 作成したサービスのkarファイル(Talend ESBインストールディレクトリ/container/deploy/

SayHelloService-0.1.kar)をコピーし、別のコンテナのdeployフォルダーに貼り付けます。

3. すべてが正しく設定されていることをテストするには、コンシューマーを追加する前に、Studioで作成したルートを実⾏します。[Run (Job SayHelloRoute)] (実⾏(ジョブSayHelloRoute))タブの[Run] (実⾏)ボタンをクリックします。

Page 50: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

SayHelloRouteのサンプル

46 Talend ESB⼊⾨ガイド

これにより、CXF設定情報が構⽂的に正しいかどうかがチェックされます。また、グリッドの"0rows" (0⾏)の出⼒が⾏われ、メッセージのフローが⽰されます。そのため、コンポーネントが接続されていることが確認できます。ジョブの実⾏をそのままにして続けます。

構⽂にエラーがある場合は、各コンポーネントを順番にクリックし、[Component] (コンポーネント)タブで確認します。特にすべての⼆重引⽤符が挿⼊されていること、およびポート番号が正しいことを確認します。

4. コンシューマーに切り替え、デモを実際に実⾏します。右上の[Integration] (統合)パースペクティブをクリックします。[SayHelloConsumer 0.1]を開きます。ポート番号を更新するために、tESBConsumerの[Component] (コンポーネント)タブをクリックし、[ServiceConfiguration] (サービス設定)フィールドの横にある[...]ボタンをクリックします。ポートを番号を8040に変更し、更新ボタンをクリックして、WSDL情報を取得します。エンドポイントをルートのエンドポイントhttp://localhost:8042/services/SayHelloServiceになるように変更します。

5. [Run (Job SayhelloConsumer)] (実⾏(ジョブSayhelloConsumer))タブをクリックし、[Run](実⾏)をクリックしてコンシューマージョブを実⾏し、要求を送信します。以前のように、コンシューマーの出⼒に"Hello Peter"、"Hello Alice"、"Hello Bob"と⽰されます。メインのグリッドには"3 rows" (3⾏)と表⽰されます。これは、3件のメッセージが送信され、どのメッセージにもエラーがなかったことを⽰します。

Page 51: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

SayHelloRouteのサンプル

Talend ESB⼊⾨ガイド 47

6. [Route SayHelloRoute 0.1] (ルートSayHelloRoute 0.1)タブを⾒てください。1件のメッセージがcCXF_2プロバイダーに送信され、2件のメッセージがcCXF_3プロバイダーに送信されています。

7. 2つのコンテナの出⼒を⾒ると、メッセージが正しくルーティングされていることがわかります。これが1つのコンテナの出⼒です。

これがもう1つのコンテナの出⼒です。

これでSayHelloRouteデモが完了しました。

Page 52: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Studioを使ったRESTサービスの構築とデプロイ

48 Talend ESB⼊⾨ガイド

3.1.2.3. ルートのエクスポート

ルートをESB Runtime karファイルとしてエクスポートできます。[Mediation] (メディエーション)パースペクティブの[Routes] (ルート)の下にある[SayHelloRoute 0.1]を右クリックし、[BuildRoute] (ルートのビルド)を選択します。

karファイルのパスを指定します。

この画⾯はルートがTalend Runtimeの/container/deployディレクトリにエクスポートされることを⽰しています。そのため、ルートは直接デプロイされますが、別の場所に保存して、deployディレクトリに後でコピーすることもできます。

3.2. Studioを使ったRESTサービスの構築とデプロイこのセクションでは、単純なRESTサービス例の構築を通じて、Talend Studioの開始し実⾏する⽅法について説明します。

JavaベースのESB開発にのみ興味がある場合は、このセクションをスキップして「Javaを使用したデータサービスおよびルートのビルドおよびデプロイ」に進んでもかまいません。

RESTデモサンプルに関連する⼿順は次のとおりです。

Page 53: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスの構築

Talend ESB⼊⾨ガイド 49

1. 「ソフトウェアのダウンロードおよびインストール」に従ってソフトウェアをインストールし、「ソフトウェアの開始」に従って実⾏します。

少なくともTalend StudioとTalend Runtimeを開始しておく必要があります。

2. 従業員情報が含まれている単純なデータベーステーブルのデータを調べられる、単純なRESTサービスを構築します。

ただし、デモという性格から、次のユースケースではデータベース接続コンポーネントの代わりに[tFixedFlowInput]コンポーネントを使⽤しますが、⼗分慣れてきたらデータベースの使⽤に導⼊することもできます。

3. RESTサービスをTalend Runtimeコンテナにデプロイします。

4. サービスに要求を送信する単純なRESTコンシューマーを構築します。

このセクションでは、デモの作成と実⾏に⼗分な情報が提供されます。Talend Studioユーザーインターフェイスの包括的な説明については、『Talend Studio ユーザーガイド』を参照してください。

このデモで触れる具体的なコンポーネントについての詳細は、『Talend ComponentsReference Guide』を参照してください。

3.2.1. 単純なRESTサービスの構築このセクションでは、RESTサービスプロバイダーの作成⽅法を⼿順を追って説明します。[Service](サービス)ウィザードで構築されるSOAPサービスとは異なり、RESTサービスはTalend Studioの[Job Design] (ジョブデザイン)ウィザードで構築されます。

このセクションでは、次のアイテムを作成します。

1. 従業員のデータにクエリを実⾏する単純なRESTサービスプロバイダー「サービスプロバイダーの作成」を参照してください。

2. IDで特定の従業員にのみクエリを実⾏する2番⽬のRESTマッピング「サービスへの新しいマッピングの追加」を参照してください。

3.2.1.1. サービスプロバイダーの作成

このセクションでは、従業員のリストとそのデータにアクセスできるRESTサービスを作成します。詳細は、「Webサービスのサポート」を参照してください。

ジョブの作成

1. サービスを作成するには、左のメニューで[Job Designs] (ジョブデザイン)を右クリックし、[Create Job] (ジョブの作成)を選択します。

Page 54: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスの構築

50 Talend ESB⼊⾨ガイド

2. 名前(EmployeeService)、⽬的(demo)、サービスの説明を⼊⼒し、[Finish] (終了)をクリックしてメインの画⾯に戻ります。

メインの画⾯に[Job EmployeeService 0.1]タブが表⽰されます。

3. この新しいジョブデザインではRESTサービスを構築するので、パレットで[tRESTRequest]コンポーネントと[tRESTResponse]コンポーネントを検索し、グリッドにドラッグしてドロップします。

同様に、次の図に⽰されている[tFlowToIterate]、[tFixedFlowInput]、[tXMLMap]の各コンポーネントをドラッグしてドロップします。

Page 55: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスの構築

Talend ESB⼊⾨ガイド 51

REST要求の設定

1. [tFixedFlowInput]コンポーネントをダブルクリックし、該当する[Component] (コンポーネント)ビューをウィンドウの下に表⽰させます。[Edit schema] (スキーマの編集)オプションの横にある[...]ボタンをクリックします。

表⽰される[Schema of tFixedFlowInput] (tFixedFlowInputのスキーマ)ウィザードで、下部にある[+]ボタンを3回クリックして3つのカラムを追加し、上の図のように設定します。

2. [Mode] (モード)エリアで[Use Inline Content (delimited file)] (インラインコンテンツの使⽤(区切り記号付きファイル))オプションを選択し、次の情報を[Content] (コンテンツ)フィールドに貼り付けます。

1;Lyndon;Monroe2;John;Johnson3;Calvin;McKinley4;Andrew;Truman5;Richard;Taft6;Andrew;Adams7;Herbert;Buchanan8;Bill;Carter9;Ulysses;Jackson10;Warren;McKinley

3. [tRESTRequest]をダブルクリックし、該当する[Component] (コンポーネント)ビューを表⽰させてプロパティを設定します。

Page 56: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスの構築

52 Talend ESB⼊⾨ガイド

4. [REST Endpoint] (RESTエンドポイント)フィールドには、サービスの提供元となるエンドポイントのURIを⼊⼒できます。URIは通常、ホスト名、IPアドレス、ポート番号で構成され、それぞれコロンで分けられます。ここに相対パス"/services"を挿⼊します。以上の操作で、URIはhttp://<IP_address>:<port_number>/servicesとなります。

5. [REST API Mapping] (REST APIマッピング)の下部にある[+]ボタンを1回クリックし、新しいマッピングを追加します。

6. [HTTP Verb]フィールドのGET操作はそのままにしておきます。

7. [URI Pattern] (URIパターン)フィールドで、XMLツリーのルートに"/employees"というXPathを⼊⼒します。

8. [Output Flow] (出⼒フロー)フィールドをクリックし、[...]ボタンを表⽰させてクリックします。

[Give the name for the schema] (スキーマ名の指定)ウィザードが表⽰されます。

9. [Schema Name] (スキーマ名)フィールドで、スキーマにgetEmployeesという名前を付けて[OK]をクリックします。

新しいウィザードが表⽰されます。ここで、これから作成するスキーマのカラムを定義できます。

10. 今のところこのREST APIマッピングではスキーマを定義しないので、そのまま[OK]をクリックします。

新しい[getEmployees]マッピングが[REST API Mapping] (REST APIマッピング)テーブルに表⽰されます。

コンポーネントどうしの接続

1. [tRESTRequest]を右クリックし、メニューで[Row] (⾏) > [getEmployees]を選択して[tFlowToIterate]コンポーネントをクリックします。

2. [tFlowToIterate]を右クリックし、メニューで[Row] (⾏) > [Iterate] (反復)を選択して[tFixedFlowInput]コンポーネントをクリックします。

3. [tFixedFlowInput]をクリックし、[tXMLMap]にドラッグします。

4. [tXMLMap]を右クリックして押さえたまま、[tRESTResponse]にドラッグします。表⽰される[tXMLMap Output] (tXMLMapの出⼒)のポップアップメッセージで出⼒リンクの名前を求められたら、allと付けます。

tXMLMapの設定

1. ダブルクリックしてエディターを開きます。

Page 57: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスの構築

Talend ESB⼊⾨ガイド 53

2. エディターの左にある⼊⼒エリアに、データベーステーブルからの⼊⼒フローが表⽰されます。そしてエディターの右にある出⼒エリアで、[tRESTResponse]コンポーネントに送信される出⼒XMLフローを設定します。

3. [all] (すべて)出⼒テーブルで[root] (ルート)モジュールを右クリックし、メニューで[Rename](名前の変更)を選択して名前をemployeesに変更します。

次に、[employees]ルートモジュールのXMLツリーを定義します。

4. [employees]を右クリックし、メニューで[Create Sub-Element] (サブモジュールの作成)を選択して、各従業員の情報を持つemployeeというサブモジュールを作成します。

Page 58: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスの構築

54 Talend ESB⼊⾨ガイド

5. この新しい[employee]サブモジュールを右クリックし、メニューで[As loop element] (ループモジュールとして設定)を選択します。

これで、検出される新従業員ごとにループが実⾏され、彼らの個⼈情報を取得できます。

6. テーブルの上部にある[Wrench] (レンチ)ボタンをクリックし、出⼒オプションを表⽰して[Allin one] (すべて1つに)リストで[true] (真)を選択します。

[All in one] (すべて1つに)オプションが[true] (真)に設定されると、XMLデータはすべて単⼀のフローで出⼒されます。

7. ⼊⼒フローを出⼒フローにマッピングします。[row1]テーブルで[id]カラムを選択し、[all] (すべて)出⼒テーブルの[employee] (従業員)サブモジュールにドロップすると[Selection] (選択)ウィザードが表⽰されます。

8. このウィザードで[Create as attribute of target node] (対象ノードの属性として作成)を選択し、[OK]をクリックして確定します。

[employees] (従業員)データベースの[id]カラムと、[employee] (従業員)XMLツリーの[id]属性の間にマッピングが作成されました。

9. [row1]テーブルの[firstname] (ファーストネーム)カラムと[lastname] (ラストネーム)カラムを選択し、[all] (すべて)出⼒テーブルの[employee] (従業員)サブモジュールにドロップします。

10. [Selection] (選択)ウィザードで[Create as attribute of target node] (対象ノードのサブモジュールとして作成)を選択し、[OK]をクリックして確定します。

Page 59: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスの構築

Talend ESB⼊⾨ガイド 55

⼊⼒フローと出⼒フロー間のマッピングが完了しました。

11. [Apply] (適⽤)と[OK]をクリックし、エディターを閉じて設定を確定します。

ジョブの実⾏

1. F6を押してジョブを実⾏します。ジョブは、実⾏前に⾃動的に保存されます。Studioの下部に[Run] (実⾏)ビューが表⽰され、コンソールに実⾏結果が表⽰されます。

RESTサービスがhttp://127.0.0.1:8090/servicesというエンドポイントにパブリッシュされました。プロバイダーは引き続き要求をリッスンするので、停⽌する時は[Run] (実⾏)ビューの[Kill] (終了)ボタンをクリックします。

2. サービスをチェックする場合は、パブリッシュされたエンドポイントアドレスのhttp://127.0.0.1:8090/services/employeesにアクセスします。

Page 60: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスの構築

56 Talend ESB⼊⾨ガイド

3.2.1.2. サービスへの新しいマッピングの追加

前のセクション(「サービスプロバイダーの作成」)では、全従業員の情報を取得するRESTサービスの作成⽅法を説明しました。次に、各従業員の情報を個別に参照できるよう、新しいRESTマッピングを追加する必要があります。

REST要求の変更

1. [EmployeeService]ジョブで[tRESTRequest]コンポーネントをダブルクリックし、該当する[Component] (コンポーネント)ビューを表⽰させてプロパティを変更します。

2. [REST API Mapping] (REST APIマッピング)の下部にある[+]ボタンを1回クリックし、新しいマッピングを追加します。

3. [HTTP Verb]フィールドのGET操作はそのままにしておきます。

Page 61: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスの構築

Talend ESB⼊⾨ガイド 57

4. 今のところは[URI Pattern] (URIパターン)フィールドもそのままにしておきます。

5. [Output Flow] (出⼒フロー)フィールドをクリックし、[...]ボタンを表⽰させてクリックします。

[Give the name for the schema] (スキーマ名の指定)ダイアログボックスが表⽰されます。

6. [Schema Name] (スキーマ名)フィールドで、スキーマにgetEmployeeという名前を付けて[OK]をクリックします。

7. スキーマウィザードで[+]ボタンを1回クリックし、テーブルに新しい⾏を追加します。

名前をidに変更し、その[Type] (タイプ)を Integer (整数)に変更します。[OK]をクリックして確定します。

新しい[getEmployee]マッピングが[REST API Mapping] (REST APIマッピング)テーブルに表⽰されます。

8. [URI Pattern] (URIパターン)フィールドで、XMLツリーのルートにXPathと各従業員のID変数を合わせた"/employees/{id}"を⼊⼒します。

9. コピーと貼り付けを使い、[tFixedFlowInput]コンポーネントと[tRESTResponse]コンポーネントを複製します。

Page 62: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスの構築

58 Talend ESB⼊⾨ガイド

10. ワークスペースをクリックし、⾃動的に表⽰されるテキストフィールドに、[tXMLMap]コンポーネントの名前、追加する場所を⼊⼒し始めます。コンポーネント名をダブルクリックしてワークスペースに追加します。

コンポーネントどうしの接続

1. [tRESTRequest]を右クリックし、メニューで[Row] (⾏) > [getEmployee]を選択して2番⽬の[tXMLMap]コンポーネントをクリックします。

2. 2番⽬の[tFixedFlowInput]コンポーネントを右クリックして押さえたまま、2番⽬の[tXMLMap]にドラッグします。

3. 2番⽬の[tXMLMap]を右クリックして押さえたまま、2番⽬の[tRESTResponse]コンポーネントにドラッグします。表⽰される[tXMLMap Output] (tXMLMapの出⼒)のポップアップメッセージで出⼒リンクの名前を求められたら、singleと付けます。

2番⽬のtXMLMapの設定

1. 2番⽬のtXMLMapを設定するには、ダブルクリックしてエディターを開きます。

2. [getEmployee]⼊⼒テーブルの[id]カラムを選択し、[row2]テーブルの[id]カラムにドラッグします。

Page 63: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスの構築

Talend ESB⼊⾨ガイド 59

結合を表す紫の⽮印がテーブルのカラム間に作成されます。

3. [tRESTResponse]コンポーネントに送信されるXMLスキーマを定義します。そのためには、[single] (単⼀)テーブルで[root] (ルート)モジュールノードを右クリックし、メニューで[Rename] (名前の変更)を選択して名前をemployeeに変更します。

4. ⼊⼒フローを出⼒フローにマッピングします。そのためには、[row2]テーブルで[id]カラムを選択し、[single] (単⼀)出⼒テーブルの[employee] (従業員)モジュールにドロップします。[Selection] (選択)ウィザードが表⽰されます。

5. このウィザードで[Create as attribute of target node] (対象ノードの属性として作成)を選択し、[OK]をクリックして確定します。

6. 次に、[row2]テーブルの[firstname] (ファーストネーム)カラムと[lastname] (ラストネーム)カラムを選択し、[single] (単⼀)出⼒テーブルの[employee] (従業員)モジュールにドロップします。

7. [Selection] (選択)ウィザードで[Create as attribute of target node] (対象ノードのサブモジュールとして作成)を選択し、[OK]をクリックして確定します。

Page 64: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスの構築

60 Talend ESB⼊⾨ガイド

⼊⼒フローと出⼒フロー間のマッピングが完了しました。

8. [Apply] (適⽤)と[OK]をクリックし、エディターを閉じて設定を確定します。

ジョブの実⾏

1. F6を押してジョブを実⾏します。ジョブは、実⾏前に⾃動的に保存されます。Studioの下部に[Run] (実⾏)ビューが表⽰され、コンソールに実⾏結果が表⽰されます。

RESTサービスがhttp://127.0.0.1:8090/servicesというエンドポイントにパブリッシュされました。プロバイダーは引き続き要求をリッスンするので、停⽌する時は[Run] (実⾏)ビューの[Kill] (終了)ボタンをクリックします。

2. サービスをチェックする場合は、パブリッシュされたエンドポイントアドレスのhttp://127.0.0.1:8090/services/employeesにアクセスします。

Page 65: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスの構築

Talend ESB⼊⾨ガイド 61

前のシナリオと似た結果が表⽰されます。

3. 次に、URLの末尾に従業員のidを追加してhttp://127.0.0.1:8090/services/employees/1とすると、

Page 66: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

RESTサービスのデプロイ

62 Talend ESB⼊⾨ガイド

該当する従業員に関する情報のみが表⽰されます。

3.2.2. RESTサービスのデプロイ前のセクションでコンシューマージョブで作成したRESTサービスを呼び出せるようになる前に、Talend Runtimeでこのサービスをデプロイする必要があります。

まず、Talend Runtimeが実⾏中であることを確認します。2章Talend ESBの使い方のインストールと開始の⼿順を実⾏します。

使⽤している製品とデプロイメントの⽬標に応じてデプロイメントの⽅法が異なります。

• Talend Open Studio for ESBによって、サービスとルートをRuntimeでローカルにデプロイできるようになります。詳細は、「ローカルデプロイメント(Talend Open Studio for ESB)」を参照してください。

このローカルデプロイメントは、EnterpriseおよびPlatform Studioで実⾏することもできます。ただし、その場合はサービスやルートのアーティファクトの共有、そしてそのデプロイメントや実⾏のスケジュールが難しくなります。これは、アーティファクトの共有はArtifact Repositoryで、そしてそのデプロイメントと実⾏はTalend Administration Centerでそれぞれ可能であることが理由です。

• EnterpriseおよびPlatform製品では、サービスやルートの開発はすべて開発者によってStudioで⾏われます。パブリッシュはすべてArtifact Repositoryで⼀元管理され、Talend Runtimeコンテナへのデプロイメントはオペレーションマネージャーによって Talend Administration Centerで⾏われます。詳細は、「Talend Administration Centerからのパブリッシュとデプロイメント」を参照してください。

• EnterpriseおよびPlatform製品ではまた、サービスやルートをStudioからArtifact Repositoryに直接パブリッシュすることもできます。この操作は、簡単なテスト⽬的のスナップショットでのみ実⾏してください。Artifact Repositoryには、この操作専⽤のリポジトリである[Snapshots]が既に存在します。詳細は、「EnterpriseおよびPlatform Studioからのパブリッシュ(テスト目的のみ)」を参照してください。

Page 67: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

RESTサービスのデプロイ

Talend ESB⼊⾨ガイド 63

3.2.2.1. ローカルデプロイメント(Talend Open Studio for ESB)

1. Talend Studioの[Repository] (リポジトリ)ビューにある[Job Designs] (ジョブデザイン)の下で[EmployeeService 0.1]を右クリックし、[Build Job] (ジョブのビルド)を選択します。

2. [Build Job] (ジョブのビルド)ウィザードで、[Build type] (ビルドタイプ)を[OSGI Bundle ForESB] (ESB⽤OSGIバンドル)に設定します。

3. [Browse...] (参照)ボタンをクリックし、Talend Runtimeコンテナの[deploy]フォルダーを参照します。[Save] (保存)をクリックし、パスを確定します。

4. [Finish] (終了)をクリックします。サービスはEmployeeService.jarファイルとして保存されます。

このプロセスによってジョブが構築され、[deploy]ディレクトリにデプロイされます。また、Talend Runtimeコンテナが動的ロード環境であるため、このサービスは⾃動的に開始されます。

5. Talend Runtimeコンテナウィンドウにlistと⼊⼒します。

Page 68: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

RESTサービスのデプロイ

64 Talend ESB⼊⾨ガイド

6. サービスをチェックする場合は、パブリッシュされたエンドポイントアドレスのhttp://127.0.0.1:8040/services/services/employeesにアクセスします。

Page 69: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

RESTサービスのデプロイ

Talend ESB⼊⾨ガイド 65

また、コンシューマージョブを作成してサービスをチェックすることもできます。

3.2.2.2. Talend Administration Centerからのパブリッシュとデプロイメント

サービスやルートのアーティファクトをパブリッシュおよびデプロイするには、次の⼿順に従います。本番環境では、このデモで使われている[Snapshots] (スナップショット)リポジトリではなく、Artifact Repositoryの[Releases] (リリース)リポジトリを使⽤してください。

2章Talend ESBの使い方の説明に従って、Talend Runtimeのほか、Talend Administration Center、そしてCommandLineやTalend Nexus Artifact Repositoryといったその他のモジュールが実⾏中であることを確認します。

Page 70: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

RESTサービスのデプロイ

66 Talend ESB⼊⾨ガイド

Talend Administration Centerでのパブリッシュ

1. Talend Administration Centerで、左にあるメニューから[ESB Publisher] (ESBパブリッシャー)をクリックし、該当するページを表⽰させます。Studioで開発してパブリッシュしたサービスやルートは、このページで⾒つけることができます。

2. 上部の[Add] (追加)ボタンをクリックし、右側に表⽰された[Publish Task] (タスクのパブリッシュ)フォームに⼊⼒します。

3. [Save] (保存)をクリックします。新しいアーティファクトが[Ready to publish] (パブリッシュ可能)としてリストに表⽰されます。

4. そのアーティファクトを選択して[Publish] (パブリッシュ)ボタンをクリックします。サービスはただちにArtifact Repositoryに表⽰されます。

また、[ESB Publisher] (ESBパブリッシャー)ページの下部にある[Trigger] (トリガー)タブでアーティファクトのパブリッシュをトリガーすることもできます。

Page 71: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

RESTサービスのデプロイ

Talend ESB⼊⾨ガイド 67

その場合、作成したタスクを選択し、ページの下部にある[Trigger] (トリガー)タブの[Addtrigger...] (トリガーの追加...) > [Add CRON trigger] (CRONトリガーの追加)をクリックします。右に表⽰される[Add Cron trigger] (CRONトリガーの追加)に⼊⼒します。CRON構⽂を使い慣れていない場合は、ウィザードを使って関連するフィールドを⼊⼒できます。[CronUI Trigger configuration] (CRON UIのトリガー設定)ウィザードを開くには、[Open UIconfigurer] (UI設定を開く)ボタンをクリックします。

ただし、デモでは[Publish] (パブリッシュ)ボタンを使ってRESTサービスジョブをパブリッシュします。

Page 72: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

RESTサービスのデプロイ

68 Talend ESB⼊⾨ガイド

パブリッシュされたサービスは、Artifact Repositoryのorg/exampleノードの下に表⽰されます。[ESB Publisher] (ESBパブリッシャー)ページの上部にある[Open Artifact repository](アーティファクトリポジトリを開く)ボタンをクリックします。これによってNexus Webアプリケーションが開きます。⽬的のサービスアーティファクトは、[Repositories] (リポジトリ) >[Snapshots] (スナップショット)にあります。

Talend Administration Centerでのデプロイ

Artifact Repositoryでパブリッシュされたサービスは、Talend Runtimeコンテナにデプロイできます。

1. Talend Administration Centerで、左にあるメニューから[ESB Conductor] (ESBコンダクター)をクリックし、該当するページを表⽰させます。Artifact Repositoryでパブリッシュしたサービスやルートは、このページで⾒つけることができます。

2. 上部の[Add] (追加)ボタンをクリックし、右側に表⽰された[Edition] (エディション)フォームに⼊⼒します。

Page 73: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

RESTサービスのデプロイ

Talend ESB⼊⾨ガイド 69

3. [Metadata] (メタデータ)エリアの[Label] (ラベル)フィールドで、サービスデプロイメントタスクの名前を付けます。

4. [Feature] (フィーチャー)エリアで[Select Feature] (フィーチャーの選択)ボタンをクリックし、[Select Feature from Nexus repository] (フィーチャーをNexusリポジトリから選択)ウィザードを開きます。このウィザードは、このエリア以降のフィールドに⼊⼒するうえで役⽴ちます。

Page 74: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

RESTサービスのデプロイ

70 Talend ESB⼊⾨ガイド

5. [Repository] (リポジトリ)リストで[snapshots] (スナップショット)を選択し、[EmployeeService] (従業員サービス)フィーチャーを参照して選択します。[OK]をクリックすると、すべてのサービスフィーチャー情報がフォームに⼊⼒されます。

6. [Runtime Config] (ランタイム設定)エリアの[Server] (サーバー)リストで、サービスをデプロイするコンテナを選択します。

7. [Save] (保存)をクリックすると、サービスデプロイメントタスクがリストに表⽰されます。

8. [Deploy] (デプロイ)ボタンをクリックすると、[Server] (サーバー)リストで指定されたサービスが Talend Runtimeコンテナにデプロイされます。

[Last Action] (最終アクション)カラムの値が、[CREATED] (作成済み)から[DEPLOYED] (デプロイ済み)に変わります。Talend Runtimeコンテナプロンプトにlistと⼊⼒すると、新しいバンドルであるEmployee Service (従業員サービス)がリスト表⽰されます。

[ 289] [Active ] [Created ] [ ] [ 80] EmployeeService (0.1.0.SNAPSHOT)

Page 75: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

RESTサービスのデプロイ

Talend ESB⼊⾨ガイド 71

3.2.2.3. EnterpriseおよびPlatform Studioからのパブリッシュ(テスト⽬的のみ)

テスト⽬的で、サービスやルートをStudioからArtifact Repositoryにパブリッシュすることもできます。そのためには、Artifact Repositoryの専⽤の[Snapshots] (スナップショット)リポジトリを使⽤してください。

2章Talend ESBの使い方に説明に従って、Talend Runtimeのほか、Talend Administration Center、およびCommandLineやTalend Nexus Artifact Repositoryといったその他のモジュールが実⾏中であることを確認します。

1. StudioでArtifact Repository接続の環境設定が正しく⾏われていることを確認します。メニューで[Window] (ウィンドウ) > [Preferences] (環境設定) > [Talend] > Artifact Repositoryと進みます。

2. Talend Studioの[Repository] (リポジトリビュー)にある[Job Designs] (ジョブデザイン)の下で[EmployeeService 0.1]を右クリックし、[Publish] (パブリッシュ)を選択します。

3. [Publish Job into Artifact Repository (アーティファクトリポジトリにジョブを発⾏)ウィザードで、[Publish as SNAPSHOT] (スナップショットとしてパブリッシュ)チェックボックスを選択し、[Snapshots] (スナップショット)リポジトリにジョブがパブリッシュされるようにします。

4. [Finish] (終了)をクリックします。

これで、サービスがTalend Nexus Artifact Repositoryの[Snapshots] (スナップショット)でアーティファクトとして利⽤可能になりました。[ESB Publisher] (ESBパブリッシャー)ページの上部にある[Open Artifact repository] (アーティファクトリポジトリを開く)ボタンをクリックします。これによってNexus Webアプリケーションが開きます。⽬的のサービスアーティファクトは、[Repositories] (リポジトリ) > [Snapshots] (スナップショット)にあります。

Page 76: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスコンシューマーの構築

72 Talend ESB⼊⾨ガイド

これで、Talend Administration Centerでのデプロイの説明にあるようにTalend AdministrationCenterアプリケーションからアクセスし、Talend Runtimeコンテナにデプロイできます。

3.2.3. 単純なRESTサービスコンシューマーの構築このセクションでは、RESTサービスに要求を送信するコンシューマーを作成します。

ジョブの作成

1. 左のメニューで[Job Designs] (ジョブデザイン)を右クリックし、[Create Job] (ジョブの作成)を選択します。

Page 77: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスコンシューマーの構築

Talend ESB⼊⾨ガイド 73

2. 名前(EmployeeServiceConsumer)、⽬的(demo)、サービスの説明を⼊⼒し、[Finish] (終了)をクリックしてメインの画⾯に戻ります。

3. これで、メインの画⾯に[Job EmployeeServiceConsumer 0.1]タブが表⽰されます。

4. この新しいジョブデザインではRESTサービスコンシューマーを構築するので、パレットで[tRESTClient]コンポーネントを検索し、グリッドにドラッグしてドロップします。

5. 同様に、次の図に⽰されている[tFixedFlowInput]、[tXMLMap]、[tLogRow]の各コンポーネントをドラッグしてドロップします。

REST要求の設定

1. まず、[tFixedFlowInput]コンポーネントを[tRESTClient]に接続し、対象コンポーネントのスキーマが⾃動的に取得されるようにします。

2. 次に、[tFixedFlowInput]コンポーネントをダブルクリックし、該当する[Component] (コンポーネント)ビューをウィンドウの下に表⽰させます。

Page 78: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスコンシューマーの構築

74 Talend ESB⼊⾨ガイド

3. [Edit schema] (スキーマの編集)オプションの横にある[...]ボタンをクリックします。[Schemaof tFixedFlowInput] (tFixedFlowInputのスキーマ)ウィザードが表⽰されます。

4. ウィザードの下部にある[+]ボタンを1回クリックし、次の図のように名前がid、[Type] (タイプ)がInteger (整数)、[Length] (⻑さ)が2である新しい⾏を追加します。

[OK]をクリックし、変更を伝播させます。

5. [Mode] (モード)エリアで[Use Inline Table] (インラインテーブルの使⽤)オプションを選択し、[+]ボタンを3回クリックして3⾏追加して次のように設定します。

6. [tRESTClient]をダブルクリックし、該当する[Component] (コンポーネント)ビューを表⽰させてプロパティを設定します。

7. [URL]フィールドを"http://127.0.0.1:8040/services"に変更します。

8. [Relative Path] (相対パス)を"/services/employees/"+row1.idに変更します。

コンポーネントどうしの接続

1. [tRESTClient]を右クリックし、メニューで[Row] (⾏) > [Response] (応答)を選択して[tXMLMap]コンポーネントをクリックします。

Page 79: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスコンシューマーの構築

Talend ESB⼊⾨ガイド 75

2. [tXMLMap]を右クリックして押さえたまま、[tLogRow]にドラッグします。表⽰される[tXMLMap Output] (tXMLMapの出⼒)のポップアップメッセージで出⼒リンクの名前を求められたら、allと付けます。

tXMLMapの設定

1. ダブルクリックしてエディターを開きます。

エディターの左にある⼊⼒エリアに、データベーステーブルからの⼊⼒フローが表⽰されます。エディターの右にある出⼒エリアで、[tLogRow]コンポーネントに送信する出⼒XMLフローを設定します。

2. [row2]⼊⼒XMLツリーで、[root]モジュールを右クリックし、メニューで[Rename] (名前の変更)を選択して名前をemployeeに変更します。そして各従業員の情報を持つ[employee]ルートモジュールのXMLツリーを定義します。

3. [employee] (従業員)を右クリックし、メニューで[Create Attribute] (属性の作成)を選択します。表⽰される[Create New Attribute] (属性の新規作成)ウィザードで、idという属性を新しく作成します。

4. もう⼀度[employee] (従業員)を右クリックし、メニューで[Create Sub-Element] (サブモジュールの作成)を選択します。表⽰される[Create New Element] (モジュールの新規作成)ウィザードで、firstnameというサブモジュールを新しく作成します。

同じ⼿順を繰り返し、lastnameというサブモジュールを作成します。

5. ⼊⼒フローを出⼒フローにマッピングします。[row2]XMLツリーで[statusCode]カラム、[id]属性、[firstname]モジュールと[lastname]モジュールを選択し、[all] (すべて)出⼒テーブルにドロップします。

Page 80: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

単純なRESTサービスコンシューマーの構築

76 Talend ESB⼊⾨ガイド

⼊⼒フローと出⼒フロー間のマッピングが完了しました。

6. [Apply] (適⽤)と[OK]をクリックし、エディターを閉じて設定を確定します。

7. [tLogRow]をダブルクリックし、該当する[Component] (コンポーネント)ビューを表⽰させてプロパティを設定します。

8. [Sync columns] (カラムの同期)ボタンをクリックし、[tXMLMap]コンポーネントからスキーマを取得します。

9. [Mode] (モード)エリアで、[Table] (テーブル)オプションを選択します。

ジョブの実⾏• F6を押してジョブを実⾏します。ジョブは、実⾏前に⾃動的に保存されます。Studioの下部

に[Run] (実⾏)ビューが表⽰され、コンソールが実⾏をその追います。

Page 81: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Javaを使⽤したデータサービスおよびルートのビルドおよびデプロイ

Talend ESB⼊⾨ガイド 77

3.3. Javaを使⽤したデータサービスおよびルートのビルドおよびデプロイこのセクションでは、Rent-a-Carデモの最も簡単なバージョンについて説明します。

このサンプルの処理の中で、以下の⽅法を学習します:

• Apache CXFサービス(Rent-a-Car)をコンパイルおよびビルドする。

• Talend Runtimeコンテナ(TalendのOSGiコンテナ)を開始する。

• Talend Runtimeコンテナコンソールでコマンドを使⽤してサービスをデプロイする。

デフォルトでは、すべてのRent-a-CarデモはJMXで使⽤できます。

Rent-a-Carデモコードは、追加機能を使⽤するためにさまざまなオプション(Mavenプロファイル)を使⽤してビルドできます。この詳細は次の章で説明し、このセクションではデフォルトの基本のビルドを使⽤します。

3.3.1. Rent-a-Carデモのサンプルこのデモのサンプルのシナリオは、⼀般的なビジネスのユースケースで、レンタカー会社のドメインの実際の例を簡略化したものです。これは、顧客に関する情報を提供する顧客関係管理(CRM)の機能、および⾞を予約するための予約サービスを使⽤します。

図3.1 Rent-a-Carクライアントアプリケーションおよびサービス

3.3.1.1. Rent-a-Carのシナリオこのシナリオのデモには、ReservationServiceとCRMServiceという2つの主要なサービスがあります。単純でグラフィカルなRent-a-Carクライアントアプリケーション(以後「レンタルクライアント」といいます)を使⽤して、これらのサービスを作成してオーケストレーションします。

レンタルクライアントは、特定の期間内で利⽤可能な⾞を検索するための基本的な機能も提供します。ビジネスロジックを実装するために、下の図に⽰すように、レンタルクライアントはCRMServiceとReservation Serviceの両⽅から操作を呼び出します。

1. 検索は、選択した顧客のステータス(シルバー、ゴールド、プラチナ)を考慮します。この顧客のプロフィール情報は予約サービスに渡され、検索結果を決定するために使⽤されます。

2. 結果のリストから、顧客の要件を最適に満たす⾞を選択して、[Book] (予約)ボタンをクリックして予約することができます。

Page 82: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Rent-a-Carデモのサンプル

78 Talend ESB⼊⾨ガイド

3. 送信処理の最後に、予約の確認情報が予約IDと共に表⽰されます。

図3.2 レンタルクライアントサービスの呼び出し

3.3.1.2. Rent-a-Carデモの構造

このセクションでは、デモのディレクトリ構造について説明します。これは、2つのサービスとデモアプリケーションおよびいくつかのサポートファイルで構成されます。これらは、ディレクトリ<TalendRuntimePath>/examples/talend/tesb/rent-a-car/にあります。

ディレクトリまたはファイル名 説明app-reservation/ このディレクトリには、ユーザーが⼿順を追ってサービスを呼び出すことが

できるコマンドおよび単純なUIクライアントが含まれます。crmservice/ getCRMInformationおよびgetCRMStatus操作を実装する顧客関係管理(CRM)

サービス。reservationservice/ getAvailableCars、submitCarReservation、およ

びgetConfirmationOfReservation操作を実装する予約サービス。features/ このディレクトリには、Rent-a-CarデモをTalend Runtimeコンテナにインス

トールするために使⽤されるフィーチャーファイルが含まれます。soapui/ このディレクトリには、soapUIツールのオプションプロジェクトファイルが

含まれます。pom.xml このファイルは、Mavenビルドプロセスで使⽤されます。settings.xml このファイルには、⾼度な機能が含まれます(基本のデモでは使⽤されませ

ん。詳細は、「Artifact Repositoryへのデモのパブリッシュ」を参照してください)。

次に、サービスおよびクライアントサブディレクトリについて説明します:

Page 83: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

デモのデプロイ

Talend ESB⼊⾨ガイド 79

1. crmservice:

ディレクトリまたはファイル名 説明common/ このディレクトリには、初期コードの⽣成に使⽤され

るCRMService.wsdlファイルが含まれます。client/ これは、CXFエンドポイントを呼び出すCXFクライアントを表⽰するサンプ

ルのクライアントアプリケーションです。client-sl-sam/ このディレクトリには、Service LocatorおよびService Activity Monitoring

シナリオで使⽤できるCRMServiceクライアントが含まれます。client-sts/ このディレクトリには、Security Token Serviceシナリオで使⽤でき

るCRMServiceクライアントが含まれます。client-all/ このディレクトリには、すべてのフィーチャーで使⽤できるCRMServiceク

ライアントが含まれます。service/ このディレクトリには、CRMServiceサービスの実装が含まれます。service-endpoint-jmx/ このディレクトリには、基本のCRMServiceエンドポイントが含まれます。service-endpoint-jmx/ このディレクトリには、Service LocatorおよびService Activity Monitoring

シナリオで使⽤できるCRMServiceエンドポイントが含まれます。service-endpoint-sts/ このディレクトリには、Security Token Serviceシナリオで使⽤でき

るCRMServiceエンドポイントが含まれます。service-endpoint-all/ このディレクトリには、すべてのフィーチャーで使⽤できるCRMServiceエ

ンドポイントが含まれます。

2. reservationserviceは、ReservationService関係の部分を除き、同じ構造を持ちます。

3. app-reservationには、コマンドおよび単純なUIクライアントをビルドするためのコードがあります:

ディレクトリまたはファイル名 説明src/ このディレクトリには、ソースコードが含まれます。target/ このディレクトリは、ビルドのターゲットディレクトリです。pom.xml このファイルは、Mavenビルドプロセスで使⽤されます。

3.3.2. デモのデプロイこのセクションでは、Rent-a-CarデモをTalend Runtimeコンテナにデプロイする⽅法について説明します。以下のようないくつかの⼿順があります:

1. 代替コンテナを作成します。「デモの代替コンテナの作成」を参照してください。

2. プライマリコンテナを開始します。「Talend Runtimeの実行」を参照してください。

3. デモをビルドします。「デモのビルド」を参照してください。

4. デモサービスをデプロイします。「デモサービスのデプロイ」を参照してください。

5. デモクライアントアプリケーションをデプロイします。「デモクライアントアプリケーションのデプロイ」を参照してください。

3.3.2.1. デモのビルドこのドキュメントではこれ以降、<TalendRuntimePath>はTalend Runtimeがインストールされているディレクトリを⽰します。これは、⼀般的には使⽤しているソフトウェアのバージョンに応じて、Runtime_ESBSE、TESB_SE-VA.B.C、またはTalend-ESB-VA.B.C>のフルパスになります(「ソフトウェアのダウンロードおよびインストール」を参照)。これは適宜置き換えてください。

Page 84: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

デモのデプロイ

80 Talend ESB⼊⾨ガイド

Talend Runtimeサンプルは<TalendRuntimePath>/examples/talendディレクトリにあります。

ESBサンプルのベースディレクトリ<TalendRuntimePath>/examples/talend/tesb/rent-a-car/からMavenプロジェクトファイルpom.xmlを使⽤してデモをビルドできます。

1. コマンドラインコンソールから、ディレクトリをRent-a-Carサンプルのルートディレクトリに変更します:cd <TalendRuntimePath>/examples/talend/tesb/rent-a-car/

2. 次のMavenコマンドを実⾏します:(MavenはLinux端末からもWindowsコマンドラインからも同様に呼び出せます)。mvn clean install

これでデモはビルドされ、OSGiバンドルはデプロイ⽤にTalend Runtimeコンテナに作成されます。

3.3.2.2. デモサービスのデプロイこのドキュメントでは、コマンドはTalend ESBのバージョン"5.5.2"を参照しています。別のバージョンを使⽤する場合、バージョンの部分⽂字列.../5.5.2/...をお使いのバージョンに置き換えてください。

デモサービスフィーチャーは、受信するHTTP呼び出し⽤に開かれるプライマリのポート8040に依存するため、他の場所でなくプライマリコンテナにインストールする必要があります。

1. Rent-a-Carフィンチャーの場所を、Talend Runtimeのプライマリコンテナ(<TalendRuntimePath>/container/)に追加します。

コンソールプロンプト(karaf@trun>)で、次のコマンドを⼊⼒します:features:addurl mvn:org.talend.esb.examples.rent-a-car/features/5.5.2/xml

このコマンドにより、MavenビルドでインストールされたMavenリポジトリから直接関連のバンドルを使⽤できるようになります。

2. Rent-a-CarサービスフィーチャーをTalend Runtimeコンテナにインストールします。

次のコマンドを⼊⼒します:

features:install tesb-rac-services

3. フィーチャーが正常にインストールされたことを確認します。

次のコマンドを⼊⼒します:

list

インストールされたバンドルのリストにデモバンドルが表⽰されます。以下に⽰すように、CRMServiceとReservationServiceバンドルがインストールされています: ID State Blueprint Spring Level Name[197] [Active ] [ ] [ ] [ 80] CRMService Common (5.5.2)[198] [Active ] [ ] [ ] [ 80] ReservationService Common (5.5.2)[199] [Active ] [ ] [ ] [ 80] CRMService Service (5.5.2)[200] [Active ] [ ] [Started] [ 80] CRMService Service Endpoint JMX (5.5.2)[201] [Active ] [ ] [ ] [ 80] ReservationService Service (5.5.2)[202] [Active ] [ ] [Started] [ 80] ReservationService Service Endpoint JMX (5.5.2)

Page 85: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

デモの実⾏

Talend ESB⼊⾨ガイド 81

3.3.2.3. デモクライアントアプリケーションのデプロイ

レンタルクライアントのデモアプリケーションは、サービスと同じコンテナ、プライマリコンテナ、または代替コンテナのいずれかにデプロイできます(後で、クライアントとサービスが別のコンテナに存在するより現実的なシナリオをシミュレーションします)。

1. デモアプリケーションのデプロイメントで代替コンテナを使⽤する場合、Rent-a-Carフィーチャーの場所をこのコンテナに追加します。コンテナを終了してから再開始しても実⾏間で状態は保持されるため、フィーチャーの場所は各コンテナで1回のみ追加する必要があります。ただし、フィーチャーが既にインストールされているかどうか不明な場合にフィーチャーの場所を再度追加しても、問題はありません。

コンテナプロンプトで、次のコマンドを⼊⼒します:

features:addurl mvn:org.talend.esb.examples.rent-a-car/features/5.5.2/xml

前のサンプルを既に実⾏している場合、内部バンドルキャッシュが更新されるように、次のコマンドを実⾏する必要がある場合があります:

features:refreshurl

2. レンタルクライアントアプリケーションフィーチャーをコンテナにインストールします。

次のコンソールコマンドを⼊⼒します:

features:install tesb-rac-app

3. フィーチャーが正常にインストールされたことを確認します。

次のコマンドを⼊⼒します:

list

インストールされたバンドルのリストにデモバンドルが表⽰されます(同じコンテナで両⽅のバンドルを実⾏している場合、インストールされたサービスバンドルのみが表⽰されます):

ID State Blueprint Spring Level Name[197] [Active ] [ ] [ ] [ 80] CRMService Common (5.5.2)[198] [Active ] [ ] [ ] [ 80] ReservationService Common (5.5.2)[199] [Active ] [ ] [Started] [ 80] CRMService Client (5.5.2)[200] [Active ] [ ] [Started] [ 80] ReservationService Client (5.5.2)[201] [Active ] [Created] [ ] [ 80] App Reservation (5.5.2)

3.3.3. デモの実⾏Rent-a-Carデモのイベントのシーケンスは次のとおりです:

1. 顧客はフォームに、名前、受取⽇付、返却⽇付、希望のレンタル等級の範囲などの必須データを⼊⼒して、そのクエリを送信します。

2. アプリケーションは、CRMServiceを呼び出して顧客データおよび顧客のステータス情報を取得します。

3. 顧客には、利⽤可能な⾞のリストが提⽰され、そのリストから⾞を1台選択します。

4. アプリケーションは、ReservationServiceを呼び出して予約要求を送信した後、予約確認通知を顧客に表⽰します。

Page 86: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

デモの実⾏

82 Talend ESB⼊⾨ガイド

3.3.3.1. アプリケーションの開始

この時点で、ReservationService、CRMService、およびapp-reservation (クライアント)は既にTalend Runtimeにデプロイされています。上記のように、Talend Runtimeコンテナコンソールを開始します。デモサービスとデモアプリケーションが別々のコンテナにデプロイされている場合、両⽅とも開始する必要があります。

レンタルクライアントアプリケーションは、実際はGUIバージョンとコマンドラインバージョンの2つのバージョンがあります。そのため、デモアプリケーションを含むコンテナのコンソールでは、次のように表⽰されます:

---TALEND ESB: Rent-a-Car (OSGi) Commands---car:gui (Show GUI)car:search <user> <pickupDate> <returnDate> (Search for cars to rent, date format yyyy/mm/dd)car:rent <pos> (Rent-a-Car listed in search result of carSearch)

次のセクションでは、レンタルクライアントアプリケーションのユーザーインターフェイスとコマンドの実⾏について説明します。

3.3.3.2. レンタルクライアントGUIの使⽤

1. GUIを開始するには、Talend Runtime代替コンテナコンソールウィンドウプロンプト(karaf@trun>)で、次のように⼊⼒します:

car:gui

2.

[User] (ユーザー)リストからaebertを選択して、[Find] (検索)をクリックして結果を表⽰します。利⽤可能な⾞のリストが表⽰されます。

Page 87: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

デモの実⾏

Talend ESB⼊⾨ガイド 83

3.

強調表⽰された⾏をクリックするか、別のオプションを選択して[Reserve] (予約)をクリックします。

4. そうすると、確認ページが表⽰されます:

Page 88: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

デモの実⾏

84 Talend ESB⼊⾨ガイド

[Close] (閉じる)をクリックしてアプリケーションを停⽌します。

3.3.3.3. コマンドラインの使⽤コマンドラインを使⽤しても同じ予約処理を実⾏することができます。

1. 特定のユーザー(aebert)で⾞を検索するには、コンソールで次のように⼊⼒します:

car:search aebert 2014/07/17 2014/07/20

利⽤可能な⾞のリストが表⽰されます。Found 5 cars.

Car details1 VW Golf Standard 50.00 75.00 40.002 BMW 320i Sport 60.00 90.00 45.003 Mazda MX5 Sport 65.00 95.00 50.004 Lexus LX400 SUV 85.00 120.00 100.005 Mercedes E320 Delux 95.00 140.00 100.00

2. ここでコンソールに「car:rent 2」と⼊⼒して、2番⽬の⾞をレンタルします。

Page 89: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

デモのアンインストール

Talend ESB⼊⾨ガイド 85

ここで、次のような確認情報が表⽰されます:Your reservation is booked!

Reservation ID SGA-295484

Customer details----------------Name: Andrea EberteMail: [email protected] City: MunichStatus: PLATINUM

Car details-----------Brand: BMW Model: 320i

Reservation details-------------------Pick up date: 2011/07/17Return date: 2011/07/20Daily rate: 60.00Weekend rate: 90.00Credits: 210Thank you for renting a car with Talend ESB :-)

3.3.4. デモのアンインストールこのセクションでは、デモをコンテナおよび代替コンテナ(使⽤している場合)からアンインストールする⽅法について説明します。

• デモサービスのみをアンインストールする場合は、コンテナコンソールで以下のコマンドを実⾏します:

features:uninstall tesb-rac-services

ここで、 「デモサービスのデプロイ」で説明されているように、デモサービスを再度インストールすることができます。

• デモアプリケーションのみをアンインストールする場合は、コンテナコンソールで以下のコマンドを実⾏します:

features:uninstall tesb-rac-app

ここで、上記のようにデモアプリケーションを再度インストールすることができます。

• このガイドの別のシナリオを試すなどの理由で、すべてのデモフィーチャーをアンインストールする場合、コンテナコンソールで次のコマンドを実⾏します(これには前のコマンドも含まれます。2つのコンテナを使⽤している場合、両⽅のコンテナにすべてのフィーチャーはインストールされません):

features:uninstall tesb-rac-services

features:uninstall tesb-rac-app

features:uninstall tesb-rac-common

ここで、「features:list | grep tesb-rac」と⼊⼒して、すべてのフィーチャーが実際にアンインストールされていることを確認します。コンソールには次のように表⽰されます:

Page 90: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

EclipseへのRent-a-Car Javaデモのインポート

86 Talend ESB⼊⾨ガイド

[uninstalled] [5.5.2 ] tesb-rac-common repo-0[uninstalled] [5.5.2 ] tesb-rac-services repo-0[uninstalled] [5.5.2 ] tesb-rac-app repo-0

コンテナからRent-a-Carフィーチャーの場所を削除することもできます。

コンテナコンソールプロンプトで、次のコマンドを⼊⼒します:

features:removeurl mvn:org.talend.esb.examples.rent-a-car/features/5.5.2/xml

3.4. EclipseへのRent-a-Car Javaデモのインポートこのセクションでは、Maven Eclipse Plugin ( http://maven.apache.org/plugins/maven-eclipse-plugin/)を使⽤して、Rent-A-CarサンプルのEclipseプロジェクトファイルを⽣成します(このプラグインのインストール⽅法は、『Talend ESB Development Guide』を参照してください)。

3.4.1. プロジェクトファイルのビルド1. Talend ESBサンプルのベースディレクトリ<TalendRuntimePath>/examples/talend/tesb/rent-

a-carに移動します。

2. デモをビルドしていない場合は、次を実⾏します。

mvn clean install

3. その後、次を実⾏します。

mvn eclipse:eclipse

これで、Eclipseプロジェクトファイルが作成されました。

3.4.2. EclipseへのインポートEclipse IDEで次を実⾏します。

1. メインメニューバーで、[File] (ファイル) > [Import...] (インポート...)を選択します。[Import](インポート)ウィザードが開きます。

2. [General] (⼀般) > [Existing Projects into Workspace] (既存のプロジェクトをワークスペースへ)を選択して、[Next] (次へ)をクリックします。

3. [Select root directory] (ルートディレクトリの選択)を選択して、関連付けられた[Browse] (参照)をクリックしてexamples/talend/tesb/rent-a-carディレクトリを⾒つけます。

4. [Import Projects] (プロジェクトのインポート)ウィンドウに戻り、[Projects] (プロジェクト)の下で、インポートしたいプロジェクトを選択してから[Finish] (終了)をクリックします。

選択したTalend ESBサンプルプロジェクトはEclipseワークスペースにインポートされます。この段階で、ソースコードを表⽰して、それを編集し、その他すべてのEclipseフィーチャーを使⽤することができます。

Page 91: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

サンプルの実⾏

Talend ESB⼊⾨ガイド 87

3.4.3. サンプルの実⾏⼀般的には、サンプルはコマンドラインウィンドウからMavenコマンドを使⽤して実⾏することができます。必要に応じて、Maven⽤のEclipseプラグインを使⽤して、IDE内でMavenコマンドを実⾏することができます。

Talend ESBおよびEclipseを使⽤した開発の詳細は、『Talend ESB Development Guide』を参照してください。

Page 92: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend ESB⼊⾨ガイド

Page 93: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend ESB⼊⾨ガイド

4.SOAガバナンスによる⾼度なデプロイメントとRuntimeのユースケースこの章では、Service Locator、Service Activity Monitoring、Security Token Serviceなど、TalendRuntimeの⾼度な機能を使⽤する⽅法について説明します。また、サービスおよびルートをデプロイするためのリポジトリ管理ソフトウェアの使⽤⽅法についても解説します。

この章で⽰す例は、3章基本的なデプロイメントとRuntimeのユースケースで紹介されたRent-a-CarJavaのデモをベースとしています。

Page 94: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Service LocatorおよびService Activity Monitoringを使⽤したRent-a-Carデモ

90 Talend ESB⼊⾨ガイド

4.1. Service LocatorおよびService ActivityMonitoringを使⽤したRent-a-Carデモこのセクションでは、Rent-a-Carデモの以下の2つのフィーチャーを使⽤する⽅法について説明します。

• Service Locatorコンポーネント。サービスエンドポイントを公に登録します。

• Service Activity Monitoring (SAM)。サービス呼び出しを監視します。⼀般的には、使⽤状況データの収集や障害監視に使⽤します。

TalendのEnterpriseまたはPlatformエディションのいずれかがある場合、Service LocatorおよびServiceActivity Monitoring情報を表⽰するためのTalend Administration Centerで提供されるGUI機能があります。Talend Administration CenterのService Activity Monitoringユーザーインターフェイスのプレビューは、「Talend Administration CenterのService Activity Monitoringインターフェイスでのイベントの表示」を参照してください。

詳細は、『Talendインストレーションガイド』および『Talend Administration Centerユーザーガイド』を参照してください。

このセクションでは、Rent-a-CarデモをTalend Runtimeコンテナにデプロイする⽅法について説明します。基本のRent-a-Carデモと同様の多数の⼿順があります。

1. 代替コンテナを作成します。「デモの代替コンテナの作成」を参照してください。

2. プライマリコンテナを開始します。「Talend Runtimeの実行」を参照してください。

3. デモをビルドします。「Service Activity MonitoringおよびService Locatorを有効化したデモのビルド」を参照してください。

4. 実⾏した以前のデモのフィーチャーがアンインストールされていることを確認します。「前のフィーチャーのアンインストール」を参照してください。

5. Talend ESBサービスをデプロイします。「Service LocatorおよびService Activity Monitoringのインストールおよび開始 」を参照してください。

Rent-a-Carデモでは、デモファイルがデフォルトコンテナ⽤に設定されているため、(ポート8040を使⽤して)デフォルトコンテナにインストールされていることが重要です。

6. デモサービスとクライアントアプリケーションを1つのコンテナにデプロイします。「1つのコンテナでデモを実行してService Activity Monitoringデータを生成」を参照してください。このシナリオではService Locatorはほとんど使⽤されないため、この⼿順ではService ActivityMonitoring機能を重点的に説明しています。

7. 次に、2つのコンテナを使⽤して1つのサンプルサービスを停⽌しながらデモを再実⾏します。これにより、サービスのフェールオーバーにおけるService Locatorの役割を⽰し(「2つのコンテナでのデモの実行 - Service Locatorでのサーバーフェールオーバーのシミュレーション」を参照)、クライアントがこの機能を使⽤して別のサービスに再接続する⽅法を⽰します。

4.1.1. Service LocatorおよびService ActivityMonitoringのインストールおよび開始Rent-a-CarのサンプルでService LocatorおよびService Activity Monitoringを有効にするために、これらをTalend Runtimeコンテナにインストールおよびデプロイする必要があります。

Page 95: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Service LocatorおよびService Activity Monitoringのインストールおよび開始

Talend ESB⼊⾨ガイド 91

Talend Runtimeコンテナと「Talend Runtimeの実行」で説明されているすべてのインフラストラクチャサービスを開始している場合、tesb:start-allコマンドによってそれらのフィーチャーは既にデプロイされて開始されているはずです。

それらを個別に開始したり設定パラメーターをカスタマイズする場合は、「Service Locator」および「Service Activity Monitoring」を参照してください。

4.1.1.1. Service Locator

プライマリコンテナコンソールで以下を⼊⼒するだけで、Talend RuntimeコンテナでServiceLocatorを個別に開始することができます:

tesb:start-locator

この設定パラメーターは、ファイル<TalendRuntimePath>/container/etc/

org.talend.esb.locator.cfgの中にあります。次に例を⽰します:

# Configured zookeeper endpoints (divided by a comma if several instances # uses). The service locator client will one by one pick an endpoint to # connect to the service locator until a connection is established. locator.endpoints=localhost:2181

# Endpoint prefix property is needed because we run services in # a container where the endpoints is only relative to the container.endpoint.http.prefix=http://localhost:8040/servicesendpoint.https.prefix=https://localhost:9001/services

locator.strategy=defaultSelectionStrategylocator.reloadAdressesCount=10

connection.timeout=5000session.timeout=5000

Service Locatorプロパティ設定の詳細は、『Talend ESBインフラストラクチャサービスConfiguration Guide』を参照してください。

4.1.1.2. Service Activity Monitoring

プライマリコンテナコンソールで以下を⼊⼒するだけで、Talend RuntimeコンテナでServiceActivity Monitoringサーバーを個別に開始することができます:

tesb:start-sam

次に、Service Activity Monitoringサーバーを開始します。ブラウザーでURL: http://localhost:8040/services/MonitoringServiceSOAP?wsdlを指定して開始されていることを確認します。そこに<wsdl:definitions>がリストされます。

tesb:start-samコマンドにより、デフォルトの1527ポートでlocalhost (ローカルホスト)にDerbyデータベースを開始し、tesb-datasource-derbyフィーチャーおよびtesb-sam-serverフィーチャーをインストールします。別のデータベースを使⽤している場合(たとえば、MySQL、H2、Oracleなど)、『Talend ESBインフラストラクチャサービス ConfigurationGuide』のDataSourceおよびService Activity Monitoringサーバーのインストールおよび設定の⼿順を実⾏します。

Page 96: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

前のフィーチャーのアンインストール

92 Talend ESB⼊⾨ガイド

Service Activity Monitoringサーバー - デフォルトで有効なデーターベースの再作成

Service Activity MonitoringサーバーがTalend Runtimeにインストールされている場合、デフォルトではデータベースの再作成が有効になります。org.talend.esb.sam.server.cfg設定ファイルを参照してください。これにより、以降のコンテナの再開始ごとにコンソールログにエラーが表⽰されます("can’t create table …")。この開始時のログエラーを回避するには、Service Activity Monitoringサーバーをインストールした後、org.talend.esb.sam.server.cfgでdb.recreateプロパティをfalseに変更します(db.recreate=false)。

Talend RuntimeコンテナのService Activity Monitoringの設定パラメーター

Talend Runtimeコンテナで、Service Activity Monitoringがアクセスするためのプロパティを設定する場合(service.urlなど)、次のファイルを編集してください:

<TalendRuntimePath>/container/etc/org.talend.esb.sam.agent.cfg

4.1.2. 前のフィーチャーのアンインストール1. プライマリおよび代替コンテナが実⾏していない場合は開始します。

2. 既にコンテナを使⽤して前のサンプルを実⾏している場合、依存関係として暗黙的にロードされるフィーチャーtesb-rac-commonを含め、前のサンプルで使⽤したすべてのフィーチャーをアンインストールしておく必要があります。アンインストールしていない場合、ロケーターサンプルのフィーチャーのインストールは失敗します。前のフィーチャーがまだインストールされている可能性がある場合、両⽅のコンテナで次のコマンドを⼊⼒します:features:uninstall tesb-rac-services

features:uninstall tesb-rac-common

このコンテナにRent-a-Carレンタルクライアントアプリケーションをインストールしている場合、これもアンインストールする必要があります:features:uninstall tesb-rac-app

これらのコマンドにより、基本のサンプルから残りのバンドルがアンインストールされます。

3. 前のサンプルのアンインストール済みフィーチャーをコンテナから削除することもできます:features:removeurl mvn:org.talend.esb.examples.rent-a-car/features/5.5.2/xml

このコマンドにより、コンテナから基本シナリオのフィーチャーが削除されます。

4.1.3. Service Activity MonitoringおよびServiceLocatorを有効化したデモのビルドデモをビルドするには、MavenとService Activity Monitoring およびService Locatorプロファイルを組み合わせて使⽤します。そのためデモをビルドする前に、Talend RuntimeコンテナでServiceActivity MonitoringおよびService Locator機能が有効になっていることを確認する必要があります。

1. コマンドラインコンソールから、ディレクトリを<TalendRuntimePath>/examples/talend/tesb/

rent-a-carに変更します。

Page 97: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Rent-a-Carサンプルフィーチャーのインストール

Talend ESB⼊⾨ガイド 93

その中にあるpom.xmlファイルは、Mavenによりデモのビルドに使⽤されます。

2. LinuxまたはWindowsでMavenコマンドを実⾏します:mvn install -Pslsam

このコマンドを実⾏すると、必要な機能が含むデモがビルドされ、コンテナにデプロイされるOSGiバンドルが作成されます。

Service Activity MonitoringエージェントおよびService Locatorが有効な状態でサンプルをビルドする場合、以下の変更が発⽣します:

• 次のように、Service Activity MonitoringエージェントおよびService Locatorのjaxws:featuresが、関連するクライアントやサービスエンドポイントのSpringbeans.xmlファイルに追加されます: <import resource="classpath:META-INF/tesb/locator/beans-osgi.xml" /> <import resource="classpath:META-INF/tesb/agent-osgi.xml" /> ... <jaxws:features> <bean class="org.talend.esb.servicelocator.cxf.LocatorFeature"> <property name="selectionStrategy" value="randomSelectionStrategy"/> </bean> <ref bean="eventFeature"/> </jaxws:features>

• 関連するクライアントおよびサービスエンドポイントのMANIFEST.MFファイルは、sam-common、sam-agent、locatorバンドルをRequire-Bundleリストに追加することで更新されます。

4.1.4. Rent-a-Carサンプルフィーチャーのインストール

4.1.4.1. プライマリコンテナへのサンプルのインストール1. Rent-a-Carフィーチャーの場所をプライマリTalend Runtimeコンテナ(<TalendRuntimePath>/

container/)に追加します。

コンソールプロンプト(karaf@trun>)で、次のコマンドを⼊⼒します:features:addurl mvn:org.talend.esb.examples.rent-a-car/features-sl-sam/5.5.2/xml

ご利⽤のインストール環境のバージョン番号が"5.5.2"でない場合、このバージョンに更新してください。

2. 前のサンプルが既にインストールされている場合、次のコマンドを実⾏します:features:refreshurl

3. 次に以下のコマンドを⼊⼒します:features:install tesb-rac-services-sl-sam

features:install tesb-rac-app-sl-sam

4. その後、listコマンドを使⽤して、すべてが適切にインストールされたかどうかを確認します。

たとえば、以下のように表⽰されます:

Page 98: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

1つのコンテナでデモを実⾏してService Activity Monitoringデータを⽣成

94 Talend ESB⼊⾨ガイド

[ 219] [Active ] [ ] [ ] [ 80] CRMService Common (5.5.2)[ 220] [Active ] [ ] [ ] [ 80] ReservationService Common (5.5.2)[ 221] [Active ] [ ] [ ] [ 80] CRMService Service (5.5.2)[ 222] [Active ] [ ] [Started] [ 80] CRMService Service Endpoint Locator and SAM (5.5.2)[ 223] [Active ] [ ] [ ] [ 80] ReservationService Service (5.5.2)[ 224] [Active ] [ ] [Started] [ 80] ReservationService Service Endpoint SL and SAM (5.5.2)[ 225] [Active ] [ ] [Started] [ 80] CRMService Client Locator and SAM (5.5.2)[ 226] [Active ] [ ] [Started] [ 80] ReservationService Client Locator and SAM (5.5.2)[ 227] [Active ] [Created ] [ ] [ 80] App Reservation (5.5.2)

4.1.4.2. 代替コンテナへのサンプルのインストール初めてデモを実⾏する際に代替コンテナは使⽤されないため、必要に応じてフィーチャーのインストール後に代替コンテナを停⽌できます。

1. 代替コンテナを開始します。

2. 代替コンテナコンソールで、次のコマンドを⼊⼒します。

features:addurl mvn:org.talend.esb.examples.rent-a-car/features-sl-sam/5.5.2/xml

3. 前のサンプルが既にインストールされている場合、次を⼊⼒します:

features:refreshurl

4. さらに次を⼊⼒します:

features:install tesb-rac-services-sl-sam

tesb-rac-app-sl-samでなく、これらの機能のみをインストールします。

5. その後、listコマンドを使⽤して、すべてが適切にインストールされたかどうかを確認します。たとえば、以下のように表⽰されます:

[ 219] [Active ] [ ] [ ] [ 80] CRMService Common (5.5.2)[ 220] [Active ] [ ] [ ] [ 80] ReservationService Common (5.5.2)[ 221] [Active ] [ ] [ ] [ 80] CRMService Service (5.5.2)[ 222] [Active ] [ ] [Started] [ 80] CRMService Service Endpoint Locator and SAM (5.5.2)[ 223] [Active ] [ ] [ ] [ 80] ReservationService Service (5.5.2)[ 224] [Active ] [ ] [Started] [ 80] ReservationService Service Endpoint SL and SAM (5.5.2)

4.1.5. 1つのコンテナでデモを実⾏してService ActivityMonitoringデータを⽣成このセクションでは、デモサービスおよびクライアントアプリケーションを1つのコンテナ(プライマリコンテナ。「1つのコンテナでデモを実行してService Activity Monitoringデータを生成」を参照)にデプロイしてService Activity Monitoring機能を確認する⽅法について説明します。そのため、このシナリオではService Locatorはほとんど使⽤されないので、代替コンテナは不要です。

1. 代替コンテナを実⾏している場合、実際にデモを実⾏する前にそれを停⽌します。次回デモを実⾏するときに再度それを開始します。

Page 99: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

1つのコンテナでデモを実⾏してService Activity Monitoringデータを⽣成

Talend ESB⼊⾨ガイド 95

2. 基本Rent-a-Carデモのようにクライアントアプリケーションを実⾏します(詳細は「デモの実行」を参照):

car:gui

3. 表⽰されたレンタルクライアントアプリケーションユーザーインターフェイスで、[Find] (検索)をクリックします。

デモではこの⼿順で⼗分です。デフォルトコンテナコンソールには、次のような出⼒が表⽰されます:

###############################################getCRMInformation() invoked ... request data:org.talend.services.crm.types.LoginUserType@fc0795##############################################################################################getCRMInformation() invoked ... response data:org.talend.services.crm.types.CustomerDetailsType@560854##############################################################################################getAvailableCars() invoked ... request data:org.talend.services.reservation.types.RESProfileType@a14297##############################################################################################getAvailableCars() invoked ... response data:org.talend.services.reservation.types.RESCarListType@11ad529###############################################

これは、CRMServiceおよびReservationServiceの要求と応答を⽰しています。

4.1.5.1. Talend Administration CenterのService ActivityMonitoringインターフェイスでのイベントの表⽰Rent-a-Carデモを実⾏した後、EnterpriseおよびPlatform製品ユーザーはTalend AdministrationCenterのService Activity Monitoring GUIを使⽤してサービスのアクティビティを監視できます:

Page 100: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

2つのコンテナでのデモの実⾏ - Service Locatorでのサーバーフェールオーバーのシミュレーション

96 Talend ESB⼊⾨ガイド

4.1.5.2. Service Activity Monitoringデータベースのイベントの表⽰

Rent-a-Carデモを実⾏した後、Talend ESB Standard EditionおよびTalend Open Studio for ESBのユーザーは、DbVisualizer (またはその他の任意のデータベースツール)を使⽤して、Service ActivityMonitoringデータベースのEVENTSおよびEVENTS_CUSTOMINFOテーブルでサービスのアクティビティを監視できます。

Service Activity Monitoringデータベースに接続するには、次の設定を使⽤します:

Database connection configuration (Default): DB Driver: org.apache.derby.jdbc.ClientDriver DB URL: jdbc:derby://localhost:1527/db DB username: test DB password: test

データベース接続は、<TalendRuntimePath>/etc/org.talend.esb.sam.server.cfgファイルで定義された設定、および参照するデータソースの設定(デフォルトではDerby (ds-derby)。<TalendRuntimePath>/etc/org.talend.esb.datasource.derby.cfgファイルにあります)と⼀致する必要があります。

これで、EVENTSおよびEVENTS_CUSTOMINFOテーブルのデータをDbVisualizerで参照および監視できます。たとえば、Service Activity Monitoring機能を有効にしてRen-a-Carデモを実⾏した後、EVENTSテーブルのデータは次のようになります:

テーブルのスキーマ定義の詳細は、『Talend ESBインフラストラクチャサービス ConfigurationGuide』の「EVENTS構造」および「EVENTS_CUSTOMINFO構造」のセクションを参照してください。

4.1.6. 2つのコンテナでのデモの実⾏ - Service Locatorでのサーバーフェールオーバーのシミュレーションこのセクションでは、2つのコンテナを使⽤して1つのサンプルサービスを停⽌しながらデモを再実⾏する⽅法を⽰します。これにより、サービスのフェールオーバー発⽣時のService Locatorの役割を⽰し(「2つのコンテナでのデモの実行 - Service Locatorでのサーバーフェールオーバーのシミュレーション」を参照)、クライアントがこの機能を使⽤して別のサービスに再接続する⽅法を⽰します。

Page 101: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

2つのコンテナでのデモの実⾏ - Service Locatorでのサーバーフェールオーバーのシミュレーション

Talend ESB⼊⾨ガイド 97

図4.1 サーバーフェールオーバーのデモ

以下のような多数の⼿順があります:

1. app-reservationは、Service LocatorでCRMServiceエンドポイントを検索します。

2. その後、プライマリコンテナのCRMServiceに直接接続します。

3. ここで、CRMServiceを停⽌します。

4. app-reservationは、Service LocatorでCRMServiceエンドポイントを⾃動的に再検索します。

5. その後、代替コンテナのCRMServiceに直接接続します。

4.1.6.1. デモの実⾏

1. デフォルトのコンテナコンソールでコマンドcar:guiを⼊⼒してアプリケーションで[Find] (検索)をクリックして、レンタルクライアントアプリケーションを再度実⾏します。アプリケーションの実⾏時に、前と同じ要求と応答が表⽰されます。

2. 前の予約の⼿順に戻るには、GUIアプリケーションは終了せずに、[Back] (戻る)をクリックします。

サービス障害のシミュレーション

ここで、サービス障害をシミュレーションします:

1. 代替コンテナを開始します。

Page 102: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

デモフィーチャーのアンインストール

98 Talend ESB⼊⾨ガイド

2. デフォルトコンテナで、コマンドlistを⼊⼒してCRMServiceバンドルの詳細を取得し、CRMServiceサービスエンドポイントバンドルの番号をメモします:

[ 222] [Active ] [ ] [ ] [ 80] CRMService Service Endpoint Locator and SAM (5.5.2)

(ここでは番号は「222」ですが、多くの場合実際のコンソールでは別の値になります)。

3. コマンドstop 222を使⽤してバンドルを停⽌します(メモしたバンドル番号を使⽤します)。

4. 次にアプリケーションGUIで[Find] (検索)ボタンをクリックして、CRMServiceの呼び出しを有効にします。

これでReservationServiceは最初のコンテナで実⾏され、CRMServiceは2番⽬のコンテナで実⾏されます。

最初のコンテナコンソールでは次のように表⽰されます:

############################################### getAvailableCars() invoked ... request data: org.talend.services.reservation.types.RESProfileType@1d510be ############################################### ############################################### getAvailableCars() invoked ... response data: org.talend.services.reservation.types.RESCarListType@13e49a8 ###############################################

その後、ロケーターは2番⽬のコンテナのCRMServiceに切り替えます。代替コンテナコンソールには、次のように表⽰されます:

############################################### getCRMInformation() invoked ... request data: org.talend.services.crm.types.LoginUserType@1142653 ############################################### ############################################### getCRMInformation() invoked ... response data: org.talend.services.crm.types.CustomerDetailsType@1e03fce ###############################################

4.1.7. デモフィーチャーのアンインストールこの後でサンプルを実⾏できるように両⽅のTalend Runtimeコンテナをクリーンアップするために、ロケーターサンプルのすべてのフィーチャーをアンインストールする必要があります。

1. デフォルトコンテナで、コンソールに次のコマンドを⼊⼒します:

features:uninstall tesb-rac-services-sl-sam

features:uninstall tesb-rac-common-sl-sam

features:uninstall tesb-rac-app-sl-sam

2. 代替コンテナで、コンソールに次のコマンドを⼊⼒します:

features:uninstall tesb-rac-services-sl-sam

features:uninstall tesb-rac-common-sl-sam

3. 「features:list | grep tesb-rac」と⼊⼒して、すべてのフィーチャーが実際にアンインストールされていることを確認します。

Page 103: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Security Token Serviceを使⽤してWS-SecurityベースのSAML認証を提供するRent-a-Carのデモ

Talend ESB⼊⾨ガイド 99

すべてのフィーチャーの状態は「uninstalled」と表⽰されます。

4.2. Security Token Serviceを使⽤してWS-SecurityベースのSAML認証を提供するRent-a-Carのデモこのセクションでは、Security Token Serviceフィーチャーを有効にして、WS-SecurityベースのSAML認証を提供するRent-a-Carのデモを構築および実⾏する⽅法を説明します。

Rent-a-CarサンプルのWS-Securityを有効にするには、Security Token Serviceサーバーをインストールし、デプロイする必要があります。

このデモのサンプルの⼿順を実⾏するには、次の作業が必要です。

1. 必要な場合は、「デモの代替コンテナの作成」の説明に従い、代替のコンテナを作成します。

2. 必要な場合は、「ログの設定」の説明に従い、デフォルトのログ設定をオーバーライドするためのログを設定します。

3. インフラストラクチャサービスを使⽤してプライマリコンテナ(および、必要な場合は代替コンテナ)を開始します。「Talend Runtimeの実行」を参照してください。

4. デモを構築します。「セキュリティが有効なデモの構築」を参照してください。

4.2.1. ログの設定STS機能は、<TalendRuntimePath>/examples/talend/tesb/rent-a-car/にある標準のRent-a-Carで有効です。

Rent-a-CarSecurity Token Serviceサンプルでは、デフォルトで、クライアントとサーバーの設定ファイル内の⾃動ログが有効になっています。

サンプルの⾃動ログを無効にするには、Rent-a-CarSecurity Token Serviceサンプルのサービスとクライアントの両⽅でbeans.xmlファイルから次のXMLノードを削除します。

<cxf:bus> <cxf:features> <cxf:logging /> </cxf:features></cxf:bus>

クライアントとSecurity Token Serviceからのログメッセージは、代替コンテナに保存されます。

./alternate-container/log/tesb.log

サービスからのログメッセージは、プライマリコンテナと同じディレクトリに保存されます。

4.2.2. セキュリティが有効なデモの構築デモを構築するには、MavenとSecurity Token Serviceプロファイルを使⽤します。

Page 104: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

デモフィーチャーのアンインストール

100 Talend ESB⼊⾨ガイド

1. Security Token Serviceサービスが開始されていることを確認するには、デフォルトのTalendRuntimeコンテナが停⽌している場合はそれを開始し、コンソールで次のコマンドを実⾏します。list

次のバンドルがリストに表⽰されます。Apache CXF STS CoreおよびTalend ::ESB :: STS ::

CONFIG。これらではSTS機能が有効です。

Security Token Serviceサービスを開始していない場合は、ここでtesb:start-allコマンドで実⾏するか、または他のフィーチャー (Security Token Service、Service Locator)はすべて除きSecurity Token Serviceフィーチャーのみをインストールする場合は、tesb:start-stsコマンドを実⾏します。

2. EnterpriseユーザーとPlatformユーザーは、セキュリティ管理システムがTIDMからJAASに変わったことを確認する必要があります(tesb:switch-sts-jaas)。詳細は、「Talend Runtimeの実行」を参照してください。

3. ここで、デモのサンプルを構築するため、コマンドラインコンソールで、ディレクトリ<TalendRuntimePath>/examples/talend/tesb/rent-a-car/から次のコマンドを実⾏します。mvn install -Psts

4. 次に、サンプル⾃体をインストールします。デフォルトのコンテナコンソールにRent-a-Carフィーチャーの場所を追加するため、次を⼊⼒します。features:addurl mvn:org.talend.esb.examples.rent-a-car/features-sts/5.5.2/xml

5. STSのサンプルのインストールが終了し、カーソルが戻ったら、次を⼊⼒します。features:refreshurl

features:install tesb-rac-services-sts

再度、カーソルが戻るまで待ちます。

6. 代替コンテナを開始し、そのコンソール内で、次を⼊⼒します。features:addurl mvn:org.talend.esb.examples.rent-a-car/features-sts/5.5.2/xml

7. サンプルがインストールされ、カーソルが戻ったら、次を⼊⼒します。features:refreshurl

features:install tesb-rac-app-sts

再度、カーソルが戻るまで待ちます。

これで、STSサンプルはインストールされ、いつでも実⾏できます。

8. たとえば、代替コンテナでcar:guiを実⾏して、Rent-a-Carレンタルクライアントアプリケーションを実⾏します。詳細は、「Javaを使用したデータサービスおよびルートのビルドおよびデプロイ」を参照してください。

4.2.3. デモフィーチャーのアンインストール1. デモの実⾏が終了したら、Security Token Serviceフィーチャーをアンインストールします。

代替コンテナで、次を⼊⼒します。features:uninstall tesb-rac-app-sts

Page 105: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Artifact Repositoryを使⽤したRent-a-Carのデモ

Talend ESB⼊⾨ガイド 101

features:uninstall tesb-rac-common-sts

2. プライマリコンテナで、次を⼊⼒します。features:uninstall tesb-rac-services-sts

features:uninstall tesb-rac-common-sts

4.3. Artifact Repositoryを使⽤したRent-a-Carのデモこのセクションでは、Artifact Repositoryを使⽤して、デモをTalend Runtimeにデプロイする⽅法を説明します。Artifact Repositoryが他のコンポーネントと相互にやり取りする⽅法の概要については、図1.6「Talend Enterprise ESBの運⽤の基本概念」を参照してください。

Talend ESBのコンテキストでは、Nexus Artifact Repositoryはプロビジョニングリポジトリ管理ソフトウェアとして使⽤されます。Provisioning (プロビジョニング)は、デプロイおよび実⾏されるすべてのESBアーティファクト(ルート、サービス、汎⽤OSGiフィーチャー)が保存されるカタログとして使⽤されます。これらのESBアーティファクトは、開発者がStudioまたはその他のJava IDEで設計します。デフォルトでは、2つのリポジトリがこのリポジトリ内に組み込まれています。1つは開発環境⽤(Snapshots (スナップショット))で、もう1つは本番環境⽤(Releases (リリース))です。これらのリポジトリにより、アーティファクをはTalend Runtimeのデプロイメントで使⽤できます。

このセクションでは、Rent-a-CarのデモをArtifact Repositoryに⼿動でパブリッシュする⽅法と、そのサービスをArtifact RepositoryからTalend Runtimeコンテナにデプロイする⽅法を説明します。ユースケースの主な⼿順は次のとおりです。

• Artifact Repositoryをダウンロードおよびインストールします。「NexusArtifact Repositoryのダウンロードおよびインストール」を参照してください。

• Rent-a-CarのデモのフィーチャーをArtifact Repositoryにパブリッシュします。「ArtifactRepositoryへのデモのパブリッシュ」を参照してください。

• Talend ESB Standard EditionまたはTalend Open Studio for ESBなどのコミュニティ製品の場合は⼿動で、Rent-a-CarのデモのフィーチャーをArtifact RepositoryからTalend Runtimeにデプロイします。「Nexus Artifact Repositoryを使用したデモのTalend ESB Standard Editionへのデプロイ」を参照してください。

• Talend EnterpriseまたはPlatform製品の場合は、Talend Administration Centerを介してArtifactRepositoryからTalend RuntimeへRent-a-Carのデモのフィーチャーをデプロイします。「TalendAdministration Centerを使用したデモのArtifact RepositoryからTalend Runtimeへのデプロイ」を参照してください。

Page 106: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

NexusArtifact Repositoryのダウンロードおよびインストール

102 Talend ESB⼊⾨ガイド

4.3.1. NexusArtifact Repositoryのダウンロードおよびインストールこのユースケースでは、Talendが推奨するArtifact RepositoryであるSonatype Nexusを使⽤します。Nexusは、Mavenアーティファクトリポジトリの共有サーバーの⼀種として動作します。

Talend ESB Standard EditionまたはTalend Open Studio for ESBを使⽤している場合は、NexusのWeb (http://www.sonatype.org/nexus)で⼊⼿可能なNexusオープンソースまたはNexus Proディストリビューションをダウンロードして、NexusのWebサイトで指定されたインストール⼿順に従います。

Talend EnterpriseまたはPlatform製品を使⽤している場合は、「Talend Administration Centerの開始」で説明したとおり、Talend Administration Centerのインストール時にTalendArtifactRepositoryが既にインストールされています。

インストールするには、パッケージを解凍するだけです。

開始するには、ディレクトリを参照し、次のコマンドを実⾏します。

• ./bin/nexus console (Linux)

• .\bin\nexus.bat console (Windows)

Nexusは現在、http://localhost:8081/nexus/index.htmlで実⾏されています。デフォルトでは、ログイン名はadminで、パスワードはadmin123です。

4.3.2. Artifact Repositoryへのデモのパブリッシュ次の⼿順は、所有している製品のバージョンに応じてTalend ESB Standard Edition製品およびTalend Open Studio for ESB製品または、Talend EnterpriseまたはPlatform製品のいずれかから実⾏できます。これは、Talend Runtimeに付属のMavenプロジェクトファイルを使⽤してデモをNexusArtifact Repositoryにパブリッシュし、その後、Artifact RepositoryからTalend Runtimeコンテナにデプロイする⽅法を⽰しています。

1. Sonatype NexusまたはTalend Nexus Artifact Repository (EnterpriseユーザーまたはPlatformユーザーの場合)が、「NexusArtifact Repositoryのダウンロードおよびインストール」に説明されているとおりにインストールされ実⾏していることを確認してください。

Talend Installerでインストールした場合は(EnterpriseユーザーまたはPlatformユーザーの場合)、環境内でTalend Artifact (Talendアーティファクト)サービスとして表⽰されます。

2. Maven設定ファイルの<TalendRuntimePath>/examples/talend/tesb/rent-a-car/

settings.xmlと$user.dir/.m2/settings.xmlファイルに次のセクションを追加します。<server> <id>nexus</id> <username>admin</username> <password>admin123</password></server>

3. Mavenプロジェクトファイルの<TalendRuntimePath>/examples/talend/tesb/rent-a-car/

pom.xmlで、<distributionManagement>セクションを次のように変更します。<distributionManagement>

<!-- use the following if you're not using a snapshot version. --> <repository> <id>nexus</id>

Page 107: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Nexus Artifact Repositoryを使⽤したデモのTalend ESB Standard Editionへのデプロイ

Talend ESB⼊⾨ガイド 103

<name>RepositoryProxy</name> <url>http://localhost:8081/nexus/content/repositories/releases</url> </repository>

<!-- use the following if you ARE using a snapshot version. --> <snapshotRepository> <id>nexus</id> <name>RepositoryProxy</name> <url>http://localhost:8081/nexus/content/repositories/snapshots</url> </snapshotRepository></distributionManagement>

http://localhost:8081/nexus/content/repositories/releasesは、Nexusがスタンドアロンとしてインストールされている場合、またはTalend Nexus Artifact Repositoryを使⽤している場合に、使⽤される正しいURLです。ただし、NexusがTomcat内でWebアプリケーションとしてインストールされている場合は(WARファイルデプロイメント)、URLはhttp://localhost:8080/

nexus-webapp/content/repositories/releasesになります。

4. ファイル<TalendRuntimePath>/container/etc/org.ops4j.pax.url.mvnのパラメーターorg.ops4j.pax.url.mvn.repositoriesで、NexusリポジトリのURLを確認し、必要な場合はそれを編集します。org.ops4j.pax.url.mvn.repositories= \.....http://localhost:8080/nexus-webapp/content/repositories/releases@id=tesb.release, \http://localhost:8080/nexus-webapp/content/repositories/snapshots@snapshots@id=tesb.snapshot, \

http://localhost:8081/nexus/content/repositories/releases@id=tesb.releaseは、Nexusがスタンドアロンとしてインストールされている場合、またはTalend Nexus Artifact Repositoryを使⽤している場合に、使⽤される正しいURLです。ただし、NexusがTomcat内でWebアプリケーションとしてインストールされている場合は(WARファイルデプロイメント)、URLはhttp://localhost:8080/nexus-webapp/content/repositories/releases@id=tesb.releaseになります。

5. コマンドラインコンソールから、ディレクトリを<TalendRuntimePath>/examples/talend/tesb/

rent-a-car/に変更し、次のコマンドを実⾏して、Rent-a-Carの例のフィーチャーをArtifactRepositoryにデプロイします。mvn deploy

6. http://localhost:8081/nexus/content/repositories/releasesに移動します。Rent-a-Carのサンプルorg.talend.esb.examples.rent-a-carは正常にデプロイされています。

Rent-a-CarのデモのフィーチャーはArtifact Repositoryにパブリッシュされているので、それらをTalend Runtimeコンテナにデプロイできます。実⾏⽅法の詳細は、以下を参照してください。

• Talend ESB Standard EditionおよびTalend Open Studio for ESBユーザーの場合は、「NexusArtifact Repositoryを使用したデモのTalend ESB Standard Editionへのデプロイ」を参照してください。

• Talend EnterpriseユーザーまたはPlatformユーザーの場合は、「Talend Administration Centerを使用したデモのArtifact RepositoryからTalend Runtimeへのデプロイ」を参照してください。

4.3.3. Nexus Artifact Repositoryを使⽤したデモのTalend ESB Standard Editionへのデプロイこのセクションは、Talend ESB Standard EditionおよびTalend Open Studio for ESBのユーザーを対象としています。Enterprise製品またはPlatform製品のユーザーは、「Talend Administration Center

Page 108: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Administration Centerを使⽤したデモのArtifact RepositoryからTalend Runtimeへのデプロイ

104 Talend ESB⼊⾨ガイド

を使用したデモのArtifact RepositoryからTalend Runtimeへのデプロイ」に進んでください。Rent-a-CarのデモのフィーチャーをArtifact RepositoryからTalend Runtimeコンテナにデプロイする⽅法が説明されています。

1. 「Artifact Repositoryへのデモのパブリッシュ」に説明されているとおりに、Rent-a-CarのデモのフィーチャーがArtifact Repositoryにパブリッシュされていることを確認します。

それらがパブリッシュされていることを確認するには、http://localhost:8081/

nexus/content/repositories/releaseに移動します。Rent-a-Carのサンプルorg.talend.esb.examples.rent-a-carは正常にデプロイされています。

2. コンテナを開始します。「Talend Runtimeの実行」を参照してください。

3. 次のコマンドを使⽤して、Rent-a-CarのフィーチャーをTalend Runtimeコンテナにインストールします。

features:addurl mvn:org.talend.esb.examples.rent-a-car/features/5.5.2/xml

features:refreshurl

features:install tesb-rac-services

features:install tesb-rac-app

4. 次のコマンドを使⽤してデモを実⾏します。

car:gui

4.3.4. Talend Administration Centerを使⽤したデモのArtifact RepositoryからTalend Runtimeへのデプロイこのセクションは、EnterpriseまたはPlatform製品のユーザーを対象としています。TalendESB Standard EditionおよびTalend Open Studio for ESBのユーザーの場合は、「Nexus ArtifactRepositoryを使用したデモのTalend ESB Standard Editionへのデプロイ」に進んでください。TalendAdministration Center Webアプリケーションを介して、Rent-a-CarのデモのフィーチャーをArtifactRepositoryからTalend Runtimeコンテナにデプロイする⽅法が説明されています。

1. 「ソフトウェアの開始」に説明されているとおりに、Talend Runtime、Talend AdministrationCenter、およびNexus Artifact Repositoryが実⾏していることを確認します。

2. 「Artifact Repositoryへのデモのパブリッシュ」に説明されているとおりに、Rent-a-CarのデモのフィーチャーがArtifact Repositoryにパブリッシュされていることを確認します。

それらがパブリッシュされていることを確認するには、http://localhost:8081/

nexus/content/repositories/releaseに移動します。Rent-a-Carのサンプルorg.talend.esb.examples.rent-a-carは正常にデプロイされています。

3. Talend Administration Centerから、[Conductor] (コンダクター)の下の[ESB Conductor] (ESBコンダクター)をクリックして、新しいデプロイメントタスクを作成します。

4. 上部の[Add] (追加)ボタンをクリックして、右側に表⽰された[Edition] (エディション)フォームに⼊⼒します。

Page 109: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Administration Centerを使⽤したデモのArtifact RepositoryからTalend Runtimeへのデプロイ

Talend ESB⼊⾨ガイド 105

5. [Metadata] (メタデータ)エリアの[Label] (ラベル)フィールドで、たとえば、サービスにrent-a-carと名前を付け、[Description] (説明)フィールドにdemoと⼊⼒します。

6. [Feature] (フィーチャー)エリアで、[Select Feature] (フィーチャーを選択)をクリックして、[Select Feature from Nexus repository] (フィーチャーをNexusリポジトリから選択)ウィザードを開きます。このウィザードは、このエリアの以降のフィールドを⼊⼒するために役⽴ちます。

Page 110: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend Administration Centerを使⽤したデモのArtifact RepositoryからTalend Runtimeへのデプロイ

106 Talend ESB⼊⾨ガイド

7. [Repository] (リポジトリ)リストで、releasesを選択し、org > talend > esb > examples> rent-a-car > features > 5.5.2の順に参照して、features-5.5.2.xmlフィーチャーを選択し、[OK]をクリックします。[Features] (フィーチャー)エリアのフィールドが⾃動的に⼊⼒されます。

[Name] (名前)リストでtesb-rac-servicesオプションを選択し、[Type] (タイプ)リストで[Service] (サービス)を選択します。

8. [Runtime Config] (ランタイム設定)エリアの[Server] (サーバー)リストで、[Talend RuntimeContainer] (Talend Runtimeコンテナ)を選択します。

[Save] (保存)をクリックして、デプロイメントタスクを作成します。

9. rent-a-carデプロイメントタスクがリストに表⽰されます。

[Deploy] (デプロイ)をクリックすると、tesb-rac-servicesフィーチャーがTalend Runtimeコンテナにデプロイされ、⾃動的に開始されます。

[Last Action] (最終アクション)列の値が、CREATED (作成済み)からDEPLOYED (デプロイ済み)に変わります。

これでRent-a-CarサービスはTalend Runtimeコンテナにデプロイされ、⾃動的に開始されるため、使⽤可能となります。コンテナのコンソールプロンプトでlistと⼊⼒すると、サービスがアクティブであることを確認できます。

[ 349] [Active ] [ ] [ ] [ 80] CRMService Common (5.5.2)[ 350] [Active ] [ ] [ ] [ 80] ReservationService Common (5.5.2)[ 351] [Active ] [ ] [ ] [ 80] CRMService Service (5.5.2)[ 352] [Active ] [ ] [Started] [ 80] CRMService Service Endpoint JMX (5.5.2)[ 353] [Active ] [ ] [ ] [ 80] ReservationService Service (5.5.2)

Page 111: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

XKMSを使⽤したRent-a-Carのデモ

Talend ESB⼊⾨ガイド 107

[ 354] [Active ] [ ] [Started] [ 80] ReservationService Service Endpoint JMX (5.5.2)

Rent-a-Carレンタルクライアントアプリケーションを介してこれらのサービスを使⽤するには、同様に、該当するサービスをTalend Runtimeコンテナにデプロイする必要があります。デプロイするには、上記と同じ⼿順に従います。ただし、[Features] (フィーチャー)エリアの[Name] (名前)リストでtesb-rac-appフィーチャーを選択します。

レンタルクライアントアプリケーションサービスをTalend Runtimeコンテナにデプロイした後、car:guiコマンドを介してそのインターフェイスを実⾏し、インターフェイスでRent-a-Carサービスを使⽤できます。

Talend Administration Centerを介したデプロイメントの別のユースケースについては、「TalendAdministration Centerからのパブリッシュとデプロイメント」を参照してください。このユースケースでは、サービスの開発がTalend Studio内で⾏われたため、Artifact RepositoryへのパブリッシュとTalend Runtimeコンテナへのデプロイメントの両⽅がTalend Administration Centerで処理されています。

ESBコンダクターの詳細は、『Talend Administration Center User Guide』を参照してください。

4.4. XKMSを使⽤したRent-a-Carのデモこのセクションでは、メッセージを暗号化またはメッセージに署名するためにXKMSサービスからパブリック証明書を取得するRent-a-Carの例を設定する⽅法を説明します。

XKMSフィーチャーは、TalendのEnterprise製品とPlatform製品でのみ使⽤可能です。そのため、Talend ESB Standard EditionおよびTalend Open Studio for ESBのユーザーはこのデモを実⾏できません。

このデモの例の⼿順を実⾏するには、次の作業が必要です。

1. インフラストラクチャサービスを使⽤してコンテナを開始します。「Talend Runtimeの実行」を参照してください。

2. XKMSサービスを設定します。「デモ用のXKMSサービスの設定」を参照してください。

3. デモを構築し、実⾏します。「Rent-a-Carデモの例の構築」を参照してください。

4.4.1. デモ⽤のXKMSサービスの設定Talend RuntimeコンテナとXKMSサービスが開始した後、デフォルト設定をデモに適合させる必要があります。

1. XKMSサービスが開始されていることを確認するには、デフォルトのTalend Runtimeコンテナが停⽌している場合はそれを開始し、コンソールで次のコマンドを実⾏します。

list

XKMS機能が有効な次のバンドルがリストに表⽰されます。

[ 233] [Active ] [ ] [ ] [ 80] Apache CXF XKMS Common (2.7.11)[ 234] [Active ] [Created ] [ ] [ 80] Apache CXF XKMS Client (2.7.11)

Page 112: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Rent-a-Carデモの例の構築

108 Talend ESB⼊⾨ガイド

[ 343] [Active ] [ ] [ ] [ 80] Apache CXF XKMS Service (2.7.11)[ 344] [Active ] [ ] [ ] [ 80] Apache CXF XKMS X509 Handlers (2.7.11)[ 345] [Active ] [Created ] [ ] [ 80] Apache CXF XKMS OSGi deployment (2.7.11)

XKMSサービスを開始していない場合は、ここでtesb:start-allコマンドで実⾏するか、または他のフィーチャー (Security Token Service、Security Token Service、Service Locator)はすべて除きXKMSフィーチャーのみをインストールする場合は、tesb:start-xkmsコマンドを実⾏します。

2. XKMSサービスは、バックエンドリポジトリとしてLDAPとFileの両⽅をサポートします。テスト環境またはデモ環境で、Fileリポジトリを使⽤するようにXKMSサービスを設定します(使⽤がより簡単)。

container/etc/org.apache.cxf.xkms.cfg設定ファイルを編集します。

3. Certificate repository (証明書リポジトリ)パラメーターが次のように設定されていることを確認します。

xkms.certificate.repo=file

4. Filesystem backend (ファイルシステムバックエンド)パラメーターが次のように設定されていることを確認します。

xkms.file.storageDir=${karaf.home}/esbrepo/xkms/certificates

この例で使⽤されているパブリック証明書(*.cer)は、Talend Runtimeコンテナのデフォルトの${karaf.home}/esbrepo/xkms/certificates/trusted_cas XKMSリポジトリに事前にインストールされています。

4.4.2. Rent-a-Carデモの例の構築この例を構築するには、ランタイムの特定のXKMSで使⽤可能なXKMS Rent-a-Carの例を構築する必要があります。

1. ここで、デモの例を構築するため、コマンドラインコンソールで、ディレクトリを次に変更します。

<TalendRuntimePath>/examples/talend/xkms/rent-a-car

次のコマンドを実⾏します。

mvn install

2. 次に、例⾃体をインストールします。Talend Runtimeコンテナコンソールで、次のコマンドを実⾏します。

features:addurl mvn:org.talend.esb.ee.examples.rent-a-car/features/5.5.2/xml

features:install tesb-rac-services-xkms

features:install tesb-rac-app-xkms

3. その後、listコマンドを使⽤して、すべてが適切にインストールされたかどうかを確認します。

[ 373] [Active ] [ ] [ ] [ 80] CRMService Common (5.5.2)[ 374] [Active ] [ ] [ ] [ 80] ReservationService Common (5.5.2)

Page 113: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Rent-a-Carデモの例の構築

Talend ESB⼊⾨ガイド 109

[ 375] [Active ] [ ] [ ] [ 80] CRMService Service (5.5.2)[ 376] [Active ] [ ] [Started] [ 80] CRMService Service Endpoint XKMS (5.5.2)[ 377] [Active ] [ ] [ ] [ 80] ReservationService Service (5.5.2)[ 378] [Active ] [ ] [Started] [ 80] ReservationService Service Endpoint XKMS (5.5.2)[ 379] [Active ] [ ] [Started] [ 80] CRMService Client XKMS (5.5.2)[ 380] [Active ] [ ] [Started] [ 80] ReservationService Client XKMS (5.5.2)[ 381] [Active ] [Created ] [ ] [ 80] App Reservation (5.5.2)

4. デモを使⽤するために、レンタルクライアントインターフェイスを使⽤できます。インターフェイスを開くには、Talend Runtimeコンテナコンソールのプロンプトで、次のコマンドを実⾏します。

car:gui

Page 114: Talend ESB - 入門ガイドdownload-mirror1.talend.com/esb/user-guide-download/V552/... · 2015-01-26 · Talend ESBフィーチャー 2 Talend ESB⼊⾨ガイド 1.1. Talend ESBフィーチャー

Talend ESB⼊⾨ガイド