「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
Excel Basicの設計とマイクロソフトのVBA戦略を推進した、
「ジョエル・スポルスキ」によると、アーキテクチャ宇宙飛行士は、
抽象的に言えば、
- 地球から、あまりにも遠くに行ってしまった頭の良い人で、
- いつ停止するのか分からない、酸素が足りなくなっている人。
- 包括的で高レベルだが、不条理な「宇宙から見た地球の写真」を作成する。
などと、表現されている。
詳細 †
傾向 †
- 収益に貢献しない非常に高度な学位を持った
多くの非生産的な人々を雇う余裕がある大企業で働く傾向がある。
(コレは、シェアが大きいから出来る事だと言えるかもしれない)
- 彼らは、アーキテクチャについて考えることをやめないので、
彼らに、コードを書いたり、プログラムを設計させるのは非常に難しい。
実際の問題は解決していない。 †
- アーキテクチャ以外の「機能」の話はすべて無視する。
- 新しいアーキテクチャを発明し、
それが「何か」を解決すると主張する。
- 「解決できたら役に立つ」実際の問題ではなく、
「(そのアーキテクチャが)解決できる(と考えている)」存在しない問題
を解決している(ダケに過ぎ無い)。
※ 例えば、SOA化すると、差し替えが可能になるが、実際に、
その「差し替え」を行うケースが以下ほど在るのか?と言うような話。
確かに利益をもたらすが誇大。 †
- 例えば、
- 生産性・保守性の向上
- 「参照アーキテクチャ」(モデル)として整理されている。
- 考慮点が減る(ブラック・ボックス化)。
- そして、何故か人々は、
その退屈なアーキテクチャに「非常に」感銘を受ける。
- RPCの新しいフォーマット
- または単なる新しい仮想マシン
事例 †
- P2P、Java, XML, Soap, XmlRpc?(, Hailstorm), .NET, Jiniなど。
- 以下のような技術が、該当すると考えるが、全てが非機能であって、
「異なるアーキテクチャでも機能要件を満たせる。」という傾向を見い出せる。
- 宗教戦争、宗教対立的な雰囲気(OS、言語、設計技法、フレームワークなど
設計・実装系 †
- オブジェクト指向の分析・設計(OOA、OOD)
この辺が「まぁ、解る。」位に留めておくと良い。
ネットワーク系 †
この辺の技術で、前述の「RPCの新しいフォーマット」的なもの。
- 分散オブジェクト(DCOM、CORBA)
- REST、JSON-RPC、OpenAPIとSwagger
- SOAP、SOA(Service-Oriented Architecture)
- Microservice & Serverless Architecture
テスト自動化系 †
この辺にまとめた系
ユーザインタフェースとデータアクセス系 †
この辺に書いたように、ほぼ、トレードオフ。
この新しい開発言語は生産性が高い!的な。 †
TIOBE Indexでも眺めてろ!
- Java / .NET
- Java の成功体験を Ruby で。
- JavaScript / ECMAScript
- Python / R(アール)
私見 †
なんとなく、
目の前の問題の解決に"注力"すベキ。 †
「参照アーキテクチャ」(モデル)に準拠して開発されたプロダクトが
その結果、結果的に、「何か」を解決するか?に"注力"すベキではない。
基礎と応用力を強化すベキ。 †
- 当該アーキテクチャは複数の基礎を組合せた応用と見る事が出来る事が多そう。
- 従って、基礎が出来ていれば応用できるので、基礎(と応用力)を強化すベキ。
- 「参照アーキテクチャ」(モデル)は複数の基礎を組合せた応用結果(基礎のリレーション)を明示している。
- 基礎と応用力があれば、要件に適合した「参照アーキテクチャ」(モデル)を理解する事、構築する事が出来る。
- 「参照アーキテクチャ」(モデル)が合う合わないの意思決定~を変形させる能力が無いと、案件にフィットした設計ができない。
と言う事かと思う。
参考 †
ジョエル・スポルスキ - Wikipedia †
https://ja.wikipedia.org/wiki/%E3%82%B8%E3%83%A7%E3%82%A8%E3%83%AB%E3%83%BB%E3%82%B9%E3%83%9D%E3%83%AB%E3%82%B9%E3%82%AD
OSSコンソーシアム †
マイクロソフト系技術情報 Wiki †
- アーキテクチャ設計
- アプリケーション・アーキテクチャ
- プラットフォーム・アーキテクチャ
- クラウド (Azure) アーキテクチャ
- テクノロジ
- クラウド設計パターン
- アーキテクチャ フレームワーク
- アーキテクチャ ガイド
- 参照アーキテクチャ、
ワークロードの例、
ソリューションのアイデア
開発基盤部会 Blog †