Labs SD >

Ferramentas

Objectivos da semana

Java

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:

 

Maven

A ferramenta Maven é, talvez, a mais importante logo a seguir ao próprio JDK (sim, é mais importante que o Eclipse). A utilização do Eclipse é opcional, mas o Maven é considerado obrigatório.

O Maven desempenha o papel muito importante de explicitar dependências de outros programas e de automatizar toda a construção. Todos os programas devem ter a configuração Maven - pom.xml - para que possam ser (re)construídos de forma repetível.

 

Eclipse

O Eclipse pode ser configurado por cima do JDK (Eclipse/JDK), ou então por cima também do Maven (Eclipse/Maven/JDK).

 

Sockets

Um socket é uma extremidade de uma ligação através de uma rede de computadores. Atualmente, a comunicação entre computadores faz-se quase sempre com IP (Internet Protocol). Os sockets mais comuns usam TCP (Transmission Control Protocol), que estabelecem uma ligação entre cliente e servidor. Um endereço de socket é composto por um endereço IP e por um número de porto.

O Java disponibiliza uma biblioteca de sockets que está disponível no pacote java.net. O exemplo seguinte - servidor e cliente - ilustra a comunicação entre dois programas usando esta biblioteca.

Os sockets estão na base da programação da comunicação na World Wide Web. O porto 80 é reservado para comunicação com o HTTP (HyperText Transfer Protocol).

 

Exercício a resolver até ao fim da aula

  1. Obter o exemplo de sockets TCP/IP.
    Neste caso temos dois programas que colaboram entre si.
    1. Configurar os projectos no Eclipse
    2. Estudar o código fonte e os ficheiros pom.xml do servidor e do cliente.
    3. Compilar e executar o servidor e cliente, seguindo as instruções no ficheiro readme.txt

Problemas?

  1. Analisar o output do Maven, em especial as linhas começadas por [WARNING]:
    1. Qual foi a causa da exceção?
    2. Que exceção é que foi lançada?
    3. Em que linha do código do cliente é que foi lançada a exceção?
      • Ou será um problema na configuração dos argumentos?
  1. Compilar e executar o servidor até funcionar sem erros.

Problema resolvido?
     Sim!
Retomar o exercício:

  1. Modificar os programas para que o servidor responda ao cliente com uma mensagem de confirmação.
  2. ... o resto do enunciado será entregue no início da aula.

Entrega da solução

A solução do exercício desta aula não conta para a avaliação, mas deverá ser entregue da forma descrita abaixo.

Fénix, Avaliação, Projetos, mini Exercício 0

A solução completa deverá ser submetida no Fénix antes do fim da sua aula de laboratório.
Trabalhos submetidos depois da hora de fim da aula não serão considerados.

Ter atenção ao seguinte:

 

Aprender mais!

Vai valer a pena regressar a esta aula mais tarde e aprender mais.

Ficheiros de configuração

Bibliotecas como módulos Maven

JUnit + JMockit


© Docentes de Sistemas Distribuídos, Dep. Eng. Informática, Técnico Lisboa