Labs SD >
As ferramentas para o desenvolvimento do projeto são: o Java (plataforma), Maven (construção), e o Eclipse (ambiente integrado de desenvolvimento).
Esta página contém textos introdutórios a cada uma das ferramentas e um exercício.
Em primeiro lugar, antes de começar, é necessário instalar o software.
O Java Developer Kit (JDK) é um conjunto de ferramentas para
programação na linguagem Java.
As mais importantes são
o javac que compila os programas e
o java que lança as aplicações.
javac e java são suficientes para construir pequenos programas, mas para programas de maior dimensão, é muito útil ter:
A tabela seguinte resume as utilizações mais comuns do JDK, Maven, e Eclipse:
A programação em Java para Sistemas Distribuídos deve ter em conta a concorrência e sincronização. O tratamento de exceções é também um aspeto muito importante, e que irá ser especialmente importante para lidar com faltas de comunicação.
A ferramenta Maven é, talvez, a mais importante logo a seguir ao próprio JDK (sim, é mais importante que o Eclipse). Em Sistemas Distribuídos, a utilização do Eclipse é opcional, mas o Maven é considerado obrigatório.
O Maven desempenha o papel muito importante de automatizar toda a construção do código e de explicitar dependências de outros programas. Todos os programas devem ter a configuração Maven no ficheiro pom.xml - para que possam ser (re)construídos de forma repetível.
Para cada exemplo,
estudar o código fonte e o ficheiro pom.xml.
Compilar e executar o programa através da linha de comando mvn,
seguindo as instruções no ficheiro readme.txt.
Para garantir a qualidade do código, é necessário produzir testes que incidem sobre diferentes módulos e aspetos das soluções.
O JUnit é uma biblioteca Java que ajuda a construir e executar testes ao código.
Exemplo e mais informação: JUnit
O Eclipse pode ser configurado por cima do JDK (Eclipse/JDK), ou então por cima também do Maven (Eclipse/Maven/JDK).
Neste exercício vamos construir uma pequena aplicação java que, para já, apenas apresenta os argumentos e configurações que recebe. Estas técnicas são ilustrativas do que muitas vezes é necessário fazer nas nossas aplicações.
O Maven é uma ferramenta muito poderosa que facilita a gestão de dependências de um determinado projecto. Adicionalmente permite ainda automatizar a fase de compilação e de testes. No seguinte exercício iremos explorar alguns dos mecanismos que o Maven disponibiliza.
<dependency>
<groupId>pt.tecnico.sd</groupId>
<artifactId>ConfigHelper</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency
Desta forma estamos a declarar que o projecto tem uma dependência do módulo ConfigHelper.
© Docentes de Sistemas Distribuídos,
Dep. Eng. Informática,
Técnico Lisboa