Skip to content

9. Anexos

A continuación, explicamos cómo instalar las herramientas utilizadas en este documento en computadoras con Windows 7 u 8.

9.1. Instalación de un JDK

En URL [http://www.oracle.com/technetwork/java/javase/downloads/index.html] (octubre de 2014) se encuentra la versión más reciente, JDK. A partir de ahora, llamaremos <jdk-install> a la carpeta de instalación del JDK.

 

9.2. Instalación de Maven

Maven es una herramienta para gestionar las dependencias de un proyecto Java y mucho más. Está disponible en URL y [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 predeterminado de la línea 4, si como en mi caso tu {user.home} tiene un espacio en su ruta (por ejemplo, [C:\Users\Serge Tahé]), puede causar problemas en algunos programas, entre ellos IntellijIDEA. En ese caso, 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 que ya viene equipado con numerosos complementos relacionados con el marco Spring y también con una configuración de Maven preinstalada.

  • Visita el sitio web de SpringSource Tool Suite (STS) [1], para descargar la versión actual de STS [2A] [2B],
  • el archivo descargado es un instalador que crea la estructura de archivos [3A] [3B]. En [4], se ejecuta el archivo ejecutable,
  • en [5], aparece la ventana de trabajo de IDE después de 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 en STS la carpeta de instalación de Maven:

  • en [1-2], se configura STS;
  • en [3-4], se agrega 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 verifica el repositorio local de Maven, la carpeta donde se guardarán las dependencias que se descargarán y donde STS guardará los artefactos que se compilarán;

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 8.0.9, disponible en URL [http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.9/bin/].

Se descarga [1] el archivo zip adecuado para la estación de trabajo. Una vez descomprimido, se obtiene la estructura de directorios [2]. Una vez hecho esto, se puede agregar este servidor a los servidores de STS:

  • En [1-3], se agrega un nuevo servidor en STS; (para abrir la ventana de servidores, seleccione Ventana / Mostrar vista / Otro / Servidor / Servidores);
  • En [5], elige un servidor Tomcat 8;
  • en [6], asigne un nombre a este servidor;
  • en [8], indica la carpeta de instalación del Tomcat que descargaste anteriormente;
  • en [9], el nuevo servidor;
  • en [11-12], inicia 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 una máquina con Windows. Lo utilizaremos únicamente para SGBD y MySQL.

  • En el sitio web de [WampServer] [1], elige la versión adecuada [2],
  • el archivo ejecutable descargado es un instalador. Durante la instalación se solicita diversa información. Esta información no se refiere a MySQL, por lo que puede ignorarse. Al finalizar la instalación, aparece la ventana [3]. Se ejecuta [WampServer],
  • en [4], el ícono de [WampServer] se instala en la barra de tareas, en la parte inferior derecha de la pantalla [4],
  • al hacer clic en él, aparece el menú [5]. Este permite administrar el servidor Apache y el SGBD MySQL. Para administrar este último, se utiliza la opción [PhpPmyAdmin],
  • lo cual abre la ventana que se muestra a continuación,

Image

Aquí daremos pocos detalles sobre el uso de [PhpMyAdmin]. El documento proporciona la información necesaria cuando sea requerida.

9.6. Instalación de la extensión de Chrome [Advanced Rest Client]

En este documento, utilizamos el navegador Chrome de Google (http://www.google.fr/intl/fr/chrome/browser/). Le agregaremos la extensión [Advanced Rest Client]. Podemos proceder de la siguiente manera:

 
  • la aplicación estará entonces disponible para descargar:
  • Para obtenerla, deberá crear una cuenta de Google. [Google Web Store] solicita luego la confirmación [1]:
  • En [2], la extensión agregada está disponible en la opción [Applications] [3]. Esta opción aparece en cada nueva pestaña que crees (CTRL-T) en el navegador.

9.7. Administración de jSON en Java

De manera transparente para el desarrollador, el marco [Spring MVC] utiliza la biblioteca jSON [Jackson]. Para ilustrar qué es el jSON (notación de objetos JavaScript), presentamos aquí un programa que serializa objetos en jSON y realiza el proceso inverso 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 de 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 {
    // datos
    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 de 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 de JSON
    json = mapper.writeValueAsString(hpersonnes);
    System.out.println("Json hpersonnes=" + json);
  }
}

Al ejecutar esta clase, se muestra lo siguiente en pantalla:

1
2
3
4
Json={"nom":"Denis","prenom":"Paul","age":40}
Personne=Personne[Denis, Paul, 40]
Json personnes=[{"nom":"Denis","prenom":"Paul","age":40},{"nom":"Radot","prenom":"Virginie","age":20}]
Json hpersonnes={"2":{"nom":"Radot","prenom":"Virginie","age":20},"1":{"nom":"Denis","prenom":"Paul","age":40}}

De este ejemplo, cabe destacar:

  • 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 a partir de JetBrains para desarrollar aplicaciones HTML / CSS / JS. Me ha parecido perfecto para desarrollar aplicaciones de Angular. El sitio de descarga es [http://www.jetbrains.com/webstorm/download/]. Es un IDE de pago, pero se puede descargar una versión de prueba de 30 días. Existen una versión personal y una versión para estudiantes a precios accesibles.

Para instalar las 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. Además, las bibliotecas JS se obtienen de un repositorio Git, lo que requiere un cliente Git en la computadora desde la que se realiza la descarga.

9.8.1. Instalación de [node.js]

El sitio de descarga de [node.js] es [http://nodejs.org/]. Descarga el instalador y ejecútalo. 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á descargar las bibliotecas de JavaScript, se puede realizar de diferentes maneras. La haremos 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, el ejecutable [npm] debe estar en el directorio PATH de la máquina (ver 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 [msysgit], disponible en URL y [http://msysgit.github.io/]. No vamos a utilizar [msysgit] para gestionar las versiones de nuestra aplicación, sino simplemente para descargar bibliotecas JS que se encuentran en sitios web del tipo [https://github.com], los cuales requieren un protocolo deacceso especial y que es proporcionado por el cliente [msysgit]

El asistente de instalación ofrece 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, verifica que el ejecutable se encuentre en el directorio PATH de tu equipo: [Panneau de configuration / Système et sécurité / Système / Paramètres systèmes avancés]:

La variable PATH se ve así:


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

Verifica que:

  • la ruta de la carpeta de instalación de [node.js] esté presente (en este caso, D:\Programas\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]

Ahora verifiquemos la configuración de [Webstorm]

Arriba, selecciona la opción [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 has 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 desmotiva su uso. La empresa [Genymotion] ofrece un emulador mucho más eficiente. Este está disponible en el URL [https://cloud.genymotion.com/page/launchpad/download/]

(febrero de 2014).

Tendrás que registrarte para obtener una versión para uso personal. Descarga el producto [Genymotion] junto con la máquina virtual VirtualBox;

Image

Instala y luego ejecuta [Genymotion]. A continuación, descarga una imagen para una tableta o un teléfono:

  • en [1], agrega un dispositivo virtual;
  • en [2], elija uno o varios dispositivos para instalar. Puede refinar la lista que se muestra especificando la versión de Android deseada [3], así como el modelo de dispositivo [4];
  • una vez finalizada la descarga, obtendrá en [5] la lista de dispositivos virtuales de los que dispone para probar sus aplicaciones de Android;