Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Presentation

Rest in practice

Rating
-
Sold
-
Pages
423
Uploaded on
18-07-2024
Written in
2016/2017

"Why don't typical enterprise projects go as smoothly as projects you develop for the Web? Does the REST architectural style really present a viable alternative for building distributed systems and enterprise-class applications? In this insightful book, three SOA experts provide a down-to-earth explanation of REST and demonstrate how you can develop simple and elegant distributed hypermedia systems by applying the Web's guiding principles to common enterprise computing problems. You'll learn techniques for implementing specific Web technologies and patterns to solve the needs of a typical company as it grows from modest beginnings to become a global enterprise. Learn basic Web techniques for application integration Use HTTP and the Web’s infrastructure to build scalable, fault-tolerant enterprise applications Discover the Create, Read, Update, Delete (CRUD) pattern for manipulating resources Build RESTful services that use hypermedia to model state transitions and describe business protocols Learn how to make Web-based solutions secure and interoperable Extend integration patterns for event-driven computing with the Atom Syndication Format and implement multi-party interactions in AtomPub Understand how the Semantic Web will impact systems design"

Show more Read less
Institution
Course

Content preview

,Chapter 1. The Web As a Platform for Building Distributed
Systems
THE WEB HAS RADICALLY TRANSFORMED THE WAY we produce and share information.
Its international ecosystem of applications and services allows us to search, aggregate, combine,
transform, replicate, cache, and archive the information that underpins today’s digital society.
Successful despite its chaotic growth, it is the largest, least formal integration project ever
attempted—all of this, despite having barely entered its teenage years.

Today’s Web is in large part the human Web: human users are the direct consumers of the services
offered by the majority of today’s web applications. Given its success in managing our digital
needs at such phenomenal scale, we’re now starting to ask how we might apply the Web’s
underlying architectural principles to building other kinds of distributed systems, particularly the
kinds of distributed systems typically implemented by “enterprise application” developers.

Why is the Web such a successful application platform? What are its guiding principles, and how
should we apply them when building distributed systems? What technologies can and should we
use? Why does the Web model feel familiar, but still different from previous platforms?
Conversely, is the Web always the solution to the challenges we face as enterprise application
developers?

These are the questions we’ll answer in the rest of this book. Our goal throughout is to describe
how to build distributed systems based on the Web’s architecture. We show how to implement
systems that use the Web’s predominant application protocol, HyperText Transfer Protocol
(HTTP), and which leverage REST’s architectural tenets. We explain the Web’s fundamental
principles in simple terms and discuss their relevance in developing robust distributed applications.
And we illustrate all this with challenging examples drawn from representative enterprise
scenarios and solutions implemented using Java and .NET.

The remainder of this chapter takes a first, high-level look at the Web’s architecture. Here we
discuss some key building blocks, touch briefly on the REpresentational State Transfer
(REST) architectural style, and explain why the Web can readily be used as a platform for
connecting services at global scale. Subsequent chapters dive deeper into the Web’s principles and
discuss the technologies available for connecting systems in a web-friendly manner.

Architecture of the Web
Tim Berners-Lee designed and built the foundations of the World Wide Web while a research
fellow at CERN in the early 1990s. His motivation was to create an easy-to-use, distributed, loosely
coupled system for sharing documents. Rather than starting from traditional distributed application
middleware stacks, he opted for a small set of technologies and architectural principles. His
approach made it simple to implement applications and author content. At the same time, it enabled
the nascent Web to scale and evolve globally. Within a few years of the Web’s birth, academic
and research websites had emerged all over the Internet. Shortly thereafter, the business world

,started establishing a web presence and extracting web-scale profits from its use. Today the Web
is a heady mix of business, research, government, social, and individual interests.

This diverse constituency makes the Web a chaotic place—the only consistency being the
consistent variety of the interests represented there; the only unifying factor the seemingly never-
ending thread of connections that lead from gaming to commerce, to dating to enterprise
administration, as we see in Figure 1-1.

Despite the emergent chaos at global scale, the Web is remarkably simple to understand and easy
to use at local scale. As documented by the World Wide Web Consortium (W3C) in its
“Architecture of the World Wide Web,” the anarchic architecture of today’s Web is the
culmination of thousands of simple, small-scale interactions between agents and resources that use
the founding technologies of HTTP and the URI.[ 1 ]

, Figure 1-1. The Web

The Web’s architecture, as portrayed in Figure 1-1, shows URIs and resources playing a leading
role, supported by web caches for scalability. Behind the scenes, service boundaries support
isolation and independent evolution of functionality, thereby encouraging loose coupling. In the
enterprise, the same architectural principles and technology can be applied.

Traditionally we’ve used middleware to build distributed systems. Despite the amount of research
and development that has gone into such platforms, none of them has managed to become as
pervasive as the Web is today. Traditional middleware technologies have always focused on the
computer science aspects of distributed systems: components, type systems, objects, remote
procedure calls, and so on.

The Web’s middleware is a set of widely deployed and commoditized servers. From the obvious—
web servers that host resources (and the data and computation that back them)—to the hidden:
proxies, caches, and content delivery networks, which manage traffic flow. Together, these
elements support the deployment of a planetary-scale network of systems without resorting to
intricate object models or complex middleware solutions.

This low-ceremony middleware environment has allowed the Web’s focus to shift to information
and document sharing using hypermedia. While hypermedia itself was not a new idea, its
application at Internet scale took a radical turn with the decision to allow broken links. Although
we’re now nonplussed (though sometimes annoyed) at the classic “404 Page Not Found” error
when we use the Web, this modest status code set a new and radical direction for distributed
computing: it explicitly acknowledged that we can’t be in control of the whole system all the time.

Compared to classic distributed systems thinking, the Web’s seeming ambivalence to dangling
pointers is heresy. But it is precisely this shift toward a web-centric way of building computer
systems that is the focus of this book.

Thinking in Resources
Resources are the fundamental building blocks of web-based systems, to the extent that the Web
is often referred to as being “resource-oriented.” A resource is anything we expose to the Web,
from a document or video clip to a business process or device. From a consumer’s point of view,
a resource is anything with which that consumer interacts while progressing toward some goal.
Many real-world resources might at first appear impossible to project onto the Web. However,
their appearance on the Web is a result of our abstracting out their useful information aspects and
presenting these aspects to the digital world. A flesh-and-blood or bricks-and-mortar resource
becomes a web resource by the simple act of making the information associated with it accessible
on the Web. The generality of the resource concept makes for a heterogeneous community. Almost
anything can be modeled as a resource and then made available for manipulation over the network:
“Roy’s dissertation,” “the movie Star Wars,” “the invoice for the books Jane just bought,” “Paul’s
poker bot,” and “the HR process for dealing with new hires” all happily coexist as resources on
the Web.

Written for

Course

Document information

Uploaded on
July 18, 2024
Number of pages
423
Written in
2016/2017
Type
PRESENTATION
Person
Unknown

Subjects

$3.99
Get access to the full document:

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Get to know the seller
Seller avatar
RobertCuong

Get to know the seller

Seller avatar
RobertCuong Telecommunication
Follow You need to be logged in order to follow users or courses
Sold
-
Member since
3 year
Number of followers
0
Documents
225
Last sold
-
GPON and WiFi

+ SDH solution based on Fujitsu/Alcatel/Huawei devices in deployment and troubleshoot + Switching and Routing network fundamental and advance + GPON solution with deep knowledge of PLOAM/OMCI, activation procedure. Analysis of Private/Public OMCI + WiFi solution with WiFi Management/Control/Data. WiFi bandsteering, WiFi mesh, and WiFi 6, 6E, 7, ...

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions