9. Anexos
A continuación, explicamos cómo instalar las herramientas utilizadas en este documento en equipos con Windows 7 u 8.
9.1. Instalación de un JDK
Encontraremos en URL [http://www.oracle.com/technetwork/java/javase/downloads/index.html] (octubre de 2014), el JDK más reciente. A partir de ahora, denominaremos <jdk-install> a la carpeta de instalación del JDK.
![]() |
9.2. Instalación de Maven
Maven es una herramienta de gestión de dependencias de un proyecto Java y mucho más. Está disponible en URL [http://maven.apache.org/download.cgi].
![]() |
Descarga y descomprime el archivo. Llamaremos <maven-install> a la carpeta de instalación de Maven.
![]() |
- En [1], el archivo [conf / settings.xml] configura Maven;
En él se encuentran las siguientes líneas:
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
El valor por defecto de la línea 4, si como en mi caso su {user.home} tiene un espacio en su ruta (por ejemplo, [C:\Users\Serge Tahé]), puede causar problemas a algunos programas, entre ellos IntellijIDEA. Entonces escribiremos algo como:
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>D:\Programs\devjava\maven\.m2\repository</localRepository>
y, en la línea 7, evitaremos una ruta que contenga espacios.
9.3. Instalación de STS (Spring Tool Suite)
Vamos a instalar SpringSource Tool Suite [http://www.springsource.com/developer/sts], un Eclipse preconfigurado con numerosos plugins relacionados con el framework Spring y también con una configuración de Maven preinstalada.
![]() |
- Accede a la página web de SpringSource Tool Suite (STS) [1], para descargar la versión actual de version de STS [2A] [2B],
![]() |
![]() |
- el archivo descargado es un instalador que crea el árbol de archivos [3A] [3B]. En [4], se ejecuta el ejecutable,
- en [5], la ventana de trabajo de IDE tras cerrar la ventana de bienvenida. En [6], se muestra la ventana de servidores de aplicaciones,
![]() |
- en [7], la ventana de servidores. Se registra un servidor. Se trata de un servidor VMware compatible con Tomcat.
Hay que indicar a STS la carpeta de instalación de Maven:
![]() |
- en [1-2], se configura STS;
- en [3-4], se añade una nueva instalación de Maven;
![]() |
- en [5], se indica la carpeta de instalación de Maven;
- en [6], se cierra el asistente;
- en [7], se establece la nueva instalación de Maven como la instalación predeterminada;
![]() |
- en [8-9], se comprueba el repositorio local de Maven, la carpeta donde se guardarán las dependencias que se descarguen y donde STS guardará los artefactos que se compilen;
9.4. Instalación de un servidor Tomcat
Los servidores Tomcat están disponibles en URL [http://tomcat.apache.org/download-80.cgi]. Los ejemplos de este documento se han probado con la versión version 8.0.9 disponible en URL [http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.9/bin/].
![]() |
Descargue el archivo zip adecuado para su equipo. Una vez descomprimido, obtendrá la estructura de directorios. Hecho esto, puede añadir este servidor a los servidores de:
![]() |
- en [1-3], se añade un nuevo servidor en STS; (para abrir la ventana de servidores, seleccione Window / Show view / Other / Server / Servers);
![]() |
- en [5], seleccione un servidor Tomcat 8;
- en [6], asigne un nombre a este servidor;
- en [8], indique la carpeta de instalación del Tomcat descargado anteriormente;
- en [9], el nuevo servidor;
![]() |
- en [11-12], inicie el servidor Tomcat 8;
- en [13-14], su ventana de registros;
- en [15], para detenerlo;
9.5. Instalación de [WampServer]
[WampServer] es un conjunto de programas para desarrollar en PHP / MySQL / Apache en un equipo Windows. Lo utilizaremos únicamente para SGBD y MySQL.
![]() |
- en el sitio de [WampServer] [1], elija el version adecuado [2],
- El archivo ejecutable descargado es un instalador. Durante la instalación se solicita diversa información. Dicha información no tiene relación con MySQL, por lo que puede ignorarse. Al finalizar la instalación, aparece la ventana [3]. Se inicia [WampServer],
![]() |
- en [4], el icono de [WampServer] se instala en la barra de tareas, en la parte inferior derecha de la pantalla [4],
- al hacer clic en él, se muestra el menú [5]. Permite gestionar el servidor Apache y el SGBD MySQL. Para gestionar este último, se utiliza el option [PhpPmyAdmin],
- y aparecerá la ventana que se muestra a continuación,

Aquí daremos pocos detalles sobre el uso de [PhpMyAdmin]. El documento proporciona la información necesaria cuando sea preciso.
9.6. Instalación de la extensión de Chrome [Advanced Rest Client]
En este documento se utiliza el navegador Chrome de Google (http://www.google.fr/intl/fr/chrome/browser/ ). Se le añadirá la extensión [Advanced Rest Client]. Se puede proceder de la siguiente manera:
- acceder al sitio web de [Google Web store] (https://chrome.google.com/webstore) con el navegador Chrome;
- buscar la aplicación [Advanced Rest Client]:
![]() |
- la aplicación estará entonces disponible para su descarga:
![]() |
- Para obtenerla, deberá crear una cuenta de Google. A continuación, [Google Web Store] solicita la confirmación de [1]:
![]() |
- En [2], la extensión añadida está disponible en el option [Applications] [3]. Este option se muestra en cada nueva pestaña que se crea (CTRL-T) en el navegador.
9.7. Gestión de jSON en Java
De forma transparente para el desarrollador, el marco [Spring MVC] utiliza la biblioteca jSON [Jackson]. Para ilustrar qué es el jSON (JavaScript Object Notation), presentamos aquí un programa que serializa objetos en jSON y hace lo contrario al deserializar las cadenas jSON generadas para recrear los objetos iniciales.
La biblioteca «Jackson» permite construir:
- la cadena jSON de un objeto: new ObjectMapper().writeValueAsString(object);
- un objeto a partir de una cadena jSON: new ObjectMapper().readValue(jsonString, Object.class).
Ambos métodos pueden lanzar un IOException. A continuación se muestra un ejemplo.
![]() |
El proyecto anterior es un proyecto Maven con el siguiente archivo [pom.xml];
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>istia.st.pam</groupId>
<artifactId>json</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.3.3</version>
</dependency>
</dependencies>
</project>
- líneas 12-16: la dependencia que incorpora la biblioteca «Jackson»;
La clase [Personne] es la siguiente:
package istia.st.json;
public class Personne {
// data
private String nom;
private String prenom;
private int age;
// fabricantes
public Personne() {
}
public Personne(String nom, String prénom, int âge) {
this.nom = nom;
this.prenom = prénom;
this.age = âge;
}
// firma
public String toString() {
return String.format("Personne[%s, %s, %d]", nom, prenom, age);
}
// getters y setters
...
}
La clase [Main] es la siguiente:
package istia.st.json;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class Main {
// la herramienta de serialización/deserialización
static ObjectMapper mapper = new ObjectMapper();
public static void main(String[] args) throws IOException {
// creación de una persona
Personne paul = new Personne("Denis", "Paul", 40);
// visualización jSON
String json = mapper.writeValueAsString(paul);
System.out.println("Json=" + json);
// instanciación de Persona a partir de Json
Personne p = mapper.readValue(json, Personne.class);
// Visualización de persona
System.out.println("Personne=" + p);
// una tabla
Personne virginie = new Personne("Radot", "Virginie", 20);
Personne[] personnes = new Personne[]{paul, virginie};
// visualización Json
json = mapper.writeValueAsString(personnes);
System.out.println("Json personnes=" + json);
// diccionario
Map<String, Personne> hpersonnes = new HashMap<String, Personne>();
hpersonnes.put("1", paul);
hpersonnes.put("2", virginie);
// visualización Json
json = mapper.writeValueAsString(hpersonnes);
System.out.println("Json hpersonnes=" + json);
}
}
La ejecución de esta clase produce la siguiente salida en pantalla:
Del ejemplo se desprende lo siguiente:
- el objeto [ObjectMapper] necesario para las transformaciones jSON / Objeto: línea 11;
- la transformación [Personne] --> jSON: línea 17;
- la transformación jSON --> [Personne]: línea 20;
- la excepción [IOException] lanzada por ambos métodos: línea 13.
9.8. Instalación de [Webstorm]
[WebStorm] (WS) es la versión mejorada de IDE de JetBrains para desarrollar aplicaciones HTML / CSS / JS. Me ha parecido perfecto para desarrollar aplicaciones Angular. La página de descarga es [http://www.jetbrains.com/webstorm/download/]. Es una versión de pago, pero se puede descargar una versión de prueba de 30 días. Existen versiones económicas para particulares y estudiantes.
Para instalar bibliotecas JS en una aplicación, WS utiliza una herramienta llamada [bower]. Esta herramienta es un módulo de [node.js], un conjunto de bibliotecas JS. Por otra parte, las bibliotecas JS se buscan en un sitio Git, lo que requiere un cliente Git en el equipo que realiza la descarga.
9.8.1. Instalación de [node.js]
El sitio de descarga de [node.js] es [http://nodejs.org/]. Descargue el instalador y ejecútelo. No hay nada más que hacer por el momento.
9.8.2. Instalación de la herramienta [bower]
La instalación de la herramienta [bower], que permitirá la descarga de las bibliotecas Javascript, puede realizarse de diferentes maneras. La realizaremos desde la consola:
C:\Users\Serge Tahé>npm install -g bower
C:\Users\Serge Tahé\AppData\Roaming\npm\bower -> C:\Users\Serge Tahé\AppData\Roaming\npm\node_modules\bower\bin\bower
bower@1.3.7 C:\Users\Serge Tahé\AppData\Roaming\npm\node_modules\bower
├── stringify-object@0.2.1
├── is-root@0.1.0
├── junk@0.3.0
...
├── insight@0.3.1 (object-assign@0.1.2, async@0.2.10, lodash.debounce@2.4.1, req
uest@2.27.0, configstore@0.2.3, inquirer@0.4.1)
├── mout@0.9.1
└── inquirer@0.5.1 (readline2@0.1.0, mute-stream@0.0.4, through@2.3.4, async@0.8
.0, lodash@2.4.1, cli-color@0.3.2)
- línea 1: el comando [node.js], que instala el módulo [bower]. Para que el comando funcione, es necesario que el ejecutable [npm] se encuentre en el directorio PATH del equipo (véase el párrafo siguiente);
9.8.3. Instalación de [Git]
Git es un sistema de control de versiones de software. Existe una versión para Windows llamada version, disponible en [msysgit] y URL. No vamos a utilizar [msysgit] para gestionar versiones de nuestra aplicación, sino simplemente para descargar bibliotecas JS que se encuentran en sitios web de tipo [https://github.com] que requieren un protocolo deacceso especial y que es proporcionado por el cliente [msysgit]
El asistente de instalación propone diferentes pasos, entre los que se incluyen los siguientes:
![]() | ![]() |
Para el resto de pasos de la instalación, puede aceptar los valores predeterminados propuestos.
Una vez finalizada la instalación de Git, compruebe que el ejecutable se encuentra en el directorio PATH de su equipo: [Panneau de configuration / Système et sécurité / Système / Paramètres systèmes avancés]:
![]() | ![]() |
La variable PATH tiene este aspecto:
D:\Programs\devjava\java\jdk1.7.0\bin;D:\Programs\ActivePerl\Perl64\site\bin;D:\Programs\ActivePerl\Perl64\bin;D:\Programs\sgbd\OracleXE\app\oracle\product\11.2.0\client;D:\Programs\sgbd\OracleXE\app\oracle\product\11.2.0\client\bin;D:\Programs\sgbd\OracleXE\app\oracle\product\11.2.0\server\bin;...;D:\Programs\javascript\node.js\;D:\Programs\utilitaires\Git\cmd
Compruebe que:
- la ruta de la carpeta de instalación de [node.js] está presente (en este caso, D:\Programs\javascript\node.js);
- la ruta del ejecutable del cliente Git está presente (en este caso, D:\Programas\utilidades\Git\cmd);
9.8.4. Configuración de [Webstorm]
Comprobemos ahora la configuración de [Webstorm]
![]() | ![]() |
![]() |
Arriba, seleccione option [1]. La lista de módulos [node.js] ya instalados aparece en [2]. Esta lista solo debería contener la línea [3] del módulo [bower] si ha seguido el proceso de instalación anterior.
9.9. Instalación de un emulador para Android
Los emuladores que vienen con el SDK de Android son lentos, lo que desanima a utilizarlos. La empresa [Genymotion] ofrece un emulador mucho más potente. Este está disponible en URL [https://cloud.genymotion.com/page/launchpad/download/]
(febrero de 2014).
Tendrá que registrarse para obtener una version para uso personal. Descargue el producto [Genymotion] con la máquina virtual VirtualBox;

Instale y ejecute [Genymotion]. A continuación, descargue una imagen para una tableta o un teléfono:
![]() |
- en [1], añada un terminal virtual;
- en [2], elija uno o varios terminales para instalar. Puede refinar la lista mostrada especificando la versión de Android deseada, así como el modelo de terminal;
![]() |
- una vez finalizada la descarga, obtendrá en [5] la lista de terminales virtuales de los que dispone para probar sus aplicaciones Android;




























