Tải bản đầy đủ (.pdf) (462 trang)

Restlet in Action ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (23.58 MB, 462 trang )

MANNING
Jérôme Louvel
Thierry Templier
Thierry Boileau
FOREWORD BY Brian Sletten
Developing RESTful web APIs in Java
Restlet in Action

Restlet in Action
D
EVELOPING
REST
FUL

WEB
API
S

IN
J
AVA
JÉRÔME LOUVEL
THIERRY TEMPLIER
THIERRY BOILEAU
MANNING
S
HELTER
I
SLAND
For online information and ordering of this and other Manning books, please visit
www.manning.com. The publisher offers discounts on this book when ordered in quantity.


For more information, please contact
Special Sales Department
Manning Publications Co.
20 Baldwin Road
PO Box 261
Shelter Island, NY 11964
Email:
©2013 by Manning Publications Co. All rights reserved.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in
any form or by means electronic, mechanical, photocopying, or otherwise, without prior written
permission of the publisher.
Many of the designations used by manufacturers and sellers to distinguish their products are
claimed as trademarks. Where those designations appear in the book, and Manning
Publications was aware of a trademark claim, the designations have been printed in initial caps
or all caps.
Recognizing the importance of preserving what has been written, it is Manning’s policy to have
the books we publish printed on acid-free paper, and we exert our best efforts to that end.
Recognizing also our responsibility to conserve the resources of our planet, Manning books
are printed on paper that is at least 15 percent recycled and processed without the use of
elemental chlorine.
Manning Publications Co. Development editor: Jeff Bleiel
20 Baldwin Road Copyeditor: Corbin Collins
PO Box 261 Proofreaders: Elizabeth Martin, Melody Dolab
Shelter Island, NY 11964 Typesetter: Dennis Dalinnik
Cover designer: Marija Tudor
ISBN: 9781935182344
Printed in the United States of America
1 2 3 4 5 6 7 8 9 10 – MAL – 18 17 16 15 14 13 12
To my father, Guy Louvel,
for his love of life and people

and for inspiring my passion for computers
—J.L.

vii
brief contents
P
ART
1 G
ETTING

STARTED
. 1
1

Introducing the Restlet Framework 3
2

Beginning a Restlet application 13
3

Deploying a Restlet application 46
P
ART
2 G
ETTING

READY

TO


ROLL

OUT
79
4

Producing and consuming Restlet representations 81
5

Securing a Restlet application 121
6

Documenting and versioning a Restlet application 151
7

Enhancing a Restlet application with recipes
and best practices 165
P
ART
3 F
URTHER

USE

POSSIBILITIES
201
8

Using Restlet with cloud platforms 203
9


Using Restlet in browsers and mobile devices 242
10

Embracing hypermedia and the Semantic Web 274
11

The future of Restlet 294

ix
contents
foreword xvii
preface xix
acknowledgments xxi
about this book xxiii
about the cover illustration xxvii
P
ART
1 G
ETTING

STARTED
. 1
1
Introducing the Restlet Framework 3
1.1 “Hello World” with Restlet 5
Coding a ServerResource subclass 5

Running the server 6
Using the ClientResource class 7

1.2 Overview of the Restlet Framework 8
Main benefits of the Restlet API 9

Overall design of the
Restlet Framework 10

Available editions and
deployment targets 11
1.3 Summary 12
2
Beginning a Restlet application 13
2.1 The purpose of Restlet applications 14
2.2 The structure of Restlet applications 15
CONTENTS
x
2.3 Setting up a Restlet application 17
Creating an Application subclass 17

Setting application
properties 19

Exploring the application context 20
Configuring common services 22
2.4 The Restlet routing system 24
Preprocessing and postprocessing calls with a Filter 24
Using a router to dispatch calls based on URIs 27
2.5 Using Restlet resources in an application 30
Resource, the base of all resources 30

Using ServerResource as

target of calls 31

Using ClientResource as source of calls 35
Higher-level resources with Java annotations 38

Updating the
example mail application 42
2.6 Summary 45
3
Deploying a Restlet application 46
3.1 The purpose of Restlet components 47
3.2 The structure of Restlet components 48
3.3 Standalone deployment with Java SE 50
Creating a Component subclass 50

Adding server and
client connectors 53

Setting up virtual hosting 57
Configuring common services 61
3.4 Declarative configuration in XML 62
XML configuration with Component 62

XML configuration
with Spring Framework 63
3.5 Deployment in an existing Java EE server 67
The Servlet extension 67

Servlet engine as a connector for a
Restlet component 68


Servlet engine as a container of
Restlet applications 70

The Oracle XML DB extension 71
Restlet Framework as a library inside Servlet applications 72
Dynamic deployment in OSGi environments 73
3.6 Summary 76
P
ART
2 G
ETTING

READY

TO

ROLL

OUT
79
4
Producing and consuming Restlet representations 81
4.1 Overview of representations 82
The Variant and RepresentationInfo base classes 82
The Representation class and its common subclasses 83
CONTENTS
xi
4.2 Producing and consuming XML representations 87
The org.restlet.ext.xml.XmlRepresentation class 88

Using the DOM API 89

Using the SAX API 92
Evaluating XPath expressions 94

Handling XML
namespaces 95

Validating against XML schemas 97
Applying XSLT transformations 99

Using the JAXB
extension 102

Alternative XML binding extensions 104
4.3 Producing and consuming JSON representations 105
Using the JSON.org extension 106

Using the
Jackson extension 107
4.4 Applying template representations 108
Using the FreeMarker extension 109

Using the
Velocity extension 111
4.5 Content negotiation 113
Introducing HTTP content negotiation 113

Declaring resource
variants 115


Configuring client preferences 116
Combining annotated interfaces and the converter service 117
4.6 Summary 119
5
Securing a Restlet application 121
5.1 Ensuring transport confidentiality and integrity 122
Understanding TLS and SSL 122

Storing keys and
certificates 124

Generating a self-signed certificate 125
Generating a certificate request 125

Importing a trusted
certificate 126

Enabling HTTPS in Restlet 126
Providing a custom SSL context 128
5.2 Authenticating users 129
Providing authentication credentials on the client side 130
The org.restlet.security.Authenticator class 134

Challenge-based
authentication 135

Verifying user credentials 136
Certificate-based authentication 139
5.3 Assigning roles to authenticated users 141

Request principals 141

The org.restlet.security.Enroler
interface 142

Organizations, users, and groups 142
The default enroler and verifier 143
5.4 Authorizing user actions 143
The org.restlet.security.Authorizer class 143

The role
authorizer 144

The method authorizer 145

Fine-grained
authorization 145

Using Java security manager 146
CONTENTS
xii
5.5 Ensuring end-to-end integrity of data 147
Ensuring representation integrity 148

Representation
digesting 148

Digesting without losing content 149
5.6 Summary 150
6

Documenting and versioning a Restlet application 151
6.1 The purpose of documentation and versioning 152
Use cases 152

Pitfalls 152

Recommendations 153
6.2 Introducing WADL 154
6.3 The WadlApplication class 155
6.4 The WadlServerResource class 156
Overview of properties and methods 156

Improving description
of existing server resources 158

Describing a
single resource 162
6.5 Automatic conversion to HTML 163
6.6 Summary 164
7
Enhancing a Restlet application with recipes and best
practices 165
7.1 Handling common web elements 166
Managing forms 166

Managing cookies 169
Serving file directories 172

Customizing error pages 174
Handling file uploads 176

7.2 Dealing with Atom and RSS feeds 178
Exposing web feeds 178

Consuming web feeds 180
7.3 Redirecting client calls 180
Manual redirection 181

The org.restlet.Redirector class 182
7.4 Improving performances 185
Streaming representations 185

Compressing
representations 186

Partial representations 187
Setting cache information 188

Conditional methods 190
Removing server-side session state 191
7.5 Modularizing large applications 192
Server dispatcher 192

RIAP pseudoprotocol 194
Private applications 196
CONTENTS
xiii
7.6 Persisting resources state 197
The JDBC extension 197

The Lucene extension 198

Best design practices 199
7.7 Summary 199
P
ART
3 F
URTHER

USE

POSSIBILITIES
201
8
Using Restlet with cloud platforms 203
8.1 Restlet main benefits in the cloud 204
Better SaaS portability 204

Easy client access to services
from the cloud 206
8.2 Deployment in Google App Engine 207
What is GAE? 207

Deploying Restlet applications in GAE 208
Using Google Accounts authentication 210
8.3 Deployment in Amazon Elastic Beanstalk 211
What is Elastic Beanstalk? 211
Deploying Restlet applications 212
8.4 Deployment in Windows Azure 214
What is Azure? 214

Deploying Restlet applications 215

8.5 Accessing web APIs from GAE 221
GAE restrictions and URL fetch 221

