| Moriya's profilehmoriya .net style 森屋...BlogLists | Help |
hmoriya .net style 森屋英治ブログサイト 5/26/2009 アーキテクチャの再利用と利用(汎化と適用の狭間で)一枚のアーキテクチャ図企業にとって必要なアーキテクチャを検討すると、必ずどこの会社でも一枚のアーキテクチャ図を想像されます。古くは、クライアント・サーバモデル、物理三層モデル、論理三層モデルと言う言葉で連想されるアーキテクチャも、まさに一枚のアーキテクチャ図です。システム制約を整理していくと自ずとアーキテクチャ図が見えてきます。同じ制約の中で特定のソリューションを検討していくのですが、ここでアーキテクチャ図を書く方のバックヤードが大きく影響します。インフラよりの方、実装まで考慮してアーキテクチャを書く方、現行のシステムを踏まえてアーキテクチャ図を書く方など様々です。そうアーキテクチャ図は、書く方によって視点が違いますので、自然に俯瞰する図も変わるのが普通です。もちろん共通のモデリングツールを利用されていれば同じ視点の方で共通の表記のモデルが作成されてる例もあります。違って当たり前なのに、いつも同じアーキテクチャ図が異なる企業、異なるシステムで再利用されているは不思議でなりません。複数の視点によって書かれたアーキテクチャ図によって一つのシステムが表現されシステムがデザインされています。経験が豊富なアーキテクトの方は、アーキテクトを書いた後、あるいは書いている途中で不安に駆られます、「本当にこれで動作するのか、本当にこれでつながるのか、本当にこれで運用できるのか」。この不安を解消するためにアーキテクトの方は、小さな検証を繰り返します、まさにXPの用語でいうと「アーキテクチャスパイク」です。あなたの会社にいらっしゃるこの検証するかたを、私はアーキテクトと呼んでいます。俯瞰して、検証する、改善する作業ループこそが非常に重要です、眉間にしわを寄せている方が実は多いのも特徴です。IEEE1471を勉強されている方、ソフトウェアファクトリを勉強されている方は、異なるステークフォルダのViewpointを連想されると思いますが、まさに複数の視点でモデルを書くことが基本となります。ザックマンフレームワーク、マイクロソフトソリューションフレームワークもその一例です。 アーキテクチャの再利用と利用ソフトウェア資産の再利用に関して相談されることが多いのですが、私はソフトウェアアーキテクチャによるソフトウェアの再利用をおすすめしていますし、すでに何社かの企業様に導入しています。アーキテクチャの再利用により、ソフトウェア資産を最大限再利用することを体系化し、実践してきています。最初に、アーキテクチャの再利用と利用は、その方向と考え方が全く異なることであることを説明しなくはなりません。再利用推進を前提としたクロスカットの組織は、必ず全社に適用するため汎化(一般化)したソリューションアーキテクチャ、またはフレームワークを構築しまが、多くの企業では、再利用まで至っていません。そうです、実際のプロジェクトへの適用がうまくいかないのです。この汎化と適用のバランスと方向が逆であることを理解していないために再利用できないのではないのかというのが、私の仮説です。適用するために汎化することを忘れ、汎化に集中するあまり実際に構築される方のことをあまり考えなくなり、適用率にこだわるあまり利用される箇所が限定されるのではないでしょうか。汎化には、範囲と度合いがあります、適用を前提として汎化するからこそ意味があるのです。ドメインに特化した汎化は、再利用率が上がるでしょうし、全社を前提とした汎化は、適用箇所が限定され効果が薄くなります。組織そのものも、汎化用と適用のチームは視点が異なりますので分けるのがよろしいのでないかと思います、実際、できる方は現場のプロジェクトに取り込まれてしまい、クロスカットの取り組みが維持できなくなります。汎化と適用の狭間には、非常に重要なバランスがあることを常に考えなくてはなりません。 5/22/2009 VS10 EDM ようやくモデルからDBを生成11/20/2008 PDCを終えて その3 Windows Azure アーキテクチャ
「ロサンゼルス 10月末の気候」
「アーキテクチャから理解する」
と書きましたが、下にWindows Azureのアーキテクチャ図をPDCの PPTから抜粋して説明します。 典型的なプロジェクト構成で作ったソリューションの画像を添付します。 いい言い方をすれば、すでにエンタープライズで適用できるアーキテクチャフレームワークが提供されています、この点がWindows AzureがPAASであることを示しています。AmazonのEC2は、サーバそのものを提供しているので、HAASと呼べると思います。ASP.NETという開発はそのまま使えるのですが、100%そのまま現行のWebアプリケーションをクラウドへというものではなく、Windows Azureのアーキテクチャに従って構築する必要がある部分があることを注意しなくてはいけません。リリースされる頃にはこの点はもっと解消されているかもしれません、サービス思考で作られている方のほうが移行は簡単になることは間違いないです。 11/19/2008 PDCを終えて その2 Windows Azure登場
その1では、PDC2005について少し触れていきました。いよいよPDCの話に入ります。
実は、マイクロソフトのストレージは2つ存在します、一つはこのWindows Azure Storage, もうひつは、 SQL Data Serviceです。最初は、なぜ2つ存在するのか疑問でしたが、生い立ちを考えるとうなずけます。もともとマイクロソフトは、SQL Server Data Serviceを開発して、ベータ版を提供していました、Windows Azureには、WebとWorkerをつなぐなめ(冗長構成のため)、Queue構造が必要でした。最近では、Queue構造にデータベースを利用するのは、バックアップも含めて有力なデザインのひとつです。 参考: マイクロソフト PDC 2008 http://microsoftpdc.com A Lap around the Azure Services Platform より出展 10/18/2007 Software + Service的アプリケーションスタイル最近、Windows Liveの傾向を見ているとデスクトップアプリケーションとLiveサービスの融合がたくさん見られる。たとえば、Windows Live Mailですが、完全にデスクトップアプリケーションとして動作するし、サービスとしてはネット上のLive Mailを利用している。もちろん、モバイルでも閲覧可能だ。Web 2.0のおかげでサービスとしての充実が進んでいるが、現実解としてのデスクトップにもう一度気が付いてきたかたちに見える。実際、画像の添付、履歴操作性の観点でも私もLive Writerを利用している(50%くらい)。 もともとGoogleは、サービスと画像処理ソフトなどデスクトップの利用を併用して考えられていたが、Web2.0の部分がもてはやされそれに従った企業が急激に増加してきた。いい意味で、Webの可能性が広がった、デスクトップアプリでは簡単に作れる内容でも、Ajax系のアプリケーションでは非常に大変で、サポートするブラウザが増えれば増えるほどテストが増大する。パブリックなサービスであれば、すべて、つまりWeb、デスクトップ、サービス、モバイルなどの提供レベルが上位のものを目指すべきで、当然利用者の利便性、満足度は向上する。一方で、作成コストは増大し、テストコストも増大する。ゆえに、サービスを共通化し、フロントエンド(Web,Desktop,Mobile)の特徴を”生かすソフトウェア”が重要になってくる。ここで、注意しなくてはならないのは、本当に必要かだ。このようにサービスレベルを上げていくと、公共性が高いアプリケーションではいいが、特定の対象、スコープがあるアプリケーションでは、そのコストに全く見合わない。もちろん、これは、ハードウェアにも言えることで、ターゲットユーザ、提供サービス、コストのバランスが重要といえる。 いい意味で起こったWeb2.0ブーム、その波を利用して、もう一度Software + Serviceや自分の対象アプリケーション、対象顧客を見直して適切な構造のアプリケーションを再考する次期なのかもしれません。波に乗り遅れた方は、はじめから後者を考慮していくべきすね。 10/17/2007 Web Service Software Factory Final CTPWeb Service Software Factory Final CTPがリリースされています。
Tom Hollanderのブログにあるように次のEntlibのVNextも始まりそうです。
aiOwa アルファリリースaiOwa アルファリリース
http://www.archway.co.jp/Home/aiOwa.aspx
aiシリーズ第二弾aiOwa(アイオワ)アルファバージョンをリリースしました。 Silverlight1.1アルファで作成したWindSystemアプリケーションとなっています。 今後、これにいろいろアプリケーションを乗せていきたいと思っています。
お楽しみに。 10/11/2007 MSDN Agile DevelopmentMSDNのアーキテクチャセンターにAgile開発のコーナーがあります。
以前も紹介したかもしれませんが、PAGのツアーのVideoとか
PowerShellのTDDなど面白いネタがありますので、たまに参照されてはいかがでしょうか。
|
|
||||
|
|