Skip to content

9. Anexos

Apresentamos aqui como instalar as ferramentas utilizadas neste documento em computadores com Windows 7 ou 8.

9.1. Instalação do JDK

No URL, encontra-se o [http://www.oracle.com/technetwork/java/javase/downloads/index.html] (outubro de 2014), sendo o JDK a versão mais recente. A partir de agora, chamaremos de <jdk-install> a pasta de instalação do JDK.

 

9.2. Instalação do Maven

O Maven é uma ferramenta de gerenciamento de dependências de um projeto Java e muito mais. Ele está disponível no URL e no [http://maven.apache.org/download.cgi].

 

Baixe e descompacte o arquivo. Chamaremos de <maven-install> a pasta de instalação do Maven.

  • No [1], o arquivo [conf / settings.xml] configura o Maven;

Nele, encontramos as seguintes linhas:


  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
-->

O valor padrão da linha 4, caso, como no meu caso, seu {user.home} tenha um espaço no caminho (por exemplo, [C:\Users\Serge Tahé]), pode causar problemas em alguns programas, incluindo o IntellijIDEA. Nesse caso, escreveremos 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>

e, na linha 7, evitaremos um caminho que contenha espaços.

9.3. Instalação do STS (Spring Tool Suite)

Vamos instalar o SpringSource Tool Suite [http://www.springsource.com/developer/sts], um Eclipse pré-configurado com vários plug-ins relacionados ao framework Spring e também com uma configuração do Maven pré-instalada.

  • Acesse o site do SpringSource Tool Suite (STS) [1], para baixar a versão atual do STS [2A] [2B],
  • o arquivo baixado é um instalador que cria a estrutura de arquivos [3A] [3B]. No [4], executa-se o executável,
  • em [5], a janela de trabalho do IDE após fechar a janela de boas-vindas. Em [6], exibe-se a janela dos servidores de aplicativos,
  • em [7], a janela dos servidores. Um servidor está registrado. Trata-se de um servidor VMware compatível com Tomcat.

É necessário indicar ao STS a pasta de instalação do Maven:

  • no [1-2], configura-se o STS;
  • no [3-4], adiciona-se uma nova instalação do Maven;
  • em [5], indica-se a pasta de instalação do Maven;
  • em [6], finaliza-se o assistente;
  • em [7], define-se a nova instalação do Maven como a instalação padrão;
  • em [8-9], verifica-se o repositório local do Maven, a pasta onde ele armazenará as dependências que baixar e onde STS colocará os artefatos que serão construídos;

9.4. Instalação de um servidor Tomcat

Os servidores Tomcat estão disponíveis em URL [http://tomcat.apache.org/download-80.cgi]. Os exemplos deste documento foram testados com a versão 8.0.9, disponível em URL [http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.9/bin/].

Baixe o arquivo zip adequado para a estação de trabalho: [1]. Após descompactá-lo, obtém-se a estrutura de diretórios [2]. Feito isso, é possível adicionar este servidor aos servidores de STS:

  • no [1-3], adiciona-se um novo servidor no STS; (para abrir a janela de servidores, selecione Window / Show view / Other / Server / Servers);
  • no [5], selecione um servidor Tomcat 8;
  • no [6], atribua um nome a esse servidor;
  • em [8], indique a pasta de instalação do Tomcat baixado anteriormente;
  • em [9], o novo servidor;
  • em [11-12], inicie o servidor Tomcat 8;
  • em [13-14], sua janela de logs;
  • em [15], para pará-lo;

9.5. Instalação do [WampServer]

O [WampServer] é , um conjunto de softwares para desenvolvimento em PHP / MySQL / Apache em uma máquina Windows. Vamos utilizá-lo exclusivamente para o SGBD e o MySQL.

  • no site do [WampServer] [1], escolha a versão adequada [2],
  • o executável baixado é um instalador. Várias informações são solicitadas durante a instalação. Elas não dizem respeito ao MySQL. Portanto, podem ser ignoradas. A janela [3] é exibida ao final da instalação. Inicie o [WampServer],
  • no [4], o ícone do [WampServer] é instalado na barra de tarefas, na parte inferior direita da tela [4],
  • ao clicar nele, o menu [5] é exibido. Ele permite gerenciar o servidor Apache e o SGBD MySQL. Para gerenciá-lo, use a opção [PhpPmyAdmin];
  • e, então, é exibida a janela abaixo,

Image

Aqui, daremos poucos detalhes sobre o uso do [PhpMyAdmin]. O documento fornece as informações necessárias quando for o caso.

9.6. Instalação do plugin do Chrome [Advanced Rest Client]

Neste documento, utilizamos o navegador Chrome do Google (http://www.google.fr/intl/fr/chrome/browser/). Adicionaremos a ele a extensão [Advanced Rest Client]. Para isso, proceda da seguinte forma:

 
  • o aplicativo estará então disponível para download:
  • para obtê-la, você precisará criar uma conta do Google. O [Google Web Store] solicita, em seguida, a confirmação do [1]:
  • Em [2], a extensão adicionada fica disponível na opção [Applications] [3]. Essa opção é exibida em cada nova aba que você criar (CTRL-T) no navegador.

9.7. Gerenciamento do jSON em Java

De forma transparente para o desenvolvedor, o framework [Spring MVC] utiliza a biblioteca jSON [Jackson]. Para ilustrar o que é o jSON (JavaScript Object Notation), apresentamos aqui um programa que serializa objetos em jSON e faz o inverso, deserializando as cadeias jSON geradas para recriar os objetos iniciais.

A biblioteca 'Jackson' permite construir:

  • a string jSON de um objeto: new ObjectMapper().writeValueAsString(object);
  • um objeto a partir de uma string jSON: new ObjectMapper().readValue(jsonString, Object.class).

Ambos os métodos podem gerar um IOException. Veja um exemplo.

  

O projeto acima é um projeto Maven com o seguinte arquivo [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>
  • linhas 12-16: a dependência que inclui a biblioteca 'Jackson';

A classe [Personne] é a seguinte:


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;
    }

    // assinatura
    public String toString() {
        return String.format("Personne[%s, %s, %d]", nom, prenom, age);
    }

    // getters e setters
...
}

A classe [Main] é a seguinte:


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 {
  // a ferramenta de serialização/desserialização
  static ObjectMapper mapper = new ObjectMapper();

  public static void main(String[] args) throws IOException {
    // criação de uma pessoa
    Personne paul = new Personne("Denis", "Paul", 40);
    // exibição jSON
    String json = mapper.writeValueAsString(paul);
    System.out.println("Json=" + json);
    // instanciação de Pessoa a partir do JSON
    Personne p = mapper.readValue(json, Personne.class);
    // exibição de pessoa
    System.out.println("Personne=" + p);
    // uma tabela
    Personne virginie = new Personne("Radot", "Virginie", 20);
    Personne[] personnes = new Personne[]{paul, virginie};
    // exibição de JSON
    json = mapper.writeValueAsString(personnes);
    System.out.println("Json personnes=" + json);
    // dicionário
    Map<String, Personne> hpersonnes = new HashMap<String, Personne>();
    hpersonnes.put("1", paul);
    hpersonnes.put("2", virginie);
    // exibição de JSON
    json = mapper.writeValueAsString(hpersonnes);
    System.out.println("Json hpersonnes=" + json);
  }
}

A execução desta classe gera a seguinte exibição na tela:

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}}

Deste exemplo, destacamos:

  • o objeto [ObjectMapper] necessário para as transformações jSON / Objeto: linha 11;
  • a transformação [Personne] --> jSON: linha 17;
  • a transformação jSON --> [Personne]: linha 20;
  • a exceção [IOException] lançada pelos dois métodos: linha 13.

9.8. Instalação de [Webstorm]

[WebStorm] (WS) é a versão IDE do JetBrains para desenvolver aplicativos HTML / CSS / JS. Achei-o perfeito para desenvolver aplicativos Angular. O site de download é [http://www.jetbrains.com/webstorm/download/]. Trata-se de um IDE pago, mas é possível baixar uma versão de avaliação de 30 dias. Existem versões pessoal e estudantil a preços acessíveis.

Para instalar bibliotecas JS em uma aplicação, o WS utiliza uma ferramenta chamada [bower]. Essa ferramenta é um módulo do [node.js], um conjunto de bibliotecas JS. Além disso, as bibliotecas JS são buscadas em um repositório Git, o que requer um cliente Git no computador que está fazendo o download.

9.8.1. Instalação do [node.js]

O site de download do [node.js] é o [http://nodejs.org/]. Baixe o instalador e execute-o. Não há mais nada a fazer por enquanto.

9.8.2. Instalação da ferramenta [bower]

A instalação da ferramenta [bower], que permitirá o download das bibliotecas JavaScript, pode ser feita de várias maneiras. Vamos fazê-la a partir do terminal:


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)
  • linha 1: o comando [node.js], que instala o módulo [bower]. Para que o comando funcione, é necessário que o executável [npm] esteja no diretório PATH da máquina (veja o parágrafo a seguir);

9.8.3. Instalação do [Git]

O Git é um sistema de gerenciamento de versões de software. Existe uma versão para Windows chamada [msysgit], disponível no URL e no [http://msysgit.github.io/]. Não vamos usar o [msysgit] para gerenciar versões do nosso aplicativo, mas simplesmente para baixar bibliotecas JS que se encontram em sites do tipo [https://github.com], que exigem um protocolo deacesso especial, fornecido pelo cliente [msysgit]

O assistente de instalação apresenta diferentes etapas, entre as quais as seguintes:

Para as demais etapas da instalação, você pode aceitar os valores padrão propostos.

Assim que a instalação do Git estiver concluída, verifique se o executável está no PATH da sua máquina: [Panneau de configuration / Système et sécurité / Système / Paramètres systèmes avancés]:

A variável PATH tem a seguinte aparência:


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

Verifique se:

  • o caminho da pasta de instalação do [node.js] esteja presente (aqui, D:\Programas\javascript\node.js);
  • o caminho do executável do cliente Git esteja presente (aqui, D:\Programas\utilitários\Git\cmd);

9.8.4. Configuração do [Webstorm]

Vamos agora verificar a configuração do [Webstorm]

Acima, selecione a opção [1]. A lista de módulos [node.js] já instalados aparece em [2]. Essa lista deve conter apenas a linha [3] do módulo [bower], caso você tenha seguido o processo de instalação anterior.

9.9. Instalação de um emulador para Android

Os emuladores fornecidos com o SDK do Android são lentos, o que desestimula seu uso. A empresa [Genymotion] oferece um emulador com desempenho muito superior. Ele está disponível no URL [https://cloud.genymotion.com/page/launchpad/download/]

(fevereiro de 2014).

Você precisará se cadastrar para obter uma versão para uso pessoal. Baixe o produto [Genymotion] junto com a máquina virtual VirtualBox;

Image

Instale e, em seguida, execute o [Genymotion]. Em seguida, baixe uma imagem para um tablet ou celular:

  • no [1], adicione um terminal virtual;
  • no [2], escolha um ou mais terminais para instalar. Você pode refinar a lista exibida especificando a versão desejada do Android ([3]) e o modelo do terminal ([4]);
  • assim que o download for concluído, você obterá, em [5], a lista de terminais virtuais disponíveis para testar seus aplicativos Android;