Tải bản đầy đủ

1025 restlet in action

Developing RESTful web APIs in Java

Jérôme Louvel
Thierry Templier
Thierry Boileau
FOREWORD BY Brian Sletten

MANNING
www.it-ebooks.info


Restlet in Action

www.it-ebooks.info


www.it-ebooks.info


Restlet in Action
DEVELOPING RESTFUL WEB APIS IN JAVA

JÉRÔME LOUVEL
THIERRY TEMPLIER
THIERRY BOILEAU

MANNING
SHELTER ISLAND

www.it-ebooks.info


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: orders@manning.com
©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.
20 Baldwin Road
PO Box 261
Shelter Island, NY 11964



Development editor:
Copyeditor:
Proofreaders:
Typesetter:
Cover designer:

Jeff Bleiel
Corbin Collins
Elizabeth Martin, Melody Dolab
Dennis Dalinnik
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

www.it-ebooks.info


To my father, Guy Louvel,
for his love of life and people
and for inspiring my passion for computers
—J.L.

www.it-ebooks.info


www.it-ebooks.info


brief contents
PART 1

PART 2

PART 3

GETTING STARTED . ......................................................1
1



Introducing the Restlet Framework 3

2



Beginning a Restlet application

13

3



Deploying a Restlet application

46

GETTING READY TO ROLL OUT ....................................79
4



Producing and consuming Restlet representations

81

5



Securing a Restlet application

6



Documenting and versioning a Restlet application 151

7



Enhancing a Restlet application with recipes
and best practices 165

121

FURTHER USE POSSIBILITIES ......................................201
8



Using Restlet with cloud platforms 203

9



Using Restlet in browsers and mobile devices

10



Embracing hypermedia and the Semantic Web 274

11



The future of Restlet

vii

www.it-ebooks.info

294

242


www.it-ebooks.info


contents
foreword xvii
preface xix
acknowledgments xxi
about this book xxiii
about the cover illustration

xxvii

PART 1 GETTING STARTED . ...........................................1

1

Introducing the Restlet Framework 3
1.1

“Hello World” with Restlet

5

Coding a ServerResource subclass 5
Using the ClientResource class 7

1.2



Overview of the Restlet Framework

Running the server

8

Main benefits of the Restlet API 9 Overall design of the
Restlet Framework 10 Available editions and
deployment targets 11




1.3

2

Summary 12

Beginning a Restlet application 13
2.1
2.2

The purpose of Restlet applications 14
The structure of Restlet applications 15
ix

www.it-ebooks.info

6


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

3

Summary 45

Deploying a Restlet application 46
3.1
3.2
3.3

The purpose of Restlet components 47
The structure of Restlet components 48
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
with Spring Framework 63

3.5



XML configuration

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

PART 2 GETTING 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

www.it-ebooks.info


CONTENTS

4.2

xi

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
Jackson extension 107

4.4

106

Applying template representations
Using the FreeMarker extension
Velocity extension 111

4.5

Using the



Content negotiation

109



108
Using the

113

Introducing HTTP content negotiation 113 Declaring resource
variants 115 Configuring client preferences 116
Combining annotated interfaces and the converter service 117




4.6

5

Summary 119

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








www.it-ebooks.info


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

6

Summary 150

Documenting and versioning a Restlet application 151
6.1

The purpose of documentation and versioning
Use cases

6.2
6.3
6.4

152



Pitfalls

152



Recommendations

152
153

Introducing WADL 154
The WadlApplication class 155
The WadlServerResource class 156
Overview of properties and methods 156 Improving description
of existing server resources 158 Describing a
single resource 162




6.5
6.6

7

Automatic conversion to HTML
Summary 164

163

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

7.3

Redirecting client calls
Manual redirection 181

7.4

Consuming web feeds 180



180


The org.restlet.Redirector class

182

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
Private applications 196


www.it-ebooks.info

194


CONTENTS

7.6

Persisting resources state
The JDBC extension 197
Best design practices 199

7.7

xiii

197
The Lucene extension 198



Summary 199

PART 3 FURTHER USE POSSIBILITIES ..........................201

8

Using Restlet with cloud platforms 203
8.1

Restlet main benefits in the cloud
Better SaaS portability
from the cloud 206

8.2

204

204

Easy client access to services



Deployment in Google App Engine 207
What is GAE? 207 Deploying Restlet applications in GAE
Using Google Accounts authentication 210


8.3

Deployment in Amazon Elastic Beanstalk

