5. 5
• Structures and relationships, static and dynamic
views, assumptions and rationale
• Focus: decomposition and allocation of
responsibility, interface design, assignment to processes and
threads
• Use model and guidelines; policies, mechanisms and design
patterns; frameworks, infrastructure and standards
• Focus: guide engineers in creating designs that maintain the integrity of
the architecture
Guides
Developers
• Architectural vision, principles, styles, concepts and mechanisms
• Focus: high-level decisions that will strongly influence the structure of the
system; rules certain structural choices out, and guides selection
decisions and tradeoffs among others
Guides
Architects
29. 29
(specific vs. generic)
1965 2010
100%
0%
Function
Assembler COBOL SQL Web
Application-Specific
General-Purpose
Application Logic
Business Process Logic
Data Logic
Data
31. 31
Identifier Format Protocol
IP Address IP packet IP ProtocolTCP/IP
@ Address RFC 2822 SMTPE-mail
URL HTML httpWeb
URI SOAP
envelope
SOAP
payload
Ws-*
Address
Reference
Name
Document
Message
Container
Method
Operation
Process
37. 37
Data Code
GeneralSpecific
Unstable Stable
Instance
Data
Metadata Class
Instance
Fold knowledge into
data, so program logic
can be stupid and robust
What needs to be easy to
understand and change
goes into data
What will be stable goes
into code
Data should depend on code.
Code should not depend on data.
39. 39
Guest OS
App B
App A
Guest OS
app
Owned by Company A
Owned by Company
B, executing on the host
Owned by Company
C, streamed to the host
Owned by User, running
in the Geoplex, streamed
to the host
Shared, temporary owned
for contracting purposes
40. 40
Reaching human limits
When
process, platforms, technologies, workforc
e and governance are defined in advance
and rarely met.
Quality
Limited by human nature — you can enter
code no faster than you can type. Limited
multitasking.
Speed
Cheap (offshored) AD labor is limited by
socioeconomic factors.
Cost
Manual Labor
Machines' way of life —
virtually unlimited
When
process, platforms, technologies, workforce
and governance are measured and
improved in real time
Unlimited multitasking and variables
handling
Machines
What could be cheaper than "software
machine" with industrialized production?