プリンキピア

第10章エンタープライズアーキテクチャーとソリューションアーキテクチャーの管理

Enterprise Technical Architecture Frameworks企業の技術アーキテクチャの枠組み
While the architectural design approach leads the way to pattern-based design, patterns themselves may not always be sufficient to develop a complete design. In some cases, it may be necessary to provide a framework. Remember that a framework is an implementation-specific skeletal subsystem for design work. Mini-architecture provides the generic structure and behavior for a family of software abstractions. Memes (i.e., metaphors) specify the subsystems’ collaboration within a given domain. You can reuse the mini-architectures along with a meme to create the framework, which is not an architectural pattern but rather a skeleton with a collection of “plug points” that enable the framework to be adapted to a specific problem domain. The plug points—also called hooks and slots—enable you to integrate problem-specific classes or functionality within the skeleton. Therefore, a framework defines the architecture of a family of subsystems, provides the basic building blocks to create them, and defines where adaptations for specific functionality should be made. In general, patterns can be used to describe the framework as information about the system and the frameworks are software that defines a generic design.
英語のヒント
アーキテクチャ設計の手法は、パターンに基づく設計へ道を開くが、パターンだけで設計全体を完成させるには、常に十分とは限らない。場合によっては、フレームワークを用意する必要がある。フレームワークは、設計作業のための、実装に固有の骨組みとなるサブシステムであることを思い出そう。ミニアーキテクチャは、ソフトウェアの抽象化の一群に対し、汎用的な構造と振る舞いを提供する。ミーム、すなわち比喩は、あるドメイン内でのサブシステムの協力の仕方を定める。ミニアーキテクチャをミームとともに再利用し、フレームワークを作れる。これはアーキテクチャパターンではなく、特定の問題領域に適応させられる一連の「接続点」を持つ骨組みである。接続点はフックやスロットとも呼ばれ、問題に固有のクラスや機能を、骨組みの中に統合できるようにする。したがってフレームワークは、サブシステムの一群のアーキテクチャを定め、それらを作る基本的な構成要素を提供し、特定の機能のための調整をどこで行うべきかを定める。一般に、パターンはシステムに関する情報としてフレームワークを記述するために使え、フレームワークそのものは、汎用的な設計を定めるソフトウェアである。
Software Stacksソフトウェアスタック
A software stack is a collection of independent components or subsystems such as operating systems, protocols, databases, architectural layers, and function calls that work together to support the execution of an application. As architectural models are being transitioned into implementation architectures, it is necessary to identify specific products that may be used as part of the implementation. This is where the selection of product/software stacks takes place. For example, a choice may be to select among IBM, Oracle, or Microsoft product stacks such as Dynamic 365 (or a combination) to implement a particular architecture.
英語のヒント
ソフトウェアスタックは、オペレーティングシステム、プロトコル、データベース、アーキテクチャの層、関数呼び出しなど、協力してアプリケーションの実行を支える、独立した部品やサブシステムの集合である。アーキテクチャモデルを実装アーキテクチャへ移す際には、実装の一部として使える具体的な製品を特定する必要がある。この段階で、製品・ソフトウェアスタックを選ぶ。たとえば、あるアーキテクチャを実装するために、IBM、Oracle、MicrosoftのDynamic 365などの製品スタック、またはそれらの組み合わせから選べる。
Figure 10.47 is an example of a simple software stack for a website implementation. The stack consists of a user interface, application layer, application infrastructure, and tech infrastructure.
図10.47は、Webサイトを実装するための単純なソフトウェアスタックの例である。ユーザーインターフェース、アプリケーション層、アプリケーション基盤、技術基盤からなる。
Figure 10.47

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典

Figure 10.47 The stack consists of a user interface, application layer, application infrastructure, and tech infrastructure. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図10.47 スタックは、ユーザーインターフェース、アプリケーション層、アプリケーション基盤、技術基盤からなる。(帰属:Rice University、OpenStax著作権、CC BY 4.0ライセンス。)
Once a software stack is selected, various products can be added via callouts on the corresponding implementation architecture blueprint.
ソフトウェアスタックを選んだら、対応する実装アーキテクチャの設計図に、引き出し注記を使ってさまざまな製品を加えられる。
GLOBAL ISSUES IN TECHNOLOGY技術をめぐる世界の課題
Security of Architecture Management around the Globe世界各地のアーキテクチャ管理のセキュリティ
Global issues in technology can have significant implications for solution architecture management worldwide. Solution architecture management needs to address data protection regulations, ensure secure handling of sensitive data, and implement robust security measures to safeguard against cyber threats. Complying with the European Union’s GDPR requires organizations to implement strict data privacy controls. This, in turn, influences the design of global IT solutions as they must account for local and regional regulations.
英語のヒント
技術をめぐる世界的な課題は、各地のソリューションアーキテクチャ管理に重大な影響を及ぼしうる。管理では、データ保護の規制に対応し、機密データを安全に扱い、サイバー上の脅威から守る堅牢なセキュリティ対策を実装する必要がある。欧州連合のGDPRを順守するには、組織は厳格なデータプライバシー管理を実施しなければならない。その結果、世界規模のITの仕組みも現地や地域の規制を考慮しなければならず、設計に影響が及ぶ。
Implementation Patterns and Idioms実装パターンとイディオム
As we discussed before, design patterns address general structural principles; in contrast, idioms represent low-level patterns that describe how to solve implementation-specific problems in a programming language, such as managing memory in C++ or Java.
英語のヒント
先に述べたように、デザインパターンは一般的な構造上の原理を扱う。それに対して、イディオムは、C++やJavaでのメモリ管理など、あるプログラミング言語の実装に固有の問題をどう解決するかを記述する、低水準のパターンである。
As architectural models get transitioned into implementation architectures, it becomes necessary to specify how architectural and design patterns are realized practically within the solution. This mapping actually starts at a high level with the architectural styles themselves. For example, a BPM architectural style may be realized via the selection of an enterprise REST Services and with a corresponding product such as MuleSoft. This subsequently dictates the use of specific implementation patterns and idioms specific to the MuleSoft product stack.
英語のヒント
アーキテクチャモデルを実装アーキテクチャへ移すと、アーキテクチャパターンとデザインパターンを、仕組みの中で実際にどう実現するかを指定する必要が生じる。この対応付けは、実際にはアーキテクチャスタイル自体という高い水準から始まる。たとえばBPMアーキテクチャスタイルは、企業向けRESTサービスを選び、MuleSoftなどの対応する製品を使って実現できる。その結果、MuleSoft製品スタックに固有の、特定の実装パターンとイディオムの使用が定まる。