100% found this document useful (6 votes)
73 views76 pages

Full Download Solution Architecture Patterns For Enterprise: A Guide To Building Enterprise Software Systems 1st Edition Chanaka Fernando PDF

Guide

Uploaded by

aabirkryst
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (6 votes)
73 views76 pages

Full Download Solution Architecture Patterns For Enterprise: A Guide To Building Enterprise Software Systems 1st Edition Chanaka Fernando PDF

Guide

Uploaded by

aabirkryst
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 76

Download Full Version ebookmass - Visit ebookmass.

com

Solution Architecture Patterns for Enterprise: A


Guide to Building Enterprise Software Systems 1st
Edition Chanaka Fernando

https://ebookmass.com/product/solution-architecture-
patterns-for-enterprise-a-guide-to-building-enterprise-
software-systems-1st-edition-chanaka-fernando/

OR CLICK HERE

DOWLOAD NOW

Discover More Ebook - Explore Now at ebookmass.com


Instant digital products (PDF, ePub, MOBI) ready for you
Download now and discover formats that fit your needs...

Introduction to SparxSystems Enterprise Architect:


Documenting Enterprise Architecture in the Most Affordable
Enterprise Architecture Suite 1st Edition Peter Doomen
https://ebookmass.com/product/introduction-to-sparxsystems-enterprise-
architect-documenting-enterprise-architecture-in-the-most-affordable-
enterprise-architecture-suite-1st-edition-peter-doomen/
ebookmass.com

Getting Started with Enterprise Architecture: A Practical


and Pragmatic Approach to Learning the Basics of
Enterprise Architecture 1st Edition Eric Jager
https://ebookmass.com/product/getting-started-with-enterprise-
architecture-a-practical-and-pragmatic-approach-to-learning-the-
basics-of-enterprise-architecture-1st-edition-eric-jager/
ebookmass.com

The Togaf(r) Enterprise Architecture Foundation Study


Guide: Preparation for the Togaf Enterprise Architecture
Part 1 Examination Van Haren Publishing
https://ebookmass.com/product/the-togafr-enterprise-architecture-
foundation-study-guide-preparation-for-the-togaf-enterprise-
architecture-part-1-examination-van-haren-publishing/
ebookmass.com

Genetics : analysis & principles 6th Edition Robert J.


Brooker

https://ebookmass.com/product/genetics-analysis-principles-6th-
edition-robert-j-brooker/

ebookmass.com
Cultural Anthropology in a Globalizing World 4th Edition,
(Ebook PDF)

https://ebookmass.com/product/cultural-anthropology-in-a-globalizing-
world-4th-edition-ebook-pdf/

ebookmass.com

Rock Guitar For Dummies 2nd Edition Jon Chappell

https://ebookmass.com/product/rock-guitar-for-dummies-2nd-edition-jon-
chappell/

ebookmass.com

Gestão estratégica de pessoas: Evolução, teoria e crítica


1st Edition André Ofenhejm Mascarenhas

https://ebookmass.com/product/gestao-estrategica-de-pessoas-evolucao-
teoria-e-critica-1st-edition-andre-ofenhejm-mascarenhas/

ebookmass.com

Hypertension (Oxford Cardiology Library) 3E Sunil Nadar

https://ebookmass.com/product/hypertension-oxford-cardiology-
library-3e-sunil-nadar/

ebookmass.com

The Physics of Everyday Phenomena _ a Conceptual


Introduction to Physics (2022) TENth Ed 10th Edition The
Physics Of Everyday Phenomena : A Conceptual Introduction
To Physics
https://ebookmass.com/product/the-physics-of-everyday-phenomena-_-a-
conceptual-introduction-to-physics-2022-tenth-ed-10th-edition-the-
physics-of-everyday-phenomena-a-conceptual-introduction-to-physics/
ebookmass.com
Plant-Based Diet Cookbook For Dummies 1st Edition Jenn
Sebestyen

https://ebookmass.com/product/plant-based-diet-cookbook-for-
dummies-1st-edition-jenn-sebestyen/

ebookmass.com
Solution Architecture
Patterns for Enterprise
A Guide to Building Enterprise
Software Systems

Chanaka Fernando
Solution Architecture
Patterns for Enterprise
A Guide to Building Enterprise
Software Systems

Chanaka Fernando
Solution Architecture Patterns for Enterprise: A Guide to Building Enterprise
Sof tware Systems
Chanaka Fernando
Seeduwa, Sri Lanka

ISBN-13 (pbk): 978-1-4842-8947-1 ISBN-13 (electronic): 978-1-4842-8948-8


https://doi.org/10.1007/978-1-4842-8948-8

Copyright © 2023 by Chanaka Fernando


This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the
material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation,
broadcasting, reproduction on microfilms or in any other physical way, and transmission or information
storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now
known or hereafter developed.
Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with
every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an
editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the
trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not
identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to
proprietary rights.
While the advice and information in this book are believed to be true and accurate at the date of publication,
neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or
omissions that may be made. The publisher makes no warranty, express or implied, with respect to the
material contained herein.
Managing Director, Apress Media LLC: Welmoed Spahr
Acquisitions Editor: Aditee Mirashi
Development Editor: James Markham
Coordinating Editor: Aditee Mirashi
Cover designed by eStudioCalamar
Cover image designed by Freepik (www.freepik.com)
Distributed to the book trade worldwide by Springer Science+Business Media New York, 1 New York Plaza,
Suite 4600, New York, NY 10004-1562, USA. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@
springer-sbm.com, or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole
member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc
is a Delaware corporation.
For information on translations, please e-mail [email protected]; for reprint,
paperback, or audio rights, please e-mail [email protected].
Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook versions and
licenses are also available for most titles. For more information, reference our Print and eBook Bulk Sales
web page at http://www.apress.com/bulk-sales.
Any source code or other supplementary material referenced by the author in this book is available to
readers on GitHub via the book’s product page, located at www.apress.com. For more detailed information,
please visit http://www.apress.com/source-code.
Printed on acid-free paper
To my late mother Seelawathie De Silva. Her dedication and sacrifices
made me the person I am today.
Table of Contents
About the Author��������������������������������������������������������������������������������������������������� xiii

About the Technical Reviewer���������������������������������������������������������������������������������xv


Acknowledgments�������������������������������������������������������������������������������������������������xvii

Introduction������������������������������������������������������������������������������������������������������������xix

Chapter 1: Introduction to Enterprise Software Systems����������������������������������������� 1


What Are Enterprises?������������������������������������������������������������������������������������������������������������������ 2
How Software Is Used in Enterprises?������������������������������������������������������������������������������������������ 5
How Software Is Used in the Healthcare Industry������������������������������������������������������������������� 7
How Software Is Used in the Retail Industry��������������������������������������������������������������������������� 9
Characteristics of Enterprise Software Systems������������������������������������������������������������������������ 10
Scalability������������������������������������������������������������������������������������������������������������������������������ 11
Availability����������������������������������������������������������������������������������������������������������������������������� 12
Latency���������������������������������������������������������������������������������������������������������������������������������� 13
Robustness���������������������������������������������������������������������������������������������������������������������������� 13
Security��������������������������������������������������������������������������������������������������������������������������������� 14
Modularity����������������������������������������������������������������������������������������������������������������������������� 14
Reusability����������������������������������������������������������������������������������������������������������������������������� 15
Replaceability������������������������������������������������������������������������������������������������������������������������ 16
Observability�������������������������������������������������������������������������������������������������������������������������� 16
Adaptability���������������������������������������������������������������������������������������������������������������������������� 17
Practical Examples of Enterprise Software Systems������������������������������������������������������������������ 18
Enterprise Software System Architecture for Healthcare������������������������������������������������������ 18
Enterprise Software System Architecture for Transportation������������������������������������������������ 22
Summary������������������������������������������������������������������������������������������������������������������������������������ 27

v
Table of Contents

Chapter 2: Introduction to Solution Architecture��������������������������������������������������� 29


What Is Enterprise Architecture?������������������������������������������������������������������������������������������������ 30
Layered Enterprise Architecture Pattern������������������������������������������������������������������������������� 32
Microservices-Based Enterprise Architecture Pattern���������������������������������������������������������� 33
What Is Solution Architecture?���������������������������������������������������������������������������������������������������� 35
Business Architecture (Level 0 Architecture)������������������������������������������������������������������������� 37
Technical Architecture (Level 1 Architecture)������������������������������������������������������������������������ 39
Deployment Architecture (Level 2 Architecture)�������������������������������������������������������������������� 41
Solution Architecture Defining Process��������������������������������������������������������������������������������� 43
Complex Solution Architecture Example�������������������������������������������������������������������������������� 46
Moving from Solution Architecture to Implementation��������������������������������������������������������������� 54
Sample Project Timeline�������������������������������������������������������������������������������������������������������� 54
Advantages of Solution Architecture Patterns���������������������������������������������������������������������������� 57
Summary������������������������������������������������������������������������������������������������������������������������������������ 59

Chapter 3: Building Enterprise Software Systems with


Microservice Architecture�������������������������������������������������������������������������������������� 63
Introduction to Microservice Architecture (MSA)������������������������������������������������������������������������ 64
Size and the Scope of the Service����������������������������������������������������������������������������������������� 64
Nature of the Service������������������������������������������������������������������������������������������������������������� 66
Development������������������������������������������������������������������������������������������������������������������������� 67
Deployment��������������������������������������������������������������������������������������������������������������������������� 67
Governance��������������������������������������������������������������������������������������������������������������������������� 69
A Reference Architecture for Enterprise Software System with MSA����������������������������������������� 70
Components of Enterprise Software Systems����������������������������������������������������������������������� 70
A Reference Architecture with MSA�������������������������������������������������������������������������������������� 81
What Is a Service Mesh and How to Use It with MSA?��������������������������������������������������������������� 96
Introduction to Service Mesh������������������������������������������������������������������������������������������������ 96
Using Service Mesh for MSA������������������������������������������������������������������������������������������������� 97
Designing MSA with a Message Broker�������������������������������������������������������������������������������������� 99
Implementing Security for MSA with Policy Agents������������������������������������������������������������������ 101

vi
Table of Contents

Implementing Governance for MSA������������������������������������������������������������������������������������������ 104


Summary���������������������������������������������������������������������������������������������������������������������������������� 108

Chapter 4: Building Enterprise Software Systems with Hybrid Integration


platforms�������������������������������������������������������������������������������������������������������������� 109
Introduction to Enterprise Integration (EI)��������������������������������������������������������������������������������� 110
Data Integration������������������������������������������������������������������������������������������������������������������� 111
Application Integration�������������������������������������������������������������������������������������������������������� 115
Business Integration������������������������������������������������������������������������������������������������������������ 117
Consumer Integration���������������������������������������������������������������������������������������������������������� 119
Introduction to API Management����������������������������������������������������������������������������������������������� 122
API-Led Connectivity Pattern for Enterprise������������������������������������������������������������������������������ 126
SOA Governance to API Management Pattern��������������������������������������������������������������������������� 132
Legacy Platform Modernization with Hybrid Integration Platform�������������������������������������������� 138
A Sample Legacy Enterprise Software System������������������������������������������������������������������� 139
Using a Strangler Facade to Begin the Modernization�������������������������������������������������������� 141
Consolidating User Identities with Centralized IAM Solution����������������������������������������������� 144
Infrastructure Modernization����������������������������������������������������������������������������������������������� 145
Summary���������������������������������������������������������������������������������������������������������������������������������� 146

Chapter 5: Designing Enterprise Platforms with Event-­Driven Architecture


Patterns���������������������������������������������������������������������������������������������������������������� 147
Introduction to Event-Driven Architecture��������������������������������������������������������������������������������� 148
Asynchronous Messaging Models��������������������������������������������������������������������������������������� 149
Streaming Data Processing������������������������������������������������������������������������������������������������� 152
Designing an Event-Driven Architecture for Enterprise������������������������������������������������������� 155
Kafka-Based Event-Driven Architecture for Enterprise������������������������������������������������������������� 163
Brief Introduction to Kafka�������������������������������������������������������������������������������������������������� 163
Change Data Capture (CDC) Pattern������������������������������������������������������������������������������������������ 169
Asynchronous APIs’ Pattern������������������������������������������������������������������������������������������������������ 172
Improved Event-Driven Architecture����������������������������������������������������������������������������������������� 176
Summary���������������������������������������������������������������������������������������������������������������������������������� 179

vii
Table of Contents

Chapter 6: Securing Enterprise Software Systems���������������������������������������������� 181


Introduction to Security of Enterprise Software Systems��������������������������������������������������������� 183
Data Security����������������������������������������������������������������������������������������������������������������������� 183
Application Security������������������������������������������������������������������������������������������������������������ 184
Enterprise Security Use Cases�������������������������������������������������������������������������������������������� 198
Centralized IAM Pattern������������������������������������������������������������������������������������������������������������ 209
Cloud Application Security Pattern������������������������������������������������������������������������������������������� 212
Security Federation Pattern������������������������������������������������������������������������������������������������������ 215
API Security Pattern������������������������������������������������������������������������������������������������������������������ 217
Basic Authentication for API Security���������������������������������������������������������������������������������� 218
API Key-Based Authentication for API Security�������������������������������������������������������������������� 219
Delegated Authentication with OAuth2 for API Security������������������������������������������������������ 220
Microservices Security Pattern������������������������������������������������������������������������������������������������� 221
Security with Centralized IAM��������������������������������������������������������������������������������������������� 222
Security with Decentralized IAM����������������������������������������������������������������������������������������� 226
Summary���������������������������������������������������������������������������������������������������������������������������������� 229

Chapter 7: Implementing Observability for Enterprise Software Systems����������� 231


What Is Observability?�������������������������������������������������������������������������������������������������������������� 232
Benefits of Observability����������������������������������������������������������������������������������������������������� 234
Observability vs. Monitoring������������������������������������������������������������������������������������������������ 235
Implementing Observability������������������������������������������������������������������������������������������������� 235
Tools Available for Observability����������������������������������������������������������������������������������������������� 238
Observability with Logs������������������������������������������������������������������������������������������������������� 238
Observability with Traces���������������������������������������������������������������������������������������������������� 241
Observability with Metrics��������������������������������������������������������������������������������������������������� 246
Observability Reference Architecture for Enterprise����������������������������������������������������������������� 248
Component-Specific Observability Approach���������������������������������������������������������������������� 250
Vendor-Independent Reference Architecture����������������������������������������������������������������������� 255
ELK, Jaeger, and Prometheus-Based Observability Pattern������������������������������������������������������ 259
ELK for Logs������������������������������������������������������������������������������������������������������������������������ 260
Jaeger for Traces����������������������������������������������������������������������������������������������������������������� 261

viii
Table of Contents

Prometheus for Metrics������������������������������������������������������������������������������������������������������� 262


Kibana for Visualization and Analysis���������������������������������������������������������������������������������� 263
Grafana, Tempo, and Prometheus-Based Observability Pattern������������������������������������������������ 264
Promtail and Loki for Logs��������������������������������������������������������������������������������������������������� 265
Tempo for Traces����������������������������������������������������������������������������������������������������������������� 265
Prometheus for Metrics������������������������������������������������������������������������������������������������������� 266
Grafana for Visualization and Analysis��������������������������������������������������������������������������������� 267
Summary���������������������������������������������������������������������������������������������������������������������������������� 268

Chapter 8: Designing Next-Gen Enterprise Software Systems with


Cloud-­Native Architecture������������������������������������������������������������������������������������ 269
Introduction to Cloud-Native Computing����������������������������������������������������������������������������������� 271
What Is Cloud Computing?�������������������������������������������������������������������������������������������������� 271
Containers and Kubernetes������������������������������������������������������������������������������������������������� 276
Cloud-Native Computing������������������������������������������������������������������������������������������������������ 279
Micro-architecture Pattern for Enterprise��������������������������������������������������������������������������������� 282
Business Services��������������������������������������������������������������������������������������������������������������� 283
Integrations������������������������������������������������������������������������������������������������������������������������� 283
API Management����������������������������������������������������������������������������������������������������������������� 284
Front-End Applications�������������������������������������������������������������������������������������������������������� 284
Security Components���������������������������������������������������������������������������������������������������������� 285
Kubernetes-Based Deployment Pattern������������������������������������������������������������������������������������ 291
Kubernetes Architecture������������������������������������������������������������������������������������������������������ 292
Deployment Architecture����������������������������������������������������������������������������������������������������� 294
Multi-cloud Deployment Pattern����������������������������������������������������������������������������������������������� 297
Vendor-Specific API Gateway with Common API Marketplace�������������������������������������������� 298
Single API Gateway Vendor with a Marketplace������������������������������������������������������������������ 301
Highly Available Multi-cloud Deployment���������������������������������������������������������������������������� 302
Cloud Migration Pattern������������������������������������������������������������������������������������������������������������ 304
Assessment������������������������������������������������������������������������������������������������������������������������� 304
Preparation�������������������������������������������������������������������������������������������������������������������������� 305

ix
Table of Contents

Migration and Modernization���������������������������������������������������������������������������������������������� 305


Sample Cloud Migration Use Case�������������������������������������������������������������������������������������� 305
Summary���������������������������������������������������������������������������������������������������������������������������������� 311

Chapter 9: Industry-Specific Architecture Patterns��������������������������������������������� 313


Transportation Industry������������������������������������������������������������������������������������������������������������� 314
Understanding the Ecosystem��������������������������������������������������������������������������������������������� 315
Technical Requirements������������������������������������������������������������������������������������������������������ 317
Solution Architecture����������������������������������������������������������������������������������������������������������� 318
Telecommunications Industry��������������������������������������������������������������������������������������������������� 320
Understanding the Ecosystem��������������������������������������������������������������������������������������������� 321
Technical Requirements������������������������������������������������������������������������������������������������������ 323
Solution Architecture (Single Operator)������������������������������������������������������������������������������� 324
Solution Architecture (Multiple Operators)�������������������������������������������������������������������������� 326
Retail Industry��������������������������������������������������������������������������������������������������������������������������� 328
Understanding the Ecosystem��������������������������������������������������������������������������������������������� 328
Technical Requirements������������������������������������������������������������������������������������������������������ 329
Solution Architecture����������������������������������������������������������������������������������������������������������� 329
Education Industry�������������������������������������������������������������������������������������������������������������������� 331
Understanding the Ecosystem��������������������������������������������������������������������������������������������� 332
Technical Requirements������������������������������������������������������������������������������������������������������ 333
Solution Architecture����������������������������������������������������������������������������������������������������������� 334
Automotive Industry������������������������������������������������������������������������������������������������������������������ 335
Understanding the Ecosystem��������������������������������������������������������������������������������������������� 336
Technical Requirements������������������������������������������������������������������������������������������������������ 336
Solution Architecture����������������������������������������������������������������������������������������������������������� 337
Healthcare Industry������������������������������������������������������������������������������������������������������������������� 341
Understanding the Ecosystem��������������������������������������������������������������������������������������������� 341
Technical Requirements������������������������������������������������������������������������������������������������������ 344
Solution Architecture����������������������������������������������������������������������������������������������������������� 346
Benefits of the Solution������������������������������������������������������������������������������������������������������� 349

x
Table of Contents

Power and Energy Industry������������������������������������������������������������������������������������������������������� 350


Understanding the Ecosystem��������������������������������������������������������������������������������������������� 350
Technical Requirements������������������������������������������������������������������������������������������������������ 351
Solution Architecture����������������������������������������������������������������������������������������������������������� 353
Hospitality Industry������������������������������������������������������������������������������������������������������������������� 355
Understanding the Ecosystem��������������������������������������������������������������������������������������������� 355
Technical Requirements������������������������������������������������������������������������������������������������������ 355
Solution Architecture����������������������������������������������������������������������������������������������������������� 357
Summary���������������������������������������������������������������������������������������������������������������������������������� 359

Index��������������������������������������������������������������������������������������������������������������������� 361

xi
About the Author
Chanaka Fernando has more than a decade of experience
working in the enterprise software domain in various
capacities including designing, implementing, and
supporting large-scale enterprise applications and
systems across different industries including healthcare,
financial services, education, and telecommunication to
name a few. He is also the author of the book Designing
Microservices Platforms with NATS published in 2021. He
has contributed to several open source projects as a project
lead, developer, and architect while working at WSO2,
which is an open source software company. Chanaka holds
a bachelor’s degree in engineering from the University of
Moratuwa, Sri Lanka, where he specialized in electronics and
telecommunication engineering.

xiii
About the Technical Reviewer
Pamod Sylvester is currently working at “WSO2” as a
“Senior Lead Solutions Engineer”. During his stint, he has
contributed to developing enterprise integration patterns
guides and spearheaded efforts carried out to implement
full duplex protocols and I/O libraries for both middleware
and the Ballerina programming language. Further, he
has provided solutions to customers belonging to various
verticals and helped them in their digital transformation
journey; some of the verticals include health, finance,
education, retail, and governments in different parts of the
world. In addition to his occupation, he has provided tech
thought leadership to various online news journals and blogs
and has spoken at various summits and events.

xv
Acknowledgments
I would like to thank my wife Subhashini for supporting me and allowing me to spend
time writing this book even with her busy schedule. I would also like to thank the
wonderful team at Apress and Springer who helped me immensely during the process
of writing this book. Their patience and guidance let me finish this book even during a
challenging time. Last but not least, I would like to thank Pamod Sylvester for technically
reviewing the book and correcting my mistakes and giving some great feedback to
improve the quality of the book.

xvii
Introduction
Building enterprise software systems for modern organizations requires a deep
understanding of how distributed systems work as well as what applications and
systems are used for the specific business domain or industry. This book provides a set
of solution architecture patterns that were developed based on the experiences gained
through building enterprise software systems for hundreds of different organizations
across the globe. These architecture patterns are blueprints of real-world enterprise
software systems used by various organizations across different business domains
including healthcare, banking, education, and telecommunication to name a few. If you
are working on any digital transformation project or initiative, you will find this book
useful since it provides a quick reference architecture and a reference implementation
to get started with your work. The architecture diagrams (patterns) along with the
descriptions allow you to not only understand the concepts but also quickly build
working projects to grasp the concepts deeply.
This book starts with an introduction to the concepts of enterprise software systems
and solution architecture and then moves to different solution architecture patterns
used in real-world enterprises that are categorized based on technology areas such
as microservices, security, observability, event-driven, and cloud-native to name a
few. These patterns provide generic architecture patterns that can be used across
many industries. The latter parts of the book cover various industry-specific solution
architecture patterns with finer details that can be used to build domain-specific
software systems.
This book helps enterprise software architects and engineers to design and
implement real-world enterprise software systems using the best practices and
techniques adopted by organizations across the globe. It also provides software
architecture blueprints to build domain-specific enterprise software systems.

xix
CHAPTER 1

Introduction to Enterprise
Software Systems
Organizations of different sizes spanning from small to medium to large multinational
conglomerates use technology to expand their businesses and provide awesome
customer experiences so that they can compete at the same level regardless of their size.
A company operating from a remote city in South Asia can compete with a Silicon Valley–
based Internet giant because of this neutral nature of the technology. The products and
services that we consume in our day-to-day lives most probably have originated from
different parts of the world. With the popularity of “Internet” and the advancements in
the telecommunications industry, the world is becoming a one large marketplace for both
consumers and producers. The global economy is primarily driven by consumer demand
rather than the producer’s capabilities. The competition is so high that there are hundreds
or even thousands of producers available for the same consumer product or service.
Although there are different problems to be solved using technology according to the
industry such as healthcare, retail, banking, manufacturing, and so on, at the end of the
day, each organization tries to provide an awesome experience to their customers. This
book considers the similarities and the differences of these different industries when
designing and implementing solutions using technology and provides a set of technical
reference architectures and examples to build great experiences to the users.
In this chapter, we are going to discuss how organizations are using technology to
deliver products and services to their customers. We will be discussing the following
topics in this chapter:

• What are enterprises?

• How software is used in enterprises?

• Characteristics of enterprise software systems

• Practical examples of enterprise software systems

1
© Chanaka Fernando 2023
C. Fernando, Solution Architecture Patterns for Enterprise, https://doi.org/10.1007/978-1-4842-8948-8_1
Chapter 1 Introduction to Enterprise Software Systems

Before we chime into technical details of architecture and solutions, let us take a look
at how typical organizations use technology within their business landscape.

What Are Enterprises?


The term “enterprise” historically used to denote a somewhat large business or
organization. But the term has evolved with time, and today, we use it to denote an entity
with one or more of the following characteristics:

• One large business corporation or a business unit within that


corporation

• A government agency or one single department within the


government

• A large multinational conglomerate business that spans across


countries and regions

• A global alliance or organization working toward a common goal

• A small to medium size business that operates in a limited


geographical context

The preceding set of characteristics covers a larger portion of enterprises that


operate globally. In the context of this book, we will be discussing how technology can
be used within these enterprises to achieve their business, organizational, and social
aspirations.
An example of a large business corporation would be a company that produces
beverages within a country or region. It is large enough to cover that entire country or
region yet is not doing business outside of that territory. A government agency would
be something like a health ministry that would be the governing body of healthcare for
that country. There are many examples of multinational corporations such as the vehicle
manufacturer Toyota and the electronics manufacturer Sony. A global alliance example
would be something like UNESCO and World Health Organization (WHO). A startup
technology company or a medium size business with a few branches can be considered
a small to medium size business (SMB).

2
Chapter 1 Introduction to Enterprise Software Systems

In a typical enterprise, there are three main components that we can identify
regardless of the size and the nature of the enterprise:

1. People

2. Processes

3. Technology

Figure 1-1 depicts how a typical enterprise consists of people, process, and
technology in the three vertices of the rectangle, while enterprise governance controls
the interactions of these components through the edges.

Figure 1-1. Building blocks of an enterprise ecosystem

People component comprises employees, customers, partners, and other human


stakeholders that operate within the context of the enterprise’s operations. Employees
are the core of the enterprise that keeps the engine running by executing day-to-day
operations and providing greater experience to the customers. Customers purchase

3
Chapter 1 Introduction to Enterprise Software Systems

products and/or services from the enterprise to keep it financially feasible to run the
operations. Partners help the enterprise to produce and deliver products and/or services
by providing raw material and other required services.
Processes define how everything is organized within the enterprise and make sure
desired outputs are produced by people’s actions. It streamlines different bits and pieces
and defines clear steps and goals for execution. It also standardizes the operations and
improves overall efficiency and quality within the enterprise.
Technology helps enterprises to improve customer experiences and overall
efficiency by automating manual processes and integrating different parts of the
enterprise. It also helps enterprises to reach out new customers and partners through
shared ecosystems that are consumable by such external parties. We will be discussing
this topic throughout this book.
The coordination between people, processes, and technology within an enterprise is
called the “governance.” In a practical sense, it is not much different than a “government”
that overlooks a country or region. Enterprise governance helps organizations align their
goals with the operational procedures of people, processes, and technology. Some of the
common functions of enterprise governance include the following:

• Creation of organizational structures and hierarchies of people.

• Selection of technology for projects.

• Define standards and best practices to be followed by people.

• Introduce processes to streamline operations and continuously


monitor them.

• Improve awareness in the enterprise on processes, technology,


and people.

Enterprise governance is a topic on its own and it is worth a separate book, and we
will touch upon the technology side of the concept throughout this book. The main
intention of this book is to understand how technology or software is used within
enterprise platforms with detailed architecture patterns and examples. Let us first
understand how software is utilized in an enterprise ecosystem.

4
Chapter 1 Introduction to Enterprise Software Systems

How Software Is Used in Enterprises?


Enterprises deal with a lot of information in their day-to-day operations. This
information can be related to products, services, customers, employees, partners,
or even the population that does not belong to any of the previous categories. The
information changes frequently and needs to be accessed through different channels
such as mobile, Web, or terminal applications such as automated teller machines (ATM),
point-of-sale (POS) machines, or even Kiosk machines. It is software along with
hardware that keeps all this information in storage devices and allows different channels
to access it as and when required. Software allows enterprises to manage information
in a much better way than the previous mode of storage, which was paper-based
information storage.
Having software controlling the enterprise information, now enterprises can reap
additional benefits such as the following:

• Easy discovery – Doing a search for any data point (e.g., product,
customer, or employee) is much easier and faster.

• Easy to share – Sharing can be done instantly with improved security.

• Easy to secure – Information is secured at finer levels to make sure


the least-privilege principle is applied.

• Easy to manage – With the scalable solutions such as cloud software,


managing information has become much easier than the traditional
paper-based approach.

• Easy to change (innovate) – With the software, modifying certain


details of a product, service, or customer is much easier, while
without software, it is almost impossible.
There can be several other advantages related to using software within enterprises.
Let us keep the list lean to get started on the topic. The more we explore the enterprise
software systems, the more we will be able to uncover advantages.
Let us now try to understand how software is used within enterprise platforms. Here
are some of the fundamental use cases of software within enterprises:

• Store and retrieve information quickly.

• Secure information from unauthorized access.

5
Chapter 1 Introduction to Enterprise Software Systems

• Expose information to third parties such as customers and partners.

• Innovate new products and services based on customer and partner


interactions.

• Automate manual processes to improve efficiency and quality.

• Organize business processes and information to comply with best


practices and standards.

With all the points mentioned in the preceding section, enterprises are trying to
provide the best possible experience to the users, customers, or the community that
belongs to that ecosystem. One might wonder why it is so hard to build robust enterprise
software systems by fulfilling the previously mentioned requirements. It is not that
complicated to support those requirements on a small scale. But supporting these
requirements at a large scale requires a lot of planning, designing, and testing before
rolling out to the end users.
It is obvious to a certain extent that usage of software helps enterprises to improve
their efficiency, throughput, and the overall user experience. Let us discuss how real-­
world enterprises are building these software systems. This is where the concept of
“Build” vs. “Buy” comes to the surface. While software provides many benefits to the
enterprise, it comes with a price tag. These software systems need to be built, managed,
and supported by well-trained professionals to make the investment worthy in the
long run.
The first option for an enterprise to bring software into the ecosystem is to build
it in-house with a few developers who are already in the team or by hiring a small
team. This approach can work for not only small enterprises but also large enterprises
depending on the capabilities of the development team and the nature of the software
that is being built. This gives the enterprise sufficient flexibility and control over the
features, timelines, and quality since everything is built in-house. Some drawbacks of
this approach are management overhead, slowed innovation (since everything is built
in-house), and tight dependency on SMEs.
Another option is to purchase commercial off-the-shelf (COTS) software from a
third-party software vendor and install and/or configure that within the enterprise
ecosystem. This sort of software may fulfill most of the needs of the enterprise given that
these softwares are developed by teams who are experts on that particular domain. The
enterprise does not need to spend time and resources on research and development of
the product. Most of the time, these vendors provide professional services to manage

6
Chapter 1 Introduction to Enterprise Software Systems

and maintain the software on behalf of the enterprise so that the enterprise only needs
to take care of the business requirements that need to be implemented on top of this
software. One drawback of this approach is lack of control over features, timelines, and
the quality of the software.
More modern approach of using enterprise software is the usage of fully managed
cloud software within enterprises. This category of software is offered as “Software as
a Service (SaaS)” with a vendor who offers the software controlling the development,
deployment, and management of the software in a publicly accessible cloud
infrastructure. The only tool that enterprise users need to access this software is a web
browser in most cases. The rest of the implementation is hidden from the user, and it
is a complete black box for the user. These tools have developed to such great levels
that even a nontechnical user can utilize these softwares to build applications that
are required for the enterprise. This kind of software offers flexible pricing options
such as pay-as-you-go models so that the enterprise needs to pay only for the usage of
the software rather than paying large upfront payments to other installable software.
One key disadvantage of this category of enterprise software is the lack of control over
features and timelines. Since these are shared services that are used by many different
customers, adding a new feature may take longer than the other two options we
discussed previously.
Let us take a few examples from real world enterprise software systems to
understand this further.

How Software Is Used in the Healthcare Industry


Let us imagine we are building an enterprise software platform for a healthcare provider,
which is a hospital located in the city. In this system, you need to store information about
the following entities:

• Patients

• Outpatient Department (OPD)

• Long-term patients
• Clinical patients
• Emergency patients

7
Chapter 1 Introduction to Enterprise Software Systems

• Staff

• Doctors

• Nurses

• Lab technicians

• Administration staff

• Medical support staff

• Drugs

• Clinics

• Equipments

• Reports

• Wards

• Labs

This information needs to be stored in a database and controlled with required


access controls so that whenever a consumer (doctor, nurse, patient, or admin staff )
with the correct authority needs to access this information, the required information is
provided without any delay. By storing this information in a computer-friendly format
such as HL7 or JSON in an Electronic Medical Record (EMR) format, retrieval and
sharing across multiple applications become easier. Fast Healthcare Interoperability
Resources (FHIR) is a standard that allows healthcare systems to show health
information in a standard format over the HTTP/REST protocol. It allows the client
applications such as mobile and web clients to consume the healthcare information
without worrying about the internal details of the system. That will result in a better
experience to the consumer who wants to access this information. If we think about
storing the same information in a manual, physical file storage, it will take some time to
find out the exact detail that is required.
Once this information is stored in a standard, computer-friendly format, it becomes
much easier to share this information to other stakeholders such as regional hospitals,
pharmaceutical companies, research centers, and even patients via multiple channels
such as mobile and web applications.
We will be discussing more on building enterprise software systems for the
healthcare industry in Chapter 9, “Industry-Specific Architecture Patterns.”

8
Chapter 1 Introduction to Enterprise Software Systems

How Software Is Used in the Retail Industry


The retail industry is one of the few industries that turned on its head due to the use of
technology. Before technology got involved in the retail industry, people loved walking
inside physical stores and doing shopping for hours and hours without actually buying
anything. Sometimes, they had to wait in long queues when there are seasonal offers
during “Black Friday,” and people barely complained about it. But it was a tedious task
for the staff to maintain records of stocks, inventories, and cash registers in manual
ledgers. Once the manual bookkeeping was done, it was required to go through an
approval process in which a senior staff member goes through each and every invoice
and tallies them with the transactions for correctness. These kinds of approval processes
were cumbersome and wasted a considerable amount of time of the staff members.
Software was initially used to store information such as

• Stocks

• Inventory

• Suppliers

• Shifts

• Employees

These initial software solutions help the retail industry to improve the efficiency of
the overall process and reduce the burden of keeping manual ledgers. The solutions
such as business process servers helped automate the long-running approval processes
so that the staff members do not need to spend extra time on manual cross-checking and
paper-based approvals. Then came the online shopping websites such as Amazon and
eBay, which revolutionized the retail industry. These websites not only used software for
internal usage but also used it to sell products and services over the Internet.
With the increased popularity of these online shopping websites, the owners
of these websites had to architect their enterprise software systems to provide real-­
time experiences similar to a physical store to the consumers at a global scale. These
consumer demands helped software systems to become more scalable and robust and
have low latency. The enterprise software systems within these retail giants became
large-scale systems with hundreds or even thousands of computers running as many
instances of software components in clustered environments to fulfill the consumer
demands from across the globe. More and more partners are involved in the retail
business in the forms of manufacturing, distribution, and last-mile delivery.
9
Chapter 1 Introduction to Enterprise Software Systems

We will be discussing more and more use cases of enterprise software systems in
real-world industries throughout this book. With the understanding we have gained on
enterprises and usage of software systems, let us try to identify the characteristics of the
enterprise software systems.

Characteristics of Enterprise Software Systems


We have discussed a few examples of how software is used in particular domains such as
healthcare and retail, which are essential parts of our daily life. Even a small glitch in one
of these platforms can cause a huge damage to the enterprise as well as the users. There
had been many situations where a single line of malicious code had created chaos for
organizations and their reputation. Due to this fact, when designing enterprise software
systems, we need to be extra careful about the impact it would make on the users as
well as the enterprise. The following is a list of common characteristics that need to be
available in a good enterprise software system:

• Scalability

• Availability

• Latency

• Robustness

• Security

• Modularity

• Reusability

• Replaceability

• Observability

• Adaptability

It is evident in the real-world enterprise systems that not all these characteristics
are optimized in every instance. But you need to consider these aspects when designing
and implementing enterprise systems. In fact, there are certain characteristics such
as security that impacts the latency of the overall customer experience that cannot be
optimized at the same time. In such cases, we have to compromise one for the other
depending on the priority of each characteristic. As an example, in a banking system,

10
Chapter 1 Introduction to Enterprise Software Systems

security is a higher priority than latency. The customer would be okay to spend a bit
more time making the payment rather than using a less secure system that can cause
significant damage to their funds. On the other hand, in a retail website, users should be
able to check out the available items without much delay even without authenticating
with the system.
Let us take a detailed look at each of these characteristics since we need a proper
understanding of each one when we design and implement enterprise software systems.

Scalability
In the past, the growth of an enterprise took a considerable amount of time, and the
enterprise teams had enough lead time to plan on scaling the applications. Most of
the time, teams started a new project to scale the platform and installed new hardware
and software to scale the system. But in today’s world, enterprises can launch their
products and services to larger audiences through the Internet, and the growth of the
customer base can be instantaneous. Sometimes, you would receive ten times more
traffic than what you initially estimated, and your enterprise system should be capable
of scaling to these demands instantly. Otherwise, all the customers would experience
service unavailability, and your reputation can go blank in a matter of minutes. Because
of this reason, when you design an enterprise system, you need to understand what
components need to be scaled frequently and what components need to be scaled
occasionally. If you know this information, you can utilize technologies provided by
infrastructure providers to automatically scale the components based on certain metrics
such as CPU usage, latency, or number of users.
There are two types of scalability that we typically discuss in enterprise applications:

1. Horizontal scalability

2. Vertical scalability

In horizontal scalability, we add new components in addition to what is already


running. In the case of a web server instance that is running on a virtual machine, with
horizontal scalability, we will deploy additional virtual machines with the web server
so that we increase the number of “instances” of application so that more requests can
be served in parallel. We can scale the platform to a large extent with this approach,
and there are systems that run hundreds or even thousands of instances of the same
application in real-world enterprises.

11
Chapter 1 Introduction to Enterprise Software Systems

In vertical scalability, we add more resources to the application so that it can perform
better. We would typically increase the number of CPU cores and memory to improve the
performance of the application. This approach would work well in scenarios where you
need to scale the system by a small magnitude. This has its limitations in terms of how
far you can scale since there are limitations on the number of CPUs and the memory that
a particular computer (node) can scale up to. In addition to that, applications also start
to flatten the performance improvement beyond a certain limit due to the limitations of
operating systems that are running on these computers. Hence, this mode of scalability
is not suitable if you have higher scalability requirements.

Availability
In the world of business, time is money. If you are offering products and services through
omni-channels such as mobile, web, and telephone, your system needs to be available
and accessible to the users at any given time. But in reality, the cost to support 100%
availability is much higher when compared to the cost that involves providing four
nines (99.99%) of availability. Hence, most of the enterprise platforms are designed in a
way that its availability is expressed in number of nines (e.g., 99.9, 99.99) and the loss of
availability (downtime) is considered as an opportunity loss, which can compromise the
additional cost that needs to be spent to completely avoid it.
There are different systems and applications that require a certain level of minimum
deployment to support high availability. In a typical stateless web application such
as Tomcat or API gateway, having a two-instance deployment with both instances
in an active mode would provide the high availability. A load balancer will be used
to distribute the traffic coming into the web server in a round-robin fashion. When
planning the capacity of the servers, it needs to be planned so that the overall capacity
of both the nodes can provide two times the expected (or peak) capacity of the platform.
When we do that, in the case of a single instance failure, the system will still function
at 100% capacity without disrupting the availability. In a stateful application with data
replication, you may need more than two instances to provide the minimum high
availability.

12
Chapter 1 Introduction to Enterprise Software Systems

Latency
The Internet has become so fast that consumers expect things to be available at their
fingertips in a blink of an eye. But as enterprise systems designers, we need to deal with
complexities such as varying systems, varying data types and formats, and even varying
deployments (geographically). As an example, if a customer needs to check a particular
item in an e-commerce website, that single web page provides details about product
features, price, availability, related products, and even the estimated shipping cost. These
different types of information come from different core systems that may be running in
different data centers across the world. But the end user does not care about any of these
complexities, and they expect all the details to be available instantly. Due to this reason,
it is important to consider the overall latency of the platform when designing enterprise
systems. You need to make sure that there are a minimum number of network interactions
and data is stored in canonical format within the platform so that data transformation
costs are minimal. But in some cases, we might not be able to avoid all these complexities
since the application may require data from legacy systems that are hard to change.
In either case, we provide a service-level agreement (SLA) to the users mentioning
the maximum (or average) latency of a particular service so that they are aware of it
beforehand. The business leaders and sales teams would ask for better latency every
day, and as system designers, we need to make sure that we provide the required
performance without impacting the overall system stability and unnecessary
cost implications. There are several technologies that can be used to improve the
performance and reduce the latency such as caching that can be implemented with
several approaches such as in-memory and persistence modes.

Robustness
Enterprise systems are built on top of computer networks that are destined to fail from
time to time. It is really hard to design networks that do not fail. Hence, it is inevitable
that enterprise systems will fail. The term “robustness” does not mean that our system
should be without any failure. But it discusses how resilient our system is to these
failures. As an example, a robust system would not experience cascading failures from
one system to other systems. It would avoid such cascading of failures by applying
techniques such as circuit breaker, which would eventually isolate the failed application
from the rest of the system for a certain amount of time. After that duration, it checks the
health of the failed application and reconnects that to the system.

13
Chapter 1 Introduction to Enterprise Software Systems

Another common approach of building robust systems is to use techniques


such as “fail-fast” so that any failure is identified fast and remedial actions are taken
immediately. “Chaos engineering” is another way of designing robust systems that
makes a totally different approach by randomly faltering the parts of the system
intentionally to check the resiliency of the system and take measures to withstand such
failures without chaos in the real world.

Security
Enterprise software systems generate a large amount of data that needs to be properly
stored, processed, and distributed to the relevant stakeholders. Every time we touch
enterprise data, one thing we need to make sure of is the security of data. Data needs to
be secured when stored (data at rest) in data stores using techniques such as encryption
so that only the intended clients can access the stored data. This functionality is provided
by the applications that generate the data and the databases that store the data in storage
systems such as disks.
Another aspect of enterprise security is securing data in motion. That means when the
data is accessed through a network using a mobile or web application, the communication
channel needs to be secured using mechanisms such as transport layer security so that
an attacker who hacks into the network cannot access the data in transit. We use
technologies such as Secure Sockets Layer (SSL) and Transport Layer Security (TLS)
for this purpose.
The more prominent or the customer-facing aspect of enterprise security is the
application-level security with authentication and authorization. If a user needs to
access any information from the enterprise software system, that user needs to have the
required permissions before accessing it. Authentication verifies the user and identifies
that user as a valid user in the system. Authorization makes sure that the identified user
has the authority to execute certain actions on enterprise data. We will be discussing this
topic in detail in the upcoming chapters dedicated to enterprise security patterns.

Modularity
One of the main challenges people have to deal with when designing enterprise software
systems is the complexity of the system that increases with time. In early enterprise
software systems, large monolithic applications were deployed in the enterprise

14
Chapter 1 Introduction to Enterprise Software Systems

ecosystem, and the integration of these systems was done in a point-to-point manner
with custom code written specifically for each integration. Enterprise architects then
realized the challenges of maintaining such deployments and came up with the idea
of Service-Oriented Architecture where each functionality required by the system is
developed as separate services and integrations across services and other systems
happened through standard interfaces such as REST, SOAP, or JMS to name a few. This
approach helped the enterprise architects to design services with clear goals and made
it easy to develop new features specifically for the required services without overhauling
the entire application. This concept was then evolved into a more independent
services development and deployment model with the introduction of microservice
architecture and containers. It improved the overall system availability and agility by
allowing individual services to maintain their own life cycle so that each service could be
managed by entirely different teams with expertise on specific domains.
Having modular architecture such as SOA or microservice architecture helped the
enterprise software systems to become more resilient to failures since one component
failure could not impact the overall system behavior. In addition to that, it also
allowed these individual modules (services) to innovate independently and bring
new experiences to the customers without worrying about the readiness of the entire
platform, which would otherwise delay the innovation. It also helped isolate errors
and made troubleshooting easier by identifying errors related to specific components
and allowed developers to quickly work on a resolution rather than going through the
entire system.

Reusability
When enterprises become larger, teams become distant and start building their own
siloed applications and systems to implement business functions. If such an enterprise
does not have a proper governance model to overlook the different teams and align
their visions with the overall enterprise goals, different teams start building the same
functionality without knowing it, and in the process, these teams waste a lot of their
valuable resources. That is the reason why it is important to have a proper governance
model within an enterprise to make sure that teams reuse already-existing functionality,
which might have been developed by other teams within the enterprise. A common
approach to build such a shared platform is to use a centralized application portal where
each team can publish their services into the portal and any other team can reuse the
services without duplicating it.
15
Chapter 1 Introduction to Enterprise Software Systems

With a reusable development model, teams can collaborate with others without
going down their own siloed universes. It helps organizations to spend valuable
engineering resources on critical tasks rather than using them for duplicating existing
functionality. It also helps the enterprise to develop new services at a faster rate and
reduce the time to market. The service developers would also get valuable feedback from
other teams, which would help them to improve the service quality and the features
it offers.

Replaceability
Enterprise software systems are going through continuous improvements, and replacing
existing functionality with new products and vendors has become a more frequent task
recently. There can be many reasons such as stability issues, performance issues, feature
gaps, product support quality issues, support availability issues, and most commonly
pricing challenges. Because of these reasons, we cannot guarantee that any component
in the enterprise software system would last forever. Hence, we need to design the
enterprise system so that any component can be replaced with the minimum impact to
the overall system operations. The best approach to implement such an architecture is to
use components that support standards based interfaces for integrations. As an example,
if we are to select an API management platform for an enterprise, we need to make sure
that the product we select supports standard API definition formats such as Swagger
or OpenAPI specification so that in case we need to replace this product with another
vendor, we can reuse the same API definitions to migrate APIs into the new vendor.
Having such standards-based components in the enterprise system would help
us to evolve the system with time and also to avoid any vendor lock-in. Not all the
components have smooth transitions since some systems use their own data models to
store enterprise data, and in such cases, we might need to get help from the new vendor
to transform and migrate the existing data set to it.

Observability
Failure is inevitable in enterprise software systems. Recovering from failure is the utmost
important aspect of such systems. Observability is the mechanism that allows developers
to identify the root causes of failures by looking at external outputs that are produced
within the system. As an example, enterprise applications produce outputs through
multiple channels such as log entries into a file, events published to a topic, or even an
16
Chapter 1 Introduction to Enterprise Software Systems

email sent to a system admin when something abnormal happens. Then these admins
can go over these events and identify the sequence of events that caused this erroneous
behavior in the system and make necessary measures to fix the issue.
Large enterprise software systems with hundreds of applications running in parallel
with complex integrations within these applications can make it harder to troubleshoot
if no proper observability is implemented. Hence, it is a best practice to implement
observability from the initial stages of the system design and implementation so that
the system's observability, which is a property of the overall system, keeps on improving
with time. Monitoring is a function within the enterprise that uses various observability
outputs to keep an eye on the stability of the system. It helps developers to keep the
system in a good state and recover from failures as soon as possible.

Adaptability
Executive leaders always look to improve the performance of the enterprise due to
the steep competition coming from the alternate enterprises. This sheer competition
impacts all the different functions within the enterprise, and hence, enterprise
software systems need to adapt to the continuous change requests coming from the
executive leadership. As an example, as part of a global expansion within the enterprise,
executives ask enterprise architects to bring in more and more systems to manage global
operations. In such a scenario, the enterprise systems should have the capability to
integrate with those systems without impacting the existing applications. It also means
that the system is agile and flexible to adopt the changes fast and move forward.
Sometimes, enterprise software vendors come with drastic changes across versions
to their applications and suddenly stop supporting existing product versions. In such
scenarios, the enterprise architects must be able to evaluate alternative vendors
that would provide better functionality with better pricing and support. Enterprise
technology evolves with time, and enterprise architects should do a technology refresh
periodically to make sure that enterprises are reaping the benefits of advancements
in enterprise technology. Having an enterprise system that can adapt based on these
requirements is critical for enterprises to be on the cutting-edge technology rather than
stuck in year-old technology platforms and products.
Now you have an idea of what enterprises are, how enterprises use software, and the
characteristics of enterprise software systems. Let us discuss a few example enterprise
software systems in brief to expand our understanding further.

17
Chapter 1 Introduction to Enterprise Software Systems

Practical Examples of Enterprise Software Systems


Enterprise software systems have common characteristics that we discussed in the
previous section. At the same time, there are many differences that are specific to the
enterprise domain that a particular software system is implemented for. Let us take
a few enterprise domains that make a significant impact on our day-to-day lives and
go through software architecture diagrams in brief to understand the similarities and
differences better. The enterprise domains we will be discussing are as follows:
• Healthcare

• Transportation

There are many other enterprise domains that we will be discussing in the upcoming
chapters of this book. But we have taken the two domains mentioned previously to
explain the concepts of enterprise software systems here.

Enterprise Software System Architecture for Healthcare


Let us imagine that we need to build a software system to be used in the healthcare
domain that consists of hospitals owned by the government and private organizations.
The first thing we need to do is identify the people and processes that we can consider
as stakeholders of the system. Figure 1-2 depicts some of the main stakeholders of a
software system built for healthcare.

18
Chapter 1 Introduction to Enterprise Software Systems

Figure 1-2. Stakeholders of enterprise software system for healthcare

As depicted in the figure, the mentioned stakeholders make use of the enterprise
software system that is designed for healthcare:

• Internal users – These are the users who interact with the software
system from within the hospital itself. These users have more
privileges to access information since they play a critical role in the
healthcare process within the hospital.

• External users – Certain information in the hospital software system can


be exposed to external users for business, administration, and research
purposes. These users have less privileges than the internal users.

• Healthcare facilities – This is the core of the system where all the
healthcare facilities reside. It can be a government hospital or a
private hospital.

• Governing bodies – In certain countries, healthcare systems are governed


by government departments. In addition to that, there are universities
that produce healthcare professionals that interact with the system.

• Healthcare business and services – There are other external


stakeholders who partner with hospitals to provide supportive

19
Chapter 1 Introduction to Enterprise Software Systems

services such as pharmacies, care centers, ambulance services, and


insurance services that need to interact with the healthcare system to
provide better services and gain more customers to their businesses.
The FHIR standard along with healthcare regulations such as the
CMS rule that was introduced in the United States encourages and
pushes healthcare organizations to share health information with
external parties over a standard format.

The next step in designing an enterprise software system for healthcare is to identify
various units within hospitals and identify the data that each unit needs to store, access,
and manipulate and come up with an entity relationship (ER) diagram. Once that is
done, enterprise architects can start putting together a solution architecture diagram
to lay out the technical components of the system. Figure 1-3 depicts a sample solution
architecture diagram for a healthcare software system.

Figure 1-3. Solution architecture for healthcare software system

20
Chapter 1 Introduction to Enterprise Software Systems

Figure 1-3 depicts a possible solution architecture diagram that explains how
different units within a hospital and outside a hospital interact with the healthcare
system with technical details. If you feel this is a steep move from the previous diagram
to this diagram, don’t worry about it since we will be discussing these solutions in detail
in an upcoming chapter. In the interest of this chapter, let us discuss in brief what the
figure depicts.
Let’s start from the top layer where users (internal and external) interact with
the system through client applications. These applications can be mobile or web
applications installed on a laptop/desktop/tablet or even mobile phones. These
applications access information within the healthcare system through the presentation
API layer, which controls the access to the healthcare data with security, monitoring, and
rate limiting. A few example APIs can be

• Patient registration

• Patient report card

• Lab reports of a patient

• Ward statistics

There can be many such APIs according to the requirements of the consumers. If
a doctor wants to register a new patient to the system, they will do so via the mobile or
web application by providing the credentials related to the doctor. There is an additional
component called the Identity and Access Management (IAM), which takes care of
the sensitive nature of data and how people access that data. It provides the required
security capabilities to the platform such as authentication and authorization along with
consent management. Authentication identifies who the user and validates the user’s
identity, while authorization validates the permissions that the validated user has in
relation to the system and the resources that they can access. Consent management is
used to get the user’s confirmation (consent) to collect the user’s data such as personally
identifiable information (PII) by the system. This information will be used to provide
better experiences to the user.
Underneath this presentation API layer, there is a layer that does the actual heavy
lifting and the processing of the data and orchestrates between multiple raw data
systems to produce results that are consumable through presentation APIs. This layer
collects data from real-time sources, historical event sources, and static data sources and
produces valuable results for end-user consumption.

21
Chapter 1 Introduction to Enterprise Software Systems

There is another major component within this architecture that is the “message
broker,” which will be used as the reliable messaging layer for asynchronous information
exchanges. Some examples are

• Releasing lab results

• Police reports

• Birth/death reports

• Research data

• Drug reports

In addition to that, there can be a real-time event processing component that


analyzes various events and produces results that are then communicated to relevant
medical personnel and systems so that they can act immediately. As an example,
if a certain report results in a severe health condition of a patient, the system can send
notifications to relevant people to take immediate action rather than waiting till they get
the report and analyze the report.
There is a lot more to be discussed on this solution, but we will do that in a future
chapter within the book.

E nterprise Software System Architecture


for Transportation
Transportation is as important as anything we could imagine to make the world moving
forward and connected. At the same time, it is one of the domains that technology is
used in a largely uneven manner. The reason for me saying that is technology is heavily
used in innovating different vehicles and building infrastructure such as roads, but at
the same time, it is not used much in controlling the transportation systems. If you've
been to any major city in the world such as London, New York, Paris, Tokyo, or any other,
you would wonder why we cannot solve the traffic problem that is common in these
cities. In fact, there are countries and cities who improved traffic behaviors within cities
significantly using technology.
Let us first understand the different stakeholders that are involved in a ground
transportation ecosystem. Figure 1-4 depicts some of the main stakeholders that we
need to consider when designing a software system for transportation.

22
Chapter 1 Introduction to Enterprise Software Systems

Figure 1-4. Some main stakeholders of transportation ecosystem

As depicted in the figure, we can identify the following main stakeholders related to
ground transportation:

• Commuters – People who travel as passengers of vehicles. They need


information about traffic conditions, vehicle locations, capacities,
and vehicle conditions.

• Drivers – People who drive the vehicle and use the infrastructure in
reality. Their responsibility is to move commuters from the starting
point to the destination in a safe, timely manner. They are interested
in traffic conditions, traffic light systems, commuters who are waiting
for their travel, roadside maintenance activities, events happening in
that area, etc.
23
Chapter 1 Introduction to Enterprise Software Systems

• Pedestrians – People travelling on foot and walking around the city.


They want to know about air pollution, crowded areas, and traffic
light systems.

• Vehicles (including self-driving) – This is the actual tool drivers are


using to carry commuters around. These vehicles have sensors to
capture data and actuators to act upon receiving data. Self-driving
vehicles are solely driven by these two types of data, while other
vehicles use those data points to improve drivers’ efficiency and
eventually contribute to the overall improvement of the system.

• Sensors – Sensors can be used to improve the overall system


efficiency. There can be different types of sensors depending on the
positions they are located in.

• Traffic sensors – These sensors can be installed in the road near


junctions. They will capture raw events about how many vehicles
passed through the sensors. That can be used to derive the traffic
flow of a particular direction within a junction and eventually
communicated to the traffic control system so that the overall
traffic lighting system can be improved.

• Platform gate sensors – These sensors can be used to measure the


capacity at a given platform of a station, and based on that, users
can be distributed to different sections of the platform to have a
uniform distribution of load to the compartments.

• Air pollution sensors – By measuring the air quality of an


area, pedestrians can select healthy areas to take a walk, and
vehicles can be moved away from roads that are heavily used by
pedestrians

• Traffic control system – The main component of the control system


is the signal light system. Adaptive signal light systems can take
feedback from roadside sensors and change the durations of green
light and control the traffic flows as a whole, and based on the day of
the week and the time, it can decide the timing of lights across the
entire system. Traffic police can also receive this information through
the control center.

24
Chapter 1 Introduction to Enterprise Software Systems

• Roadside maintenance – In a developing city, there can be many


maintenance activities going on within the road network, and this
information needs to be properly fed into the system so that users
can receive and act based on that. Prior notifications allow people to
plan their routes in advance.

• Stations (bus, railway, tram) – These are places that show a lot of
information about the transportation system status. They show
details about schedule, current running vehicles, and locations. With
the usage of sensors on vehicles, more detailed information like
capacity of each compartment, locations of buses, and predicted time
can be communicated to the users through public communication
mechanisms available in these stations.

• Taxi companies – These companies have a huge impact on the traffic


condition by reducing the number of personal vehicles entering the
city, ride sharing, and professional drivers with advanced devices.
These drivers can make smart decisions and be more effective on the
roads with quality information and experience.

• Transportation authorities – Most of the public transportation is


controlled by these authorities. They can impose rules for a better
transportation system and run buses, trains, and trams within cities.
There can be more than the aforementioned stakeholders within a
specific transportation ecosystem. But the aforementioned can be
considered as the most common denominator.

Once we identify the main stakeholders, we need to come up with a solution


architecture that can help us build an effective ground transportation software system.
Figure 1-5 shows an example of such a solution architecture.

25
Random documents with unrelated
content Scribd suggests to you:
while Lucagus sweeps fiercely round his naked sword. 15
Æneas brooked not the fury of their fiery onset, but
rushed against them, and stood fronting them in his giant
bulk with threatening spear. To him cried Liger: “These
are not Diomede’s steeds you see, nor this Achilles’ chariot,
nor are these the Phrygian plains; your warfare and 20
your life shall end here on Italian ground.” So fly abroad
the random words of frantic Liger. The chief of Troy
seeks not to meet him with words, but hurls his javelin
at the foe. Even as Lucagus, bending forward over the
stroke, pricked on his horses with the steel, and advancing 25
his left foot prepares himself for fight, the spear
pierces the last margin of the radiant shield and enters
the groin at the left: down he falls from the car and
wallows in death on the plain; while good Æneas bespeaks
him with words of gall: “So, Lucagus, it is no 30
craven flight of your steeds that has played your car false;
no empty shadow cast by the foe has turned them; no,
it is you that spring down from the wheels, and leave the
horses to their fate.” With these words he laid hold of
the bridles, while the wretched brother, gliding down 35
from the car, was stretching his recreant hands: “Oh, by
yourself, by the parents that gave such greatness birth,
spare this poor life, brave hero of Troy, and let prayer
find compassion.” Æneas cut short his entreaties; “Not
such were your words a moment ago; die, and forsake
not your brother, as brother should:” and cleaving the
bosom with his sword, he laid bare the seat of breath.
Such were the deaths that the Dardan leader dealt about 5
the plains, storming along like torrent wave or murky
tempest. At length the prisoners burst forth and leave
their camp, the young Ascanius and the soldiery beleaguered
in vain.

Jupiter meanwhile first addresses Juno: “Sister mine 10


and sweetest wife in one, Venus it is, even as thou didst
suppose—for thy judgment is never at fault—that upholds
the powers of the Trojans, not the warriors’ own
keen right hand and the courageous soul that braves
every peril.” Juno returned, meekly: “Why, my fairest 15
lord, dost thou vex a sick spirit that quails before thy
cruel speeches? Had my love the force it once had, and
which should still be its own, this at least thou wouldst
not deny me, almighty as thou art, the power to withdraw
Turnus from the fight and preserve him in safety 20
for Daunus his father. As it is, let him perish, and glut
the Teucrian vengeance with his righteous blood. Yet
he draws his name from our lineage, and Pilumnus is his
grandsire’s grandsire: and often has thy temple been
loaded with store of offerings from his bounteous hand.” 25
To whom, in brief reply, the lord of skyey Olympus: “If
thy prayer for the doomed youth is respite and breathing
space from present death, and so thou readest my will,
bear thou Turnus away in flight, and snatch him from
the destiny that presses on his heels. Thus far is room 30
for compliance. But if any deeper favour be hidden
under these prayers of thine, and thou deemest that the
war’s whole course can be moved or changed, thou art
nursing an empty hope.” Juno answered with tears:
“What if thy heart were to grant what thy tongue grudges, 35
and Turnus’ life were pledged to continue? As it is, a
heavy doom hangs over his guiltless head, or I am void
of truth and wandering in delusion. But oh, that I
might rather be the sport of lying terrors, and thou, who
canst, lead back thy counsels by a better road!”

This said, from the lofty sky she shot forthwith, driving
storm before her through the air and girt with the rain-cloud,
and sought the army of Ilium and the camp of 5
Laurentum. Then, as goddesses may, she fashions a
thin, strengthless shadow of hollow cloud in the likeness
of Æneas, a marvel to the eyes, accoutres it with Dardan
weapons, and counterfeits the shield and the crest of the
god-like head, gives it empty words and tones without 10
soul, and renders to the life the step and the gait: even
as the shapes that are said to flit when death is past, or
the dreams that mock the sense of slumber. So the
phantom strides triumphant in the van, goading the enemy
with brandished weapons and defiant speech. Turnus 15
comes on, and hurls from far his hurtling spear; it turns
its back and retires. Then, when Turnus thought Æneas
flying in retreat, and snatched in the vehemence of his
soul at the empty hope: “Whither so fast, Æneas?”
cries he: “nay, leave not your promised bridal; this 20
hand shall give you the soil you have sought for the
ocean over.” So with loud shouts he follows, waving his
drawn sword, nor sees that the winds are bearing off his
triumph. It chanced that a ship was standing moored to
the edge of a lofty rock, its ladder let down, its bridge 25
ready to cross—the ship which had carried king Osinius
from the borders of Clusium. Hither, as in haste, the
semblance of the flying Æneas plunged for shelter. Turnus
follows as fast, bounds over all obstacles, and springs
across the high-raised bridge. Scarce had he touched the 30
prow when Saturn’s daughter breaks the mooring and
sweeps the sundered ship along the receding flood. Æneas
meanwhile is claiming the combat with his absent foe,
and sending down to death many a warrior frame that
crosses his way. Then the airy phantom seeks shelter no 35
longer, but soaring aloft blends with the murky atmosphere,
while Turnus is borne by the wind down the middle
of the tide. Ignorant of the event, and unthankful for
escape, he looks back, his hands and his voice addressed
to the sky: “Almighty sire! hast thou judged me worthy
of an infliction like this, and sentenced me to this depth
of suffering? Whither am I bound? whence have I
come? what is this flight that is bearing me home, and 5
what does it make of me? Shall I look again on Laurentum’s
camp and city? what of that warrior troop who
followed me and my standard? Are they not those
whom I left—horror to tell—all of them in the jaws
of a cruel death—whom I now see scattered in rout, and 10
hear their groans as they fall? What can I do? what
lowest depth of earth will yawn for me? Nay, do you,
ye winds, have compassion—on reef, on rock—see, it
is I, Turnus, who am fain to plead—dash me this vessel,
and lodge it on the sandbank’s ruthless shoal, where none 15
that know my shame, Rutuli or rumour, may find me
out!” So speaking, he sways in spirit to this side and to
that: should he for disgrace so foul impale his frenzied
breast on the sword’s point, and drive the stark blade
through his ribs, or fling himself into the midst of the 20
waves, and make by swimming for the winding shore,
and place himself again among the Teucrian swords?
Thrice he essayed either way: thrice mighty Juno kept
him back, and of her great pity withheld the youth from
action. On he flies, ploughing the deep with wave and 25
tide to speed him, and is borne safely to the ancient town
of Daunus his sire.

Prompted meanwhile by Jove, Mezentius, all on fire,


takes up the war, and charges the triumphant Teucrians.
The Tyrrhene host flocks to the spot, bending all their 30
fury, all their showering darts on one, one only man.
Even as a rock which juts into the mighty deep, exposed
to the rage of the wind and braving the sea, bears all the
violence and menace of heaven and ocean, itself unshaken,
he stands unmoved; now he lays low Hebrus, Dolichaon’s 35
child, and with him Latagus and craven Palmus: Latagus
he strikes on the face and front with a stone, a hill’s
enormous fragment, Palmus he suffers to roll ham-strung
in his cowardice; their harness he gives to Lausus to
wear on his shoulders, their crests to adorn his head.
Euanthes, too, the Phrygian, and Mimas, Paris’ playmate,
borne by Theano to Amycus his sire, the self-same night
when Cisseus’ royal daughter, teeming with a firebrand, 5
gave birth to Paris; he sleeps beneath his father’s walls,
while Mimas has his rest on Laurentum’s unknown shore.
Like as the mighty boar driven by fangs of hounds from
mountain heights, the boar whom pine-crowned Vesulus
or Laurentum’s pool shelters these many years, pastured 10
on the reedy jungle, soon as he finds himself among the
nets, stands at bay, snorting with fury and bristling his
back; none has the courage to flame forth and come near
him; at safe distance they press him with their darts
and their cries; even so of them who hate Mezentius with 15
a righteous hate, none has the heart to face him with
drawn steel; with missiles and deafening shouts they
assail him from afar; while he, undaunted, is pausing
now here, now there, gnashing his teeth, and shakes off
the javelins from his buckler’s hide. There was one 20
Acron from Corythus’ ancient borders, a Grecian wight,
who had fled forth leaving his nuptials yet to celebrate;
him, when Mezentius saw at distance scattering the intervening
ranks, in pride of crimson plumage and the purple
of his plighted bride, even as oft a famished lion ranging 25
through high-built stalls—for frantic hunger is his
prompter—if he chance to mark a flying goat or towering-antlered
deer, grins with huge delight, sets up his
mane, and hangs over the rent flesh, while loathly blood
laves his insatiate jaws—so joyfully springs Mezentius 30
on the foe’s clustering mass. Down goes ill-starred Acron,
spurns the blackened ground in the pangs of death, and
dyes with blood the broken spear. Nor did the chief
deign to strike down Orodes as he fled, or deal from a
spear-throw a wound unseen; full in front he meets him, 35
and engages him as man should man, prevailing not by
guile but by sheer force of steel. Then with foot and
lance planted on the back-flung body: “See, gallants, a
bulwark of the war has fallen in tall Orodes,” and his
comrades shout in unison, taking up the triumphal pæan.
The dying man returns: “Whoever thou art, thy victorious
boasting shall not be long or unavenged; for thee,
too, a like fate is watching, and thou shalt soon lie on 5
these self-same fields.” Mezentius answers, with hate
mantling in his smile: “Die now. The sire of gods and
king of men shall make his account with me.” So saying,
he drew forth the spear from the body: the heavy rest
of iron slumber settles down on its eyes, and their beams 10
are curtained in everlasting night.

Cædicus slaughters Alcathous, Sacrator Hydaspes, Rapo


kills Parthenius and Orses of iron frame, Messapus slays
Clonius and Ericetes, Lycaon’s son, that grovelling on the
ground by a fall from his unbridled steed, this encountered 15
foot to foot. Prancing forward came Agis of Lycia; but
Valerus, no unworthy heir of his grandsire’s prowess,
hurls him down; Thronius falls by Salius, and Salius by
Nealces, hero of the javelin and the shaft that surprises
from far. 20

And now the War-god’s heavy hand was dealing out to


each equal measures of agony and carnage; alike they
were slaying, alike falling dead, victors and vanquished
by turns, flight unthought of both by these and by those.
The gods in Jove’s palace look pityingly on the idle rage 25
of the warring hosts—alas, that death-doomed men
should suffer so terribly! Here Venus sits spectator,
there over against her Saturnian Juno. Tisiphone, ashy
pale, is raving among thousands down below. But see!
Mezentius, shaking his giant spear, is striding into the 30
field, an angry presence. Think of the stature of Orion,
as he overtops the billows with his shoulders, when he
stalks on foot through the very heart of Nereus’ mighty
depths that part before him, or as carrying an aged ash
in triumph from the hill-top he plants his tread on the 35
ground, and hides his head among the clouds above:
thus it is that Mezentius in enormous bulk shoulders his
way. Æneas spies him along the length of the battle,
and makes haste to march against him. He abides undismayed,
waiting for his gallant foe, and stands like
column on its base; then, measuring with his eye the
distance that may suffice for his spear, “Now let my right
hand, the god of my worship, and the missile dart I am 5
poising, vouchsafe their aid! I vow that you, my Lausus,
clad in spoils torn from yonder robber’s carcase, shall
stand in your own person the trophy of Æneas.” He
said, and threw from far his hurtling lance: flying onward,
it glances aside from the shield, and strikes in the 10
distance noble Antores twixt side and flank, Antores,
comrade of Hercules, who, sent from Argos, had cloven to
Evander’s fortunes and sat him down in an Italian home.
Now he falls, ill-fated, by a wound meant for other, and
gazes on the sky, and dreams in death of his darling Argos. 15
Then good Æneas hurls his spear; through the hollow
disk with its triple plating of brass, through the folds of
linen and the texture wherein three bulls joined, it won
its way and lodged low down in the groin, but its force
held not on. In a moment Æneas, gladdened by the sight 20
of the Tuscan’s blood, plucks his sword from his thigh
and presses hotly on his unnerved foe.

Soon as Lausus saw, he gave a heavy groan of tenderness


for the sire he loved, and tears trickled down his
face. And here, gallant youth, neither the cruel chance 25
of thy death, nor thy glorious deeds, if antiquity may
gain credence for so great a sacrifice, nor thine own most
worthy memory shall be unsung through fault of mine.
The father, dragging back his foot, disabled and entangled,
was quitting the field, his enemy’s spearshaft trailing 30
from his buckler. Forth dashed the youth and mingled
in the duel, and even as Æneas was rising with hand and
body and bringing down a blow from above, met the
shock of the sword, and gave the swordsman pause; his
comrades second him with a mighty shout, covering the 35
father’s retreat as sheltered by his son’s shield he withdraws
from the fray, hurl a rain of darts, and strive with
distant missiles to dislodge the foe. Æneas glows with
anger, and keeps within the covert of his arms. Even as
on a time when storm-clouds sweep down in a burst of
hail, every ploughman, every husbandman has fled scattering
from the field, and the traveller lies hid in a stronghold
of safety, either some river bank or vault of lofty 5
rock, while the rain is pelting on the lands, in the hope
that with the returning sun they may task the day once
more; even so, stormed on by javelins from all sides,
Æneas endures the thunder-cloud of war till all its artillery
be spent, and keeps chiding Lausus and threatening 10
Lausus: “Whither are you rushing on your death, with
aims beyond your strength? Your duteous heart blinds
your reckless valour.” Yet he bates not a jot in his
frantic onslaught: and now the Dardan leader’s wrath
surges into fury, and the fatal sisters are gathering up 15
Lausus’ last thread, for Æneas drives his forceful blade
sheer through the youth’s body, and buries it wholly
within him. Pierced is the shield by the edge, the light
armour he carried so threateningly, and the tunic embroidered
by his mother with delicate golden thread, and 20
his bosom is deluged with blood; and anon the life flits
through the air regretfully to the shades and the body is
left tenantless. But when the son of Anchises saw the
look and countenance of the dying—the countenance
with its strange and varying hues of pallor—heavily he 25
groaned for pity and stretched forth his hand, and the
portraiture of filial love stood before his soul. “What
now, hapless boy, what shall the good Æneas give you
worthy of your merit and of a heart like yours? Let the
arms wherein you took pride be your own still; yourself 30
I restore to the company of your ancestors, their shades
and their ashes, if that be aught to you now. This at
least, ill-starred as you are, shall solace the sadness of
your death: it is great Æneas’ hand that brings you low.”
Then without more ado he chides the slackness of his 35
comrades, and lifts their young chief from the earth, as
he lay dabbling his trim locks with gore.

Meanwhile the father at the wave of Tiber’s flood was


stanching his wounds with water, and giving ease to his
frame, leaning on a tree’s trunk. His brazen helmet is hanging
from a distant bough, and his heavy arms are resting
on the mead. Round him stand his bravest warriors: he,
sick and panting, is relieving his neck, while his flowing 5
beard scatters over his bosom: many a question asks he
about Lausus, many a messenger he sends to call him off
and convey to him the charge of his grieving sire. But
Lausus the while was being carried breathless on his shield
by a train of weeping comrades, a mighty spirit quelled by 10
a mighty wound. The distant groan told its tale to that
ill-boding heart. He defiles his gray hairs with a shower
of dust, stretches his two palms to heaven, and clings to
the body. “My son! and was I enthralled by so strong a
love of life as to suffer you, mine own offspring, to meet the 15
foeman’s hand in my stead? Are these your wounds
preserving your sire? is he living through your death?
Alas! now at length I know the misery of banishment!
now the iron is driven home! Aye, it was I, my son, that
stained your name with guilt, driven by the hate I gendered 20
from the throne and realm of my father! Retribution
was due to my country and to my subjects’ wrath: would
that I had let out my forfeit life through all the death-wounds
they aimed! And now I live on, nor as yet leave
daylight and humankind—but leave them I will.” So 25
saying, he raises himself on his halting thigh, and though
the deep wound makes his strength flag, calls for his war-horse
with no downcast mien. This was ever his glory
and his solace: this still carried him victorious from every
battle-field. He addresses the grieving creature and bespeaks 30
it thus: “Long, Rhæbus, have we twain lived, if
aught be long to those who must die. To-day you shall
either bear in victory the bloody spoils and head of Æneas
yonder, and join with me to avenge my Lausus’ sufferings,
or if our force suffice not to clear the way, we will lie down 35
together in death: for never, I ween, my gallant one, will
you stoop to a stranger’s bidding and endure a Teucrian
lord.” He said, and mounting on its back settled his limbs
as he was wont, and charged his two hands with pointed
javelins, his head shining with brass and shaggy with
horse-hair crest. So he bounded into the midst—his
heart glowing at once with mighty shame, madness and
agony commingled. Then with a loud voice he thrice 5
called on Æneas: aye, and Æneas knew it, and prays in
ecstasy: “May the great father of the gods, may royal
Apollo grant that you come to the encounter!” So
much said, he marches to meet him with brandished spear.
The other replies: “Why terrify me, fellest of foes, now 10
you have robbed me of my son? this was the only way by
which you could work my ruin. I fear not death, nor give
quarter to any deity. Enough: I am coming to die, and
send you this my present first.” He said, and flung a
javelin at his enemy: then he sends another and another 15
to its mark, wheeling round in a vast ring: but the golden
shield bides the blow. Three times, wheeling from right
to left, he rode round the foe that faced him, flinging
darts from his hand: three times the hero of Troy moves
round, carrying with him a vast grove planted on his 20
brazen plate. Then, when he begins to tire of the long
delay and the incessant plucking out of darts, and feels the
unequal combat press him hard, meditating many things,
at last he springs from his covert, and hurls his spear full
between the hollow temples of the warrior-steed. The 25
gallant beast rears itself upright, lashes the air with its
heels, and, flinging the rider, falls on and encumbers him,
and itself bowed to earth presses with its shoulder the prostrate
chief. Up flies Æneas, plucks forth his sword from
its scabbard, and bespeaks the fallen: “Where now is 30
fierce Mezentius and that his savage vehemence of spirit?”
To whom the Tuscan, soon as opening his eyes on the light
he drank in the heaven and regained his sense: “Insulting
foe, why reproach me and menace me with death? You
may kill me without crime: I came not to battle to be 35
spared, nor was that the league which my Lausus ratified
with you for his father. One boon I ask, in the name of
that grace, if any there be, which is due to a vanquished
enemy: suffer my corpse to be interred. The hot hatred
of my subjects, well I know, is blazing all round me: screen
me, I pray, from their fury, and vouchsafe me a share in
the tomb of my son.” So saying, with full resolve he welcomes
the sword to his throat, and spreads his life over his 5
armour in broad streams of blood.
BOOK XI
Meanwhile, the Goddess of Dawn has risen and left the
ocean. Æneas, though duty presses to find leisure for
interring his friends, and his mind is still wildered by the
scene of blood, was paying his vows to heaven as conqueror
should at the day-star’s rise. A giant oak, lopped all 5
round of its branches, he sets up on a mound, and arrays
it in gleaming arms, the royal spoils of Mezentius, a trophy
to thee, great Lord of War: thereto he attaches the crest
yet raining blood, the warrior’s weapons notched and
broken, and the hauberk stricken and pierced by twelve 10
several wounds: to the left hand he binds the brazen shield,
and hangs to the neck the ivory-hilted sword. Then he
begins thus to give charge to his triumphant friends, for
the whole company of chiefs had gathered to his side:
“A mighty deed, gallants, is achieved already: dismiss 15
all fear for the future: see here the spoils, the tyrant’s
first-fruits: see here Mezentius as my hands have made
him. Now our march is to the king and the walls of Latium.
Set the battle in array in your hearts and let hope
forestall the fray, that no delay may check your ignorance 20
at the moment when heaven gives leave to pluck up the
standards and lead forth our chivalry from the camp, no
coward resolve palsy your steps with fear. Meanwhile,
consign we to earth the unburied carcases of our friends,
that solitary honour which is held in account in the pit 25
of Acheron. Go,” he says, “grace with the last tribute
those glorious souls, who have bought for us this our fatherland
with the price of their blood: and first to Evander’s
sorrowing town send we Pallas, who, lacking nought of
manly worth, has been reft by the evil day, and whelmed 30
in darkness before his time.”

So he says weeping, and returns to his tent-door, where


the body of breathless Pallas, duly laid out, was being
watched by Acœtes the aged, who had in old days been
armour-bearer to Evander his Arcadian lord, but then in
an hour less happy was serving as the appointed guardian 5
of the pupil he loved. Around the corpse were thronging
the retinue of menials and the Trojan train, and dames
of Ilion with their hair unbound in mourning fashion.
But soon as Æneas entered the lofty portal, a mighty
wail they raise to the stars, smiting on their breasts, and 10
the royal dwelling groans to its centre with their agony
of woe. He, when he saw the pillowed head and countenance
of Pallas in his beauty, and the deep cleft of the
Ausonian spear in his marble bosom, thus speaks, breaking
into tears: “Can it be, unhappy boy, that Fortune at the 15
moment of her triumphant flood-tide has grudged you to
me, forbidding you to look on my kingdom, and ride back
victorious to your father’s home? Not such was the parting
pledge I gave on your behalf to your sire Evander, when,
clasping me to his heart, he sent me on my way to mighty 20
empire, and anxiously warned me that the foe was fierce
and the race we should war with stubborn. And now he
belike at this very moment in the deep delusion of empty
hope is making vows to Heaven and piling the altars with
gifts, while we are following his darling, void of life, and 25
owing no dues henceforward to any power on high, with
the vain service of our sorrow. Ill-starred father! your
eyes shall see what cruel death has made of your son.
And is this the proud return, the triumph we looked for?
has my solemn pledge shrunk to this? Yet no beaten 30
coward shall you see, Evander, chastised with unseemly
wounds, nor shall the father pray for death to come in its
terror while the son survives. Ay me! how strong a defender
is lost to our Ausonian realm, and lost to you, my
own Iulus!” 35

So having wailed his fill, he gives order to lift and bear


the poor corpse, and sends a thousand men chosen from
his whole array to attend the last service of woe, and lend
their countenance to the father’s tears, a scant solace for
that mighty sorrow, yet not the less the wretched parent’s
due. Others, nothing slack, plait the framework of a
pliant bier with shoots of arbute and oaken twigs, and
shroud the heaped-up bed with a covering of leaves. 5
Here place they the youth raised high on his rustic litter,
even as a flower cropped by maiden’s finger, be it of delicate
violet or drooping hyacinth, unforsaken as yet of its
sparkling hue and its graceful outline, though its parent
earth no longer feeds it or supplies it with strength. Then 10
brought forth Æneas two garments stiff with gold and purple,
which Dido had wrought for him in other days with
her own hands, delighting in the toil, and had streaked
their webs with threads of gold. Of these the mourner
spreads one over his youthful friend as a last honour, 15
and muffles the locks on which the flame must feed: moreover
he piles in a heap many a spoil from Laurentum’s
fray, and bids the plunder be carried in long procession.
The steeds too and weapons he adds of which he had
stripped the foe. Already had he bound the victims’ 20
hands behind their backs, doomed as a sacrifice to the
dead man’s spirit, soon to spill their blood over the fire:
and now he bids the leaders in person carry tree-trunks
clad with hostile arms, and has the name of an enemy
attached to each. There is Acœtes led along, a lorn old 25
man, marring now his breast with blows, now his face with
laceration, and anon he throws himself at his full length
on the ground. They lead too the car, all spattered
with Rutulian blood. After it the warrior steed, Æthon,
his trappings laid aside, moves weeping, and bathes his 30
visage with big round drops. Others carry the spear and
the helm: for the rest of the harness is Turnus’ prize.
Then follows a mourning army, the Teucrians, and all the
Tuscans, and the sons of Arcady with weapons turned
downward. And now after all the retinue had passed on 35
in long array, Æneas stayed, and groaning deeply uttered
one word more: “We are summoned hence by the same
fearful destiny of war to shed other tears: I bid you hail
forever, mightiest Pallas, and forever farewell.” Saying
this and this only, he turned to the lofty walls again, and
bent his footsteps campward.

And now appeared the ambassadors from the town of


Latium, with the coverings of their olive boughs, entreating 5
an act of grace: the bodies which were lying over the
plains as the steel had mowed them down they pray him
to restore, and suffer them to pass under the mounded
earth: no man wars with the vanquished and with those
who have left the sun: let him show mercy to men once 10
known as his hosts and the fathers of his bride. The good
Æneas hearkens to a prayer that merits no rebuke, grants
them the boon, and withal bespeaks them thus: “What
undeserved ill chance, men of Latium, has entangled you
in a war so terrible and made you fly from us your friends? 15
Ask you peace for the dead, for those on whom the War-god’s
die has fallen? Nay, I would fain grant it to the
living too. I were not here had not fate assigned me a
portion and a home: nor wage I war against your nation:
it was the king that abandoned our alliance, and sought 20
shelter rather under Turnus’ banner. Fairer it had been
that Turnus should have met the death-stroke ye mourn.
If he seeks to end the war by strength of arm and expel the
Trojan enemy, duty bade him confront me with weapons
like mine, and that one should have lived who had earned 25
life from heaven or his own right hand. Now go and
kindle the flame beneath your ill-starred townsmen.”
Æneas’ speech was over: they stood in silent wonder, their
eyes and countenances steadfastly fixed on each other.
Then Drances, elder in birth, ever embroiled with the 30
youthful Turnus by hatred and taunting word, thus speaks
in reply: “O mighty in fame’s voice, mightier in your own
brave deeds, hero of Troy, what praise shall I utter to
match you with the stars? Shall I first admire your sacred
love of right, or the toils of your hand in war? Ours it 35
shall be gratefully to report your answer to our native
town, and should any favouring chance allow, make you
the friend of king Latinus. Let Turnus look for alliance
where he may. Nay, it will be our pride to uprear those
massive walls of destiny, and heave on our shoulders the
stones of your new Troy.” He spoke, and the rest all
murmured assent. For twelve days they make truce, and
with amity to mediate, Trojans and Latians mingled roam 5
through the forest on the mountain slopes unharming and
unharmed. The lofty ash rings with the two-edged steel:
they bring low pines erst uplifted to the sky, nor is there
pause in cleaving with wedges the oak and fragrant cedar,
or in carrying ashen trunks in the groaning wains. 10

And now flying Fame, the harbinger of that cruel agony,


is filling with her tidings the ears of Evander, his palace and
his city—Fame that but few hours back was proclaiming
Pallas the conqueror of Latium. Forth stream the Arcadians
to the gates, with funeral torches in ancient fashion, 15
snatched up hurriedly; the road gleams with the long
line of fire, which parts the breath of fields on either hand.
To meet them comes the train of Phrygians, and joins the
wailing company. Soon as the matrons saw them pass
under the shadow of the houses, they set the mourning city 20
ablaze with their shrieks. But Evander—no force can
hold him back; he rushes into the midst: there as they
lay down the bier he has flung himself upon Pallas, and is
clinging to him with tears and groans, till choking grief
at last lets speech find her way: “No, my Pallas! this was 25
not your promise to your sire, to trust yourself with caution
in the War-god’s savage hands. I knew what a spell
there lay in the young dawn of a soldier’s glory, the enrapturing
pride of the first day of battle. Alas for the
ill-starred first-fruits of youth, the cruel foretaste of the 30
coming war! alas for those my vows and prayers, that
found no audience with any of the gods! alas too for thee,
my blessed spouse, happy as thou art in the death that
spared thee not for this heavy sorrow! while I, living on,
have triumphed over my destiny, that I might survive in 35
solitary fatherhood. Had I but followed the friendly
standards of Troy, and fallen whelmed by Rutulian javelins!
had I rendered my own life up, so that this funeral
train should have borne me home, and not my Pallas!
Nor yet would I blame you, men of Troy, nor the treaty
we made, nor the hands we plighted in friendship; it is
but the portion ordained long ago as fitting for my gray
hairs. If it was written that my son should die ere his 5
time, it shall be well that he fell after slaying his Volscian
thousands, while leading a Teucrian army to the gates of
Latium. Nay, my Pallas, I would wish for you no
worthier funeral than that accorded to you by Æneas
the good and his noble Phrygians, by the Tyrrhene leaders, 10
and the whole Tyrrhene host. Each bears you a mighty
trophy whom your right hand sends down to death. And
you, too, proud Turnus, would be standing at this moment,
a giant trunk hung round with armour, had your age been
but as his, the vigour of your years the same. But why 15
should misery like mine hold back the Teucrians from the
battle? Go, and remember to bear my message to your
king. If I still drag the wheels of my hated life now my
Pallas is slain, it is because of your right hand, which owes
the debt of Turnus’ life to son and sire, yourself being witness. 20
This is the one remaining niche for your valour and
your fortune to fill. I ask not for triumph to gild my life:
that thought were crime: I ask but for tidings that I
may bear to my son down in the spectral world.”

Meantime the Goddess of Dawn had lifted on high her 25


kindly light for suffering mortality, recalling them to task
and toil. Already father Æneas, already Tarchon, have
set up their funeral piles along the winding shore. Hither
each man brings the body of friend or kinsman as the rites
of his sires command; and as the murky flames are applied 30
below, darkness veils the heights of heaven in gloom.
Thrice they ran their courses round the lighted pyres,
sheathed in shining armour; thrice they circled on their
steeds the mournful funeral flame, and uttered the voice
of wailing. Sprinkled is the earth with their tears, 35
sprinkled is the harness. Upsoars to heaven at once the
shout of warriors and the blare of trumpets. Others
fling upon the fire plunder torn from the Latian slain,
helms and shapely swords and bridle-reins and glowing
wheels; some bring in offering the things the dead men
wore, their own shields and the weapons that sped so ill.
Many carcases of oxen are sacrificed round the piles:
bristly swine and cattle harried from the country round are 5
made to bleed into the flame. Then along the whole line
of coast they gaze on their burning friends, and keep
sentry over the half-quenched fire-bed, nor let themselves
be torn away till dewy night rolls round the sky with its
garniture of blazing stars. 10

With like zeal the ill-starred Latians in a different quarter


set up countless piles; of the multitude of corpses
some they bury in the earth, some they lift up and carry
off to neighbour districts, and send them home to the city;
the rest, a mighty mass of promiscuous carnage, they burn 15
uncounted and unhonoured; and thereon the plains
through their length and breadth gleam with the thickening
rivalry of funeral fires. The third morrow had withdrawn
the chill shadows from the sky: the mourners were
levelling the piles of ashes and sweeping the mingled bones 20
from the hearths, and heaping over them mounds of earth
where the heat yet lingers. But within the walls, in the
city of Latium’s wealthy king, the wailing is preëminent,
and largest the portion of that long agony. Here are
mothers and their sons’ wretched brides, here are sisters’ 25
bosoms racked with sorrow and love, and children orphaned
of their parents, calling down curses on the terrible
war and on Turnus’ bridal rites; he, he himself, they cry,
should try the issue with arms and the cold steel, who
claims for himself the Italian crown and the honours of 30
sovereignty. Fell Drances casts his weight into the scale,
and bears witness that Turnus alone is challenged by the
foe, Turnus alone defied to combat. Against them many
a judgment is ranged in various phrase on Turnus’ side,
and the queen’s august name lends him its shadow; many 35
an applauding voice upholds the warrior by help of the
trophies he has won.

Amid all this ferment, when the blaze of popular turmoil


is at its height, see, as a crowning blow, comes back the
sorrowing embassy with tidings from Diomede’s mighty
town: the cost of all their labours has gained them nought:
gifts and gold and earnest prayers are alike in vain: the
Latians must look for arms elsewhere, or sue for peace 5
from the Trojan chief. King Latinus himself is crushed
to earth by the weight of agony. The wrath of the gods,
the fresh-made graves before his eyes, tell him plainly that
Æneas is the man of destiny, borne on by heaven’s manifest
will. So he summons by royal mandate a mighty 10
council, the chiefs of his nation, and gathers them within
his lofty doors. They have mustered from all sides, and
are streaming to the palace through the crowded streets.
In the midst Latinus takes his seat, at once eldest in years
and first in kingly state, with a brow that knows not joy. 15
Hereupon he bids the envoys returned from the Ætolian
town to report the answers they bear, and bids them repeat
each point in order. Silence is proclaimed, and Venulus,
obeying the mandate, begins to speak:

“Townsmen, we have looked on Diomede and his Argive 20


encampment: the journey is overpast, and every chance
surmounted, and we have touched the hand by which the
realm of Ilion fell. We found him raising his city of Argyripa,
the namesake of his ancestral people, in the land of
Iapygian Garganus which his sword had won. Soon as 25
the presence was gained and liberty of speech accorded, we
proffer our gifts, inform him of our name and country,
who is our invader, and what cause has led us to Arpi.[275]
He listened, and returned as follows with untroubled mien:
‘O children of fortune, subjects of Saturn’s reign, men of 30
old Ausonia, what caprice of chance disturbs you in your
repose, and bids you provoke a war ye know not? Know
that all of us, whose steel profaned the sanctity of Ilion’s
soil—I pass the hardships of war, drained to the dregs
under those lofty ramparts, the brave hearts which that 35
fatal Simois covers—yea, all of us the wide world over
have paid the dues of our trespass in agonies unutterable,
a company that might have wrung pity even from Priam:
witness Minerva’s baleful star, and the crags of Eubœa,
and Caphereus the avenger. Discharged from that warfare,
wandering outcasts on diverse shores, Menelaus,
Atreus’ son, is journeying in banishment even to the pillars
of Proteus[276]; Ulysses has looked upon Ætna and her Cyclop 5
brood. Need I tell of Neoptolemus’ portioned realms,
of Idomeneus’ dismantled home, of Locrian settlers on
a Libyan coast? Even the monarch[277] of Mycenæ, the
leader of the great Grecian name, met death on his very
threshold at the hand of his atrocious spouse; Asia fell 10
before him, but the adulterer rose in her room. Cruel gods,
that would not have me restored to the hearth-fires of my
home, to see once more the wife of my longing and my own
fair Calydon! Nay, even my flight is dogged by portents
of dreadful view; my comrades torn from me are winging 15
the air and haunting the stream as birds—alas that the
followers of my fortunes should suffer so!—and making
the rocks ring with the shrieks of their sorrow. Such was
the fate I had to look for even from that day when with
my frantic steel I assailed the flesh of immortals, and impiously 20
wounded Venus’ sacred hand. Nay, nay, urge
me no longer to a war like this. Since Pergamus fell, my
fightings with Troy are ended; I have no thought, no joy,
for the evils of the past. As for the gifts which you bring
me from your home, carry them rather to Æneas. I tell 25
you, I have stood against the fury of his weapon, and joined
hand to hand with him in battle; trust one who knows
how strong is his onset as he rises on the shield, how
fierce the whirlwind of his hurtling lance. Had Ida’s
soil borne but two other so valiant, Dardanus would have 30
marched in his turn to the gates of Inachus, and the tears
of Greece would be flowing for a destiny reversed. All
those years of lingering at the walls of stubborn Troy, it
was Hector’s and Æneas’ hand that clogged the wheels of
Grecian victory, and delayed her coming till the tenth 35
campaign had begun. High in courage were both, high
in the glory of martial prowess; but piety gave him the
preëminence. Join hand to hand in treaty, if so you may;
but see that your arms bide not the shock of his.’ Thus,
gracious sire, have you heard at once the king’s reply,
and the judgment he passed on this our mighty war.”

The envoys had scarcely finished when a diverse murmur


runs along the quivering lips of the sons of Ausonia, as, 5
when rapid streams are checked by rocks in their course,
confused sounds rise from the imprisoned torrent, and
neighbouring banks reëcho with the babbling of the waves.
Soon as their passions were allayed, and their chafed countenances
settled in calm, the monarch, first invoking 10
heaven, begins from his lofty throne:

“To have taken your judgment, Latians, ere this on the


state of the common-weal, would have been my pleasure,
and our truer interest, rather than summon a council at a
crisis like this, when the foe has sat down before our walls. 15
A grievous war, my countrymen, we are waging with the
seed of heaven, a nation unsubdued, whom no battles
overtire, nor even in defeat can they be made to drop the
sword. For any hope ye have cherished in the alliance of
Ætolian arms, resign it forever. Each is his own hope; 20
and how slender is this ye may see for yourselves. As
to all beside, with what utter ruin it is stricken is palpable
to the sight of your eyes, to the touch of your hands. I
throw the blame on none: manly worth has done the utmost
it could: all the sinews of the realm have been strained 25
in the contest. Now then I will set forth what is the judgment
of my wavering mind, and show you it in few words,
if ye will lend me your attention. There is an ancient
territory of mine bordering on the Tuscan river, extending
lengthwise to the west, even beyond the Sicanian frontier; 30
Auruncans and Rutulians are its tillers, subduing with the
ploughshare its stubborn hills, and pasturing their flocks
on the rugged slopes. Let this whole district, with the
lofty mountain and its belt of pines, be our friendly gift
to the Teucrians; let us name equal terms of alliance, and 35
invite them to share our kingdom; let them settle here, if
their passion is so strong, and build them a city. But if
they have a mind to compass other lands and another
nation, and are free to quit our soil, let us build twenty ships
of Italian timber, or more if they have men to fill them:
there is the wood ready felled by the river side; let themselves
prescribe the size and the number; let us provide
brass, and hands, and naval trim. Moreover, to convey 5
our proffers and ratify the league, I would have an embassy
of a hundred Latians of the first rank sent with peaceful
branches in their hands, carrying also presents, gold and
ivory, each a talent’s weight, and the chair and striped
robe that are badges of our royalty. Give free counsel 10
and help to support a fainting commonwealth.”

Then Drances, hostile as ever, whom the martial fame


of Turnus was ever goading with the bitter stings of sidelong
envy, rich, and prodigal of his riches, a doughty
warrior with the tongue, but a feeble hand in the heat of 15
battle, esteemed no mean adviser in debate, and powerful
in the arts of faction: his mother’s noble blood made proud
a lineage which on his father’s side was counted obscure:—he
rises, and with words like these piles and heaps anger
high: 20

“A matter obscure to none, and needing no voice of ours


to make it plain is this that you propound, gracious king.
All own that they know what is the bearing of the state’s
fortune; but their tongues can only mutter. Let him
accord freedom of speech, and bate his angry blasts, to 25
whose ill-omened leadership and inauspicious temper—aye,
I will speak, let him threaten me with duel and death
as he may—we owe it that so many of our army’s stars
have set before our eyes, and the whole city is sunk in
mourning, while he is making his essay of the Trojan camp, 30
with flight always in reserve, and scaring heaven with the
din of his arms. One gift there is over and above that
long catalogue which you would have us send and promise
to the Dardans: add but this to them, most excellent
sovereign, nor let any man’s violence prevent you from 35
bestowing your daughter in the fulness of a father’s right
on a noble son-in-law and a worthy alliance, and basing
the peace we seek on a covenant which shall last forever.
Nay, if the reign of terror is so absolute over our minds
and hearts, let us go straight to him with our adjurations
and ask for grace at his own hands—ask him to yield, and
allow king and country to exercise their rights. Why
fling your wretched countrymen again and again into 5
danger’s throat, you, the head and wellspring of the ills
which Latium has to bear? There is no hope from war;
peace we ask of you, one and all—yes, Turnus, peace,
and the one surety that can make peace sacred. See,
first of all I, whom you give out to be your enemy—and 10
I care not though I be—come and throw myself at your
feet. Pity those of your own kin, bring down your
pride, and retire as beaten man should. Routed we are;
we have looked on corpses enough, and have left leagues
enough of land unpeopled. Or if glory stirs you, if you 15
can call up into your breast the courage needed, if the
dowry of a palace lies so near your heart, be bold for once,
and advance with bosom manned to meet the foe. What!
that Turnus may have the blessing of a queenly bride, are
we, poor paltry lives, a herd unburied and unwept, to lie 20
weltering on the plain? It is your turn: if you have any
strength, any touch of the War-god of your sires, look him
in the face who sends you his challenge.”

At these words Turnus’ violence blazed out: heaving a


groan, he vents from the bottom of his heart such utterance 25
as this: “Copious, Drances, ever is your stream of
speech in the hour when war is calling for hands; when the
senate is summoned, you are first in the field. Yet we
want not men to fill our court with talk, that big talk
which you hurl from a safe vantage-ground, while the rampart 30
keeps off the foe and the moat is not foaming with
carnage. Go on pealing your eloquence, as your wont is:
let Drances brand Turnus with cowardice, for it is Drances’
hand that has piled those very heaps of Teucrian slaughter,
and is planting the fields all over with its trophies. What 35
is the power of glowing valour, experience may show
you: enemies in sooth are not far to seek: they are standing
all about the walls. Well, are we marching to the
encounter? why so slow? will you never lodge the War-god
better than in that windy tongue, those flying feet?
What? beaten? I? who, foulest of slanderers, will justly
brand me as beaten, that shall look on Tiber still swelling
with Ilion’s best blood, on Evander’s whole house prostrate 5
root and branch, and his Arcadians stripped naked of their
armour? It was no beaten arm that Bitias and giant
Pandarus found in me, or the thousand that I sent to
death in a single day with my conquering hand, shut up
within their walls, pent in by the rampart of the foe. No 10
hope from war? Croak your bodings, madman, in the
ears of the Dardan and of your own fortunes. Ay, go
on without cease, throwing all into measureless panic,
heightening the prowess of a nation twice conquered already,
and dwarfing no less the arms of your king. See, 15
now the lords of the Myrmidons[278] are quaking at the martial
deeds of Phrygia, Tydeus’ son, Thessalian Achilles,
and the rest, and river Aufidus is in full retreat from the
Hadrian sea. Or listen when the trickster in his villany
feigns himself too weak to face a quarrel with me, and 20
points his charges with the sting of terror. Never, I
promise you, shall you lose such life as yours by hand of
mine—be troubled no longer—let it dwell with you and
retain its home in that congenial breast. Now, gracious
sire, I return to you and the august matter that asks our 25
counsel. If you have no hope beyond in aught our arms
can do, if we are so wholly forlorn, destroyed root and
branch by one reverse, and our star can never rise again,
then pray we for peace and stretch craven hands in suppliance.
Yet, oh, had we but one spark of the worth that 30
once was ours, that man I would esteem blest beyond
others in his service and princely of soul, who, sooner than
look on aught like this, has lain down in death and once
for all bitten the dust. But if we have still store of power,
and a harvest of youth yet unreaped, if there are cities 35
and nations of Italy yet to come to our aid, if the Trojans
as well as we have won their glory at much bloodshed’s
cost—for they too have their deaths—the hurricane has
swept over all alike—why do we merely falter on the
threshold? why are we seized with shivering ere the
trumpet blows? Many a man’s weal has been restored
by time and the changeful struggles of shifting days: many
a man has Fortune, fair and foul by turns, made her sport 5
and then once more placed on a rock. Grant that we shall
have no help from the Ætolian and his Arpi: but we shall
from Messapus, and the blest Tolumnius, and all the
leaders that those many nations have sent us; nor small
shall be the glory which will wait on the flower of Latium 10
and the Laurentine land. Ay, and we have Camilla,[279] of
the noble Volscian race, with a band of horsemen at her
back and troops gleaming with brass. If it is I alone that
the Teucrians challenge to the fight, and such is your will,
and my life is indeed the standing obstacle to the good of 15
all, Victory has not heretofore fled with such loathing from
my hands that I should refuse to make my venture for a
hope so glorious. No, I will confront him boldly, though he
should prove great as Achilles, and don harness like his, the
work of Vulcan’s art. To you and to my royal father-in-law 20
have I here devoted this my life, I, Turnus, second in
valour to none that went before me. ‘For me alone Æneas
calls.’ Vouchsafe that he may so call! nor let Drances
in my stead, if the issue be Heaven’s vengeance, forfeit
his life, or, if it be prowess and glory, bear that prize 25
away!”

So were these contending over matters of doubtful debate:


Æneas was moving his army from camp to field.
See, there runs a messenger from end to end of the palace
amid wild confusion, and fills the town with a mighty 30
terror, how that in marching array the Trojans and the
Tuscan force are sweeping down from Tiber’s stream
over all the plain. In an instant the minds of the people
are confounded, their bosoms shaken to the core, their
passions goaded by no gentle stings. They clutch at arms, 35
clamour for arms: arms are the young men’s cry: the
weeping fathers moan and mutter. And now a mighty
din, blended of discordant voices, soars up to the skies,
even as when haply flocks of birds have settled down in a
lofty grove, or on the fishy stream of Padusa hoarse swans
make a noise along the babbling waters, “Ay, good citizens,”
cries Turnus, seizing on his moment, “assemble
your council and sit praising peace; they are rushing on 5
the realm sword in hand.” Without further speech he
dashed away and issued swiftly from the lofty gate.
“You, Volusus,” he cries, “bid the Volscian squadrons arm,
and lead out the Rutulians. You, Messapus, and you,
Coras[280] and your brother, spread the horse in battle array 10
over the breadth of the plain. Let some guard the inlets
of the city and man the towers; the rest attack with me in
the quarter for which I give the word.” At once there is
a rush to the ramparts from every part of the city: king
Latinus leaves the council and the high debate unfinished, 15
and wildered with the unhappy time, adjourns to another
day, ofttimes blaming himself that he welcomed not with
open arms Æneas the Dardan, and bestowed on the city
a husband for the daughter of Latium. Others dig
trenches before the gates or shoulder stones and stakes. 20
The hoarse trumpet gives its deathful warning for battle.
The walls are hemmed by a motley ring of matrons and
boys: the call of the last struggle rings in each one’s ear.
Moreover the queen among a vast train of Latian mothers
is drawn to the temple, even to Pallas’ tower on the height, 25
with presents in her hand, and at her side the maid Lavinia,
cause of this cruel woe, her beauteous eyes cast down.
The matrons enter the temple and make it steam with
incense, and pour from the august threshold their plaints
of sorrow: “Lady of arms, mistress of the war, Tritonian[o] 30
maiden, stretch forth thy hand and break the spear of the
Phrygian freebooter, lay him prostrate on the ground,
and leave him to grovel under our lofty portals.” Turnus
with emulous fury arms himself for the battle. And now
he has donned his ruddy corslet, and is bristling with 35
brazen scales; his calves have been sheathed in gold, his
temples yet bare, and his sword had been girded to his
side, and he shines as he runs all golden from the steep
of the citadel, bounding high with courage, and in hope
already forestalls the foe: even as when a horse, bursting
his tether, escapes from the stall, free at last and master
of the open champaign,[281] either wends where the herds of
mares pasture, or wont to bathe in the well-known river 5
darts forth and neighs with head tossed on high in wanton
frolic, while his mane plays loosely about neck and shoulders.
His path Camilla crosses, a Volscian army at her
back, and dismounts from her horse at the gate with
queenly gesture; the whole band follow her lead, quit 10
their horses, and alight to earth, while she bespeaks him
thus: “Turnus, if the brave may feel faith in themselves,
I promise boldly to confront the cavalry of Troy and
singly ride to meet the Tyrrhene horse. Let me essay
the first hazard of the combat; do you on foot remain by 15
the walls and be the city’s guard.” Turnus replies, gazing
steadfastly on the dreadful maid: “O maiden, glory
of Italy, what thanks shall I strive to speak or render?
but seeing that soul of yours soars above all, partake the
toil with me. Æneas, as rumour and missioned spies tell 20
me for truth, has cunningly sent on his light-armed cavalry
to scour the plain, while he, surmounting the lonely
steeps of the hill, is marching townward. I meditate a
stratagem of war in that woodland gorge, to beset the
narrow thoroughfare with an armed band. Do you in 25
battle array receive the Tuscan horse. With you will
be keen Messapus, and the Latian cavalry, and Tiburtus’
troop: take your share of a general’s charge.” This said,
he exhorts Messapus and the federate leaders with like
words to the fight, and advances to meet the enemy. 30
A glen there is, narrow and winding, suited for ambush
and stratagems of arms, pent in on both sides by a mountain-wall
black with dense foliage; a scant pathway leads
to it, with straitened gorge and jealous inlet. Above it
on the mountain’s watch-tower height lies a concealed 35
table-land, a post of sheltered privacy, whether one be
minded to face the battle right and left, or, standing on
the slope, to roll down enormous stones. Hither repairs
the warrior along the well-known road: he has occupied
the spot and sat him down in the treacherous forest.

Meantime, in the mansions above Latona’s daughter


was addressing Opis the swift, a maiden comrade of her
sacred train, and was uttering these words in tones of 5
sorrow: “Ah, maiden, Camilla is on her way to the ruthless
war; in vain she girds herself with the arms of our
sisterhood, dear to me that she is beyond all beside: for
no new tenderness this that has come on Diana, nor sudden
the spell wherewith it stirs her heart. When Metabus, 10
exiled for the hate which tyranny genders, was parting
from Privernum, his ancient city, as he fled from the heart
of the combat, he bore away his infant child to share his
banishment, and varying Casmilla, her mother’s name,
called her Camilla. The father, carrying her in his bosom, 15
was making for the long mountain slopes of the solitary
woods, while bitter javelins were showering all around him,
and the Volscians with circling soldiery hovering about:
when lo! intercepting his flight was Amasenus, brimming
and foaming over its banks, so vast a deluge of rain had 20
burst from the clouds. Preparing to plunge in, he is
checked by tenderness for his child, and fears for the precious
load. At last, as he pondered over every course,
he hit suddenly on this resolve. There was a huge weapon,
which he chanced to be carrying in his stalwart hand 25
as warriors use, sturdy with knots and seasoned timber:
to it he fastens his daughter, enclosed in the cork-tree’s
forest bark, and binds her neatly round the middle
of the shaft; then, poising it in a giant’s grasp, he thus
exclaims to heaven: ‘Gracious lady, dweller in the woods, 30
Latona’s maiden daughter, I vow to thy service this my
child: thine are the first weapons that she wields as she
flies from the foe through air to thy protection. Receive,
I conjure thee, as thine own her whom I now entrust to the
uncertain gale.’ He said, and, drawing back his arm, 35
hurled the javelin: loud roared the waves, while over the
furious stream fled poor Camilla on the hurtling dart.
But Metabus, pressed closer and closer by the numerous
band, leaps into the river, and in triumph plucks from the
grassy bank his offering to Trivia, the javelin and the maid.
No cities opened to him house or stronghold, for his wild
nature had never brooked submission: among the shepherds’
lonely mountains he passed his days. There in the 5
woods, among beasts’ savage lairs, he reared his daughter
on milk from the breast of an untamed mare, squeezing
the udder into her tender lips. And soon as the child
first stood on her feet, he armed her hands with a pointed
javelin, and hung from her baby shoulder a quiver and a 10
bow. For the golden brooch in her hair, for the long
sweeping mantle, there hang from her head adown her
back a tiger’s spoils. Even then she launched with tiny
hand her childish missiles, swung round her head the sling’s
well-turned thong, and brought down a crane from Strymon 15
or a snow-white swan. Many a mother in Tyrrhene
town has wooed her for her son in vain: with no thought
but for Dian, she cherishes in unsullied purity her love for
the hunter’s and the maiden’s life. Would she had never
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

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.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookmass.com

You might also like