Desarrollo Web

Introduccion a TDD

TDD o Test Driven Development ( Desarrollo orientado a Pruebas) es una metodología de desarrollo en la cual primero se programa el Test automatizado y luego se codifica la aplicación en sí. De esta manera nos aseguramos que nuestra aplicación siempre tenga el comportamiento definido en el requerimiento.

Existe mucha documentación al respecto, como puedes revisar en estas páginas:

http://es.wikipedia.org/wiki/Desarrollo_guiado_por_pruebas

 http://www.scribd.com/doc/24947120/Dise-o-Agil-Con-TDD-n

 

El flujo básico  comienza luego definir el comportamiento del requisito. Luego se ejecutan los siguientes pasos de manera iterativa:

1. Escribir el test para que pruebe el comportamiento de la aplicación. Ejecutarlo (Obviamente, fallará RED porque aún no se implementa nada).

2. Realizar los cambios que sean necesarios en la aplicación para que satisfaga las pruebas del test. (Al ejecutar el test, esta vez pasarán exitosamente GREEN)

3.  Refactorizar el código para hacerlo más eficiente y volver al paso 1.

 

tdd red green refactor

Y así sucesivamente hasta el infinito y más allá

 

 

 

buzz usa tdd

Buzz también usa TDD

Ahora te dejo el tutorial de como podrías realizar TDD usando Java y JUnit.

Desarrollo Web

Integrar Java Restful Webservices con Spring 3 y Maven 3

Crear el arquetuipo (o plantilla) de nuestra apliación web java

En primer lugar debemos crear un archetype del tipo

mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp

Luego, se iniciará el modo interactivo

Screenshot from 2013-04-03 18:03:36

En el modo interactivo, se debe ingresar tres datos; ‘groupId’, ‘artifactId’, ‘version’. (Si quieres saber las convenciones para nombrar estos datos de maven aqui). Luego de ingresar estos datos, el archetype de nuestra aplicación se generará automáticamente.

maven archethype web app

Como pueden ver ser han generado dos carpetas: src y target. Asimismo, se ha creado el archivo pom.xml, en donde configuraremos las librerias y dependencias necesarias para nuestra aplicación y que será administrada automáticamente por Maven.

Importar aplicación web java en Eclipsen con Maven

Luego, como yo uso Eclipse, aprovecho el comando maven para convertir la aplicacion que acabos de crear en un proyecto de Eclipse.

 mvn eclipse:eclipse  -Dwtpversion=2.0

Luego se generarán los archivos necesarios para que la aplicación web pueda ser importada desde eclipse: .classpath y .project

Screenshot from 2013-04-03 21:53:53

Ahora podremos importar el proyecto fácilmente desde Eclipse.

Luego en Eclipse, vamos al menú «File» y seleccionamos «Import», luego seleccionaremos General => Existing projects into Workspace»

maven eclipse:eclipse import

Damos siguiente y aparecerá una ventana como esta:

maven import eclipse into worskpace

Ahí tendremos que seleccionar la carpeta de nuestra aplicación. ¡Ya podemos programar nuestra aplicación desde Eclipse!

Configurar pom.xml (Maven) para integrar Spring 3

El primer paso que tenemos que hacer para convertir nuestra apliación web en una aplicación con Spring es agregar las dependencias necesarias en el archivo pom.xml.

El pom.xml generado automáticamente lucirá así:

pom.xml maven

Ahora procederemos a agregar las dependencias necesarias para soportar Spring.

Tenemos que agregar lo siguiente dentro del nodo dependencies:

<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-context</artifactId>
 <version>3.2.2.RELEASE</version>
 </dependency>

Luego, para poder tener las librerias disponibles, las descargaremos usando el comando:

mvn install

Para comprobar que todo está ok, solo hay que dar refrescar el proyecto en Eclipse y checar que las referencias hayan sido descargadas:

maven librerias spring 3.2
Desarrollo Web

Restful Webservice con Netbeans

Primero debemos crear un proyecto web nuevo:
Screenshot from 2013-04-10 15:59:49

Luego se da Next y en la siguiente pantalla:

Screenshot from 2013-04-10 16:00:49

Luego creamos una clase donde agregaremos las anotaciones necesarias para obtener el restful webservice.

package rest;

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

@Path("/rest")
@Produces({"application/json"})
public class RestService {

}

Netbeans mostrará un icono que nos para que nos ayude a definir cómo se implementará el restful webservice

Screenshot from 2013-04-10 16:10:03

Luego seleccionaremos :

Screenshot from 2013-04-10 16:12:15

Luego agregaremos un método para probar, solo mostraremos un mensaje:

package rest;

import java.util.List;
import java.util.ArrayList;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

@Path("/rest")
@Produces({"application/json"})
public class RestService {

    @GET
    @Path("/")
    public List getRespuesta(){
        List respuesta =  new ArrayList();
        respuesta.add("nombre");
        respuesta.add("apellido");
        return respuesta;
    }
}

Y luego lo probamos con el addon para Firefox Restclient:

Screenshot from 2013-04-10 16:23:26

Siguenos en Facebook