アーキテクチャーの概要

IBM® UrbanCode Deploy アーキテクチャーは、サービス層とデータ層で構成されます。

サービス層には、Web サーバーのフロントエンド・サービスとコア・サービス (例えば、ワークフロー、エージェント管理、デプロイメント、インベントリー、セキュリティー、その他) を提供するセントラル・サーバーが含まれます。 各サービスは、一つのビジネス・ロジックをホストするための自己完結型のメカニズムと考えることができます。 サービスをコンシュームできるのは、クライアント、エージェント、およびその他のサービスです。 デプロイメントはサーバーにより調整され、ネットワーク全体に分散されたエージェントにより実行されます。 ほとんどのクライアントは、ブラウザーを使用して、HTTP(S) で Web サーバーと通信します。 サーバーとエージェント間の通信のほとんどは、JMS (後述) を使用して行われますが、必要に応じて HTTP(S) も使用されます。

データ層のリレーショナル・データベースは、構成データと実行時データを保管しています。 データ層のファイル・ストアである CodeStation には、ログ・ファイル、成果物、およびその他の非構造化データ・オブジェクトが含まれます。 レポート作成ツールは、リレーショナル・データベースに直接接続することができます。

データ層、サービス層、およびクライアントを示す、標準的なシステムの図。 クライアントについては、このエリアをクリックしてください。 サービス層については、このエリアをクリックしてください。 エージェントについては、このエリアをクリックしてください。 データ層については、このエリアをクリックしてください。

IBM UrbanCode Deploy は、サーバーとエージェント間の通信 (JMS ベース) およびクライアントと Web サービス間の通信にステートレス 通信を使用します。 ここで使用されるステートレスは、サーバーでは要求間のセッション情報がほとんど保持されず、各要求に、それを処理するために必要なすべての情報が含まれることを意味します。 サーバーは listen ソケットをセットアップして、エージェント、リレー、およびユーザー (クライアント) について listen します。 セキュリティー強化のために、エージェントはポートでは listen しません。エージェントは、新規の状態に移行する準備ができると要求を送信します。

サーバーとエージェント間の通信は、コンポーネントの転送あるいはデプロイを中心に構築されています。 コンポーネントには、ビジネス上有意義な任意のコンテンツ (例えば、環境情報、構成データ、ソース、静的ファイル、あるいはソフトウェア・プロジェクトに関連した他のあらゆるもの) を含むことができます。 JMS 接続は永続的であり、要求と応答間のプロトコルには基づいていないため、 IBM UrbanCode Deploy は絶えずポートを開閉することはしません。 この持続接続により、エージェントがセキュアでスケーラブルである限り、サーバーはいつでもエージェントと通信できるようになります。

多くの IBM UrbanCode Deploy サービスは、 REST (Representational State Transfer) タイプです。REST スタイルのサービスは、HTTP を介したリソースの転送に重点を置いた Web サービスです。 リソースは、ビジネス上重要なあらゆるデータの可能性があります。 リソースは、XML あるいは JSON (JavaScript Object Notation) などの自己記述型のフォーマットで転送されます。 XML および JSON 表記は、通常、エージェント/クライアントの要求時点では、リソース状態をモデル化します。 REST スタイルのサービスは、一貫性のある応答のためにサーバーにより必要とされるすべてのデータを要求に確実に組み込むことで、ステートレス状態を実現します。


フィードバック