連載アプリケーション・アーキテクチャ設計入門 第1回 .NET開発者のための設計ガイドライン 日本ユニシス 猪股 健太郎2003/08/16 |
アーキテクチャの重要性
コンピュータ・システムの複雑化はとどまることを知らないかに思える。そのような状況の中でアプリケーション・システムを新規に開発するには、開発初期の段階で適切なアーキテクチャを定めておくことが必要である。
適切なアーキテクチャが定まっていれば、開発においてさまざまなメリットがある。「開発の枠組みが定まる」であるとか、「部品の再利用性が高まる」であるとか、「システムが統合しやすくなる」であるとか、「開発者同士の意思疎通が図れる」といったようなことである。
もし不適切なアーキテクチャを定めてしまうとどうなるだろうか。もちろん上記のメリットは受けられないが、それだけでは済まない。アーキテクチャはシステムの非機能的な性能(可用性、スケーラビリティ、スループット、レスポンス・タイム、拡張性、運用・保守のコストなど)に大きな影響を及ぼす。アーキテクチャが不適切だと、場合によっては要求される性能を満たすことができない。となれば、成果物の多くが無駄になってしまう危険性がある。
ということで、まずはアプリケーション・システムの開発ではアーキテクチャが非常に重要だということを再認識していただきたい。
■分散環境におけるアプリケーション・アーキテクチャ:Javaと.NET
とはいえ、分散環境におけるエンタープライズ・アプリケーションなどでは、そのアーキテクチャを設計するのはかなり大変な作業である。アーキテクトは要件を実装に結び付けるために、実装基盤による制約を踏まえながら要素技術の選択を進めていかなければならない。必然的にアーキテクトはさまざまな知識とスキルを要求される。思いつくままに挙げてみよう。セキュリティ、トランザクション、UIデザイン、分散オブジェクト、コンポーネント、データ(XML、RDBMS)、メッセージング、ネーミングサービス、ディレクトリ、などなど。
こうしたアーキテクトの作業量を軽減するために、実装基盤としてJavaを提供しているサン・マイクロシステムズや.NET Frameworkを提供しているマイクロソフトは、さまざまな技術文書を無償公開している。
公開元 | サン | マイクロソフト |
文書名 | J2EE Blueprints | Application Architecture for .NET |
プラットフォーム | Java2 Platform, Enterprise Edition(J2EE) | .NET Framework |
公開されているエンタープライズ・アプリケーション設計ガイド |
サンは、J2EE(Java 2 Platform, Enterprise Edition)でエンタープライズ・アプリケーションを設計する際のベスト・プラクティスとガイドラインをまとめた文書「Java 2 Platform, Enterprise Editionアプリケーション設計ガイド」(以下、“J2EE Blueprints”と表記する)を提供している。J2EE Blueprintsは、要素技術の選択ガイドラインやデザイン・パターンなどが書かれており、Javaでのエンタープライズ・アプリケーション開発の標準となっている。
一方、マイクロソフトが提供する.NET Framework関連の技術文書で、JavaのJ2EE Blueprintsに相当するものが、「Application Architecture for .NET: Designing Applications and Services(英文)」という文書である。本連載は、このドキュメントをベースとして.NETにおけるアプリケーションの設計作法を学んでいこうというものだ。次章からは、まずこのApplication Architecture for .NETの概略について解説する。
INDEX | ||
[連載] アプリケーション・アーキテクチャ設計入門 | ||
第1回 .NET開発者のための設計ガイドライン | ||
1.アーキテクチャの重要性と参照アーキテクチャ | ||
2.Application Architecture for .NETの概略 | ||
3.論理アーキテクチャの全体像 | ||
4.論理アーキテクチャを構成するコンポーネント群 | ||
「アプリケーション・アーキテクチャ設計入門」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|