第4話 TeamSiteに欠かせないパートナー、OpenDeployによるWebコンテンツ配信
Webコンテンツ管理ソリューションOpenText TeamSiteと連携してファイル配信ができるアプリケーション、それが OpenDeployです。OpenDeployもOpenText社の製品でTeamSiteを導入しているユーザはほぼOpenDeployも導入しています。OpenDeployにはTeamSiteで管理しているWebコンテンツをWebサーバに安全確実に配信するためのさまざまな機能があります。今回のブログでは、TeamSiteに欠かせないパートナーであるOpenDeployでWebコンテンツ配信の際によく利用する機能について紹介します。
OpenDeployシステム構成概要
はじめにTeamSiteとOpenDeployのシステム構成について説明します。
OpenDeployには、BaseモジュールとReceiverモジュールがあります。Baseモジュールはコンテンツ配信処理のためのモジュールで、コンテンツの配信元となるサーバ(TeamSiteサーバ)に配置します。Receiverモジュールはコンテンツ受信処理のためのモジュールで、配信先となるサーバ(Webサーバ)に配置します。BaseモジュールとReceiverモジュールは独自のプロトコルで通信しファイルを配信します。
Receiverモジュールで、配信元サーバの接続許可設定や、配信先サーバ上の書き込み許可をするディレクトリを設定することができます。配信/受信の許可設定により、セキュアにコンテンツを配信することができます。
【システム構成図】
また、OpenDeployはTeamSiteがなくても単独で利用できます。サーバ間のファイル配信ができるので、Webコンテンツ以外でもさまざまなファイルを転送するためのソリューションとして利用することができます。
配信タイプと主な機能
OpenDeployでWebコンテンツを配信する際は、「ディレクトリ比較配信」「TeamSite比較配信」「ファイルリスト配信」の3種類の配信タイプを選べます。以下、各配信タイプについて説明します。
①ディレクトリ比較配信
配信元と配信先のそれぞれのディレクトリ内容を比較して差分があるファイルを抽出し、そのファイルを配信します。
【ディレクトリ比較配信】
②TeamSite比較配信
TeamSite内でコンテンツを履歴管理している領域(エディションと呼ばれる)の差分を抽出してそのファイルを配信します。TeamSiteではファイルの履歴を管理している領域を複数作成することができますが、例えば、当日のエディションと1日前のエディションを比較して配信することにより、更新された1日分のファイルを配信することができます。
【TeamSite比較配信】
③ファイルリスト配信
配信するファイルの一覧をテキストファイルに記載しておき、そのファイルを読み込んで、ファイルを配信します。
【ファイルリスト配信】
①、②、③の配信タイプのどれを利用するかは要件に合わせて選択します。例えば、TeamSiteワークフロー(シリーズブログ第2話参照)から配信処理を呼び出す場合にはファイルリスト配信を利用します。これはTeamSiteワークフローが配信するファイルのパス情報を保持しておりファイルリストを簡単に作成でき、OpenDeployのファイルリスト配信とのカスタマイズがしやすいためです。
また、実際の配信処理は実行せずにログ出力のみを行うシミュレーション配信という設定もできます。この設定をディレクトリ比較配信で利用することで、配信元と配信先のファイル差分の洗い出しをすることができます。
次に、主な配信機能について説明します。各配信タイプにおいて共通で利用できる機能になります。
機能 |
概要 |
トランザクション配信 |
複数ファイルを同時に配信するケースで、そのうち、いずれかのファイル配信に失敗した場合に、すべてのファイル配信を元の状態に戻すことができます。 |
複数サーバ同時配信 |
1つの配信元サーバから複数の配信先サーバに同時にファイルを配信することができます。複数台配信時のトランザクション配信も設定できます。 |
配信フィルター |
配信するファイルのうち、指定したディレクトリやファイル拡張子などでフィルターをかけることができます。指定したものを含む(インクル―ド)設定と除外する(エクスクルード)設定ができます。 |
配信ファイルの権限設定 |
配信したファイルの権限(オーナ、グループ、パーミッション)を配信先で指定した値に変更することができます フィルターと組み合わせることによって、特定のファイルに自動的に実行権限を付与することができます。 |
デプロイ&ラン機能 |
配信処理を実行する前や配信が完了した後にスクリプトを実行することができます。スクリプトは配信元サーバ/配信先サーバのどちらでも実行可能です。例えば、配信処理完了後にメールで通知するようなことが可能です。 |
暗号化配信 |
SSLによる暗号化通信を利用して配信することできます。 |
配信スケジュール設定 |
配信日時をスケジュール設定することができます。 |
これらの機能の中で、Webコンテンツ配信において特に有用なのは「トランザクション配信」です。Webコンテンツの場合、1つのコンテンツがHTMLや画像など複数のファイルで構成されているため、そのうち1ファイルの配信に失敗すると、コンテンツが不完全な状態で公開されてしまいます。トランザクション配信により、1ファイルの配信失敗でもすべてを元に戻せるので、コンテンツが不完全に公開される状態を防ぐことができます。
また、公開Webサーバは複数台で冗長構成にしているケースが多く、「複数サーバ同時配信」の設定を実施するケースも多いです。
「配信スケジュール設定」については、TeamSiteワークフローとの組み合わせを考慮する必要があります。TeamSiteワークフローでも配信スケジュールをコントロールすることができるため、弊社の構築・カスタマイズ実績ではOpenDeployの「配信スケジュール設定」機能はあまり利用していませんが、ワークフローを利用しないような日次の配信処理(毎日決まったファイルを配信するなど)が必要な場合では、本機能で簡単に設定することができます。
OpenDeployアダプター機能
OpenDeployでは配信先サーバにReceiverモジュールをインストールする必要がありますが、お客様によっては、配信先サーバへ追加モジュールをインストールすることが許可されないケースがあります。このようなケースのために、OpenDeployではアダプターフレームワークというものを装備しています。
Receiverモジュールをインストールできないケースでは、FTPでファイルを転送できるFTPアダプターを利用します。FTPアダプターは製品標準で提供されています。また、Javaで任意のアダプターを開発することも可能です。エクサでは、Rsyncでファイルを転送するRsyncアダプターや、Amazon S3にファイルを登録するS3アダプターなどを開発した実績があります。最近は静的なWebコンテンツをS3で公開するお客様も増えてきていますので、TeamSiteからS3への配信の相談をよくいただいています。
【S3アダプター配信イメージ】
まとめ
今回はOpenDeployの概要と機能の一部について説明しました。OpenDeploy単独でもさまざまな機能があり、工夫しだいでWebコンテンツの配信だけに留まらず、ファイルを安全確実に転送したいというニーズに応えることができるのではないかと思います。
エクサでは多数のお客様へ様々なカスタマイズ開発・導入を行った実績があります。そのノウハウを生かしてお客様業務に合わせたご提案をさせていただきますので、ぜひご相談ください。
『OpenText TeamSiteのススメ』編 連載目次:
第3話 Webコンテンツを簡単に制作!TeamSiteテンプレートの作り方
第4話 TeamSiteに欠かせないパートナー、OpenDeployによるWebコンテンツ配信
第5話 TeamSiteは静的コンテンツ管理だけじゃない。LiveSiteの話
OpenText TeamSite製品紹介ページ: