SOA Governance in Action REST and WS Architectures Jos Dirksen
SOA Governance in Action REST and WS Architectures Jos Dirksen
SOA Governance in Action REST and WS Architectures Jos Dirksen
SOA Governance in Action REST and WS Architectures Jos Dirksen
1. SOA Governance in Action REST and WS
Architectures Jos Dirksen pdf download
https://ebookgate.com/product/soa-governance-in-action-rest-and-
ws-architectures-jos-dirksen/
Get Instant Ebook Downloads – Browse at https://ebookgate.com
2. Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...
Three js Essentials 1st Edition Jos Dirksen
https://ebookgate.com/product/three-js-essentials-1st-edition-jos-
dirksen/
ebookgate.com
SOA and WS BPEL 1st Ed. Edition Yuli Vasiliev
https://ebookgate.com/product/soa-and-ws-bpel-1st-ed-edition-yuli-
vasiliev/
ebookgate.com
Web Services Platform Architecture SOAP WSDL WS Policy WS
Addressing WS BPEL WS Reliable Messaging and More 1st
Edition Sanjiva Weerawarana
https://ebookgate.com/product/web-services-platform-architecture-soap-
wsdl-ws-policy-ws-addressing-ws-bpel-ws-reliable-messaging-and-
more-1st-edition-sanjiva-weerawarana/
ebookgate.com
Governance Reform Bridging Monitoring and Action 1st
Edition Brian Levy
https://ebookgate.com/product/governance-reform-bridging-monitoring-
and-action-1st-edition-brian-levy/
ebookgate.com
3. E Governance in Africa From Theory to Action a Handbook on
icts for Local Governance 1st Edition Misuraca
https://ebookgate.com/product/e-governance-in-africa-from-theory-to-
action-a-handbook-on-icts-for-local-governance-1st-edition-misuraca/
ebookgate.com
Service Oriented Architecture SOA Governance for the
Services Driven Enterprise 1st Edition Eric A. Marks
https://ebookgate.com/product/service-oriented-architecture-soa-
governance-for-the-services-driven-enterprise-1st-edition-eric-a-
marks/
ebookgate.com
Three js Cookbook 1st Edition Dirksen
https://ebookgate.com/product/three-js-cookbook-1st-edition-dirksen/
ebookgate.com
Finland Modern Architectures in History Roger Connah
https://ebookgate.com/product/finland-modern-architectures-in-history-
roger-connah/
ebookgate.com
Power System Harmonics 2nd Edition Jos Arrillaga
https://ebookgate.com/product/power-system-harmonics-2nd-edition-jos-
arrillaga/
ebookgate.com
5. M A N N I N G
Jos Dirksen
IN ACTION
REST and Web Service architectures
10. To my wife Brigitte, my daughter Sophie, and my parents
12. vii
brief contents
PART 1 INTRODUCTION ........................................................... 1
1 ■ Introducing SOA governance 3
2 ■
Setting up the SOA governance environment 27
3 ■
Using a case study to understand SOA governance 60
PART 2 DESIGN-TIME POLICIES ............................................... 79
4 ■
Service design and documentation policies 81
5 ■ Security policies 116
6 ■
Testing, performance, and the cloud 156
PART 3 RUNTIME POLICIES................................................... 187
7 ■
Using tools for runtime governance 189
8 ■ Lifecycle support and discovering resources 212
9 ■
Integrating SOA governance tools with existing tools and
technologies 235
14. ix
contents
preface xv
acknowledgments xvii
about this book xix
about the cover illustration xxiii
PART 1 INTRODUCTION................................................ 1
1 Introducing SOA governance 3
1.1 What is SOA governance? 4
Definition of service-oriented architecture 4 ■ Introducing
governance 7 ■ Defining SOA governance 10
1.2 How using SOA governance can help 13
Keeping track of how services are used 13 ■ Keeping uniformity
among services 14
1.3 Common pitfalls when introducing SOA governance 14
1.4 Requirements of an SOA governance solution 15
Creating and maintaining policies 16 ■
Applying policies at
design time 17 ■
Applying policies at runtime 18
1.5 Getting started with SOA governance 18
15. CONTENTS
x
1.6 Getting an overview of the available policies 20
Design and documentation policies 21 ■ Security policies 21
Testing and performance policies 22
1.7 SOA governance and open source 22
Where is open source at the moment? 22 ■ Open source
tools 24
1.8 Summary 25
2 Setting up the SOA governance environment 27
2.1 Architecture of the SOA governance environment 28
Services architecture 29
2.2 Setting up the Eclipse environment 31
2.3 Introducing the traffic avoidance example 32
2.4 Configuring the general services and database 34
The data model used in this service 34 ■ Setting up the data
access layer 35 ■ Setting up the logic layer 37
2.5 Checking out and configuring the REST services 38
Overview of the REST layer 38 ■
Implementation of the
REST layer 40 ■
Testing the REST layer 41
2.6 Checking out and configuring the SOAP services 43
Overview of the WS-* layer 43 ■
The WSDL-based contract
for this service 44 ■
Implementation of the WS-* layer 47
Testing the WS-* remoting layer 48
2.7 Setting up the SOA registry 49
Running the SOA registry for the first time 49 ■
Registering a
service manually in the registry 50 ■
Accessing the WSO2
Governance Registry 51
2.8 Setting up the BAM application 53
Installing BAM tools and checking out the code from SVN 53
Attaching an event sender to the service 54 ■
Setting up the
widget to visualize the statistics 57
2.9 Summary 59
3 Using a case study to understand SOA governance 60
3.1 Getting to know OpenGov 61
The organizational chart of OpenGov 61 ■ The stakeholders
of OpenGov 63
16. CONTENTS xi
3.2 Explaining SOA governance using OpenGov
products 64
GovForms: permit registration 65 ■
GovTraffic: the traffic
avoidance system 66 ■
GovMobile: registering your complaint
using mobile devices 66 ■
GovPortal: information about city
services 67 ■
GovData: OpenGov’s open data portal 67
3.3 Overview of the available services 68
3.4 Defining policies for the OpenGov organization 69
Service design and documentation policies 70 ■
Security
policies 72 ■
Performance and testing-related policies 75
3.5 Summary 77
PART 2 DESIGN-TIME POLICIES.................................... 79
4 Service design and documentation policies 81
4.1 Complying with the self-documenting service policy 82
Documenting a REST-based service 83 ■
Documenting a WS-*
based service 88 ■ Adding documentation to the service
repository 92
4.2 Following existing standards and definitions 95
Including an existing XML schema in a WSDL 95 ■ Using an
existing XML schema in a REST resource 98 ■ Using a
REST-based search definition 99
4.3 Creating a reusable service 103
Define the correct level of granularity 103 ■ Decoupling the
transport layer from the logical layer 104 ■ Service
discovery 104 ■ Versioning, documentation, and using
standards 106
4.4 How to version services 107
Versioning a WS-* based service 107 ■ Versioning a REST
service 111
4.5 Summary 115
5 Security policies 116
5.1 Encrypting a communications channel for sensitive
data 117
Using HTTPS with Jetty 118 ■
Using HTTPS and client-side
SSL with Jetty 119
17. CONTENTS
xii
5.2 Validating message integrity and non-repudiation 120
Applying WS-Security to SOAP messages 121 ■ Using HMAC
for message integrity and non-repudiation 126
5.3 Using a centralized identity system 131
Installing the authentication provider 133 ■
Configuring the
authentication provider 133 ■
Creating the authentication
façade 134 ■
Creating the authentication filter 137
5.4 Using OAuth to allow other services to access your service 141
5.5 Reusing existing authorization services 149
Configuring the OpenAM entitlement service 150
Creating an authorization filter 153
5.6 Summary 155
6 Testing, performance, and the cloud 156
6.1 How to test your service 157
Logic layer and data layer testing 158 ■ Remoting layer
testing 161 ■ Integration testing 167
6.2 Using quality management tools 170
Running a maven build for Sonar 172
6.3 Developing for the cloud 174
Different types of cloud services 174 ■ Requirements for the
cloud provider 175 ■ Creating a service that can run in the
Amazon cloud 176
6.4 Summary 185
PART 3 RUNTIME POLICIES ....................................... 187
7 Using tools for runtime governance 189
7.1 Runtime governance 189
Gadget 191 ■
Gadget server 191 ■
Event producer 192
Event service 193 ■
Event processor 194
7.2 Monitor performance and service usage 195
Average response time 196 ■ Report usage based on
service 199 ■ Report usage based on location 202
Number of requests per time period 206
7.3 Security and documentation 208
Failed authentication and authorization 208
Documentation compliance 211
7.4 Summary 211
18. CONTENTS xiii
8 Lifecycle support and discovering resources 212
8.1 Defining the lifecycle of a service 213
Standard service lifecycle 213 ■ OpenGov service lifecycle 214
8.2 Creating a custom view for the policy 217
8.3 Defining the lifecycle of a policy 225
8.4 Discovery of a service and a policy in the service
repository 227
Searching the repository from the web application 227
Searching the repository from the repository client 229
8.5 Visualizing the information from the registry 230
Creating a gauge that shows the documentation
percentage 231 ■ Creating a pie chart that shows the
lifecycle stages 232
8.6 Summary 234
9 Integrating SOA governance tools with existing tools and
technologies 235
9.1 Enterprise integration 236
Provisioning a WSDL from the repository 236 ■ Provisioning
the configuration from the repository 238 ■ Sending events
from Mule 241 ■ Loading the Mule configuration from the
repository 245 ■ Sending events to Nagios from the Bamos
event server 246
9.2 BPM engine integration 251
Monitoring average task execution 251 ■ Monitoring which
processes are started 255
9.3 Language integration 257
C# 257 ■ Ruby 260 ■ Python 261
9.4 What you should remember from this book 263
9.5 Summary 264
appendix Installing tools, libraries, and frameworks 265
index 277
20. xv
preface
A few years ago, I wrote a book with a colleague about open source ESBs (Enterprise
Service Buses), Open Source ESBs in Action (Manning, 2008). In that book we wrote
about using open source tools to integrate applications and expose legacy systems as
services. In the years that followed, ESBs were seen as one of the cornerstones of devel-
oping Service Oriented Architectures (SOAs). In 2008, when people talked about SOA,
especially in the enterprise world, they meant the traditional SOAP-over-HTTP-based
services. Everyone was doing this, the big vendors promoted it, and it finally looked
like we had a way to create services that could be used by other departments and mul-
tiple users.
Over the next couple of years I wrote many services myself and was part of many
projects that tried to use SOA concepts to create reusable services. What I noticed was
that every company and every department had their own standards, tools, technolo-
gies, and a set of principles they used to determine how a service should be written.
For one project we created a RESTful service using Scala without writing any docu-
mentation; for another project, we meticulously documented each element and oper-
ation of a SOAP/HTTP-based service. But the goals for both projects were the same: we
wanted to create a service that would have a long life, would be used by many consum-
ers, and was easy to maintain and possibly extend.
One thing I know is that developers and architects want to create good services,
but what is almost always missing is a solid set of rules and standards to follow when
developing a service. In our projects we often create a set of coding standards that are
enforced through an IDE plugin, as well as some coding guidelines and dos and
21. PREFACE
xvi
don’ts. While that assures the quality of the code, it isn’t enough to create an easy-to-
use service. For this you also need a set of rules, a set of principles that determines
how your client interacts with your service. In other words, it is good to have a set of
policies that help you define the contract of your service.
And what happens after a service is in production? I know from experience that
measuring who is using a service and garnering insight into the business processes
using your service can give you valuable information. This information can help you
determine where to focus your development, where to add resources, and much more.
What I needed was a form of SOA governance. I wanted a set of policies we could
use while creating the service (design-time governance) and a way to measure how
our services were being used (runtime governance). Most books on SOA governance
focus on the process, which is also very important, but they often lack practical exam-
ples. This book tries to provide you both with a set of guidelines for and practical
examples of how to apply SOA governance.
I hope this book will show you that getting started with SOA governance isn’t that
hard and that it provides many advantages—and that there are plenty of open source
tools that can help you take the first steps.
22. xvii
acknowledgments
Writing a book is a long and difficult effort. I couldn’t have done this without the sup-
port and hard work of many others. There are many people I’d like to thank:
■ Michael Stephens at Manning who helped me with the initial proposal. Without
his help this book wouldn’t have seen the light of day.
■ My technical proofreader, Niek Palm, who worked tirelessly during the holiday
period to meticulously work through the examples and the content. I appreci-
ate that he always spoke his mind, and didn’t always agree with me or with what
I’d written.
■
My copyeditor Linda Rechtenwald for her hard work translating my non-native
written English to readable text. You wouldn’t believe how many times she cor-
rected my errors.
■ Katie Tennant and Melody Dolab for proofreading the book and making my
work easier by ensuring that everything was consistent.
■ All the other people at Manning who helped me get this book published.
Thanks for believing in this book and helping me all along the way.
■
I’d also like to thank my development editors who guided me through the
many stages of the book: Scott Meyers, Jeff Bleiel, and Dean DeChambeau.
■ Thanks to the following reviewers who read the manuscript at various stages of
development. Your valuable and sometimes critical comments made this a better
book: Alberto Lagna, Andy Verberne, Barry Polley, David Dossot, Hemant
Bedekar, Jason Coates, Javier Carro, Jeroen Benckhuijsen, Padmavathy Ramesh,
Roy Prins, Sander Rossel, Senaka L. Fernando, Tijs Rademakers, and Tray Scates.
23. ACKNOWLEDGMENTS
xviii
■
Thanks to the guys at WSO2 for creating such great 100% open source products.
■
Special thanks to Edwin Damen and Jac Speelman at JPoint (my employer), for
giving me the time to finish the last couple of chapters, instead of sending me
out to clients.
■
A final thank-you to my wife who, once again, had to endure many long days
and evenings without me while I sat at my laptop. And I couldn’t have done this
without my daughter who always succeeds in cheering me up when I’m down.
24. xix
about this book
Welcome to SOA Governance in Action. The main goal of this book is to introduce you
to SOA governance and provide you with a set of guidelines and policies you can use
to get started introducing SOA governance to your organization.
The book is divided into three parts. In the first part you’ll be introduced to the
theory behind SOA governance and you’ll set up an environment that you can experi-
ment with. In the second and third parts of the book, we look at and discuss various
concepts you can use to start governing your SOA.
Audience
This book is intended for software developers and architects who want to better
understand SOA governance and use it to create great services.
The focus of this book is on the practical side of SOA governance. It shows you how
to apply the principles of SOA governance to your own services and organization.
There are many great books published that also cover SOA governance, but none that
focus on the practical side of things.
Even though this book has many examples using Java, XML, and JSON, you don’t
have to be an expert in these technologies to benefit from this book. If you’ve got a
basic understanding of programming, you’ll be able to read the examples and imple-
ment them using the technology of your choice.
Experience with SOA, or with governance, is helpful but isn’t required for this book.
25. ABOUT THIS BOOK
xx
Roadmap
This book is divided into three parts:
■
In the first part of the book, you’ll get an introduction to SOA concepts and gov-
ernance tools, as well as the environment and policies that we’re going to discuss.
■
In the second part, we look at the policies you can use during the development
phase.
■
In the last part of the book, we focus on how to work with SOA governance
when your services are deployed and running.
The first part consists of the following chapters:
■
Chapter 1 starts with an introduction to SOA Governance. It includes a simple
explanation of SOA and an explanation of governance. In this chapter you’ll see
why SOA Governance is important and what problems SOA governance solves.
This chapter also describes how open source tools can help you get started with
SOA governance.
■ Chapter 2 shows you how to set up a complete SOA governance environment
where you can experiment with the examples from this book. This chapter also
includes an example of the basic architecture that we’ll use throughout this
book for REST and WS-*-based services.
■
Chapter 3 presents a scenario that we’ll use throughout the book—a fictional
company that provides a number of applications and services to its customers.
This company faces a number of problems that we’ll use as input to define a set
of policies. In later chapters you’ll see how to use various open source tools to
comply with these policies.
The second part contains the following chapters:
■
Chapter 4 looks at the policies related to service design and documentation.
This chapter will show how you can make your services self-documenting and
how to correctly version your services.
■ Chapter 5 stresses the importance of taking security into account during the
design phase of a project. This chapter explains how tools can help you
implement security-related policies such as centralizing authentication and
authorization.
■ Chapter 6 discusses how testing and SOA Governance work together. You’ll see
how you can test all the layers from a service using different tools and technolo-
gies. You’ll also see how you can create a service that can easily run in the cloud.
For this last example, we’ll use Amazon as the cloud provider.
The last part consists of the following chapters:
■
Chapter 7 shows how you can use the Bamos runtime governance environment
to monitor your services in real time. It provides a number of examples on how
you can visualize key metrics of your service landscape.
26. ABOUT THIS BOOK xxi
■
Chapter 8 looks at how a service and a policy both have a lifecycle. You’ll be
introduced to a standard lifecycle you can use for services and for policies. This
chapter also shows how the WSO2 registry can help you keep track of all the ser-
vices and policies used in your organization or department.
■
Chapter 9 discusses how you can integrate the tools and technologies shown in
this book with your existing components and services. It includes examples to
get you started in a number of languages and also shows you how to integrate
with ESBs and BPM engines.
The appendix contains installation instructions for the tools used throughout the
book. If you work through chapter 2, you’ll see references to the appendix on how to
install specific components.
Code conventions and downloads
All the code in the examples used in this book is presented in a monospaced font like
this. This code, except for the code in chapter 9, is written in Java. Even though Java
is used for the code samples, all the concepts that are explained also apply to other lan-
guages. For longer lines of code, a wrapping character may be used to keep the code
technically correct while conforming to the limitations of a printed page.
Annotations accompany many of the code listings and numbered cueballs are used
if longer explanations are needed. Longer listings of code examples appear under
clear listing headers; shorter listings appear between lines of text.
The source code for all of the examples in the book is available for download from
the publisher’s website at www.manning.com/SOAGovernanceinAction. You can also
download the latest sources from the Google code project. How to get the latest code
is explained in the appendix.
Software and hardware requirements
The examples in this book use various tools and libraries. Each chapter explains
which specific tool is used to implement a policy or show a concept. The appendix
explains all the tools that you will need and how to install them. The easiest way to
play around and experiment with the examples in this book is by configuring an
Eclipse installation. The appendix also explains how to install and configure Eclipse
to work with the examples from this book.
Author Online
Purchase of SOA Governance in Action includes free access to a private web forum run by
Manning Publications where you can make comments about the book, ask technical
questions, and receive help from the author and from other users. To access the forum
and subscribe to it, point your web browser to www.manning.com/SOAGovernancein
Action. This page provides information on how to get on the forum once you’re regis-
tered, what kind of help is available, and the rules of conduct on the forum.
27. ABOUT THIS BOOK
xxii
Manning’s commitment to our readers is to provide a venue where a meaningful
dialog between individual readers and between readers and the author can take place.
It’s not a commitment to any specific amount of participation on the part of the
author, whose contribution to the AO remains voluntary (and unpaid). We suggest
you try ask the author some challenging questions lest his interest stray!
The Author Online forum and the archives of previous discussions will be accessi-
ble from the publisher’s website as long as the book is in print.
28. xxiii
about the cover illustration
The figure on the cover of SOA Governance in Action is captioned “A Fisherman.” The
illustration is taken from a 19th-century edition of Sylvain Maréchal’s four-volume
compendium of regional dress customs published in France. Each illustration is finely
drawn and colored by hand. The rich variety of Maréchal’s collection reminds us
vividly of how culturally apart the world’s towns and regions were just 200 years ago.
Isolated from each other, people spoke different dialects and languages. On the
streets or in the countryside, it was easy to identify where they lived and what their
trade or station in life was just by their dress.
Dress codes have changed since then and the diversity by region, so rich at the
time, has faded away. It is now hard to tell apart the inhabitants of different conti-
nents, let alone different towns or regions. Perhaps we have traded cultural diversity
for a more varied personal life—certainly for a more varied and fast-paced techno-
logical life.
At a time when it is hard to tell one computer book from another, Manning cele-
brates the inventiveness and initiative of the computer business with book covers
based on the rich diversity of regional life of two centuries ago, brought back to life by
Maréchal’s pictures.
30. Part 1
Introduction
In the first part of this book I’ll talk about the theory behind SOA governance
and help you set up an environment you can use to play around and experiment
with the concepts explained in this book. I’ll explain what SOA governance is by
looking at the following subjects:
■ What is SOA and what is governance?
■ What are the advantages and disadvantages of SOA governance?
■ How can tools and open source help in applying SOA governance?
After this introduction we’ll take a look at how you can set up an environment
that you can use to experiment with. This environment contains all the tools you
need for a minimal SOA governance solution. I’ll also show you, based on a com-
plete case study, how the various tools and components work together.
The last subject in this first part deals with the case study that we’ll work with
throughout the book. First, I’ll introduce an organization with multiple depart-
ments that provides a number of applications to its customers. Based on this case
study, we’ll arrive at a set of policies that are important for this organization. In
the rest of the book I’ll show you how you can use various tools and techniques
to implement services that comply with these policies.
32. 3
Introducing
SOA governance
Service-oriented architecture, or SOA, governance involves the process of creating
a set of guidelines with which your services need to comply. When you apply good
SOA governance practices, you can create high-quality services that can be easily
used by your consumers and that behave exactly as expected. With SOA governance
it’s easier to create new services, upgrade existing ones, and monitor the customer
and business use of your services.
When people first hear about SOA governance, they often think of large organi-
zations, heavy processes, and lots of paperwork that pretty much prevents you, as a
developer, from getting any work done. If you’ve read any of the books that have
SOA governance in the title, this view will be somewhat confirmed. SOA governance,
especially the governance part, sounds heavy and restrictive, and this can quickly
scare people. But don’t worry; as you’ll see in this book, applying SOA governance
This chapter covers
■ The core concepts of SOA governance
■ Why SOA governance is important
■ What roles tooling and open source play in SOA
governance
■ How SOA governance can be applied on the
organization level
33. 4 CHAPTER 1 Introducing SOA governance
principles is easy and not so different from the normal way you design or monitor the
services you’ve created.
Governance isn’t something exclusive to IT, as you’ll see in this chapter. It’s applied
throughout the industry. Let me give you an example of what happens in the aviation
industry. In this industry governance is the most important way to make sure that air-
planes are safe and don’t drop out of the sky on a regular basis. In the aviation industry
everything from construction, to maintenance, to flight monitoring happens under the
strictest regulations. Every screw and bolt needs to be accounted for, and even the small-
est component of the plane is validated and exhaustively tested before it can be used.
For this the industry uses a strict set of governance guidelines to control and validate
that the aircraft is constructed in a safe and controllable manner using materials they
know the exact properties of. The services and applications you’re developing most
likely won’t cause airplane crashes or nuclear explosions, but having a good set of
guidelines, or policies as I’ll call them, is important to make sure your services comply
with the guidelines defined by your organization and behave as you expect.
When you look at the organizational part of SOA governance, you have to deal with
various administrative processes and follow regulations, and all this doesn’t have much
to do with actual software development. But this is only one part—and an important
one—of SOA governance. During this phase the policies will be defined that you as a
software developer will have to follow. Many people think that you only need SOA gov-
ernance when you have heavy, traditional, SOAP-based architectures, where you follow
the various web service standards (I’ll call these WS-*). This isn’t the case; regardless of
the technology you use for creating your SOA, be it REST-based or WS-* based, you need
some sort of governance to assure that all your services follow the same security, quality,
and performance requirements mandated by your organization.
In this first chapter we’ll dive directly into the details of SOA governance. I’ll
explain why SOA governance is important and what the benefits are when you have
SOA governance in place, and I’ll give an overview of how you can deal with SOA gov-
ernance in a practical and pragmatic manner. In the following chapters I’ll show you
how to start using it.
1.1 What is SOA governance?
To understand what SOA governance is, you first have to look a bit deeper at what SOA
is and what governance is. We’ll start with the definition of SOA.
1.1.1 Definition of service-oriented architecture
Let’s start by looking at what Wikipedia has to say about this. Although not an author-
ity on the subject of SOA, it gives a good idea of what a lot of people think about when
talking about SOA.
DEFINITION “Service-oriented architecture (SOA) is a flexible set of design
principles used during the phases of systems development and integration in
computing. A system based on a SOA architecture will provide a loosely-
34. 5
What is SOA governance?
coupled suite of services that can be used within multiple separate systems
from several business domains.”
—Wikipedia: http://en.wikipedia.org/wiki/Service-oriented_architecture
What you see in this quote is that it focuses on only the technical aspect of SOA; it talks
about service design principles, systems development, and integration. Although this
is an important part of SOA, there’s more to it. When we talk about SOA we should
look at it from a couple of different angles (including the technical angle). To really
define SOA we should look at more than just the technical aspect. When I talk about
SOA, I include the following different views:
■ Business view—This view focuses on the value and advantages SOA offers for the
business. This is an important view because ultimately you adopt a SOA architec-
ture to improve the way you do business. From this perspective it’s important to
be able to quickly create new products, adapt to changes in the market, reduce
costs, and improve the return on investment (ROI).
■ IT view—This view shows how SOA can help IT quickly adapt to changes. Using
SOA, the IT department can save costs by reusing services and can better deter-
mine who needs to be billed for the usage. By correctly applying SOA, IT can
optimize the way it provides services to the business.
■ Technical view—The final view is the one also referenced in the Wikipedia
quote. The services provided to the business need to be designed following a set
Figure 1.1
The various views of
SOA combine to provide
a product to a customer.
35. 6 CHAPTER 1 Introducing SOA governance
of SOA best practices. There needs to be a solid technical architecture from
which services can be provided, and standards need to be defined and followed.
In figure 1.1, you see a simple use case where an organization wants to make it easy for
its customers to request access to a specific service for which they need an API key.
You can compare this with the process you have to go through to get an API key for
the services Google provides. The business point of view here is that the business
wants to provide this functionality to its users to get as many users as possible. More
users means more custom mashups, and in the case of Google, ultimately more adver-
tisement revenue. From the IT point of view, the department wants to provide a sim-
ple set of reusable services, so that the next time the business wants to make some
small changes or to provide another product to their customers, they can do so as
quickly and efficiently as possible. And finally, from a technical viewpoint, for this sce-
nario you need to provide the actual implementation of the services provided. And
you want to do this following best practices and standards.
Before looking a bit deeper at the governance part, I’ll quickly summarize what the
advantages are that can be gained by correctly applying SOA. The following list shows
some of the advantages SOA offers.
ADVANTAGES OF SOA
■ Business agility/reduced time to market—This is one of the main advantages a com-
pany hopes to achieve when applying SOA principles. With more agility a com-
pany can better respond to changes in the market and quickly launch new
products and services. Note that this doesn’t only apply to internal applications
and services; with all the REST and cloud services available today, it’s much eas-
ier for businesses to quickly create products and reuse functionality.
SOA != WS-* + SOAP + UDDI + WSDLs
As you’ve probably read from the table of contents or the introduction to this chapter,
when I talk about SOA or services in general in this book, I don’t necessarily mean
the traditional web services stack. Even though SOA is often equated with using the
standards-based WS-* stack, this is only one possible solution. When you look at
what’s currently deployed in the enterprise, you mostly see the traditional WS-*
approach. In the Web 2.0 space, to give it a name, you see the opposite. When web
services first became popular, you saw a rise of public APIs based on SOAP, WSDLs,
and XML. The last couple of years, though (especially in the public space), these types
of services have pretty much all disappeared or have been replaced with REST-based
services. A similar trend is going on in the enterprise space. It’s not as drastic as on
the internet, but in the enterprise the value of a REST architecture has been accepted.
We’re now slowly moving to a situation where the best solution is used for a problem.
This doesn’t mean the WS-* stack is going anywhere soon. What you’ll see is these
two architectural types running side by side. In this book we’ll look at both WS-* and
REST and show how governance can be applied to these kinds of services.
36. 7
What is SOA governance?
■ Reduced costs—This is one of the other main business reasons. When everything
was going well, for instance, during the dot-com boom, money wasn’t that hot
an issue. Technology companies and IT departments received all the funding
they wanted, whether the business, or the venture capitalists, really knew what
to expect. With SOA, businesses want to reduce costs by reuse, standards-based
development, and a clear view of what services are available and the functional-
ity they provide.
■ Improved reuse of services—If the services are better defined, and a clear inventory
of the services is kept, it’s much easier to start reusing existing services. This is
once again an example of where SOA is not just about internal services but also
about reusing existing services on the web. In this last category you can think
about the cloud-based services provided by Amazon, Microsoft’s Azure plat-
form, and Salesforce. A nice overview of available services can be found at
http://www.programmableweb.com/.
■ Improved software quality—A SOA contains a set of defined standards and best
practices. It tells you how to build services, what to do, and what not to do. This
will lead to a higher quality of software. Another advantage is that because
you’re reusing existing services you don’t have to reinvent the wheel every time,
assuming the service you’re reusing is being well maintained.
■ Better interoperability—Whether you’re building a REST-based service or a WS-*
based service, in both cases you have a well-defined contract, based on stan-
dards to help you in the interoperability area.
Now that we’ve looked a bit at what SOA is, let’s look at the governance part of the
concept.
1.1.2 Introducing governance
Most people have probably heard the term governance in one way or the other. Usually
when people talk about governance they mean corporate governance. Corporate gov-
ernance defines a set of rules, laws, policies, and regulations that affect how a corpora-
tion should be run. Corporate governance should make sure that corporations are
run correctly, efficiently, and responsibly. Well-executed corporate governance makes
sure that all the stakeholders in a corporation are represented properly.
CORPORATE GOVERNANCE
When you look back at the last couple of years, you’ve seen a lot of things go wrong in
this area. The crisis in the financial market, various stock market scandals, and large
corporations going bankrupt are all examples. This, however, doesn’t mean corporate
governance has failed; what this means is that even though you can define all the pro-
cesses, regulations, and laws, you still need some way to enforce and control the poli-
cies in place.
IT GOVERNANCE
Another area where governance has become more important the last decade or so is
in the area of IT governance. During the big dot-com bubble and the Y2K problems, IT
37. 8 CHAPTER 1 Introducing SOA governance
spending went through the roof. It was hard for the business to see where the money
was going and what IT was doing. The goal of IT governance is to minimize the risks of
IT projects and make sure that IT provides actual business value. If you consider that,
depending on who you believe, almost two-thirds of all IT projects fail, you’ll under-
stand the need for a good governance body. A more reasonable percentage was given
by Standish Group International and is shown in figure 1.2.
The Enron scandal
One of the main reasons governance has become an important part of how a business
operates is because of the scandals at the beginning of the last decade. The most
prominent was the Enron scandal. Enron, which was an energy corporation from Hous-
ton, at its peak had a value of $111 billion; a year later it filed for bankruptcy. In the
nineties the energy market in California was deregulated, and Enron quickly became
one of the largest energy companies in the United States. But in 2001 investigations
were initiated to look into the financial position of Enron, and all kinds of fraudulent
practices were discovered. For instance, Enron stored its debts in foreign accounts
and used its political influence to raise the price of energy. To makes matters even
worse, high-ranking Enron executives sold most of their stock when the shares were
at $90, the highest the shares reached. They did this because they knew Enron was
accruing massive losses. On the other hand, the public was encouraged to buy Enron
stock, which within a few months dropped to 30 cents per share. The Enron executives
were charged with bank fraud, securities fraud, wire fraud, money laundering, conspir-
acy, and insider trading. As a result of the Enron scandal, the federal government
passed the Sarbanes-Oxley act (SOX for short), which forces companies to follow a
set of policies with regard to reporting information to their investors and mandates
that companies have strict internal financial control mechanisms in place.
Figure 1.2
Failed projects in 1995,
2004, 2006, and 2009
38. 9
What is SOA governance?
If you ever need to set up IT governance, there are a number of frameworks that can
guide you. I’ve listed a few of them in table 1.1 and provided links to additional infor-
mation.
IT project failures
In the previous sidebar I used Enron as an example of why governance within a com-
pany is needed. IT projects also have a tendency to go seriously wrong if there isn’t
a good governance or control mechanism in place. One of the most talked-about
examples is the Denver International Airport’s automated baggage system. This bag-
gage system, created for the new airport, was designed to route all the passenger’s
bags to and from aircraft without human intervention. Even though this system was
eventually completed ($55 million over budget) it didn’t work. The carts that were used
to automatically transfer the bags couldn’t cope with sharp corners, sensors lost track
of where bags were in the system, and more problems were present in the system.
All this caused the Denver airport to open 16 months late so that the system could
be fixed and added a total of $560 million to the cost of the airport. After a couple
of years, though, the system was abandoned completely. Another example is the
automated fulfillment system developed for Sainsbury’s, a British supermarket. Sains-
bury’s wanted a new system for its main distribution center. This barcode-based sys-
tem was designed to save a huge amount of money and increase efficiency because
a lot of human tasks could be automated. In the end though, the system, installed
in 2003, failed because of apparent barcode-reading errors. After two years of bug
fixing, Sainsbury’s wrote that the system worked as intended. In 2007, however, the
complete system was scrapped. Total write off: £150 million.
Table 1.1 IT governance frameworks
Name Description
ITIL The Information Technology Infrastructure Library defines a set of best practices and concepts
you can use to set up the IT governance processes within your organization. For instance, it
defines best practices for security management, ICT infrastructure management, software
asset management, and much more.
More information can be found on the official ITIL website:
http://www.itil-officialsite.com/home/home.asp.
CMM The Capability Maturity Model defines the level of maturity an organization is on with regard to
software development. It defines five levels, where on level one (called initial) software develop-
ment is done without any process and control and on level five (called optimizing) the software
development process is already mature and only small parts can be optimized. Although it’s not
specifically an IT governance framework, you can use CMM to measure the maturity of your cur-
rent governance-related processes and best practices.
Information on CMM can be found at http://www.sei.cmu.edu/cmmi/start/.
COBIT Control Objectives for Information and Related Technology is a framework that can help you set
up IT governance for your organization. It provides tools, models, and methodologies for this.
More information on COBIT can be found at the official COBIT website:
http://www.isaca.org/Knowledge-Center/COBIT/Pages/Overview.aspx.
39. 10 CHAPTER 1 Introducing SOA governance
What you see in both corporate governance and IT governance is that governance will
fail if not all the stakeholders are involved with the critical decision making. That’s the
main reason why scandals such as Enron happen and why so many IT projects go wrong.
1.1.3 Defining SOA governance
The goal of applying governance to SOA is to get the most out of your SOA. You do this
by listening to the stakeholders and, based on that information, defining a number of
policies.
This requires taking the following steps:
1 Define the policies you want to apply.
2 Apply these policies during design time.
3 Monitor and enforce the policies during runtime.
It’s important to know that SOA governance should be applied as an iterative
approach. When you’ve executed these steps, you aren’t finished. Based on the infor-
mation you learn from step 3 and other inputs, you might want to adjust the policies
that you’ve defined.
Let’s look a bit closer at the first item on the list.
DEFINE THE POLICIES YOU WANT TO APPLY
This step is mostly an organizational step where you get all the stakeholders together
(for instance, in a SOA governance board) and, based on the strategy and goals of the
company, coordinate and control the various SOA efforts. The organizational part of
SOA, which is the subject here, is an important part of SOA governance. If there’s no
backing from your stakeholders, it’s hard to apply SOA governance effectively and
define the correct policies to implement and enforce. This means that besides the
technical aspect of applying the policies you define, you also need to take into
account the roles the process and the people play in regard to SOA governance. These
concepts are sometimes called the three Ps: people, processes, and policies.
■ People—To effectively apply SOA governance you need to know who the business
owners of your services are. Who is using your services, why are your services
being used, and who is technically responsible for keeping your services up and
running?
■ Processes—What processes are in place to define your policies? Do you have life-
cycle processes in place for your services? What business processes depend on
your services? Is there a process in place to determine whether your services
implement the defined policies?
■ Policies—What policies are defined for your service, and how are they applied
during design and runtime?
A number of books have been written on these specific topics that dive into the details
of the process and people parts of SOA governance. This book focuses on the practical
approach of SOA governance. I do look at the lifecycle of a service and the lifecycle of
a policy, but I won’t dive into the details of the processes and people aspects.
40. 11
What is SOA governance?
When the policies have been defined, you can look at how you apply those during
design time. For instance, let’s assume your organization has defined the following
policy regarding the documentation of your services:
“All the services that are provided to external clients must have documentation
explaining all the service operations. This documentation must explain what the oper-
ation does, must explain all the arguments the operation takes, and must describe the
results of the operation. Furthermore, if there’s a logical sequence in which opera-
tions need to be called, this flow should be described as well.”
In the second section of the book I’ll elaborate on specific policies regarding docu-
mentation, but for now this small summary will suffice.
APPLY THESE POLICIES DURING DESIGN TIME
During design time you have to take these policies into account and provide an ade-
quate design. Let’s look back at the aviation example from the introduction to this
chapter. Design-time policies also apply to the aviation industry. When an airplane is
being designed, it has to comply with all different kinds of government legislation and
safety protocols. For instance, it must have multiple backups for the primary system, it
should emit only so much CO2
, and it must be able to land on just two engines.
Let’s assume you’re working at the IT department of your hometown and you’re
asked to create a service that allows the clients to retrieve a list of all the provided
building permits for a specific area. Because this is a public service you decide to use a
REST-based service for this (the technical type of service to provide in a specific sce-
nario could also be a specific policy). Now you need to make sure you can fill in the
requirements of the policy for this service. An example of the supplied documenta-
tion could be the following (which could be provided on the city’s website as a simple
HTML document):
Name: City of Seaford: Building Permits service.
Description: This document describes the operations provided by the City of
Seaford to its residents. This service can be used to retrieve
information about the currently approved building permits for a specific
region within the city limits.
What’s a policy?
In this book I’ll often talk about policies. When I talk about a policy, I mean a policy
as defined by OASIS in its SOA Reference Model (you can find more on this model
here: http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=soa-rm).
You can read the complete definition if you follow this link, but I’ll summarize the most
important parts here. A policy consists of three parts: the policy assertion, the policy
owner, and policy enforcement. The assertion of a policy could be, for instance, “All
the messages are encrypted.” This assertion can be measured; it’s either true or false.
The second part of a policy is its owner. In the previous example, a service consumer
can make this assertion and enforce it independent of the provider. Finally, a policy
may be enforced; this can be done technically, but it can also be done through reviews.
41. 12 CHAPTER 1 Introducing SOA governance
URI: {serviceURI}/permits?postalCode=?{postalCode}&range={range}
Method: GET
Example: http://api.seaford.org/services/public/permits?postalCode=90210
➥ &range=300
Description: This URI can be used to find a set of permits that match the
provided search criteria.
Arguments: {postalCode} the postal code that serves as the center of the
search region. If no postal code, or a postal code outside the city, is
provided, this search will yield no results. {range} the range in yards
to search for. If a negative range is used no results will be returned.
If no range is provided, the search will default to a one-mile radius.
Result: The result of this operation will be a list of permit resources. The
media type of this resource is application/vnd.seaford.org.permit+xml.
Links: In the returned list of permits you'll find a number of links to
resources. These possible links are described below.
Self: Points to the permit resource itself. This resource is of the type
application/vnd.seaford.org.permit+xml.
Location: Points to the exact location of this permit. This resource is of
the type application/vnd.seaford.org.location+xml.
Owner: Points to the owner of the permit. This resource is of the type
application/vnd.seaford.org.permit.owner+xml.
Status: Shows the current status of this permit. This resource is of the type
application/vnd.seaford.org.permit.status+xml.
If you had decided to do this service as a WS-* based service, you would have anno-
tated the WSDL with the correct information on the provided operations. You can find
more on this subject starting in chapter 4.
MONITOR AND ENFORCE THE POLICIES DURING RUNTIME
The third part of SOA governance deals with enforcing
and checking the policies at runtime. If you just spend
time defining policies but have no means of checking
whether they’re followed, it’s little use defining the poli-
cies in the first place. For this you need a mechanism to
check whether the policies you defined are followed. For
an airplane, you want to measure the fuel consumption to
see whether it’s within defined parameters, to check
whether the backup systems are functioning, and so on.
To make it clearer, we’ll have a quick look at a simple
security policy: “All calls to the publicly provided services
should be made over a secure channel.”
This is a simple security policy, and you’ll probably
know how to comply with this service. If you look back at
the previous service we discussed, the service providing
information on permits, you’ll see that this service should
comply with the policy you defined. At design time you
don’t have to worry about this policy, whether you’re run-
ning securely or not; your service interface and imple-
mentation don’t have to comply with this policy. This is a
Figure 1.3 A basic
implementation showing
how you can make sure all
the calls to the publicly
provided service are done
over a secure channel
42. 13
How using SOA governance can help
policy you have to enforce at runtime. Following this particular policy isn’t that hard.
If you can force all the calls to your service to be done over HTTPS, you’ll comply with
this policy. What you can see in figure 1.3 is that by using Apache as a filter, you can
make sure all calls are done over HTTPS.
You could also configure Apache in such a way that calls made over normal HTTP are
redirectedtoHTTPS,makingsureyoucomplywiththerequirementssetoutbythepolicy.
In part 3 of the book we’ll dive a lot deeper into the details of runtime policy
enforcement, and I’ll show you the tools you can use to check policies at runtime.
In this first section we’ve looked at SOA, at governance, and finally at what SOA
governance entails. In the next section we’ll look in more detail at why you need SOA
governance and the advantages it offers.
1.2 How using SOA governance can help
As you’ve seen in the previous section, the goal of SOA governance is getting the most
out of your SOA. I’ve already touched on some of the reasons why applying SOA gover-
nance is a good thing. In this section I’ll give an overview of reasons why you need to
apply SOA governance. I’ll keep away from the business reasons such as total cost of
ownership, time to market, and other buzzwords, and look at some of the most impor-
tant reasons why SOA governance is needed. As a software developer or architect,
you’re faced with a lot of different challenges when designing and implementing ser-
vices. Whether you’re creating a public REST-based service that provides social net-
working functionality or you’re building an internal WS-* based service to provide
accounting information to another department, you have a number of challenges to
deal with. The following sections give you an overview of a couple of these challenges
and explain how applying SOA governance can help you in solving them.
1.2.1 Keeping track of how services are used
The first challenge we’ll look at is when your service isn’t used in the way you
intended. When you create a service and other people start using this service, they
expect a certain level of performance and reliability. When you designed this service
you probably took this into account, but it’s hard to plan for everything.
The service that couldn’t keep up
A couple of years ago I worked on a large project for a public agency. For this project
our team created a service that served as a web service facade to a document man-
agement system. During our tests everything was fine; during a customer’s tests some
small issues were found but nothing that we couldn’t quickly fix. During production,
though, we noticed that the usage pattern of our service wasn’t as we expected.
Instead of small documents being added, very large documents were added. Because
of this change of usage, our service was becoming unusable, not just for this client
but also for the other clients of our service.
43. 14 CHAPTER 1 Introducing SOA governance
On the other hand, it’s possible that your team has created a great service, but no one
is using it. How can SOA governance help in this scenario? It can help you do the
following:
■ Define a lifecycle for your service—Part of SOA governance is defining the lifecycle
for your service. This means describing the phases a service goes through from
inception to retirement. Included in the lifecycle are, among others, processes
defined that describe how the availability of your service is communicated to
the other departments or possible clients.
■ Apply and enforce runtime policies—Without metrics it’s impossible to determine if
your service is being used as you imagined, how much it’s being used, and
whether you provide the performance your clients expected. When you apply
policies at runtime, you can use those metrics to quickly find out if your service
is struggling.
Another important part of developing services is making sure you have uniformity
among your services. In the next section we’ll look at how SOA governance can help
you in maintaining a good level of quality when you’re developing your services.
1.2.2 Keeping uniformity among services
If five services are written by five different teams in an organization, they should fol-
low the same principles with regard to documentation, message design, interoperabil-
ity, and security. SOA governance can help you in this area:
■ Define design-time policies—If you define a set of design-time policies and create a
reference architecture based on these policies, you provide the developers with
the information they need to define consistent services.
■ Set up service review boards—Just defining these policies isn’t enough; you have to
set up regular review sessions to make sure the services that are designed follow
the principles defined through the policies.
■ Standardize messages and facilitate reuse—An important tool to support SOA gover-
nance is a service repository. Within this repository you can, for instance, define
the messages for your domain, define the canonical data model, and register
the services that are available.
■ Enforce policies at runtime—With runtime SOA governance you can enforce cer-
tain policies at runtime. You can make sure the correct security levels are used
and add additional input validation.
Besides the advantages mentioned above, SOA governance introduces a number of
common pitfalls.
1.3 Common pitfalls when introducing SOA governance
The following is a list of issues you’ll see at a lot of companies that introduce SOA
governance:
44. 15
Requirements of an SOA governance solution
■ Introducing governance processes that are too complex—If you’ve look at any of the
other SOA governance books available, you’ve probably noticed that they all
focus on the governance processes and on the organizational part of SOA
governance. Even though those aspects are important, many SOA governance
initiatives get buried under too many rules, governance boards, and regula-
tions. It’s often easier to start small, be successful, and work from that. The
information in this book can help you with this.
■ Introducing governance processes that are too simple—On the other hand, there are
numerous organizations where there are almost no governance processes or
governance boards present. They might have some standards and perform an
occasional service review, but the organizations don’t have a structure in place.
Just as doing too much doesn’t work, doing too little also doesn’t work. You
need some sort of structure and processes to at least handle the reviews and
allow you to check whether the policies you set out are followed.
■ Placing too much reliance on tools—If you listen to the big tool vendors, and even
some open source ones, you can buy SOA governance. Just buy their SOA regis-
try and you have a SOA governance solution. Unfortunately, that isn’t the case.
Tools can help immensely in applying SOA governance, but they’ll always sup-
port the policies that have been designed, the reference architecture that has
been defined, and the processes that have been put into place.
Quickly looking back at these sections, you can see that applying SOA governance pro-
vides a lot of advantages. It will help you create better software, allow you to better
control how your services are used, and promote reuse and standardization. What you
can also see is that SOA governance isn’t the silver bullet and that there isn’t a tool you
can just buy to implement it. It takes effort, both on the technical and organization
levels. In the next section we’ll look at how to get started with SOA governance.
1.4 Requirements of an SOA governance solution
So far we’ve looked at what SOA governance is and why it’s important. In this section
we’ll look at what a complete SOA governance solution should do and how this can
help you apply SOA governance in practice.
A SOA governance solution should help you in
■ Creating and maintaining a set of policies
■ Applying these policies at design time
■ Applying these policies at runtime
In figure 1.4 you can see an overview of the functionality a SOA governance solution
should provide. Here stakeholders are defining policies that need to be stored and
managed by the SOA governance solution. When the policies have been defined,
they’re consumed by various other parties. Developers need to be able to access the
policies so they know what the services they’re developing need to comply with. Sys-
tem admins access the runtime information from the SOA governance solution to see
45. 16 CHAPTER 1 Introducing SOA governance
if everything is running according to the policies that have been defined, and finally
management wants to see if, for instance, orders are completed within the defined
time.
Let’s look a bit closer at these three points. We’ll start by looking at how such a
solution should help you in creating and maintaining your policies.
1.4.1 Creating and maintaining policies
The first thing a complete SOA governance solution should provide is a way to register
your policies. Often, when I talk about policies, people automatically think about WS-
Policy and automatic enforcement. This isn’t a requirement when you talk about poli-
cies or when you want to register them. In section 1.1 I mentioned the OASIS SOA Ref-
erence Model, which defines a policy in the context of a SOA. Its definition mentions
the following with regard to how SOAs should be written.
DEFINITION “Policy assertions SHOULD be written in a form that’s under-
standable to, and processable by, the parties to whom the policy is directed.
Policies MAY be automatically interpreted, depending on the purpose and
applicability of the policy and how it might affect whether a particular service
is used or not. A natural point of contact between service participants and
policies associated with the service is in the service description. It would be
natural for the service description to contain references to the policies associ-
ated with the service.”
—Reference Model for Service Oriented Architecture 1.0
What you can read in this quote is that policies should be written in a format that can
be understood and processed by the parties to whom the policy is directed. In most
cases the party to whom a policy is directed is a human party. It’s directed at develop-
ers, at administrators, at information analysts, and so on.
Figure 1.4 The information a SOA governance solution should provide to the various actors
46. 17
Requirements of an SOA governance solution
You can use many different tools to register your policies. Commercial tools allow
you to register your policy, but because we’re talking about human consumers, a
shared Word document or a Wiki is also a good, maybe even a better, option depend-
ing on the environment you’re in. If you have only a small set of service consumers
from within your own organization, a shared document or Wiki will probably be more
accessible than a (complex) commercial or open source tool.
1.4.2 Applying policies at design time
Besides helping you define the policies, the solution should also help communicate
these policies. You can see this in figure 1.4, where the designers and administrators
need information regarding the policies and the available services. For the policies
part you need the same functionality as you did in the previous section: a tool to regis-
ter and view the policies. But you also need access to the list of services that are
already defined. You need this not only to determine whether functionality requires a
new service but also to determine the functionality you can reuse. For this you need a
central place to store the contract of your service and its other metadata. In the most
basic sense this can once again be a Word document or a wiki page describing the ser-
vice, but usually a service repository is used for this purpose.
Figure 1.5 shows an example of a SOA repository with a service registered. Note that in
the screenshot you see that the product calls itself a registry. In this specific case
there’s a good reason. The WSO2 Governance Registry provides all the specific fea-
tures of a registry: a governance API, a yellow pages–like interface, and artifact classifi-
cation. It also presents itself as a repository, because you’re pretty much free to
register everything you want. The reason for calling this product a registry instead of a
repository is that even though it provides a resource-oriented repository interface, it
provides all the features and APIs to also serve as a full-fledged repository.
Repository versus registry
The words SOA repository and SOA registry are often used to mean the same thing—
a place where you can register your services so that all the information regarding those
services can be easily found and the services themselves can be easily located. When
you really look at the definitions, though, there’s a difference between a repository and
a registry. A repository is the place where you register a service and its metadata and
whereyoucanalsoregisterotherartifacts,whereasaregistryhelpsinlocatingaspecific
service. In the beginning of web services and SOAP, people often also mentioned UDDI.
A UDDI registry provided a phone book/yellow pages–like interface that you could use
to look up a specific service, either at runtime or at design time. It didn’t allow you to
register other metadata or artifacts. That made it a registry, which often used a reposi-
tory as its backend. Most of the current repositories started their lives as registries.
They later gained the ability to register other metadata and artifacts, and that turned
them into repositories. Today these terms are still used interchangeably.
47. 18 CHAPTER 1 Introducing SOA governance
The final item a SOA governance solution should help you with is applying these poli-
cies at runtime.
1.4.3 Applying policies at runtime
The final aspect a SOA governance solution should cover is how to apply and enforce
the policies you’ve created at runtime. Not all the policies lend themselves to being
enforced automatically but a number of them do. For instance, you can easily monitor
whether the minimum response time is less than two seconds. Just register the time
the service was called and the time the service responded. Calls that take longer than
two seconds are logged and reported for further analysis.
Again, there are many different tools to help you with this. Active monitoring tools
(gateways) monitor incoming and outgoing data and can check whether the data
complies with your policies. Those tools can restrict or deny calls that don’t follow
your policies. Reactive tools monitor the events and the performance of your service
and provide reports on their usage. These reports can then be analyzed to determine
whether the service follows the policies defined for it. Into this latter category falls the
WSO2 Business Activity Monitor, shown in figure 1.6.
In this section we’ve looked at the parts of a SOA governance solution. Now let’s
look at some simple policies you can apply to get started with SOA governance.
1.5 Getting started with SOA governance
As you’ve read so far, SOA governance encompasses a large area. You need to define a
set of policies, you need a reference architecture that can serve as an example for the
Figure 1.5 In this SOA repository you can register services, policies, and other structured and
unstructured content.
48. 19
Getting started with SOA governance
services that will be created, and you need to set up all kinds of control mechanisms to
make sure the policies you’ve set out are followed. All this can be a bit overwhelming
and might make it seem impossible to get started with SOA governance.
To get a feeling for SOA governance and create awareness within your organiza-
tion, you can start with some simple policies within your own department and let the
results speak for themselves. If you’re successful within your department and can show
results like better services, lower costs, and more predictability, other departments will
follow suit.
So how do you begin? The first thing to do is define two or three simple policies,
which you’ll follow throughout the process of creating new services. A good starting
point would be at least one policy you follow during design time and one policy you
can enforce during runtime. This way you’ll get experience with following and enforc-
ing policies, and you’ll quickly see the advantages of applying SOA governance.
Figure 1.6 An example of reactive monitoring. With this information the IT department or business can
determine whether the service complies with the policies set out for it.
49. 20 CHAPTER 1 Introducing SOA governance
Table 1.2 shows a number of good design-time policies to follow when you’re just
getting started. In the other parts of this book, we’ll dive deeper into the details of
these policies.
Let’s also look at a couple of simple runtime policies that can form a good starting
point for SOA governance; see table 1.3.
The next section provides an overview of the policies discussed in this book.
1.6 Getting an overview of the available policies
For this book I divided the policies into three main categories:
■ Design and documentation policies—These policies define certain rules you must
follow when you’re designing and implementing your services.
Table 1.2 Basic design-time policies to get started with
Name Description
No duplicate
services
This might seem like a no-brainer, but it’s a good policy to start with. Even within a
department much functionality is duplicated between services. Formalizing this in
a policy and checking this policy before you start work on a new service can save
you a lot of duplicate work.
Technology
standardization
This policy can sound something like this: "All services provided to the general
public, for example, over the internet, must follow the REST paradigm. Services
offered exclusively for B2B purposes must use a WS-* architecture.” Again, this is
a basic policy but one that will prevent designers of projects from doing what they
think is best without looking at the bigger picture.
Validate message
content
This policy can help you in creating a uniform service landscape. When you look
deeper at this policy you’ll probably also need to define the type of validation
that’s required. This could, for instance, mean that all the message formats of this
service should be XML accompanied by a schema. But this could also imply that
all the JSON messages that are sent can be validated using a JSON schema.
Table 1.3 Basic runtime policies to get started with
Name Description
Services should be available from
9 a.m. to 5 p.m.
With the tools used in this book you can check whether your
service is available. This is one of the easiest runtime policies to
start with. Set up the tools, and you’ll get a nice graphic of when
your service was available and when it was not.
Services calls should be made over
a secure channel.
Another basic one to get started. If one of your policies is that all
communications should be over a secure channel, you can easily
enforce this with Apache, for example.
Services should be self-describing. When a service is deployed it should be self-describing. You
shouldn’t need a big book describing the service and how to
interact with it. For REST there’s an example in section 1.1.
51. so many as 12,000 British infantry in the whole line. Yet it is from
Napoleon’s own narrative that we learn, that upon this weak array
there was launched a mass of 12,000 heavy horse, 6,000 of whom
wore armour, and who seemed, in their united strength, able
positively to ride down the insignificant force of resolute soldiers
who still kept the heights of Mont St. Jean.
The British accounts generally divide this tremendous onset of the
cavalry into two attacks, the first, between three and four o’clock,
when forty squadrons, twenty-one of them being composed of
cuirassiers, ascended the heights behind La Haye Sainte; the second
perhaps an hour later, when the first assailants, having found it
difficult to maintain their ground were rallied behind thirty-seven
fresh squadrons sent by Napoleon to their succour. And this agrees
with Gourgaud’s account who tells us, first, that “Ney debouched
upon the level height, with Milhaud’s Cuirassiers and the light cavalry
of the Guard,” and then adds, a little after, that “the Emperor
directed Kellerman’s Cuirassiers to support the cavalry on the height
lest it should be repulsed.” It is clear, therefore, that the first onset
of 5,000 or 6,000 men had failed, or was in danger of failing, when
Napoleon sent forward a second until, as he himself says, the whole
“twelve thousand select horse” were involved in the struggle.
How it was that this tremendous attack failed, it is not easy at this
distance of time to understand. The whole of the infantry in the
British line were quickly formed into squares; the front ranks
kneeling and presenting fixed bayonets, and the second and third
lines keeping up a constant fire of musketry. The artillery, also,
saluted the intruders with grape-shot; but many of the British guns
were soon taken possession of by the cuirassiers. The Duke, always
prepared for every emergency, had instructed the artillerymen that
they should, on the approach of danger, take off a wheel and retire
with it into the nearest square of infantry. Thus the cuirassiers, when
they had seized a gun, found themselves hampered with it, and
while they were trying to carry it off, the musketry of the British
squares thinned their numbers.
52. Wellington, in describing the battle in a letter to Marshal
Beresford, said, “I had the infantry for some time in squares, and
the French cavalry walking about us as if it had been our own.”
There probably never was such a trial of “pluck” as this part of the
contest presented. It was a hand-to-hand struggle, lasting two or
three hours. Had a regiment of cuirassiers ever found courage
enough to throw themselves on the British bayonets, there can be
little doubt that some of the weaker squares might have been
broken. But this never once occurred. Gourgaud, indeed, says, “Our
cavalry penetrated many of the enemy’s squares, and took three
standards,” but he must here be speaking of the Belgian or
Hanoverian troops, many of whom were unsteady, and some of
whom were scattered and cut up. There was, in fact, no absolute
reliance to be placed on any but the British troops, and some of the
best of the German. A whole Dutch-Belgian brigade, on the
approach of the cuirassiers, moved off without firing a shot. After
several charges of the British horse upon portions of the French
cavalry, Lord Uxbridge put himself at the head of Tripp’s brigade of
Dutch-Belgian carabineers, and ordered them to charge; and so they
did, but not until they had first turned their backs to the enemy!
Somewhat later, he ordered forward the Hanoverian regiment called
the Cumberland hussars; but the colonel “did not see what good was
to be done” by moving him from his snug position, which was out of
reach of the firing. He added, that he could not answer for his men,
for that they rode their own horses, and could not afford to lose
them! Receiving from Lord Uxbridge the vehement reproof which
might have been expected, he and his men moved off to Brussels,
where they spread the report that the allied army was destroyed,
and that Napoleon was advancing at the head of his Guards!
Yet this tremendous attack failed, as the two preceding attacks
had done. And its failure was one chief cause of Napoleon’s ruin. He
had risked his cavalry reserve, and had lost it. For it is a remarkable
and wonderful fact, that, continuing this struggle for two or three
hours, this splendid body of “twelve thousand select cavalry” was
53. wholly destroyed. Individuals, and parties of fugitives, doubtless
escaped, and their number in the aggregate might be considerable;
but this arm of the service was utterly disabled. In his Bulletin,
Napoleon said, “For three hours numerous charges were made,
several squares penetrated, and six standards taken;—an advantage
bearing no proportion to the loss which our cavalry experienced by
the grape-shot and musket-firing.” Fleury de Chaboulon, his
secretary, says, “Our cavalry, exposed to the incessant firing of the
enemy’s batteries and infantry, sustained and executed numerous
brilliant charges, took six flags, and dismounted several batteries;
but in this conflict we lost the flower of our intrepid cuirassiers, and
of the cavalry of the Guard.” He adds, that on reaching Paris, and
describing the battle, the emperor said, “Ney behaved like a
madman!—he got my cavalry massacred for me.” And it is the chief
complaint of all the French accounts, that when at the close of the
day the English horse swept over the field, the Emperor had not a
single regiment of cavalry to oppose to them![33]
The “twelve
thousand select cavalry” had broken into the English position; but,
except as scattered fugitives, they never returned!
FIVE O’CLOCK.
But the battle had now lasted six hours, and Napoleon had
allowed his opportunity to pass away. Five o’clock brought the
Prussians; and after they had entered the field a decisive victory for
Napoleon became impossible.
Bent on his object of proving that he had been not so much
beaten as overpowered by numbers, Napoleon in his “Book ix,”
brings the Prussians into the field at noon-day! In doing this he does
not scruple to employ the most direct and obvious falsehood. To give
a single instance,—Gourgaud, his aide-de-camp, in his account of
the battle, thus writes:
“It was half-past four o’clock, and the most vigorous fire was still
kept up on every side. At this moment General Domont informed his
Majesty that he observed Bulow’s corps in movement, and that a
54. division of 8,000 or 10,000 Prussians was debouching from the
woods of Frischenois.”
Yet in “Book ix” Napoleon does not hesitate to say: At two o’clock
in the afternoon General Domont had given notice that Bulow
formed in three columns; that the enemy appeared to him to be very
numerous,—he estimated the corps at 40,000 men.”
But he does not even postpone their arrival until two o’clock:—two
pages earlier he insists upon it that he saw them, in the distance, at
noon.[34]
Now as it is absolutely certain that, with the greatest
exertion, the earliest of the Prussian brigades were unable to reach
the field until half-past four, we may be sure that at twelve o’clock
they must have been eight or ten miles off! Hence this passage in
“Book ix” must either be a downright fiction; or else Napoleon must
have discovered on a distant hill a party of the Prussian staff who
had ridden forward to observe the position of affairs, and who must
have been magnified by his alarms into an army-corps!
The real time of the arrival of the Prussians is one of the most
clearly-defined facts of the whole history. All the witnesses agree
upon it. We have just cited Gourgaud’s words, that “at half-past four
General Domont observed a division of 8,000 to 10,000 Prussians
debouching from the woods of Frischenois.”
In strict agreement with which the Prussian official account says.
“It was half-past four o’clock.... The difficulties of the road had
retarded the march of the Prussian columns; so that only two
brigades had arrived at the covered position which was assigned
them. The generals resolved to begin the attack with the troops
which they had at hand.”[35]
And General Drouet, who was at Napoleon’s side during the
action, said, in his speech in the Chamber of Peers on the 24th of
June, 1815,—“The Prussians began to attack us at about half-past
five in the afternoon.”
55. It is quite clear, then, and beyond all dispute, that the Prussians
first began to enter the field of battle, and to be visible to the French
at half-past four in the afternoon; that the Prussian commanders
immediately proceeded to make arrangements for an attack;—and
that their first collision with the French troops took place about half-
past five in the afternoon.
But Napoleon had been forewarned of their approach; for his
flying parties had brought in, he tells us, two or three hours before,
a Prussian hussar who was bearing a letter to the Duke of
Wellington, announcing that General Bulow and his corps were on
their march. Hence Napoleon had already set apart his sixth corps,
under Count Lobau, to receive the Prussians whenever they should
make their appearance.
He introduces at this period many complaints of Marshal Grouchy,
who, he pretends, ought to have followed Bulow’s corps, and have
taken part in the battle of Waterloo. This is the very height of
injustice and absurdity; since he had employed Grouchy distinctly to
follow and occupy the attention of the main body of the Prussian
army; and in obedience to this command the marshal was at that
moment engaged with the Prussian third corps at Wavre. But, on
looking at Napoleon’s first bulletin of the battle, we see that this
aspersion of Grouchy is an afterthought,—a mere device to lessen
his own defeat. Writing at the time, and giving to France a full
account of the battle, in that bulletin not one word of any default of
Grouchy’s appears.
This, of itself, is enough to show the hollowness of the excuse for
the loss of the battle. Grouchy himself, when the “ixth Book” made
its appearance, instantly wrote and published an indignant denial of
its statements; and Brialmont remarks, that “Napoleon has so
expressed himself to make it clear that he was anxious to diminish
the amount of his own responsibility by sacrificing the reputation of
his subordinates. Thus he pretends that he received on the night of
the 17th a letter from Grouchy, which letter never could have
existed.”
56. But Gourgaud himself, Napoleon’s own aide-de-camp, is the best
witness in exculpation of Grouchy. He tells us, that in the afternoon,
hearing the cannonade of Waterloo, General Excelmans urged upon
Grouchy to leave following the Prussians and to march towards the
cannonade. But Grouchy, “though he burnt with desire to take part
in the great battle, showed Excelmans his instructions, which were
to march upon Wavre, and said, that he could not take such a
responsibility on himself.”[36]
It is clear therefore, that up to the
afternoon of the 18th Grouchy had no other orders than those which
bade him follow the Prussians who were in position at Wavre.
Grouchy then, was not at Waterloo, simply because Napoleon had
sent him to Wavre, a town some twelve miles distant; and because
he was there engaged in a struggle with the third Prussian corps.
But the fourth Prussian corps was at Waterloo at five o’clock,
because Blucher had promised to send it there, and because
Wellington expected it; and gave battle with inferior forces, relying
on this assistance. Napoleon ought to have foreseen the probability
of all this,—and, foreseeing it, he ought to have delivered his blows
more rapidly so as to break the English line, if that were possible,
before the Prussians could enter the field. But now that he had
allowed his opportunity to pass, and now that Bulow was actually
beginning to take part in the battle,—what was the respective
strength ranged on either side? This question must be answered; for
Napoleon says, “The enemy’s army had just been augmented by
30,000 men, already ranged on the held of battle; thus placing
120,000 men against 69,000, or two to one.” (p. 148.) And then he
immediately afterwards, adds “It was noon.”
This statement, however, like most of Napoleon’s other
statements, is untrue. The Duke’s army had never amounted to
70,000 men, of whom some 10 or 15,000 were merely nominal
combatants, whom it was impossible to persuade to fight. And
Napoleon wilfully overlooks the plain averment of the Prussian
official account, that when their commanders began the attack,—not
at noon, but some time after half-past four, only two brigades, had
57. arrived on the field. Captain Siborne, who took the greatest pains to
ascertain every fact of the case, states that at half-past four o’clock
the Prussian force which had come up, amounted to 16,000 men;
which, added to the Duke’s army of 68,000, made a joint force of
about 84,000; but, if the non-fighting part of the Duke’s army were
deducted,—of scarcely 70,000. Thus, even with the addition of the
newly-arrived Prussians, the allied force was still numerically weaker
than Napoleon’s army.
This diversion, however, which was caused so opportunely by
Bulow’s arrival, naturally brought great relief to the British line. It
drew off Count Lobau’s corps, the sixth, of 7000 men, which might
otherwise have been sent forward to attack the British centre. The
remark, however, which is sometimes made, that “the English were
saved by arrival of the Prussians,” is singularly absurd. Bulow’s
arrival was not an unexpected thing; or a lucky chance;—it was a
part of the Duke’s plan. He had demanded this aid of Blucher, and
had obtained the promise of it, and without this aid, his acceptance
of battle would have been an act of great temerity. The arrival of the
Prussians, so far from being unexpected, had been calculated on
three hours earlier; Blucher having promised that they should be in
the field by two o’clock.
And sorely had they been needed. The “thin red line” of the British
infantry had scarcely ever found it so difficult to maintain its ground.
At this moment, as we have already remarked, there could not have
been so many as 12,000 of this branch of the Duke’s army left in
position. And yet upon them rested the whole burden of the battle.
Some of the German troops behaved gallantly; but of the mixed
mass of 25,000 Belgians, Hanoverians, Dutchmen, &c., a large
proportion were unable to stand the French attacks. So soon as one
of Napoleon’s columns approached them, they became unsteady,
and often went to the rear. Meanwhile there still stood in front of the
Duke’s right wing, the second corps; and in front of his left wing, the
first corps; and all that were left of Napoleon’s “12,000 select
cavalry” were riding about the British position, as if they were
58. masters of it. This hour, then, or two hours, from five o’clock till
seven, must have been a most anxious one for the British General
and his troops. The commander of one brigade sent to the Duke to
beg for some relief or reinforcement; and the answer he received
was, “Tell him, that what he wishes is impossible. He, and I, and
every man here, must fight till we die on the spot where we stand.”
Some one asked for a general instruction, as to what plan should be
followed if the Duke himself should fall. “My only plan,” said the
Duke, “is to stand my ground here to the last man.” Long after the
battle, he remarked, of this period of the day, “I looked oftener at
my watch than at anything else. I knew that if my troops could keep
their position till night, I must be joined by Blucher before morning;
and we should not have left Bonaparte an army next day. But I was
glad, as one hour of day-light slipped away after another, and our
position was still maintained.” It is scarcely possible for words to
imply more distinctly, that the Duke felt that he was standing his
ground with an inferior force; relying on Blucher’s aid, to enable him
to strike a blow in return.
Meanwhile, as he was constantly calm, so he was ever hopeful
and high-minded. An Italian officer in the French service, being
taken prisoner afterwards described the dismay he felt, on observing
the quietness of the Duke’s demeanour, and the calmness of his
countenance; which forced him to think that he must have some
concealed reserve, of which the French generals knew nothing. His
brief remarks, too, were always cheerful and reassuring. A young
Piedmontese officer made himself useful, in carrying orders. “Were
you ever in a battle before?” asked the Duke. “No, my lord.” “Then
you are a lucky fellow, for you will never see such another!” was the
rejoinder. At another time, encouraging the 95th regiment, expecting
a charge of cavalry, he said, “Stand fast! 95th, we musn’t be beat;
what would they say in England!” Shortly after, when the French
cavalry came on with threatening aspect, he said, “Never mind, we’ll
win this battle yet!” To a regiment exposed to a brisk cannonade, he
remarked, “Hard pounding this! let’s see who’ll pound longest!”
Often he was evidently the object of the enemy’s aim, and a tree
59. under which he sometimes took his stand, was repeatedly struck.
“That’s good practice,” said the Duke; “I think they fire better than in
Spain.” But, as we have said, he was ever high-minded; and when
an officer of artillery came to the Duke to tell him, that he had a
clear view of Napoleon, and had several guns pointed in that
direction, the Duke exclaimed, “No! I’ll not allow it. It is not the
business of commanders to be firing upon one another!”
At half-past five, according to Count Drouet, the Prussians first
came into collision with the sixth corps, which, with Domont’s
cavalry, had been placed on Napoleon’s right wing, specially to give
these new comers a warm reception. The contest soon became an
earnest one on this side; Planchenoit, in the rear of Napoleon’s right
centre, was taken, and retaken, and he felt obliged to send some
battalions of the Young Guard to strengthen Count Lobau. In this
new struggle an hour or more passed, and seven o’clock, the last
hour of the day drew on.
Here Gourgaud stops to claim a triumph. He says, “65 to 68,000
French troops had beaten 115,000 English, Prussians, &c.” But then
he adds, “The Emperor was of opinion that this was the moment for
making a decisive attack, and determining the fate of the day.” So
that, although the English and Prussians are assumed to be beaten,
the “fate of the day” remains “to be determined.”
In fact, not one single step in retreat had the English army yet
taken. About six o’clock, indeed, the farm-house of La Haye Sainte
was abandoned by its English defenders, simply because their
ammunition was expended, and without ammunition they could not
defend the place. This was the one solitary advantage gained by the
French in the whole day; and even this was not wrested by them
from the English; the post was evacuated by the latter for the
reason we have stated. And La Haye Sainte, it should be
remembered, was about 200 yards in advance of the British line. It
was an outpost, and not a part of the main line. Its capture at an
earlier period might have seriously endangered the Duke’s centre;
60. but at this late hour Napoleon had but one card left to play, and in
playing it the possession of La Haye Sainte did not greatly aid him.
Up to seven o’clock, then, this one poor outpost was the only foot
of ground gained by the French, in compensation for what Ney calls
“the most frightful carnage that I have ever witnessed.” He is not
here speaking of the defeat of the Imperial Guard, but of what
preceded it. He had led, at one o’clock, the attack by D’Erlon’s corps
on the centre and left of the English position, and at three o’clock he
had sent the heavy cavalry in among the British battalions. It is of
these two attacks that Ney is speaking, and of the manner in which
they were repulsed; and this veteran soldier, after witnessing
Borodino, Leipsic, and twenty other fields of slaughter, describes the
defeat of the first corps, and the destruction of the cavalry, as a
“carnage” the like of which he had never before beheld.
“The Emperor,” says Gourgaud, “was now of opinion that the
moment was come for making a decisive attack, and determining the
fate of the day.” Yes, the moment was come; for, if the matter had
been left as it stood, Napoleon’s overthrow on the following morning
would have been made certain. “I knew,” said the Duke, long after,
“that if my troops could keep their position till night, I must be
joined by Blucher before morning, and we should not have left
Bonaparte an army next day.” To keep the English and Prussian
armies apart had been Napoleon’s chief endeavour, but the sagacity
and military talent of the two Generals had defeated this purpose.
The French army had only crossed the frontier on the 15th, and
here, on the 18th, were the two allied armies already uniting on the
same battle-field. When, therefore, Gourgaud tells us, in lofty and
decorous language, that “the Emperor was of opinion that this was
the moment for making a decisive attack, and determining the fate
of the day,” the real meaning of these dignified phrases is, that
Napoleon saw that one chance only remained to him, and that he
must break the British line by the whole force of the Imperial Guard,
or retire from the field a discomfited commander; to sustain in his
turn an attack from the united armies the very next day. His
61. strongest army-corps, the first and second, had both been cut up
and crippled; his splendid cavalry were at that moment being
“massacred” by the English grapeshot and musket-firing; and the
only weapon of power that remained to him was this noble body of
men, who had triumphed in fifty battles—his invincible phalanx, the
Imperial Guard. At seven o’clock, therefore, or about that hour, he
turned to this, his last resource, and ordered to the front this chosen
and favourite arm, the right employment of which had given him so
many victories.
SEVEN O’CLOCK.
It is not easy, amidst the various and contradictory accounts of the
different French historians, to ascertain with exactness the real force
employed in this attack. The Young Guard, under General Duhesme,
had been partly employed in the defence of Planchenoit. The Old
Guard, and the Middle Guard, had not up to this period of the battle
drawn a trigger. Their strength is stated by Gourgaud to have been
on this day 4400 and 4200, or, united, 8600 men.[37]
This force far
exceeded any strength which the Duke could bring to bear upon any
given point. In fact the two brigades of General Maitland and
General Adam had to sustain this attack. The first, consisting of two
battalions of Foot-guards, had marched forth two days before 1997
strong. On the evening of Waterloo it numbered only 1027; and
doubtless, when this attack of the Imperial Guard came, it had not
more than 1100 or 1150 bayonets. The other, General Adam’s
brigade, consisting of the 52nd, 71st, and 95th regiments, had been
2621 strong, but it was now reduced to about 2000. Such was the
force on either side which was now to engage in the last terrible
encounter of this great contest.
But, while he was preparing for what he hoped would be the
decisive blow, Napoleon sent orders to both his wings to prepare for
a renewed attack, simultaneously, on Hougoumont and on the
British left and centre. The chateau defended itself bravely and
successfully, as it had done throughout the day. But the possession
62. of La Haye Sainte gave the first corps of the French army great
advantages, and the pressure on the British line at this point became
fearfully severe. A German battalion was cut up by a charge of
French cuirassiers: a body of Brunswick infantry, which the Duke had
moved up to strengthen the line, gave way, and retired about 100
paces, and it required all the Duke’s personal exertions to bring them
to reform and stand their ground. The Prince of Orange had been
wounded, and the Nassau troops under his command were with
great difficulty induced to keep their ground. The British line had
never been in so much danger of being broken as at this moment.
But scarcely an hour of the day now remained, and the contest
which was just taking place on the right centre was to be decisive of
the fate of the day.
The grand attack of the Imperial Guard, to which Napoleon looked
to decide the fate of his empire, was now beginning. Captain Siborne
states the two columns of attack to have consisted of ten battalions,
besides two battalions left as a reserve. If these battalions consisted
of 600 men each, they would amount to 6000; but if of 720 men
each, they would amount, on the whole, to 7200 men, and these
were unquestionably the first soldiers in France.
These columns were formed in front of La Belle Alliance, and
began their advance with that kind of mismanagement which had
marked many of the movements of the French leaders throughout
the day; they did not advance simultaneously, but the first column
preceded the second, although the two took different courses.
Neither did they assail that part of the Duke’s line which was the
weakest, but threw themselves upon two brigades of the British
infantry.
Of the two columns,—one of which skirted the enclosures of
Hougoumont, and aimed at the right of the British line, while the
other made its onset nearer to the centre,—the latter gained the
precedence. As it descended into the valley, and allowed the French
artillery on the heights behind an opportunity for action, the whole
of these guns opened fire with a rapidity and weight which had not
63. been experienced before throughout the day. Wherever a regiment
was visible in the British line, there the round-shot and howitzer
shells rained death upon it. But by degrees the attacking columns
passed through the hollow ground, and began to ascend the
opposite heights. Now they became visible to the British artillery,
and the cannon-shot plunged into their masses with tremendous
effect. The horse of Marshal Ney was killed; General Friant was
wounded, and General Michel was killed. On the fall of the latter, a
battalion of grenadiers came to a halt; but another General
succeeded in inspiring it with new courage. The column moved
forward, sorely shaken by its losses; but at last it crowned the
height, and to its astonishment saw nothing before it but a small
battery of field-pieces, and a few mounted officers in the rear. But
one of these was the Duke, and the next moment the word of
command was heard, “Up, Guards, and at them!” The British
Guards, who had been ordered to lie down, sprang to their feet, in a
compact line of four deep, and in a few seconds, a volley was heard,
and then another, and a third; and in the first minute 300 of the
attacking column fell. The French officers rushed to the front, and
called upon the men to deploy into line. Lord Saltoun exclaimed to
the English Guards, “Now’s your time, my boys!”—and the Duke
exclaimed, “Charge!” The brigade sprang forward, with a cheer, to
the charge. All was disorder in the French ranks. Many flung down
their arms and knapsacks and dispersed; the mass, in dire
confusion, rushed down the slope, with the English Guards in full
pursuit.
But the English were instantly called back, for now appeared in
sight the second column, which, shrinking from the fire of the
batteries which had so crushed the first, diverged to the right, and
by this mistaken move, presented its flank to General Adam’s
brigade. The brigade of Guards was formed in its front, while the
52nd and 71st regiments were on its flank. The three regiments
poured such a fire into the mass, that it melted like snow in the
sunshine. Soon was repeated the order, “Charge!” and the two
brigades assailing the devoted column at once in its front and on its
64. flank, swept it from the field. In a few moments the hollow ground
was crowded with fugitives; Napoleon’s last stake was lost; the
battle of Waterloo was, practically, ended.
Of this terrible conflict, Lamartine rapidly sketches the progress, in
a few glowing lines,—a summary of various French narratives:
“These 6000 grenadiers advanced with shouldered arms, amidst
cries of ‘Vive l’Empereur!’ Wellington awaited them with forty pieces
of cannon, with the matches lighted. As they ascended and
approached, the battery fired a volley point-blank into the advancing
mass, which, as the smoke arose, was seen to waver for a moment;
then to close up and advance as compact as ever. On a second
discharge the same oscillation took place, the same closing up. On
the third discharge the English saw the column reduced to a block of
men, decimated by grape-shot:—two of the battalions had been
struck down, the other two hesitated, and recoiled to seek another
means of access to these impregnable heights. Napoleon turned
pale, and at length doubted of victory.”
This may be said to be the language of a florid writer, depicting
the event long after its occurrence. But Count Drouet, who
witnessed the whole scene, thus described it in the Chamber of
Peers, just six days after the battle:—
“The (first) four battalions of the Guard, when they arrived on the
plateau, were received by the most terrible fire of musquetry and
grape. The great number of wounded men who separate from the
column, cause it to be believed that the Guard is routed. A panic
terror communicates itself to the neighbouring (or second) column,
which precipitately takes flight.”
Count Drouet, witnessing the repulse of both the columns, from
the height behind, might suppose that the dispersal of the second
arose from panic; but in so thinking, he did injustice to his
countrymen. The second column came into action as gallantly us the
first; but, although it was the stronger of the two, it had to contend
with two English brigades instead of one; and its chance of success
65. was therefore proportionally smaller. Clearly, it was bad generalship
to send the two columns, one after the other, to be beaten
separately. Had they reached the British position at the same
moment, they would have brought against the two British brigades a
force outnumbering them by two to one. Gourgaud thus describes
the fate of this second column: “The eight battalions of the Guard
which were in the centre, after having withstood for a long time all
the attacks of the enemy, and contended for every foot of ground,
were at last completely disorganized by the mass of the fugitives,
and overwhelmed by the numbers of the enemy.”
With the failure of this, his last attack, Napoleon’s hopes, and his
empire, ended. His fall, when it came at last, proved a crash which
left nothing for destruction to do. At the moment when the Imperial
Guards were sent back in confusion, the Prussians under Marshal
Blucher had come into action. His cavalry had supported the English
left, and two brigades of English cavalry, which guarded the extreme
left of the Duke’s position, had been released from this duty, and
had moved to the support of the British centre. And now, the
Prussian infantry of the first corps, commanded by General Zieten,
rushed upon the villages of La Haye and Smohain, and instantly
carried them at the bayonet’s point. A third column renewed the
attack on Planchenoit, which was almost in the centre of the French
position. The moment was come for a general advance, and the
Duke, with that wonderful perception which distinguished his whole
career, instantly seized it. He himself describes this critical moment,
in the account written the very next day. He says:—
“Having observed that the troops (Imperial Guard) retired from
this attack in great confusion, and that the march of the Prussians
on Planchenoit had begun to take effect, I determined to attack the
enemy, and immediately advanced the whole line of infantry,
supported by the cavalry and artillery.”
An eye-witness thus described the scene at the time, “The Duke,
who had been attentively observing what was passing in the French
66. and Prussian armies, suddenly shut up his telescope, and exclaimed
to the officers near him, ‘Now, every man must advance!’”
Long had this order been eagerly expected. The British troops had
stood for more than eight hours under a terrible fire. They had seen
more than one-fourth of their numbers struck down by cannon-shot,
and they longed for one final struggle, which should end the whole
contest. The order flew to the right and to the left, and loud were
the shouts with which it was received. Everywhere the lines of
infantry were formed, the cavalry mounted and rode on, and a scene
of triumph and exultation commenced, of which none who witnessed
it could ever lose the memory.
We have observed, a few sentences back, that only half an hour
before, two brigades of light cavalry, Vivian’s and Vandeleur’s, had
been moved from the extreme left of the English line, and brought
nearer to the centre. These six regiments, numbering about 2000
sabres, were now of the greatest possible service, in driving before
them the broken and scattered French. They charged and dispersed
various bodies of cavalry which attempted to form and make a
stand, and continued pressing upon the fugitives of the infantry till
the whole mass of Napoleon’s army melted into a chaotic crowd. And
now were seen, on all sides, “unfurled colours raised aloft, bands
striking up, the soldiers cheering tumultuously, as, with one
simultaneous movement, they quitted the height on which they had
so long stood, and descended joyfully into the plain, over which the
French, on all sides, were now retreating in disorder.”
Their great commander himself was naturally among the foremost
in this magnificent advance. Napier says, “The Duke, who was
stationed on the left of the guns and the right of the Guards, gave
the order to advance, and like lightning rode to the rear, and brought
up the light cavalry, cheering them on, with his hat off—his cheers
most cordially echoed by my brave fellows and myself.” He rode in
front of Adam’s brigade, cheering it forward, speaking joyously to
the men, and receiving their hearty shouts of congratulation. At last
one of his staff ventured to hint to him that they were getting into
67. the enemy’s lines, and that his life ought not to be thrown away.
“Never mind,” was the reply, “the battle’s won, and my life is of no
consequence now.”
Down the slope of their own heights, across the valley, up the face
of the enemy’s hill, marched the British line triumphantly. Here and
there a remnant of a French battalion or squadron offered a brief
resistance; but the cry of “Sauve qui peut!” had been heard, and the
French knew that the battle was lost, and that the Prussians were
already in their rear. Hence Fleury de Chaboulon, Napoleon’s own
secretary, thus describes the close:—
“Wellington did not allow our grenadiers time to recollect
themselves. He caused them to be attacked in flank by his cavalry,
and compelled them to retire in the greatest disorder. At the same
moment the Prussians carried the village of La Haye; and our
cavalry, our infantry, already staggered by the defeat of the Guard,
were afraid of being cut off, and precipitately retreated. The other
troops of the right, seeing some of our squadrons pell-mell, and
some of the Guards running away, thought all was lost, and quitted
their position. This contagious movement was communicated in an
instant to the left, and the whole army abandoned its strongest
posts as eagerly as they had previously assailed them. Soon the
whole army was nothing but a confused crowd, which the English
and Prussians routed without effort, and massacred without pity.”[38]
“Napoleon,” says Lamartine, “saw that army which a few hours
before was his only hope, now returning in broken fragments, and
exclaimed, ‘All is lost!’ For a moment he contemplated the disastrous
scene, turned pale, stammered, and shed some tears, the first he
had ever shed upon a field of battle.”
On marched the English, seized at every step the artillery which
had so long poured its iron hail upon them, and driving before them
the crowds of dismayed and disordered French. Up the heights on
which Napoleon and his army had stood, they now exultingly
pressed, and here the two Generals met, with mutual
68. congratulations. Marshal Blucher had well performed his part,
though the state of the roads had hindered his arrival until the very
close of the battle. In less than an hour he had driven in the whole
right wing of the French army, and now reached the very centre of
Napoleon’s position, at the same moment when the Duke had
penetrated to the same point with his attack in front. After a few
moments of hearty rejoicing, the English commander gladly resigned
to the Prussian, the remaining duty of a vigorous pursuit. The British
troops, after a long day’s work, were physically unable to chase their
enemies far. The Prussian General, therefore, to quote their own
accounts, assembled his officers, and gave orders to send the last
horse and the last man in pursuit of the enemy.”
Well and earnestly was this duty performed. All night long were
the wretched French pursued. Nine times did they attempt to halt for
rest, and nine times was the Prussian drum heard, and the flight was
again to be resumed. A French officer[39]
thus describes the scene:—
“Near one of the hedges of Hougoumont, without even a drummer
to beat the rappel, we succeeded in rallying 300 men; these were
nearly all that remained of our splendid division. Thither came also a
band of Generals. Here was Reille,[40]
D’Erlon, Bachelor, Foy, and
others. All were gloomy and sorrowful. They said, one to another,
‘Here is all that is left of my corps,—of my division,—of my brigade!
—I myself!’
“The enemy’s horse approached, and we were obliged to retreat.
The movements of the English cavalry had demoralized our soldiers,
who, seeing all regular retreat cut off, strove each man to save
himself. Infantry, cavalry, artillery, all jammed together, were
pressing along pell-mell. Figure to yourself 40,000 men all struggling
along a single causeway. We could not take that way, so we struck
across the fields. We were humiliated, we were hopeless; we walked
like a troop of mourners.
“We passed through Thuin, and finding a little copse, we gladly
sought its shelter. While our horses grazed, we lay down and slept.
69. We rested in the little copse till noon, and sat watching the wrecks of
our army defile along the road. It was a soul-harrowing sight!
“We drew near to Beaumont, when suddenly a regiment of horse
was seen debouching from a wood on our left. The column that we
followed cried out, ‘The Prussians! the Prussians!’ and hurried off in
utter disorder.
“I was trying to return to General Foy, when another horde of
fugitives burst into Beaumont, swept me into the current of their
flight, and hurried me out of the town with them. I reached
Landrecy, though I know not how or when.”
Such is the description given by one of the fugitives, and it exactly
corresponds with the official report of the Prussian General,
Gneisenau, who says, “The French army, pursued without
intermission, was absolutely disorganized. The highway presented
the appearance of an immense shipwreck; it was covered with an
innumerable quantity of cannon, caissons, baggage, arms, and
goods of every kind. As soon as the enemy heard the sound of our
drums, they fled, while the moonlight favoured the pursuit, for the
whole march was a continued chase, whether in the corn-fields or in
the houses.”
“At three o’clock Napoleon had despatched a courier to Paris with
the news that victory was certain: a few hours afterwards he had no
longer an army.”
The French accounts, Gourgaud’s, Napoleon’s, &c., written long
after, endeavour to diminish the defeat by representing that within a
week as many us 60 or 65,000 men were re-assembled at Laon.
Some one attempted to make a representation of this sort in the
French Chamber of Peers, on the 24th of June; when Marshal Ney
rose in his place, and declared all such accounts to be deceptive. “It
is a mere illusion to suppose that 60,000 men can be collected.
Marshal Grouchy,” said he, “cannot have more than 20,000, or
25,000 at the most.”
70. Fortunately, however, the question is set at rest by Fleury de
Chaboulon, Napoleon’s secretary, who describes very vividly what
followed immediately after the battle. He tells us, how, in his flight,
on meeting Maret, “the Emperor could not repress his emotion; a
large tear, escaping from his eyes, betrayed the efforts of his soul.”
Again he says, “The Emperor stopped beyond Rocroi to take some
refreshment. We were all in a pitiable state: our eyes swelled with
tears, our countenances haggard, our clothes covered with dust or
blood.” And, on arriving at Paris, when one of his ministers spoke of
the army, Napoleon exclaimed, “I have no longer an army! I have
nothing but fugitives!”[41]
It was this absolute destruction of the French army which made
Waterloo one of the greatest and most important of all victories.
Thus, Jules Maurel, a French historian, says:—
“From a comparison of all the documents, it appears, that
Bonaparte was already beaten when the mass of the Prussian army
appeared on the field; but the arrival of Bulow had powerfully
assisted the British, and the arrival of Blucher changed the defeat
into an unparalleled disaster.”
Lamartine, another Frenchman, adds:—
“This defeat left nothing undecided,—nothing for the future to do.
Victory had given judgment: the war began and ended in a single
battle.”
But let us return for a moment to the great victor of the day. At a
road-side house, near Rossomme, he left Blucher, who gladly
undertook the pursuit, and after twelve hours of constant exertion,
he turned his charger’s head once more towards Mont St. Jean and
Waterloo. Darkness now shrouded a thousand scenes of horror, over
which it had been useless to pause. At his quarters the Duke found
assembled the survivors of his staff, the representatives of the allied
powers, and a few other friends. All sorely needed rest and food,
and the meal was ready. On leaving his quarters in the morning, he
71. had desired his domestics to have dinner ready to place on the table
“whenever it might be wanted” and his cook excited amusement by
the confidence with which he asserted, that “his master had ordered
dinner, and would certainly return to eat it.” But the thoughts which
would throng into the conqueror’s mind, at that moment, must have
been such as few men have ever experienced.
The foremost considerations with the Duke of Wellington always
were, his country, and his duty. But besides these there was a
personal question, little spoken of by him, but which could not be
excluded from his thoughts.
“I go to measure myself with Wellington,” exclaimed Napoleon,
when he flung himself into his carriage, only a few days before, to
join his army on the Belgian frontier. The Duke spoke not of such
matters, but he could not possibly forget that the muse of history
was waiting all that day, to know which of the two great names was
to take the highest place among the many able commanders of the
nineteenth century. The one had defeated, in turn, nearly every
general in Europe, except Wellington. The other had triumphed over
almost all the Marshals of France, but had not yet confronted
Napoleon.
Captain Moyle Sherer thus writes:—
“Upon the night of that memorable battle, the words and emotions
of the conqueror will long be remembered by those who sat with
him at supper, after the anxious and awful day had closed. The
fountain of a great heart lies deep, and the self-government of a
calm mind permits no tears. But, this night, Wellington repeatedly
leaned back in his chair, and rubbing his hands convulsively,
exclaimed, “Thank God! I have met him: Thank God! I have met
him.”[42]
And, ever as he spoke, the smile that lighted up his eye was
dimmed by those few tears that gush warm from a grateful heart.
“His many and deep anxieties; his noble desire to defeat his
country’s implacable enemy; his rational doubts of success against
72. so great a general;—these and many other fears and hopes,
undisclosed to any one, all were now resolved and dissipated by a
result more sudden, full, and glorious than any expectation he could
have formed, or any hope he could have admitted. England was
placed on the very pinnacle of glory; her foe was prostrate, his
legions fugitives, and her general might joyfully look around and say,
‘This work was mine!’”
But after necessary food, and the writing of despatches and
letters, came such rest as the excited mind and body could take. The
Duke threw himself, unwashed but exhausted, on his bed long after
midnight. He had desired Dr. Hume to bring him the report of the
surgeons at seven in the morning. The doctor was punctual, but the
claims of nature were not satisfied, the Duke’s sleep was still sound.
Knowing that, with him, duty was paramount to all other
considerations, the doctor at once awakened him. The list was
produced, and the doctor began to read; but as name after name
came forth—this one as dying, that as dead—the voice failed, and
Hume, looking up, perceived the tears rapidly chasing each other
down the victor’s blackened cheeks;—he laid down the list and
instantly left the apartment.
The British loss was indeed great. Of the Duke’s staff twelve were
killed and forty-six wounded. The number of British officers killed
and wounded in these three days exceeded 700, and of privates it
was more than 10,000, so that about every third man in the British
ranks had been struck down in this terrible battle. The loss of Dutch,
Hanoverians, &c., had been 7,000; and that of the Prussians
exceeded 6,000. As to the French, their loss in killed and wounded
never could be ascertained; but it is certain that of 150,000 men
who crossed the frontiers, not 50,000 were ever re-assembled under
their colours.
The utter loss of his army sent Napoleon back to Paris. But the
news of his total defeat arrived along with him. His fame, his “glory,”
and his power perished together. The Chambers rose in rebellion
against him; and his abdication was demanded. The English and
73. Prussian armies, meanwhile, rapidly advanced; and on their arrival
before Paris the city capitulated; the King returned to his palace; and
Napoleon gave himself up to the Captain of an English ship of war.
On the 15th of June one of the finest armies that he had ever led
into the field entered Belgium to take advantage of the Duke of
Wellington’s unprepared state;—on the 3rd of July, just fifteen days
after, Paris itself capitulated! Such were the vast results of Waterloo.
Napoleon, indeed, had been in some peril, for the Prussian general
showed a particular anxiety to get hold of him, in order that he
might hang him! The Duke had no fondness for him,—always
designating him in his despatches, merely as “Bonaparte;” but the
old Prussian field-marshal, remembering the cruel treatment of his
country by the French in 1807, felt, and constantly expressed,
sentiments of positive hatred. The Duke, however, with that loftiness
of aim and of feeling which had forbidden his officers to fire upon
Napoleon during the action, firmly resisted Blucher’s desires on this
point. General Muffling, the Prussian commissioner, tells us, that the
Duke said to him, “I wish my friend and colleague to see this matter
in the light I do: such an act would give our names to history stained
with a crime; and posterity would say of us, “They were not worthy
to be his conquerors; the more so, as such a deed would be useless,
and can have no object.”
In the same tone the Duke wrote to Sir Charles Stuart, telling him,
“I said, that as a private friend, I advised him to have nothing to do
with so foul a transaction; that he and I had acted too distinguished
parts in these transactions to become executioners; and that I was
determined that if the Sovereign put him to death, they should
appoint an executioner, which should not be me.”
In a similar spirit, the Duke succeeded in preventing the Prussians
from executing other plans of vengeance, such us the blowing up
the bridge of Jena, pulling down the column of Austerlitz, and the
like. In fact, had the old marshal been alone in these transactions,
he would gladly have indulged his troops with the plunder of Paris.
74. Indeed, such an utter overthrow as France had received, and that
in the course of a few days, was hardly to be paralleled in history.
Sufficient stress has seldom been laid upon that wonderful working
of the Divine Providence by which this great contest, expected by all
men to be so long, so desperate, and so sanguinary, was suddenly
brought to a close on the fourth day after its commencement. All the
great powers of Europe had agreed upon a united effort. They had
pledged their faith to one another to place 600,000 men on the soil
of France in July, 1815.
All at once, in the middle of June, while the bulk of these armies
were moving up from Poland, Bohemia, Hungary, and other distant
lands, they hear that the war is begun. And in four days after, they
hear that it is finished! Such is not the ordinary course of human
history.
All, however, is easily accounted for. Napoleon saw in England the
most resolute, consistent, and indomitable of his foes, and in
England’s Great General, the only Captain whom he could hold in no
light esteem. He said, and not unwisely, “If the Anglo-Belgian army
had been destroyed at Waterloo, what service could the Allies derive
from the number of armies which were preparing to cross the Rhine,
the Alps, and the Pyrenees?”[43]
And acting upon this sound view of the case, and knowing that
one or two more weeks would elapse before Wellington could have
his veteran battalions around him, he resolved to throw himself like
an avalanche upon the Duke’s army in its unreadiness; in the hope
that a campaign beginning with a defeat of this his chief opponent
would alarm England, terrify the other powers, and so make peace,
with his continued retention of the throne of France, attainable.
This plan was a sagacious as well as a bold one. It grappled at
once with the grand difficulty of the case. But the difficulty, when
grappled with, overmastered him. Still, the peculiar characteristics of
this momentous struggle deserves to be carefully remarked. A
judicious writer has well observed, that:—
75. “Waterloo seemed to bear the features of a grand, immediate
interposition of Providence. Had human judgments been consulted,
they would have drawn a different plan. The Prussians would have
joined the English and have swept the enemy before them; or, the
British would have been in force enough to have beaten the French
long before the set of sun, &c., &c. But if the French had suffered a
common defeat, with consummate generals at their head they would
have rallied; or, retiring in force, would have called in all available
aids, and have renewed the struggle. So the conflict held on till the
last moment, when they could neither escape nor conquer. If they
had retreated an hour before nightfall they might have been saved;
if they could have fought an hour after it, darkness would have
covered them. But the crash came on the very edge of darkness.
The Prussians came up unfatigued by battle and fresh for pursuit.
The night was to be a night of slaughter. ‘Thou, moon, in the valley
of Ajalon.’”
Such was one of the grand events of modern history,—the victory
which gave all Europe peace for forty years. Ascribing, as we most
unreservedly do, the whole ordering of this momentous struggle to
an overruling Providence, it still seems a duty to add a few words on
the respective merits, or demerits, connected with this tremendous
contest, of the two great commanders, who for the first and last
time met at Waterloo. Let us first glance at the great deeds
achieved, and the great mistakes committed, by Napoleon in the
course of these three eventful days.
He carried his magnificent army over the frontier, and threw it
upon the allied armies in a manner exhibiting the most consummate
skill. Twenty years spent in the practice of war had given him an
expertness in the handling of large bodies of troops which few
generals have ever possessed. He showed also on the 16th that he
was a better general than Blucher, and that his army was a better
army than that of the Prussians. But here our commendation must
close; for a variety of faults and errors have been pointed out by
military critics, of which we shall only mention a few of the chief.
76. Napoleon was guilty of two great miscalculations, and of three
important practical mistakes. These were:—
1. He rashly and erroneously assumed that his appearance in
Belgium at the head of a fine army would force his opponents,
Wellington and Blucher, out of mere awe and terror, to fall back, to
evacuate the country, and so to give him a triumph at the opening of
the campaign. In his ixth Book he seriously argues that they ought
to have done so: but this was a strange miscalculation. When had
either Wellington or Blucher showed any alacrity in running away?
And what right had he to assume that a force amounting, when
united, to nearly 200,000 men, would act as if terror-stricken, on the
mere appearance of a French army of only 150,000? Yet he
constantly tells us that they ought to have retreated, and that his
calculations always rested on the presumption that they certainly
would retreat.
2. In like manner was he disappointed when he sent Grouchy with
35,000 or 40,000 men, to occupy and keep employed the whole
Prussian army. Again did he absurdly overlook the real character of
Blucher, who was not one to be easily duped. Napoleon might
speculate, if he pleased, on the chance of keeping Blucher at Wavre
while he was overpowering and crushing Wellington at Waterloo; but
Blucher was equally at liberty to despise all such devices, and to
leave Napoleon’s lieutenant in order to seek for Napoleon himself.
This was what actually took place, and hence we see that again
Napoleon is exposed to the imputation of having fatally
miscalculated.
3. But as in his plans there were these two errors, so in actual
execution we meet with three egregious faults. Having found
Wellington with his weak army apart from Blucher, why did he allow
several hours to elapse before he seized the opportunity for which
he had been hoping? He speaks of the softened state of the ground
after several hours’ rain. But, as we have seen, when Grouchy
advances the same excuse for inaction at Wavre, he styles it
“ridiculous!” and who can say that the movements which he actually
77. made at eleven o’clock, could not have been made at ten, or even at
nine o’clock? Meanwhile, although Napoleon was waiting, the
Prussians were marching. They found the task difficult, while he
deemed it impossible. In earlier days he would have replied that
“there was no such word in his vocabulary.”
4. Again, to what strange hallucination was it owing, that, all
through the day, attacks which might have been made
simultaneously were only discharged in succession? Thus, at three or
four o’clock, he sorely tried the nerve and pluck of the English
infantry by pouring in upon them “twelve thousand select horse.” It
took them three hours to kill or drive away these formidable
intruders. And then, when the French cavalry had been destroyed,
Napoleon next attacked the English line with six or eight thousand of
his Imperial Guard. But what prevented his moving this formidable
column up the heights of Mont St. Jean, while the cuirassiers were
already in possession of the plateau? They had seized or silenced
the English artillery; they had compelled the infantry to throw
themselves into squares. If a mass of the finest infantry in France
had then been thrown upon the British centre, how fearful would
have been the trial? But Napoleon still delayed. He sent on his
cavalry, unsupported by any infantry; and then, when the cavalry
had been “massacred,” he sent on a column of infantry, unsupported
by any cavalry. Will the greatest admirer of his genius hesitate to
admit that his practical generalship, his excellence as a leader in
battle, was not conspicuous at Waterloo? Yet, wherefore was he less
vigorous, less audacious at Waterloo, than at Austerlitz or Jena? He
was still in the very prime of life. Must we suppose that the toils and
troubles and disappointments of 1812–1814 had prematurely worn
out his mind; and that he was already, at only forty-six years of age,
mentally decrepit?
5. The most singular exhibition of defect in generalship, however,
and of blindness to that defect, is seen in this,—that he could not
lose a battle without utterly losing his army also!
78. The general who can bear a defeat well, and can carry off his
army with only a moderate loss, is entitled to take a high rank
amongst commanders. He who cannot do this is only a fair-weather
general.
The Prussian commander was attacked on the 16th before his
army was all assembled. He placed his men badly,—so badly that
Wellington predicted their certain defeat. Yet, when that defeat fell
upon him, he rallied his army at a distance of a quarter of a league,
and was ready and eager to fight another battle on the second day
after. It was this unconquerability which made Blucher one of the
most formidable antagonists of his time.
But let us turn to Napoleon. He invites us to do this, by the
pertinacity with which he assails Wellington on this very point. Again
and again he brings the charge vehemently against him, that at
Waterloo he had made no provision for a retreat. Thus, in Book ix, p.
124, he says:—
“He had in his rear the defiles of the forest of Soignes, so that, if
beaten, retreat was impossible.”
And again, at p. 158—
“The enemy must have seen with affright how many difficulties
the field of battle he had chosen was about to throw in the way of
his retreat.”
And again, at p. 207—
“The position of Mont St. Jean was ill-chosen. The first requisite of
a field of battle, is, to have no defiles in its rear. The injudicious
choice of his field of battle, rendered all retreat impossible.”
Thus Napoleon challenges our criticism on this very point. All
military authorities are agreed that he was wrong in his censure on
Wellington. It is conceded even by Frenchmen like Lamartine, that
the forest of Soignes, instead of being a source of peril, was an
element of safety. But he who assails his rival on this especial point,
79. Welcome to Our Bookstore - The Ultimate Destination for Book Lovers
Are you passionate about books and eager to explore new worlds of
knowledge? At our website, we offer a vast collection of books that
cater to every interest and age group. From classic literature to
specialized publications, self-help books, and children’s stories, we
have it all! Each book is a gateway to new adventures, helping you
expand your knowledge and nourish your soul
Experience Convenient and Enjoyable Book Shopping Our website is more
than just an online bookstore—it’s a bridge connecting readers to the
timeless values of culture and wisdom. With a sleek and user-friendly
interface and a smart search system, you can find your favorite books
quickly and easily. Enjoy special promotions, fast home delivery, and
a seamless shopping experience that saves you time and enhances your
love for reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!
ebookgate.com