Diferencia entre revisiones de «Restlet»

De Dos Ideas.
Saltar a: navegación, buscar
Línea 8: Línea 8:
  
 
Restlet es capaz de soportar los principales estándares Web tales como HTTP, SMTP, XML, JSON, WADL y Atom. Están disponibles diversas extensiones para integrarse con Servlet, Spring, Jetty, Grizzly, Simple, JAXB, JiBX, Velocity o FreeMarker.
 
Restlet es capaz de soportar los principales estándares Web tales como HTTP, SMTP, XML, JSON, WADL y Atom. Están disponibles diversas extensiones para integrarse con Servlet, Spring, Jetty, Grizzly, Simple, JAXB, JiBX, Velocity o FreeMarker.
 +
 +
==Primeros pasos==
 +
Vamos a explicar como crear un recurso que diga "Hola Mundo".
 +
 +
Creamos un recurso, el cual se va a publicar por medio del metodo GET.
 +
public class HolaMundoResource extends ServerResource { 
 +
 
 +
    @Get 
 +
    public String mensaje() { 
 +
        return "Hola Mundo"; 
 +
    } 
 +
 
 +
 +
 +
A continuación creamos un router que es el encarga de publicar nuestro servicio.
 +
 +
public class HolaMundoApplication extends Application { 
 +
 
 +
    /**
 +
      * Creamos la ruta desde la cual se van a recibir todas las llamadas.
 +
      */ 
 +
    @Override 
 +
    public synchronized Restlet createInboundRoot() { 
 +
        // Creamos el enrutador que rutea cada llamada a una nueva instancia de HolaMundoResource.
 +
        Router router = new Router(getContext()); 
 +
 +
        // Definimos una ruta.
 +
        router.attach("/hola", HolaMundoResource.class); 
 +
 
 +
        return router; 
 +
    } 
 +
 
 +
 +
 +
Configuramos el web.xml con nuestro servlet para que cuando le enviemos un pedido a una URL, nuestro servidor lo delegue al servlet de rest.
 +
 +
    <?xml version="1.0" encoding="UTF-8"?> 
 +
    <web-app id="WebApp_ID" version="2.4" 
 +
                xmlns="http://java.sun.com/xml/ns/j2ee" 
 +
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 +
                xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
 +
                    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
 +
      <display-name>demo restlet</display-name> 
 +
      <!-- Application class name --> 
 +
      <context-param> 
 +
          <param-name>org.restlet.application</param-name> 
 +
          <param-value> 
 +
            com.demo.restlet.HolaMundoApplication 
 +
          </param-value> 
 +
      </context-param> 
 +
     
 +
      <!-- Restlet adapter --> 
 +
      <servlet> 
 +
          <servlet-name>RestletServlet</servlet-name> 
 +
          <servlet-class> 
 +
            org.restlet.ext.servlet.ServerServlet 
 +
          </servlet-class> 
 +
      </servlet> 
 +
     
 +
      <!-- Catch all requests --> 
 +
      <servlet-mapping> 
 +
          <servlet-name>RestletServlet</servlet-name> 
 +
          <url-pattern>/*</url-pattern> 
 +
      </servlet-mapping> 
 +
    </web-app>
 +
 +
Finalmente deployar el war (en mi caso demo-restlet.war) en el servidor de aplicación que más deseen, ingresar la url http://127.0.0.1/demo-restlet/hola y se visualiza nuestro Hola Mundo en el navegador.
 +
 +
Referencias:
 +
http://www.restlet.org/documentation/2.0/firstSteps
  
 
==Más información==
 
==Más información==
 
[http://www.restlet.org/ Web oficial de Restlet]
 
[http://www.restlet.org/ Web oficial de Restlet]

Revisión del 11:01 30 dic 2011


Restlet es un framework ligero que ayuda a desarrollar clientes y servicios REST en la plataforma Java creado por Jerome Louvel (Noelios Technologies).

Arquitectura

Soporta todos los conceptos del estilo de arquitectura Transferencia de Estado Representacional (REST) (Recursos, Representación, Conectores, Componentes, etc..).

Restlet es capaz de soportar los principales estándares Web tales como HTTP, SMTP, XML, JSON, WADL y Atom. Están disponibles diversas extensiones para integrarse con Servlet, Spring, Jetty, Grizzly, Simple, JAXB, JiBX, Velocity o FreeMarker.

Primeros pasos

Vamos a explicar como crear un recurso que diga "Hola Mundo".

Creamos un recurso, el cual se va a publicar por medio del metodo GET.

public class HolaMundoResource extends ServerResource {  
  
    @Get  
    public String mensaje() {  
        return "Hola Mundo";  
    }  
  
}  

A continuación creamos un router que es el encarga de publicar nuestro servicio.

public class HolaMundoApplication extends Application {  
  
    /** 
     * Creamos la ruta desde la cual se van a recibir todas las llamadas.
     */  
    @Override  
    public synchronized Restlet createInboundRoot() {  
       // Creamos el enrutador que rutea cada llamada a una nueva instancia de HolaMundoResource.
       Router router = new Router(getContext());  

       // Definimos una ruta.
       router.attach("/hola", HolaMundoResource.class);  
  
       return router;  
    }  
  
}  

Configuramos el web.xml con nuestro servlet para que cuando le enviemos un pedido a una URL, nuestro servidor lo delegue al servlet de rest.

   <?xml version="1.0" encoding="UTF-8"?>  
   <web-app id="WebApp_ID" version="2.4"  
               xmlns="http://java.sun.com/xml/ns/j2ee"  
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
               xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
                    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
      <display-name>demo restlet</display-name>  
      <context-param>  
         <param-name>org.restlet.application</param-name>  
         <param-value>  
            com.demo.restlet.HolaMundoApplication  
         </param-value>  
      </context-param>  
     
      <servlet>  
         <servlet-name>RestletServlet</servlet-name>  
         <servlet-class>  
            org.restlet.ext.servlet.ServerServlet  
         </servlet-class>  
      </servlet>  
     
      <servlet-mapping>  
         <servlet-name>RestletServlet</servlet-name>  
         <url-pattern>/*</url-pattern>  
      </servlet-mapping>  
   </web-app>

Finalmente deployar el war (en mi caso demo-restlet.war) en el servidor de aplicación que más deseen, ingresar la url http://127.0.0.1/demo-restlet/hola y se visualiza nuestro Hola Mundo en el navegador.

Referencias: http://www.restlet.org/documentation/2.0/firstSteps

Más información

Web oficial de Restlet