5. 構成のカスタマイズ
5.2. 配備するアプリケーションの変更
3章の手順により作成したEC2インスタンスにはサンプルとして、サービスアセンブリの
「09_HttpInbound_SoapOutbound.zip」とWebアプリケーションの「09_SoapService.war」が配備されています。本 節では、この配備アプリケーションを任意のアプリケーションに変更する方法を説明します。
以下の2点から、CloudFormationテンプレートファイルを編集することで配備するアプリケーションとサービスアセ ンブリを変更することができます。
アプリケーションを配備する処理は webotx-esb-samples クックブックの recipes/windows.rb に記載され ていますが、配備するアプリケーションの設定情報は全てattributesで定義されています
attributesの値はroles/webotx-esb-sample-windows.jsonファイルの定義で上書きできます
配備するアプリケーションを変更するCloudFormationテンプレートの編集後の例は以下のとおりです。
Windows_WebOTX_ESB_EC2.template 72
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
"jar xvf cookbooks.zip¥n",
"Clear‐Content roles¥¥webotx‐esb‐sample‐windows.json¥n", "Add‐Content roles¥¥webotx‐esb‐sample‐windows.json `¥n", "¥"{`¥n",
" `¥"name`¥": `¥"webotx‐esb‐sample‐windows`¥",`¥n", " `¥"default_attributes`¥": { },`¥n",
" `¥"override_attributes`¥": {`¥n", " `¥"apps`¥" : {`¥n",
" `¥"list`¥": [`¥"app1`¥", `¥"app2`¥"]`¥n", " },`¥n",
" `¥"app1`¥" : {`¥n",
" `¥"url`¥":`¥"http://jpn.nec.com/webotx/download/manual/92/optionpp/dev_devstudio/
dev_devstudio_esb/4.1_sample01/01_SoapService.war`¥"`¥n", " },`¥n",
" `¥"app2`¥" : {`¥n",
" `¥"url`¥":`¥"http://jpn.nec.com/webotx/download/manual/92/optionpp/dev_devstudio/
dev_devstudio_esb/4.10_sample10/10_http_outbound_servlet.war`¥"`¥n", " },`¥n",
" `¥"esb_apps`¥" : {`¥n",
" `¥"list`¥": [`¥"esb_app1`¥", `¥"esb_app2`¥"]`¥n", " },`¥n",
" `¥"esb_app1`¥" : {`¥n",
" `¥"url`¥":`¥"http://jpn.nec.com/webotx/download/manual/92/optionpp/dev_devstudio/
dev_devstudio_esb/4.1_sample01/01_File_XSLT_SOAP.zip`¥"`¥n", " },`¥n",
" `¥"esb_app2`¥" : {`¥n",
" `¥"url`¥":`¥"http://jpn.nec.com/webotx/download/manual/92/optionpp/dev_devstudio/
dev_devstudio_esb/4.10_sample10/10_SoapInbound_HttpOutbound.zip`¥"`¥n", " }`¥n",
" },`¥n",
" `¥"json_class`¥": `¥"Chef::Role`¥",`¥n",
" `¥"description`¥": `¥"This is just a sample role.`¥",`¥n", " `¥"chef_type`¥": `¥"role`¥",`¥n",
" `¥"run_list`¥": [`¥n",
" `¥"recipe[webotx‐esb‐sample::windows]`¥" `¥n", " ]`¥n",
"}¥"¥n",
"chef‐client ‐z ‐c solo.rb ‐j init‐windows.json¥n",
32
このCloudFormationテンプレートでは、EC2インスタンスの初回起動時にPowerShellコマンドを用いて roles/webotx-esb-sample-windows.jsonを生成しています。CloudFormationテンプレートが生成する webotx-esb-sample-windows.json は以下のようになります。
roles/webotx-esb-sample-windows.json {
"name": "webotx‐esb‐sample‐windows", "default_attributes": { },
"override_attributes": { "apps" : {
"list": ["app1", "app2"]
},
"app1" : {
"url":"http://jpn.nec.com/webotx/download/manual/92/optionpp/dev_devstudio/dev_devstudio_esb/4.
1_sample01/01_SoapService.war"
},
"app2" : {
"url":"http://jpn.nec.com/webotx/download/manual/92/optionpp/dev_devstudio/dev_devstudio_esb/4.
10_sample10/10_http_outbound_servlet.war"
},
"esb_apps" : {
"list": ["esb_app1", "esb_app2"]
},
"esb_app1" : {
"url":"http://jpn.nec.com/webotx/download/manual/92/optionpp/dev_devstudio/dev_devstudio_esb/4.
1_sample01/01_File_XSLT_SOAP.zip"
},
"esb_app2" : {
"url":"http://jpn.nec.com/webotx/download/manual/92/optionpp/dev_devstudio/dev_devstudio_esb/4.
10_sample10/10_SoapInbound_HttpOutbound.zip"
} },
"json_class": "Chef::Role",
"description": "This is just a sample role.", "chef_type": "role",
"run_list": [
"recipe[webotx‐esb‐sample::windows]"
] }
上記の例では配備するアプリケーションの設定を、override_attributes‐>apps‐>listと
override_attribute‐>app1, override_attributes‐>app2に記述します。また、配備するサービスアセンブリの設 定を、override_attributes‐>esb_apps‐>listとoverride_attribute‐>esb_app1,
override_attributes‐>esb_app2に記述します。
各属性の詳細を以下の表に示します。
要素名 説明
override_attributes ‐>apps
‐>list
配備するアプリケーションの一覧を定義する属性です。
override_attributes ‐>esb_apps
‐>list
配備するサービスアセンブリの一覧を定義する属性です。
override_attributes ‐>*
配備するアプリケーション、サービスアセンブリに関する情報を定義する属性です。
具体的な情報(配備するアプリケーションの取得元のURL)はこの属性の子要素に定
33
義します。この属性の名前はoverride_attributes‐>apps‐>listか
override_attributes‐>esb_apps‐>listで定義した要素に一致させる必要があり ます。
override_attributes ‐>*
‐>url
配備するアプリケーションの取得元のURLです。
従って、上記の記入例の場合はWebOTXのマニュアルサイトから2つのサンプルアプリケーション
「01_SoapService.war」、「10_http_outbound_servlet.war」と2つのサービスアセンブリ「01_File_XSLT_SOAP.zip」、
「10_SoapInbound_HttpOutbound.zip」をそれぞれダウンロードして、ドメインに配備します。