2010年03月16日 · 未分類
RapidSSLが1年3000円だったので証明書を取得してみた。
OpenSSLで作った秘密鍵・CSRに対して取得したのでTomcatをベースとしたWSO2サーバに
導入するのにやや苦戦した。
1.PCKS12のキーストアに変換
openssl pkcs12 -export -out キーストアファイル名(pfx) -inkey 秘密鍵ファイル(pem) -in 証明書ファイル(crt) -certfile 署名してもらったCAの証明書(crt)
2.JKSに1のキーストアをインポートする
keytool -importkeystore -srckeystore 1で作成したファイル -destkeystore 対象となるJKSのファイル -srcstoretype pkcs12 -deststoretype jks
3.Tomcatの設定をおこなう
WSO2はデフォルトインストールではTomcatを拡張している。server.xmlはなくtransports.xmlになっている。
<transport>の<parameter>として
<parameter name="keystore">JKSファイル名(フルパス)</parameter>
<parameter name="keypass">JKSのパスワード</parameter>
<parameter name="keyAlias">インポートしたキーのエイリアス名</parameter>
とすることで変更ができる。
WSO2 WSASのキーストアはデフォルトでは複数のキーがあるため、keyAliasを追加して対応する必要がある。
これでブラウザの警告がでなくなった。気持ちいい状況。
注意点としては作成したPCKS12のキーストアのパスワードとJKSのパスワードを一致させておくと楽。設定はできるはず。
タグ :
アーキテクチャドキュメントには、システムのコンテキスト、機能構造、デプロイメント環境、情報構造、運用環境などを定義して、非機能要件がどのように満たされるのか説明しておく必要があります。
アーキテクチャドキュメントを端的に表した文書なのでメモ。
タグ :
2010年02月25日 · CMMI, 運用
開発のCMMIにいくつかのプロセスエリアが追加された運用プロセスのCMMIがある。運用を考える上でのベースといえばITILでしたが、このCMMI for Servicesもその対象となりそう。
参考となる本として
があります。追加された知識エリアを書いていこうと思っています。
タグ :
ESBがオーバーヘッドであることは間違いありませんが、データなしに語るのもどうかと思い見つけたのが以下の資料。
http://wso2.org/library/1721
この資料でESBのオーバヘッドが評価できます。このデータでサービス呼び出しまでのオーバヘッドを積み上げられるので、後はサービスの処理そのもののレスポンスと画面系のレスポンスを積み上げれば概算はできます。(あくまでも概算で、性能は計測してなんぼなので)
タグ :
システム連携基盤としてのESBの意義を書いてきましたが、意義が大きくなればなるほど停止時の被害は大きくなります。そのため、冗長性をもつ構成となることが必須条件となります。また負荷が高くなった場合にスケールアウトできる構成となる拡張性を持たせることも重要になります。メッセージによって振り分けがされる分散も必要です。
その意味でESBの拡張性として
・リプリケートされた複数ノード
・メッセージの分担が決定されている複数ノード
に分かれます。後者の場合は振り分けをしてくれるノードも必要となります。
タグ :
mediateできるにも通じますが、そのフローの中でメッセージの変換ができると言うのも重要な機能になります。サービスの呼び出し側と受け側でIFを統一するにはNxM(呼び出し側N種類、呼び出し先M種類)の数だけIFが必要になってしまいます。そこでそれぞれN個とM個のIFを定義して、NxM個の変換をESB側に持たせることで対応することで、各システムはその知識を必要としないことが可能となります。
当然、その知識がESB側に移動するだけですが、変換の知識だけなので同じような内容を毎回作成する必要もなくなりますし、影響範囲をESB内にとどめることもでき、バージョン管理もCBRを利用して可能なため、システム側にあるよりもESB側にあるほうがふさわしいと考えることができます。デメリットとしてはESBの負荷が高まるというのがありますが、スケールアウトできる構成であれば負荷をどこに置くかという問題にすり替わるので問題ないと考えています。
タグ :
いくつかのサービスを束ねて一つのサービスと見せることができる。
サービスの粒度を柔軟に変更するために必要な機能でデータサービスのレベルからビジネスとして価値を生み出す業務サービスまでの粒度の違いを吸収します。同期・非同期の変換もこの中でやるとよいでしょう。
但し、 BPELが守備範囲とするような業務フローレベルでのmediateは守備範囲外とみた方がよく、人間系の含まないレベルの統合がESBにおけるmediateの範囲とみた方が良いと思います。
タグ :
非同期メッセージ基盤の3つの機能としてあげるのが、CBRです。これは入ってきたメッセージによって処理コンポーネント(サービス)を変えることができる機能です。
よくあるパターンでは、商品や受注の内容によって、外注したり、売上の立て方といった違いをこの機能で吸収します。あるいはインプットデータの中にバージョン番号を含めて、バージョンアップに対する実装を変えるといった進め方をする場合もあります。
タグ :
ここでいう接続方式とは、Webサービス、MQ(JMS)、SMTP、RESTなどの技術的な手段を表しています。接続方式から、連携元・先を独立させることで連携元・先が変更・増加した場合でも影響を少なくすることができます。
通常、この方式をコネクターのようなもので実装し、何らかの設定ファイルでサービスの実装コンポーネントと結びつけてこの内容を実現します。このようなコネクタの提供およびサービスとの連結を実現dけいることが非同期メッセージ連携基盤として重要なことです。
タグ :
企業システムの全体アーキテクチャには、非同期分散メッセージ基盤を中央に入れてシステム・サブシステム間連携の礎とするべきだと思うようになった。連携先・元の稼働状態(SLA)や変更に対する対応(システムの統廃合による移行も含む)、NxMといった連携本数の増加してしまう問題を考慮に入れるとシステム間には一層、層を設けてその影響範囲を吸収すべきと思う。
そのような分散基盤にどのような機能が必要なのかを考えてみようと思い、このエントリを書きました。しばらく続けますのでよろしくお願いします。
プロキシサービス
まず最初にプロキシーサービスを実現できる機能が必要かと思います。システムそのものは、サービスとアプリケーションに分かれます。アプリケーションは自由に作成され、簡単に改廃されますが
サービスは業務ルールの変更による改修以外はあまり変更されず、標準的な内容に昇華していきます。そのため、サービスの配置は柔軟にすべきです。しかし、アプリはサービスを利用しているのでプロキシのようなサービスを用いることで、配置を変えても影響しなくなります。UDDIのような技術で配置場所を検索しても実現できますがあとの記事で書こうと思っているシーケンスサービスをプロキシサービスとすることで呼び出すサービスとIDやメッセージ形態の違いを変換するサービスを挟み込むことができるようになるため、このような機能が必要です。
タグ :