208

211

What is Elastic Beanstalk? 211
Deploying Restlet applications 212

8.4

Deployment in Windows Azure 214
What is Azure?

8.5

214

Deploying Restlet applications



Accessing web APIs from GAE 221
GAE restrictions and URL fetch
RESTful applications 221

8.6

215

221



Using Restlet to access

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
Configuring a bucket 230
with the bucket 230

8.8



Accessing Azure services

233

Configuring storage accounts

8.9

230

Accessing a resource

233



Using table service

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

www.it-ebooks.info

233


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
requests on the server side 261

9.4

Understanding Android
Android overview 263
Eclipse plug-ins 263

9.5



10

Handling cross-domain

262
Installing Android and

The Restlet edition for Android 267
Restlet port to Android 267
Server-side support 271

9.6



Client-side support



268

Summary 272

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
REST and the Semantic Web 280
in representations 281

10.3

11

Summary



286

Consuming linked

293

The future of Restlet
11.1

280

Using RDF

Exposing and consuming Linked Data with Restlet
Exposing RDF resources 286
data with Restlet 291

10.4



294

Evolution of HTTP and the rise of SPDY 295
HTTP history so far 295 Refactoring with HTTP/1.1 bis
The rise of alternatives 296


www.it-ebooks.info

296


CONTENTS

11.2

The Restlet roadmap

xv

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
Third-party projects

11.4

Summary



307
308



Contributing to Restlet

310

310

APPENDIXES ...................................................................313
appendix A
appendix B
appendix C
appendix D
appendix E
appendix F

Overview of the Restlet Framework 315
Installing the Restlet Framework 328
Introducing the REST architecture style 359
Designing a RESTful web API 371
Mapping REST, HTTP, and the Restlet API 397
Getting additional help 413
references
index

415

417

www.it-ebooks.info


www.it-ebooks.info


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 problem 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. Clients and servers could evolve independently.
The REpresentational 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.

xvii

www.it-ebooks.info


xviii

FOREWORD

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 privileged Java world view, not the other way around. What makes REST special and interesting 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 conveniently 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 introduced objects that stood for a Resource itself. He turned concepts such as content
negotiation and metadata management into registered services, outside of the concerns 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 APIs 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.
BRIAN SLETTEN
PRESIDENT
BOSATSU CONSULTING, INC.

www.it-ebooks.info


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 applying 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 applications, 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 (including Servlet, JSP, and Spring MVC) and WS-* (based on the SOAP protocol) technologies.

xix

www.it-ebooks.info


xx

PREFACE

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 gaining 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, ensuring that we could dedicate even more time to Restlet.
Early on, users of the framework asked for better and more complete documentation 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 Restlet book. When Guillaume Laforge, head of Groovy development, told us that Manning 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 Program (MEAP) that would give the community access to the electronic version of the
draft manuscript, and provide us continuous and valuable feedback during the writing process.
Philippe Mougin, a web services expert, joined us for a few months and contributed 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 published 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, OSGi deployment, and security. He is now part of
our team, focusing on the development of our new APISpark Platform as a Service
(PaaS) and on editions of the Restlet Framework for JavaScript and OSGi.
In addition, Tim Peierls, coauthor of Java Concurrency in Practice and a key contributor 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 contributors to this book, I hope that you will enjoy reading it and developing RESTful
web APIs using the Restlet Framework.
JÉRÔME LOUVEL

www.it-ebooks.info


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 documentation, 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

xxi

www.it-ebooks.info


ACKNOWLEDGMENTS

xxii

appendixes respectively. Thank you as well to all our MEAP readers who posted feedback 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 continuous 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 technical 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 reviewing 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.

www.it-ebooks.info


about this book
We wrote this book to help readers efficiently develop RESTful web APIs 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 RESTful 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 APIs. No prior
knowledge of Restlet is required.
Readers should ideally be familiar with the Java EE ecosystem including technologies such as Servlet, OSGi, 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 RESTful web API in a controlled manner,
using the Restlet Framework or alternative technologies for the implementation.

xxiii

www.it-ebooks.info


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 OSGi environments.
Part 2 gets you to the next level of knowledge with more advanced topics such as security, 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 content negotiation is supported by Restlet Framework and describes how to simplify representation 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 system. 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 applications to cloud platforms such as Google App Engine, AWS Elastic Beanstalk, and Microsoft Azure. It explains how to access RESTful applications from the cloud using OData,
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.

www.it-ebooks.info


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

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

×