Download Complete (Ebook) Software architect bootcamp by Mowbray, Thomas J.; Malveau, Raphael C.; Safari Tech Books Online ISBN 9780131412279, 0131412272 PDF for All Chapters
Download Complete (Ebook) Software architect bootcamp by Mowbray, Thomas J.; Malveau, Raphael C.; Safari Tech Books Online ISBN 9780131412279, 0131412272 PDF for All Chapters
ebooknice.com
ebooknice.com
https://ebooknice.com/product/sat-ii-success-
math-1c-and-2c-2002-peterson-s-sat-ii-success-1722018
ebooknice.com
https://ebooknice.com/product/c-interfaces-and-implementations-
techniques-for-creating-reusable-software-58746878
ebooknice.com
(Ebook) Piano adventures Performance 3b by Nancy and
Randall Faber
https://ebooknice.com/product/piano-adventures-performance-3b-52393612
ebooknice.com
ebooknice.com
ebooknice.com
https://ebooknice.com/product/the-software-architect-elevator-21809672
ebooknice.com
https://ebooknice.com/product/monster-girl-safari-omnibus-edition-
books-1-3-47888218
ebooknice.com
Software architect bootcamp 2nd ed Edition Mowbray
Digital Instant Download
Author(s): Mowbray, Thomas J.; Malveau, Raphael C.; Safari Tech Books
Online
ISBN(s): 9780131412279, 0131412272
Edition: 2nd ed
File Details: PDF, 2.33 MB
Year: 2003
Language: english
Software Architect
Bootcamp
Software Architect
Bootcamp
Second Edition
Raphael Malveau
Thomas J. Mowbray, Ph.D.
PRENTICE HALL
Professional Technical Reference
Upper Saddle River, NJ 07458
www.phptr.com
A CIP catalog record for this book can be obtained from the Library of Congress.
Company and product names mentioned herein are the trademarks or registered trademarks of their respective owners.
Prentice Hall books are widely used by corporations and government agencies for training, marketing, and resale.
Prentice Hall PTR offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales.
For more information,
please contact:
U.S. Corporate and Government Sales
1-800-382-3419
corpsales@pearsontechgroup.com
All rights reserved. No part of this book may be reproduced, in any form or by any means, without permission in writing
from the publisher.
ISBN 0-13-141227-2
Preface xiii
ONE Introduction 1
1.1 Defining Software Architecture 2
1.2 The Need for the Software Architect 3
1.3 Goals 3
Industry Background and History 4
Technology Trends and Architectural Styles 4
Tactics 5
Strategies 5
Tools 6
Mindset 6
v
vi Contents
Index 341
Preface
ago. While there have been a number of new technologies introduced, they
have been offset by the rapid consolidation of technical approaches and sup-
porting products. Internet technologies are the undisputed king, especially for
interoperability between corporations. Microsoft has been wildly successful in
its efforts to develop an enterprise platform that rivals the developments occur-
ing in the Java community. During the lengthy recession at the start of this
century, IT companies either consolidated or they failed, leaving a more man-
agable number of solutions, most of which were interoperable with one or both
of the major enterprise platforms. To a large degree, innovative solutions es-
caped the middleware layer of the enterprise and focused more on meeting spe-
cific business needs where a larger financial payoff exists. In order to maintain
technical leadership, software architects need guidance on new technological
areas not addressed in the first edition, such as enterprise architecture and
model-driven development. The second edition also gives greater emphasis to
working with project management to satisfy business objectives.
Finally, we felt that there was an opportunity to do a better job with the
timeless topics by providing more specifics and introducing greater clarity to
the material presented. We were concerned that the first edition might have
been misperceived as focusing too much on career advancement. We hope this
new edition will make it clear that our primary purpose is to equip software ar-
chitects with the tools to deliver greater value to projects. Few people remem-
ber the architects of the cornerstones of civilization—Egypt, Rome, and New
York. However, all remember their creations. It is what gets created and built
that matters, not the architects or other team members behind them.
In summary, this book has been updated to better meet the needs of soft-
ware architects today. The second edition gives you the essential information
to succeed as a software architect with an emphasis on the specific needs of
projects in the current IT environment. Since the prosperous times that existed
when the first edition was released may not return for a long time, it is impor-
tant that software architects have a broad base of skills to meet challenges be-
yond the technical or organization areas. The new edition of Software
Architecture Bootcamp provides a crucial portion of the knowledge base soft-
ware professionals require in order to remain major contributors of value to or-
ganizations and customers.
RAPHAEL MALVEAU
THOMAS J. MOWBRAY, PH.D.
McLean, Virginia, U.S.A.
O N E
Introduction
S
o you want to become a software architect? Or perhaps you are already a
software architect, and you want to expand your knowledge of the disci-
pline? This book is about achieving and maintaining success in your soft-
ware career. It is also about an important new software discipline and
technology, software architecture. It is not a book about getting rich in the soft-
ware business; the advice offered here is aimed at helping the reader achieve
professional fulfillment. Although the monetary rewards may be substantial,
many people in software architecture are motivated by being continuous tech-
nical contributors throughout their careers. In other words, most software archi-
tects want to do technically interesting work, no matter how successful and
experienced they become. So the goal of this book is to help readers achieve
career success as software architects and then to maintain their success.
In this book both heavyweight and lightweight approaches to software ar-
chitecture are covered. The software architect has many roles: part politician,
part technologist, part author, part evangelist, part mentor, part psychologist,
and more. At the apex of the software profession, the software architect must
understand the viewpoints and techniques of many players in the information
technology (IT) business. What many people would consider the bulk of soft-
ware architecture, the discipline and process of writing specifications, is de-
scribed, as are those human aspects of the practice that are most challenging to
architects, both new and experienced.
1
2 Chapter One Introduction
In the previous edition of this text, much was made about the software crisis
and the failure of the industry to complete software projects as planned. Given
that Corporate America spends more than $275 billion each year on approxi-
mately 200,000 application software development projects [Standish 1999],
this was an alarming situation.
However, as the software industry has matured and the focus on software
architecture has increased, significant improvements in the success rate of soft-
ware projects have been made. According to the Standish Group, in 1994, only
16% of application development met the criteria for success—complete on
time, on budget, and with all the features originally specified. By 1998, twenty-
six percent of all software projects were successful. The cost of failed projects
decreased from $81 billion in 1995 to an estimated $75 billion in 1998. Even
more dramatic was a major shift in cost overruns from $59 billion in 1005 to an
estimated $22 billion in 1998. While the state of the software industry seems
to be on a positive upward trend, a high rate of failed projects could still benefit
from the improvements that educated, knowledgeable software architects bring
to the software development process.
1.3 Goals
In this book, several military analogies are used to present relevant topics
essential to the development of a software architect. This comparison recog-
nizes that many of the same preparations used by the armed forces in training
for battle have roughly equivalent activities in software development. Just as
the army invests heavily in its recruits in order to produce well-trained, well-
disciplined soldiers who are capable of succeeding in any situation, this text at-
tempts to direct the reader into the specific areas that will provide the
flexibility to succeed in most situations as a software architect in the industry.
At the end of most of the chapters are exercises that are intended to aid in
putting the principles discussed in this book to use as a precursor to using them
in actual practice. Taking the time to read and think through these exercises
will provide the reader with a valuable experience that will establish an excel-
lent foundation for performing the same activities on an actual project.
The book is organized in the following sections to convey specific cate-
gories of information:
Tactics
Chapters 4 and 5 are intended to emphasize the tactical elements required to be
successful as a software architect. Chapter 4, “Software Architecture: Going to
War,” presents an overall architecture-centric development process. This
process is intended to be a guide for software architects who must structure ac-
tivities within a specific software development methodology. In addition, the
new issues introduced by the development of distributed systems are covered
in some detail, given that most new projects involve a number of distributed
components, frequently over the Internet or other networking technologies
where concerns for latency, reliability, and security are fundamental to techni-
cal decision making regarding system boundaries, technologies, and design
principles.
The primary duty of the software architect is to manage the complexity of
the software development effort. Chapter 5, “Software Architecture: Drill
School,” presents a set of concrete heuristics to enable the software architect to
address issues related to complexity management on a small scale. The tech-
niques should be adequate for dealing with many of the short-term issues that
arise, although they are no substitute for the long-range planning and overall
leadership skills that are required for long-term success.
Strategies
Chapters 6 and 7 discuss skills that are highly strategic in nature and will be
useful for long-term success in emphasizing quality in software development.
The most powerful skill sets required are leadership and team building. Leader-
ship is needed to focus the team toward a common goal, and team building is
required to keep focus on the day-to-day activities required to ensure that a
quality product is delivered. Also discussed is a seldom-covered topic in the
software industry—the relationship between the project manager and the soft-
ware architect.
Chapter 7 discusses software processes and provides the tools necessary
to make ongoing incremental improvements in the software development
process. The information is applicable to all software methodologies and its
lessons are not limited to technical concerns. Rather, the discussion of process
6 Chapter One Introduction
Tools
Successful software architects must have available some basic tools of the
trade. Chapter 8, “Communications Training,” focuses on team building, as
any successful architect will be required to be a unifying force for many soft-
ware developers, and on the Unified Modeling Language (UML), a standard
notation for describing software artifacts throughout the industry. This chapter
also discusses model-driven architecture that proposes methods to ensure that
software decisions are reflected throughout the design documentation and code
base. Chapter 9, “Software Architecture: Intelligence Operations,” discusses
methods of continually staying current on software industry developments, par-
ticularly in the areas of specific domains. It is intended to provide the tools
necessary for staying current with the rapidly changing software toolsets that
are available.
Mindset
Chapter 10, “Software Architecture: Psychological Warfare,” is one of the
softer chapters, focusing on the more intangible aspects of succeeding as a soft-
ware architect. Of all the chapters, this one is likely to be the most controver-
sial because the topics introduced are relatively new and somewhat less
developed than the materials in other sections of the text. Finally, Chapter 11,
“Software Architecture: Career Advice,” provides valuable insight into how to
manage a career as a software architect. The career path for a student of soft-
ware architecture to an industry expert is explored. The lessons presented en-
courage the sharing of information and insight gained on software projects with
the software community at large.
T W O
Military History
M
ilitary history is an essential means of retaining the experience of
past battles and imparting it to recruits and less experienced soldiers.
Military historians incorporate various sources of historical docu-
mentation including reference books, interviews with military leaders and
planners, and scientific analyses of artifacts recovered from battlefields. A
thorough study of past battlefields provides valuable insight into strategies and
tactics that can be brought to bear in modern situations. Army leaders, com-
manders, and soldiers can all benefit from learning from the experience of their
predecessors.
7
8 Chapter Two Military History
Architectural Approaches
Here is a brief tour of the major schools of software architecture thought.
Zachman Framework
Derived from IBM research and practice, the Zachman Framework is a tradi-
tional architectural approach (i.e., it is decidedly non–object oriented). The
Zachman Framework is a reference model comprising thirty architectural
viewpoints. The reference model is a matrix, which intersects two paradigms:
journalism (who, what, when, why, where, and how) and construction (planner,
owner, builder, designer, subcontractor). Architects choose from among these
viewpoints to specify a system architecture.
Software Architecture Approaches 9
Domain Analysis
A process for the systematic management of software reuse, domain analysis
transforms project-specific requirements into more general domain require-
ments for families of systems. The requirements then enable the identification
of common capabilities, which are used as the basis for horizontal frameworks
and reusable software architectures. An important capability of this approach is
the definition of robust software designs, which are relatively resistant to re-
quirements and context changes.
Common Principles
It is often said that the principles of software are simple (e.g., simplicity and
consistency). Architects agree that managing complexity (i.e., achieving sim-
plicity) is a key goal because it leads to many architectural benefits, such as
10 Chapter Two Military History
system adaptability and reduced system cost. For example, a simpler system is
easier to test, document, integrate, extend, and so forth.
“Explore the situation from more than one point of view. A seemingly
impossible situation might become transparently simple” [Rechtin
1997].
Architectural Controversies
The principal disagreements among architecture schools include (1) terminol-
ogy, (2) completeness, and (3) a priori viewpoints.
Architects disagree on terminology based on their backgrounds or
schools of thought. For example, when discussing software interfaces, the con-
sistency principle is variously called standard interfaces, common interfaces,
horizontal interfaces, plug-and-play interfaces, and interface generalization. It
can also be argued that variation-centered design (from design patterns) and
component substitution are largely based upon consistent interface structure.
Unnecessary diversity of terminology leads to confusion and sometimes
to proprietary advantage. Some vendors and gurus change terminology so
frequently that keeping up with their latest expressions becomes a time-
consuming career.
Differences in terminology lead to miscommunication. In contrast, some
distinct areas of disagreement among architecture schools can’t be resolved
through improved communications alone.
The Architectural Paradigm Shift 11
Local/Static to Global/Dynamic:
Rapidly Changing Technologies and Business Requirements
Digital Video Architecture
Integrated Network
Virtual Enterprises
Voice and VIDEO Search Server
Multimedia
Imagery Report
To: Intelligence Officers
From Pacom & NPIC
Subject:
The subject of this image
is drug trafficking in a
South American country
Item B is a processing
plant
independently, and the architect must accommodate the diverse evolving set of
configurations.
In distributed systems, the assumption is that there is remote processing
at multiple locations. Some of this remote processing is on systems that were
developed independently and therefore have their own autonomous concept of
control flow. This reverses the assumption of localized and unified processing
resources. There are some interesting implications for the concepts of state and
time. The state of a distributed system is often distributed itself. The state in-
formation may need to be replicated in order to provide efficient reliable access
at multiple locations. It is possible for the distributed state to become nonuni-
form in order to get into error conditions where the replicated state does
not have the desired integrity and must be repaired. The concept of time-
distributed systems is affected by the physics of relativity and chaos theory.
Electrons are traveling near the speed of light in distributed communication
systems. In any large system, there is a disparity between the local concepts of
time, in that a system can only have an accurate representation of partial order-
ing of operations in the distributed environment. The total ordering of opera-
tions is not possible because of the distances between information processes. In
addition, distributed communications can get quite variable and complex. In a
distributed system, communications systems can provide various qualities of
service. The communications can vary by such factors as timeliness of deliv-
ery, throughput, levels of security and vulnerability to attack, and reliability of
communications. The communications architecture must be explicitly designed
and planned to account for the variability in services.
Finally, the distributed system has a unique model of failure modes. In
any large distributed system, components are failing all the time. Messages are
14 Chapter Two Military History
corrupted and lost, processes crash, and systems fail. These kinds of failures
happen frequently, and the system must be designed to accommodate them.
(not standards)
distributed
processing
Interface US DoD
Trader definition specialization
service language
C4ISR
framework
Commercial
specialization
ble for planning systems with the maximum probability of delivering success
and key benefits for the business. Through proper information technology
planning, it is possible to increase the likelihood of system delivery on time
and on budget.
In confronting these three needs, authorities in software engineering and
computer science tend to agree that architecture is the key to system success.
Authorities in areas ranging from academia to commercial industry are declar-
ing that software architecture is essential to the success and management of in-
formation systems. The list of software authorities who have come to this
conclusion is long and growing. Unfortunately, not everyone always clearly
understands what software architecture truly is. In order to provide clarifica-
tion, it is necessary to examine some of the reference models that provide defi-
nitions of software and systems architecture (Figure 2.3).
tive of separating data from process. The Zachman Framework includes six in-
formation system viewpoints as well as five levels of design abstraction. The
original Zachman Framework published in 1987 contained viewpoints for the
network, the data, and the process of the information system [Zachman 1997].
A subsequent revision introduced three additional viewpoints. The current
framework resembles the set of traditional journalistic questions, which include
who, what, when, why, where, and how. Each viewpoint in the Zachman
Framework answers a chief set of questions to ensure that a complete system
engineering architecture is created.
The Zachman Framework formed a matrix of architectural descriptions
that are also organized in terms of levels. There are five levels of description
above the information system implementation. They range from architectural
planning done by individual programmers at the finest grain to the overall en-
terprise requirements from the investors’ perspective of the information sys-
tem. In total, the Zachman Framework identifies thirty architectural
specifications, which provide a complete description of the information sys-
tem. In practice, no real-world project is capable of creating these thirty or
more detailed plans and keeping them all in synchronization. When the Zach-
man Framework is applied, systems architects partition the viewpoint into vari-
ous categories and create architectural specifications that cover some or all of
the different Zachman descriptions without having to create the large number
of individual specification documents that the Zachman Framework spans. One
example is a very successful architectural initiative by the U.S. Department of
Defense (DOD) called the C4ISR architectural framework, where C4ISR
stands for Command and Control, Computers, Communication, Intelligence
Surveillance, and Reconnaissance. The C4ISR architectural framework is used
to describe DOD information technology at the highest echelons of the organi-
zation. The primary benefit in this case is that different service organizations
and agencies can communicate their architectural plans through common-
viewpoint description.
Beyond the Zachman Framework, object-oriented architects have discov-
ered additional needs for defining computational architecture and other view-
points that are not obvious applications of the Zachman principles. The ISO has
also considered these architectural issues. The ISO reference model for open
distributed processing called RM-ODP was recently completed. This model be-
longs to a category of ISO standards called Open Distributed Processing. ODP
is an outgrowth of earlier work by ISO in open systems interoperability. The
Open Systems Interconnection (OSI) seven-layer reference model identified an
application layer that provided minimal structure and guidance for the develop-
ment of application systems. In fact, the seventh layer for application organizes
Reference Model for Open Distributed Processing 17
remote procedure calls, directory services, and all other forms of application-
level services within the same architectural category, without defining any par-
ticular structure or guidance for this significant category of functionality.
† Enterprise viewpoint
† Information viewpoint
† Computational viewpoint
† Engineering viewpoint
† Technology viewpoint
Enterprise
viewpoint
Information Computational
viewpoint viewpoint
Information
system
Engineering Technology
viewpoint viewpoint
sures that business needs are satisfied through the architecture and provides a
description that enables validation of these assertions with the end users.
The information viewpoint defines the universe of discourse in the infor-
mation system. The perspective is similar to the design information generated
by a database modeler. The information viewpoint is a logical representation of
the data and processes on data in the information system.
Each of the five RM-ODP viewpoints is object oriented, and they provide
a complete model of the system from the given perspective. The information
viewpoint is an object-oriented logical model of the information assets in the
business and how these assets are processed and manipulated.
The computational viewpoint partitions the system into software compo-
nents that are capable of supporting distribution. It takes the perspective of a
designer of application program interfaces for componentware. The computa-
tional viewpoint defines the boundaries between the software elements in the
information system. Generally, these boundaries are the architectural controls
that ensure that the system structure will embody the qualities of adaptability in
management of complexity that are appropriate to meet changing business
needs and incorporate the evolving commercial technology.
The engineering viewpoint of RM-ODP exposes the distributed nature of
the system. Its perspective is similar to that of an operating system engineer
who is familiar with the protocol stacks and allocation issues necessary to de-
fine the distributed processing solutions for the information system.
Reference Model for Open Distributed Processing 19
Implementation independent
RM–ODP Viewpoints
1. Enterprise
–Business purpose, scope, and policies for system
2. Information
–Meaning of information and information processing
3. Computational
–Modules and interfaces enabling distribution
4. Engineering
–Mechanisms of distribution
5. Technology
–Choice of technology and component details
RM-ODP contains many terms that are useful concepts for software ar-
chitects. Some of the key definitions in RM-ODP are the distribution trans-
parencies. RM-ODP defines eight distribution transparencies that specify the
qualities provided by a distributed computing infrastructure (Figure 2.6). Cur-
rently available commercial infrastructures provide some subset of these, such
as the location, access persistence, and transaction transparencies provided in
Java 2 Platform, Enterprise Edition (J2EE)–compliant application servers. Ad-
ditional transparencies are sometimes available through niche-market products
and custom implementations. Technologies that failed to provide access trans-
parency, such as Microsoft COM+ and the distributed computing environment,
did not adapt well to the future evolution of distributed systems.
Open distributed processing and its reference model are the result of ten
years of formal standardization work at ISO. The reference model for open dis-
tributed processing is object oriented. RM-ODP provides a reference model
that addresses three fundamental goals: (1) to provide a standard framework for
further work and additional detailed standards under the open distributed pro-
cessing initiative, (2) to provide a set of common terminology and concepts
Reference Model for Open Distributed Processing 21
that could be applied for the development of product and application systems
for open distributed processing, and (3) to provide a guideline for object-ori-
ented architects to specify software systems. This third purpose is directly rele-
vant to the day-to-day practices of systems architects.
Open distributed processing includes several other standards that are sig-
nificant. In particular, it has adopted the interface definition language from
CORBA as a notation for a specified computational architecture. It also has a
standard for the trader service, which is the key directory service supporting
the discovery of application functions in distributed systems. The trader service
has subsequently been adopted as a commercial standard through the object
management group. The group’s object management architecture is a commer-
cial specialization of open distributed processing.
All together, the consensus standards of the object management group
(OMG) and the ISO open distributed processing form a set of software archi-
tecture standards that are useful intellectual tools for most software architects
and developers.
RM-ODP has four completed standards documents (X.901 Overview,
X.902 Foundations, X.903 Architecture, X.904 Architectural Semantics). Part
one of the standards (X.901) is a non-normative overview and summary of the
overall concepts and terminology. All four parts of the adopted standard are
cosponsored by the International Telecommunications Union ITU-T through
their X.900 series. The cosponsorship of both ISO and ITU-T represents a
broad international consensus on this guideline for object-oriented architecture.
Part two of the standard is the foundations document, comprising a glossary of
22 Chapter Two Military History
Client Server
object object
Client Server
stub stub
Control
Client interfaces Server
binder binder
Protocol Protocol
object object
Interceptor
ing objects are capable of defining the characteristics of all forms of distributed
infrastructure, including remote procedure calls, screening data interfaces, and
asynchronous interfaces for signaling. Among the most important features of
RM-ODP are its definitions supporting conformance assessment. After all,
what is the purpose of architectural documentation unless conformance can be
assessed (i.e., unless implementation of the system corresponds to the written
and intended architectural plans)?
RM-ODP defines four categories of conformance and proceeds to specify
how conformance is represented in an architectural plan. The first category is
called programmatic conformance. This is the usual notion of behavioral test-
ing of software interfaces. Many of the programmatic conformance points will
occur in the computational viewpoint specification of RM-ODP-based archi-
tectures.
Perceptual conformance includes testing at user interfaces in communi-
cations ports that represent external boundaries to the system. Usability and
user interface testing can be defined through perceptual conformance assess-
ment. Interworking conformance involves testing between systems implemen-
tations. It is not sufficient for individual systems to have programmatic
conformance in order to guarantee interoperability. Interworking conformance
includes interoperability testing between working implementations (i.e., an ad-
ditional requirement beyond programmatic conformance).
Interchange conformance involves testing the exchange of external
media, such as disks and tapes. It ensures that information that is stored on ex-
24 Chapter Two Military History
ternal media can be interpreted and assimilated in other systems that conform
to the same standards. RM-ODP also defines correspondence requirements be-
tween the various viewpoints of application architecture. In general, the objects
defined in each of the viewpoints do not have to correspond explicitly because
they represent an independent description of the system representing various
levels of granularity of descriptions and constraints.
For a more comprehensive explanation of RM-ODP including details
necessary for applying it to software development and enterprise architecture
efforts, see Architecting with RM-ODP [Putman 2000]. Specifically, it pro-
vides a best-practice approach to creating architectural specifications using
RM-ODP and current best practices. It also identifies industry tools, current
and under development, that can facilitate the creation and maintenance of
RM-ODP specifications and diagrams.
field lengths, and semantic meanings of the fields and relationships is ab-
solutely essential for database construction.
The enterprise architecture defines the roadmap and how the various
models at different levels of the enterprise are related. This description needs to
be understandable across the enterprise, even if the individual models them-
selves have a more limited audience. A balance needs to be struck in develop-
ing artifacts that can simultaneously be used to provide technical information
to business users and enough information to derive consistent technical guid-
ance for development teams. An immediate benefit from having an enterprise
architecture is that it allows everyone within an organization to communicate
using a common set of documents. This provides an organizational alignment
and allows everyone at different levels of the organization to understand the
impact of both IT decisions and investments. For example, if a business group
needed management information reports from different lines of business, then
it should be possible to use the enterprise architecture to trace through what
business areas generate the required data and what IT systems are impacted
and to perform a quick assessment of where additional analysis would be re-
quired to produce a feasibility study. Furthermore, if a project is scoped out
and approved, the technical people can use the same enterprise architecture as a
starting point for their high-level design. Having the same information avail-
able as input into business decision making and technical analysis increases the
chance for project success.
Regardless of the approach taken, the initial step in developing an enter-
prise architecture is obtaining and documenting the current business environ-
ment. It would be a mistake to adopt a “bottom up” approach, placing technical
artifacts before an understanding of how they are linked to strategic business
objectives. Also, when technical artifacts are included in the enterprise archi-
tect, they should be targeted to the business users. This does not mean that the
more technical documentation customized for system designers, coders, and
testers should not exist. It does, however, mean that some effort is needed to
package and convey some essential information to a wider audience.
I have seen the Matterhorn from the Gorner Grat, Mont Blanc
from Chamonix, and the divine flush on the summit of the Jungfrau.
Forty years ago I heard for the first time the Ninth Symphony;
and while I have heard it often since then, the most memorable
occasion was in May 1912 when I heard it at Paris, played by a
magnificent orchestra, conducted by Felix Weingartner; I have heard
Die Meistersinger in Munich, conducted by Arthur Nikisch; I have
heard the Emperor Concerto, with Ossip Gabrilowitsch at the piano; I
have heard Tod und Verklärung with Stokowski and the Philadelphia
Orchestra; I have heard De Pachmann (in his prime) play Chopin’s B
flat minor sonata, Paderewski play Liszt’s Hungarian Rhapsody No.
2, Josef Hofmann play Beethoven’s Sonata 111. I have heard
Carmen sung by Emma Calvé, Emma Eames, Jean de Reszké and
Lassalle; Tristan und Isolde sung by Jean de Reszké and Lilli
Lehmann; Faust sung by Jean and Edouard de Reszké, Emma
Eames, Maurel, and Scalchi; Mignon sung by Mme. Lucrezia Bori; I
have repeatedly heard the three greatest bassos of modern times,
Edouard de Reszké, Pol Plançon, and Chaliapin.
In the theatre I have seen Edwin Booth as Shylock, Mansfield as
Richard III, Irving in The Lyons Mail, Possart as Mephistopheles,
Sarah Bernhardt as La Tosca, Duse as Francesca, Salvini as
Othello, and twice have I seen the Passion Play at Oberammergau.
All these are memorable experiences, and for fear I may not be
conscious when I am dying, I am recalling them now. But if I should
attempt to recall all the glorious things I have seen in nature and in
art, I should have no time for fresh experiences that await me.
As for social pleasures, one of the highest enjoyments is
agreeable company and good conversation; and I especially like
men, women and children.
Transcriber’s Notes
Punctuation, hyphenation, and spelling were made
consistent when a predominant preference was found in the
original book; otherwise they were not changed.
Simple typographical errors were corrected; unbalanced
quotation marks were remedied when the change was
obvious, and otherwise left unbalanced.
Just for the curious: Chapter XVIII has four references to
“F. P. A.” but doesn’t give the full name. When this book was
written, he was a well-known columnist: Franklin P. Adams.
*** END OF THE PROJECT GUTENBERG EBOOK ESSAYS ON
THINGS ***
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside
the United States, check the laws of your country in addition to
the terms of this agreement before downloading, copying,
displaying, performing, distributing or creating derivative works
based on this work or any other Project Gutenberg™ work. The
Foundation makes no representations concerning the copyright
status of any work in any country other than the United States.
1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if
you provide access to or distribute copies of a Project
Gutenberg™ work in a format other than “Plain Vanilla ASCII” or
other format used in the official version posted on the official
Project Gutenberg™ website (www.gutenberg.org), you must, at
no additional cost, fee or expense to the user, provide a copy, a
means of exporting a copy, or a means of obtaining a copy upon
request, of the work in its original “Plain Vanilla ASCII” or other
form. Any alternate format must include the full Project
Gutenberg™ License as specified in paragraph 1.E.1.
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.F.
Most people start at our website which has the main PG search
facility: www.gutenberg.org.
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
ebooknice.com