|
An executable architecture is the description of a
system architecture in a formal notation, with specified syntax and
semantics, together with tools that allow for the automatic
generation of executable software code. A systems
architecture is the conceptual model that defines the
structure and behavior of a system (e.g. an enterprise, a business
unit). Viewed from a slightly different angle, an executable
architecture is an executable model that can illustrate dynamic
structure and behavior.
Undoubtedly, an architecture created by domain
experts can be considered more robust than one created by software
engineers. Not surprisingly, software engineers tend to focus on
technical aspects, while business architects and business analysts
have a distinctly business-oriented view. The challenge lies in the
approach to enable business architects and business analysts to
create an executable business architecture, which is part of the
enterprise architecture. A transformation mechanism is required that
implements a bridge between business architecture and technical
architecture. Ideally, a kind of execution engine exists that can
interpret models and generate executable code at execution time. The
generated code would integrate with the existing technical
architecture, represented by data management systems, mail systems,
operating systems, etc. As a consequence, business components and
compositions represent executable architecture.
The intrinsic alignment of enterprise architecture
and business capabilities life-cycle management, including business
process management (BPM), data management, etc., is a major
characteristic of an executable architecture. The issue of missing
alignment between enterprise architecture and BPM, between enterprise
architecture and data management, etc., that so many organizations
experience today, is effectively eliminated.
There are many benefits that an executable
architecture offers:
-
The dynamic aspects of the system can be
fully described and understood.
-
The enterprise architecture can be developed
iteratively with analysis and validation being performed at each
iteration stage.
-
Business analysts can develop the business
architecture, concentrating on business aspects.
-
The behavior of the architecture can be
visualized and analyzed.
-
The architecture can be experimented with and
stressed to be better able to detect deficiencies.
-
The simulation of the architecture and its
visualization provides a more accurate view for the stakeholders to
determine whether it meets their needs.
-
Minimize the need for extensive software
experience (non IT-experts can develop the enterprise architecture).
-
The round-tripping problem, which occurs when
different models need to be synchronized and model transformation
works only in one direction, is eliminated.
|