Restlet
Encyclopedia
Restlet is a lightweight, comprehensive, open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 REST
Rest
Rest may refer to:* Leisure* Human relaxation* SleepRest may also refer to:* Rest , a pause in a piece of music* Rest , the relation between two observers* Rest , a 2008 album by Gregor Samsa...

 framework for the Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 platform. Restlet is suitable for both server and client Web applications. It supports major Internet transport, data format, and service description standards like HTTP and HTTPS
Https
Hypertext Transfer Protocol Secure is a combination of the Hypertext Transfer Protocol with SSL/TLS protocol to provide encrypted communication and secure identification of a network web server...

, SMTP, XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

, JSON
JSON
JSON , or JavaScript Object Notation, is a lightweight text-based open standard designed for human-readable data interchange. It is derived from the JavaScript scripting language for representing simple data structures and associative arrays, called objects...

, Atom, and WADL
Web Application Description Language
The Web Application Description Language is an XML-based file format that provides a machine-readable description of HTTP-based web applications. These applications are typically REST web services...

. A GWT
Google Web Toolkit
Google Web Toolkit is an open source set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java. Other than a few native libraries, everything is Java source that can be built on any supported platform with the included GWT Ant build files...

 port of the client-side library is also available.

Licenses

Restlet is available under four different licenses:
  • CDDL ver 1.0
  • LGPL ver 2.1
  • LGPL ver 3.0
  • EPL
    Eclipse Public License
    The Eclipse Public License is an open source software license used by the Eclipse Foundation for its software. It replaces the Common Public License and removes certain terms relating to litigations related to patents....

     ver 1.0

Architecture

Restlet directly models the concepts (Resource, Representation, Connector, Component, etc.) from Roy T. Fielding
Roy Fielding
Roy Thomas Fielding is an American computer scientist, one of the principal authors of the HTTP specification, an authority on computer network architecture and co-founder of the Apache HTTP Server project....

's original dissertation on the architecture of the Web, Architectural Styles and the Design of Network-based Software Architectures.

The Restlet framework is composed of two main parts. First, there is the "Restlet API", a neutral API supporting the concepts of REST and facilitating the handling of calls for both client-side and server-side applications. This API must be supported by a Restlet implementation before it can effectively be used. Multiple implementations could be provided (open source projects or commercial products).

It is available in five consistent editions. Each edition targets a special development environment:
  • Google Web Toolkit
    Google Web Toolkit
    Google Web Toolkit is an open source set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java. Other than a few native libraries, everything is Java source that can be built on any supported platform with the included GWT Ant build files...

     (GWT) for AJAX applications deployed in desktop browsers, without any plugin required;
  • Google App Engine
    Google App Engine
    Google App Engine is a platform as a service cloud computing platform for developing and hosting web applications in Google-managed data centers. It virtualizes applications across multiple servers,...

     (GAE/J) for deployment on Google’s cloud computing infrastructure;
  • Android for deployment on compatible smartphones;
  • Java SE for standalone deployments in regular Java Virtual Machines;
  • Java EE for deployment in Servlet engines.

Connectors

The list of available connectors splits into:
  • Server connectors: Servlet, Spring, Jetty
    Jetty (web server)
    Jetty is a pure Java-based HTTP client/server, WebSocket client/server and servlet container developed as a free and open source project as part of the Eclipse Foundation...

    , Grizzly, Simple, JAXB, JAX-RS
    JAX-RS
    JAX-RS: Java API for RESTful Web Services is a Java programming language API that provides support in creating web services according to the Representational State Transfer architectural style...

    , JiBX
    JiBX
    JiBX is an open source Java framework for XML data binding. It solves the same problem as JAXB, XMLBeans and JDOM , but works differently. It lets developers work with data from XML documents using Plain Old Java Objects . The JiBX framework uses a binding definition to tell it how the Java...

    , Velocity;
  • Client connectors: Internal, Apache HTTP Client, Net (JDK's HttpURLConnection), JavaMail
    Javamail
    JavaMail is a Java API used to receive and send email via SMTP, POP3 and IMAP. JavaMail is built into the Java EE platform, but also provides an optional package for use in Java SE.On March 2, 2009, JavaMail 1.4.2 was released....

    , JDBC.

History

Founder Jerome Louvel of Noelios Consulting began the Restlet project in December 2005, and was the primary developer and committer through the project's 1.0 release in April, 2007. He was subsequently joined by Thierry Boileau, also of Noelios, and an expanding list of extension developers from the Restlet community.

The May, 2007 publication of the O'Reilly book RESTful Web Services featured Restlet alongside Django and Rails
Ruby on Rails
Ruby on Rails, often shortened to Rails or RoR, is an open source web application framework for the Ruby programming language.-History:...

.

Restlet 1.1 was released October 28, 2008, and included support for GWT
Google Web Toolkit
Google Web Toolkit is an open source set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java. Other than a few native libraries, everything is Java source that can be built on any supported platform with the included GWT Ant build files...

 and the then-emerging JAX-RS
JAX-RS
JAX-RS: Java API for RESTful Web Services is a Java programming language API that provides support in creating web services according to the Representational State Transfer architectural style...

standard.

On May 6, 2009, Jerome Louvel announced that the planned 1.2 release of Restlet would be renamed 2.0, mainly due to significant changes in the modeling of resources. 2.0 was released on July 19, 2010.

An upcoming Restlet book ("Restlet In Action") has been announced by Noelios and Manning Press, planned to cover Restlet 2.0.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK