quinta-feira, 29 de outubro de 2009

Ubuntu 9.10 Liberado para Download

A poucos instantes o Ubuntu 9.10 foi liberado para download. Para fazer o download da sua cópia acesse aqui.
Essa nova versão traz algumas melhorias de design e software, veja aqui.

sábado, 24 de outubro de 2009

REST sem rodeios

REST (Representational State Transfer): é uma técnica de engenharia de software para sistemas hipermídia distribuídos como a Internet.

"A REST (Transferência do Estado Representacional) é pretendida como uma imagem do design da aplicação se comportará: uma rede de websites (um estado virtual), onde o usuário progride com uma aplicação selecionando as ligações (transições do estado), tendo como resultado a página seguinte (que representa o estado seguinte da aplicação) que está sendo transferida ao usuário e apresentada para seu uso." (Fielding,2000)

Os serviços Web RESTful são serviços construídos com o estilo de arquitetura RESTful. A construção de serviços Web com a abordagem RESTful está surgindo como uma alternativa popular ao uso de tecnologias baseadas em SOAP para implantação de serviços na Internet, por ser mais leve e possuir a capacidade de transmitir dados diretamente através de HTTP.

A JSR 311: JAX-RS: The JavaTM API for RESTful Web Services define uma especificação para java do RESTful e o Jersey é a implementação de referencia dessa especificação.

Despois dessa rapida explicação vamos a pratica e fazer o famoso "alô mundo" (Esse é na unha e pode ser feito em qualque IDE).

1. Crie um projeto Java
2. Baixe as seguintes bibliotecas:
. jersey-core
. jersey-server
. grizzly-servlet-webserver
. jsr311-api
. asm

3. Importe para o seu projeto as bibliotecas

4. Crie as seguintes classes:
a. Classe do Serviço

package br.javalinuxevatapa.jersey.resource;

import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;

@Path("/alomundo")
public class AloMundoResource {
@GET
@Produces("text/plain")
public String getClichedMessage() {
return "Alô Mundo!";
}
}


b. Classe de implantação e execução

package br.javalinuxevatapa.jersey.teste;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import com.sun.grizzly.http.SelectorThread;
import com.sun.jersey.api.container.grizzly.GrizzlyWebContainerFactory;

public class Inicio {

public static void main(String[] args) throws IOException {
final String baseUri = "http://localhost:9998/";
final Map initParams = new HashMap();
initParams.put("com.sun.jersey.config.property.packages","br.javalinuxevatapa.jersey.resource");
System.out.println("Starting grizzly...");
SelectorThread threadSelector = GrizzlyWebContainerFactory.create(baseUri,initParams);
System.out.println("baseUri: "+baseUri);
System.in.read();
threadSelector.stopEndpoint();
System.exit(0);
}
}


Para testar acesse cm o navegador http://localhost:9998/alomundo


Aguardem os proximos post
[]'s