Using Restlet to access
RESTful applications 221
8.6 Accessing OData services 221
What is OData? 222

Generating classes for access
using Restlet 226

Calling OData services 228
8.7 Accessing Amazon S3 resources 230
Configuring a bucket 230

Accessing a resource
with the bucket 230
8.8 Accessing Azure services 233
Configuring storage accounts 233

Using table service 233
8.9 Accessing intranet resources with Restlet’s SDC
extension 235
Secure Data Connector overview 235

Installing
SDC agent 236

Using the Restlet SDC connector 238
Restlet SDC support in GAE edition 240

8.10 Summary 240
CONTENTS
xiv
9
Using Restlet in browsers and mobile devices 242
9.1 Understanding GWT 243
GWT overview 243

Installing and using GWT 244
GWT and REST 246
9.2 The Restlet edition for GWT 247
The RequestBuilder class of GWT 247

Restlet port
to GWT 248

Communicating with a REST API 249
Handling cross-domain requests on the client side 257
9.3 Server-side GWT extension 259
Working along with GWT-RPC 260

Handling cross-domain
requests on the server side 261
9.4 Understanding Android 262
Android overview 263

Installing Android and
Eclipse plug-ins 263
9.5 The Restlet edition for Android 267
Restlet port to Android 267


Client-side support 268
Server-side support 271
9.6 Summary 272
10
Embracing hypermedia and the Semantic Web 274
10.1 Hypermedia as the engine of RESTful web APIs 275
The HATEOAS principle 275

What are hypermedia
and hypertext? 276

Hypertext support in Restlet 276
The new hyperdata trend 278
10.2 The Semantic Web with Linked Data 280
REST and the Semantic Web 280

Using RDF
in representations 281
10.3 Exposing and consuming Linked Data with Restlet 286
Exposing RDF resources 286

Consuming linked
data with Restlet 291
10.4 Summary 293
11
The future of Restlet 294
11.1 Evolution of HTTP and the rise of SPDY 295
HTTP history so far 295


Refactoring with HTTP/1.1 bis 296
The rise of alternatives 296
CONTENTS
xv
11.2 The Restlet roadmap 299
Connectors for SPDY, HTTP and SIP 299

Enhancements to the
Restlet API 299

Editions for JavaScript and Dart 301
Restlet Forge 302

Restlet Platform 304

APISpark, the
online platform for web APIs 306
11.3 Restlet community 307
Third-party projects 308

Contributing to Restlet 310
11.4 Summary 310
APPENDIXES
313
appendix A Overview of the Restlet Framework 315
appendix B Installing the Restlet Framework 328
appendix C Introducing the REST architecture style 359
appendix D Designing a RESTful web API 371
appendix E Mapping REST, HTTP, and the Restlet API 397
appendix F Getting additional help 413

references 415
index 417

xvii
foreword
News flash: the web is kind of a Big Deal.
It is difficult to consider its full impact on technology, society, commerce, education,
governance, and entertainment without resorting to grand language that has been
stated many times before. It is a Big Deal and we will never be the same because of it.
But, here’s the thing. If we sat down and tried to rebuild the web today, knowing
what we know from 20 years of experience with it, we would probably fail. The prob-
lem is that as software developers, we generally think in terms of software constructs:
objects, services, methods, etc. While useful from a solution space perspective, they
can induce coupling and coupling does not scale.
The web works because in its design, Sir Tim Berners-Lee and his cohorts
embraced the notion of change. The thing we forget is that they were not trying to
build the web that we know; they were trying to build a system that worked for a
dynamic organization such as
CERN
. Logically named resources could be requested
and manipulated with no regard to how back-end systems worked. New shapes of
information could be negotiated over time without disrupting deployed systems. Cli-
ents and servers could evolve independently.
The
RE
presentational State Transfer (
REST
) architectural style embraced these
ideas and began to describe how to build flexible, scalable, change-tolerant systems.
The primary shift was away from implementation details and toward the information

that flows through the infrastructure. Clients were less cognizant of what to expect
and more reactive to what they were told. The focus was on the properties induced by
the architectural choices, not the technologies used to implement the solutions.
FOREWORD
xviii
This is an important point because most
REST
frameworks built in languages such
as Java ignore these distinctions. Their choices reflect a desire to bend
REST
to a privi-
leged Java world view, not the other way around. What makes
REST
special and inter-
esting is lost in the process, which is why I think most of them ultimately fail. Jérôme’s
work on Restlet struck me as having the appropriate perspective: how can we conve-
niently surface the ideas of
REST
in a language like Java without debasing the goals of
the architectural style.
He tackled the problem from both the client and the server perspectives. He intro-
duced objects that stood for a Resource itself. He turned concepts such as content
negotiation and metadata management into registered services, outside of the con-
cerns of these resources. He embraced the idea of logically named protocols to
extend the idea of
REST
into the framework with tools like the Restlet Internal Access
Protocol (
RIAP
) and the Class Loader Access Protocol (

CLAP
). He understood the
value of getting the
API
s to a consistent, uniform place before declaring success. The
resulting framework is cleaner, more flexible, and more true to the spirit of
REST
than
any other language-based approach I have seen.
While the Restlet documentation has always been adequate, as I introduced the
API
in my talks and courses, I longed for a solid book on the subject. I even toyed with
the idea of writing one. Thankfully, now, as I look at the manuscript in front of me, I
do not have to.
Restlet in Action by Jérôme et al. is exactly the broad, deep, and example-driven
book I had hoped for. The list of topics they tackle is impressive. The authors provide
thorough but not overwhelming coverage of
REST
itself, security, and performance.
Beyond that, they also discuss issues of growing interest such as mobile applications,
the cloud, the Semantic Web, Linked Data, and the future of
HTTP
. The whole
endeavor is grounded in practical advice on how to use Restlet toward those ends.
These ideas are a Big Deal and this book will help you understand why and how to
benefit from them.
I have already preordered Restlet in Action for many of my clients and students and
anticipate it being a staple in my courses for years to come.
B
RIAN

S
LETTEN
P
RESIDENT
B
OSATSU
C
ONSULTING
, I
NC
.
xix
preface
When I had a chance to use the Mosaic web browser way back in 1994, I fell in love
with the web at first sight and became interested in
HTML
and the way the W3C was
driving the growth of the web along with the
IETF
. A year later, I discovered Java by
reading Sun’s white paper and was convinced that it would lead to a great future. I
started using it professionally to write a web load-testing tool using
CORBA
and an
HTTP
proxy.
In 2001, while reading Weaving the Web by Tim Berners-Lee, I was hooked by his
grand vision of a read-write Semantic Web and started to think about the best way to
help it come about. In 2004, I built a website in my spare time called Semalink which
bridged the classic web of documents with the semantic web of data. As I wanted to

stay true to the principles of the web, I read more and more about
REST
and the core
HTTP
and
URI
standards and realized that the Servlet
API
had too large a gap apply-
ing those principles. That’s when Restlet emerged as a higher-level Java
API
derived
directly from
REST
and
HTTP
. This was very helpful, so I thought about sharing it
with others. I believed that it could radically change the way we develop web applica-
tions, in the same way that
REST
was radically changing the way I was thinking about
the web.
After announcing the Restlet Framework on December 2005 in an article on
TheServerSide website, I hoped that this open source project, the first
REST
framework
for Java, would contribute to the success of
REST
in the Java world. I wasn’t sure how the
Java community would welcome it since the industry was strongly behind Java

EE
(includ-
ing Servlet,
JSP
, and Spring
MVC
) and
WS
-* (based on the
SOAP
protocol) technologies.
PREFACE
xx
Feedback was quick and mostly positive, suggesting features and leading me to
dedicate more time to this project than I had initially planned. While
REST
was gain-
ing wider support, from early adopters to the whole industry, Restlet matured by
broadening its scope of features and by growing its community. In 2007, my friend
Thierry Boileau joined me fulltime as a core developer, and one year later we formally
created a company to provide professional services to the Restlet community, ensur-
ing that we could dedicate even more time to Restlet.
Early on, users of the framework asked for better and more complete documenta-
tion and it became clear that we needed to make serious efforts on this front. At the
end of 2008, we started to look for a publisher who would support our idea for a Rest-
let book. When Guillaume Laforge, head of Groovy development, told us that Man-
ning was looking for exciting new technology to add to its list, it was clear that a
“Restlet in Action” book would be ideal, especially with Manning’s Early Access Pro-
gram (
MEAP

) that would give the community access to the electronic version of the
draft manuscript, and provide us continuous and valuable feedback during the writ-
ing process.
Philippe Mougin, a web services expert, joined us for a few months and contrib-
uted important content on
REST
, including proper
URI
design and a comparison with
the
RPC
style. Also, Bruno Harbulot, a PhD from the University of Manchester who
had been instrumental during the design of the Restlet security
API
, contributed the
initial content for the chapter on security.
Later in 2010, Thierry Templier, a Java
EE
expert and author of several books pub-
lished by Manning, started to collaborate with us on the Restlet project and became
the third coauthor, contributing two chapters on the cloud,
GWT
, and Android, as well
as content on Spring integration,
OSG
i deployment, and security. He is now part of
our team, focusing on the development of our new
APIS
park Platform as a Service
(PaaS) and on editions of the Restlet Framework for JavaScript and

OSG
i.
In addition, Tim Peierls, coauthor of Java Concurrency in Practice and a key contrib-
utor in the Restlet community, provided valuable technical feedback on our draft
manuscript. He also contributed an introduction to chapter 1 and worked hard to
help us improve the quality of the English in the manuscript.
Finally, after three years of intense effort, Restlet in Action is ready for a new life in
the world of bookstores and libraries. Speaking for all the coauthors and all the con-
tributors to this book, I hope that you will enjoy reading it and developing
REST
ful
web
API
s using the Restlet Framework.
J
ÉRÔME
L
OUVEL
xxi
acknowledgments
We are sincerely and humbly indebted to Roy T. Fielding for his PhD dissertation that
described
REST
and created a radical shift in the way we envisioned the web and its
core standards. Without his work on
REST
and the
HTTP
protocol, Restlet wouldn’t
exist. We would also like to thank all Restlet Framework contributors, including past

and present committers, as well as users submitting issues, helping with the documen-
tation, and answering questions of other users.
Thanks to Jim Alateras, John D. Mitchell, and Steve Loughran for their help during
the book’s inception phase, especially Guillaume Laforge who introduced us to Manning.
Our sincere thanks to the staff at Manning, including Marjan Bace, Michael
Stephens, Mary Piergies, Maureen Spencer, Christina Rudloff, Corbin Collins, Elizabeth
Martin, Ozren Harlovic, and Melody Dolab. Special thanks to our editor Jeff Bleiel for
his patience and support during the book’s development phase.
Manning rounded up a great group of reviewers, whom we thank for helping to
transform our drafts into the book you are now reading through incremental
enhancements and some refactoring ideas. The reviewers include Adam Taft, Aron
Roberts, Brian Sletten, Bryan Hunt, Colin Yates, Dave Nicolette, Dave Pawson, Doug
Warren, Dustin Jenkins, Fabián Mandelbaum, Gabriel Ciuloaica, Gordon Dickens,
James Ferrans, Jeff Thomas, Jeroen Nouws, Jim Alateras, Johannes Kirschnick, John
Logsdon, Kristoffer Gronowski, Marcelo Ochoa, Rhett Sutphin, Richard E. Brewster,
Stephen Koops, Tal Liron, Vincent Nonnenmacher, and Rob Heittman.
Special thanks to Tim Peierls and Nick Watts, our technical proofreaders, for their
careful review, just before the book went into production, of the chapters and the
ACKNOWLEDGMENTS
xxii
appendixes respectively. Thank you as well to all our
MEAP
readers who posted feed-
back messages on Manning’s Author Online forum; we tried to take all of them into
account. We also thank Brian Sletten for penning the foreword.
Finally, our special thanks go to Benoit Maujean and Stève Sfartz for their continu-
ous support through the years and to our advisory team members, Didier Girard,
Jean-Paul Figer, and Frederic Renouard, for sharing their experience and for helping
us at both the technical and business levels.
JÉRÔME LOUVEL

First, I’d like to thank Lance Tatro who assured me that I could indeed write a techni-
cal book in English. Thanks also to my entire family and to my closest friends for their
support. Finally, I’d like to thank my wife, Sandrine, and my two-year-old daughter,
Clara, for their patience during the writing process and the numerous evenings and
weekends spent working on the book. I am grateful for your support and your love.
THIERRY TEMPLIER
I would like to thank my wife, Séverine, and our lovely little boy, Maël, for being by my
side in life. I also want to thank Jérôme and Thierry for bringing me to this project,
and thanks to the Manning team for their confidence, support, and professionalism.
Thanks finally to everyone who helps me move forward in life and be the best that I
can be.
THIERRY BOILEAU
I am deeply grateful to Jérôme Louvel for bringing me to the Restlet project. I would
also like to thank the Restlet community and its active contributors like Tim Peierls,
Kristoffer Gronowski, Martin Svensson, Bryan Hunt, Wolfgang Werner, Shaun Elliott,
and many others, for their time and dedication. Thanks to Benoît Roblin for review-
ing the first chapters. Thanks to Didier Arnachellum for happily playing with the
framework. In conclusion, and in French, un petit clin d’œil à mon frère Fabrice.
xxiii
about this book
We wrote this book to help readers efficiently develop
REST
ful web
API
s based on the
Restlet Framework. It is also an answer to the open source Restlet community’s
request for a comprehensive guide to this technology. The book introduces you to
the world of
REST
and

HTTP
through the use of the Restlet Framework, which directly
derives from those standards.
We’ve tried to stay very practical throughout the book by providing many source
code listings and illustrative figures, introducing Restlet concepts and fundamentals
along the way. In addition, an example
REST
ful mail system serves as a conductor
all along the book.
Six appendixes provide additional details related to the Restlet technology as well
as a generic presentation of the
REST
architecture style and of the
ROA/D
design
methodology that are both valuable beyond the Restlet Framework.
Audience
Our main audience is Java developers who are interested in the web standards such as
HTTP
and
REST
, as well as their usage to expose and consume web
API
s. No prior
knowledge of Restlet is required.
Readers should ideally be familiar with the Java
EE
ecosystem including technolo-
gies such as Servlet,
OSG

i, and Spring Framework to make the most of the book, but
this isn’t a prerequisite to reading the book.
The secondary audience is web
API
project managers and architects who want to
understand how to design and develop a
REST
ful web
API
in a controlled manner,
using the Restlet Framework or alternative technologies for the implementation.
ABOUT THIS BOOK
xxiv
Roadmap
Part 1 gets you acquainted with the Restlet Framework, quickly looking at the code
while introducing important Restlet concepts such as editions, applications, routing,
resources, components, and available deployment options.
Chapter 1 gets you started with the Restlet Framework by showing you how to write
your first client and server programs. It reviews the main features and benefits of Restlet
and gives you an overview of the Restlet Framework, an open source
REST
framework
for Java.
Chapter 2 starts with background information on Restlet applications. It explains how
to set up a Restlet application and how the filtering and dispatching of calls works with
Restlet’s routing system. Finally, it covers using client-side and server-side Restlet resources
including both method-overriding and annotation-based resource implementation.
Chapter 3 starts with background information on Restlet components. It explains
how to deploy in standalone Java
SE

virtual machines, configuring virtual hosts and
log and status services using either Java-based or declarative
XML
configuration. It also
covers the deployment in Java
EE
application servers and
OSG
i environments.
Part 2 gets you to the next level of knowledge with more advanced topics such as secu-
rity, documentation, and versioning or optimization. Those topics will become essential
as you move your Restlet application closer to a deployment in production.
Chapter 4 covers producing and consuming
XML
and
JSON
representations, as
well as producing
HTML
using template representations. It explains how
HTTP
con-
tent negotiation is supported by Restlet Framework and describes how to simplify rep-
resentation handling with the converter service.
Chapter 5 covers how to secure a Restlet application at various levels. It starts with
the use of
SSL
/
TLS
to secure communication, then explains how to authenticate

remote users, assigning roles in order to authorize them to perform actions on the sys-
tem. Finally, it describes how to ensure end-to-end integrity of the data.
Chapter 6 explains why you need to document and version your web
API
and
describes the main pitfalls and recommendations for doing so. It introduces the Web
Application Description Language (
WADL
) and its support in Restlet Framework.
Chapter 7 covers handling common web artifacts, such as forms and cookies. It
explains how servers can redirect clients and how to handle file uploads on the client
and server side. It also provides guidance on how to improve performance of Restlet
applications and how to split a large Restlet application into several modules.
Part 3 looks at further Restlet usage possibilities, such as with cloud platforms,
browsers, and mobile devices. It also explains how to embrace hypermedia and the
Semantic Web in your Restlet projects and what the future of Restlet looks like.
Chapter 8 covers how to use Restlet in the cloud. It starts with deploying Restlet appli-
cations to cloud platforms such as Google App Engine,
AWS
Elastic Beanstalk, and Micro-
soft Azure. It explains how to access
REST
ful applications from the cloud using
OD
ata,
AWS

S3
, and Azure services and it describes how to securely access intranet resources from
public cloud platforms with Restlet, thanks to the Secure Data Connector protocol.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×