2010 г.
From the very start of when I got involved in computing, there’s been
the desire to have software systems designed as components that can be freely com-
bined. The wide-scale connectivity of the Inteet fueled this desire, and added the
desire to have components operate over networks that introduce issues of latency
and unknown reliability. In this world many systems have been tried, and many
have failed—usually with a whimper.
A great example of success is the World Wide Web. Its success has penetrated both
business operations and popular culture. It provides opportunities for people to pull
together information from many sources, with hardly any prearranged collaboration—
and at a global scale.
The Web, as we currently know it, isn’t the be-all and end-all of computing, but many
people believe it offers an important lesson on how to construct systems of networked
components. Many people take advantage of its protocol, HTTP, to connect systems.
But some people think we should go further, using HTTP not as a convenient tunnel,
but to embrace the way the Web works as a foundation for systems collaboration.
This thinking gathers together under the name of REST. It refers to Roy Fielding’s
PhD thesis, which is far more often referred to than it is read. There is a growing
notion that following the principles of REST offers a fruitful path to making networked
components work, one that is built upon the success of the Web itself.
That vision is attractive, but there is much to be done to reach it. We have to take the
principles of REST and see how to apply them to the everyday problems of systems
integration. This is the task the authors of this book have taken on: to take REST from
an attractive vision to implemented systems. They’ve done much to teach me about
thinking in resources, how to use HTTP idioms, and the importance of hypermedia
controls. As a result, this book will give you a thorough grounding in applying the core
elements of RESTful thinking.
As we all should know, REST is not the answer to all questions. There are many situa-
tions where a REST approach is an appropriate approach, but many where it is not. As
it’s early days in using this style for integration problems, we are still feeling our way
around these boundaries. But in order to explore these boundaries properly, it’s vital
to have a proper understanding of what REST is about. Without that, you run the risk
of trying pseudo-REST and drawing the wrong conclusions. This book can help you
avoid that fate.
From the very start of when I got involved in computing, there’s been
the desire to have software systems designed as components that can be freely com-
bined. The wide-scale connectivity of the Inteet fueled this desire, and added the
desire to have components operate over networks that introduce issues of latency
and unknown reliability. In this world many systems have been tried, and many
have failed—usually with a whimper.
A great example of success is the World Wide Web. Its success has penetrated both
business operations and popular culture. It provides opportunities for people to pull
together information from many sources, with hardly any prearranged collaboration—
and at a global scale.
The Web, as we currently know it, isn’t the be-all and end-all of computing, but many
people believe it offers an important lesson on how to construct systems of networked
components. Many people take advantage of its protocol, HTTP, to connect systems.
But some people think we should go further, using HTTP not as a convenient tunnel,
but to embrace the way the Web works as a foundation for systems collaboration.
This thinking gathers together under the name of REST. It refers to Roy Fielding’s
PhD thesis, which is far more often referred to than it is read. There is a growing
notion that following the principles of REST offers a fruitful path to making networked
components work, one that is built upon the success of the Web itself.
That vision is attractive, but there is much to be done to reach it. We have to take the
principles of REST and see how to apply them to the everyday problems of systems
integration. This is the task the authors of this book have taken on: to take REST from
an attractive vision to implemented systems. They’ve done much to teach me about
thinking in resources, how to use HTTP idioms, and the importance of hypermedia
controls. As a result, this book will give you a thorough grounding in applying the core
elements of RESTful thinking.
As we all should know, REST is not the answer to all questions. There are many situa-
tions where a REST approach is an appropriate approach, but many where it is not. As
it’s early days in using this style for integration problems, we are still feeling our way
around these boundaries. But in order to explore these boundaries properly, it’s vital
to have a proper understanding of what REST is about. Without that, you run the risk
of trying pseudo-REST and drawing the wrong conclusions. This book can help you
avoid that fate.