Desenvolvimento Web e Web Semântica – 2019/2

Nome oficial:

  • Graduação: Tópicos Especiais em Engenharia de Software III (INF 09373);
  • PPGI: Desenvolvimento Web e Web Semântica (PINF 6091, PINF 7091).

Ementa: conceitos básicos do desenvolvimento Web; desenvolvimento Web na plataforma Java EE; fundamentos da Web Semântica; projetando, publicando e consumindo dados interligados (linked data), modelando aplicações Web baseadas em frameworks com FrameWeb.

Pré-requisitos: para acompanhar bem o curso, o aluno deve saber Java básico, modelagem orientada a objetos básica com UML, fundamentos de Bancos de Dados e ter noções de XML. Além disso, deve ter boa leitura em inglês (todo o material do curso será em inglês). Vide seção “Links interessantes“.

Metodologia: aulas expositivas, aulas práticas tipo “hands on”, exercícios em laboratório.

Dia/horário das aulas: terças e quintas-feiras, das 15h às 17h.

Local: CT-6, sala 114 (aulas teóricas), CT-9, sala 105 (LabGrad, aulas práticas) – UFES (Av. Fernando Ferrari, 514 – Goiabeiras – Vitória, ES).

Carga horária semestral: 60 horas.

Mais informações:

Programa detalhado

  1. Desenvolvimento Web em Java:
    1. O que são aplicações Web;
    2. Histórico e evolução das tecnologias Web;
    3. Visão geral da plataforma Java EE;
    4. Ferramentas para desenvolvimento Java EE;
    5. Aprendendo na prática: o exemplo Java Hostel;
    6. A tecnologia JSF (JavaServer Faces);
    7. O padrão CDI (Contexts and Dependency Injection);
    8. Persistência com JPA (Java Persistence API);
    9. Mais sobre EJBs (Enterprise Java Beans);
  2. Tecnologias para publicação de dados interligados – linked data:
    1. Introdução;
    2. Princípios de Linked Data;
    3. A Web de Dados;
    4. Considerações de projeto;
    5. Publicando dados;
    6. Consumindo dados;
  3. Outras tecnologias da Web Semântica:
    1. Description Logics com OWL;
    2. A linguagem de consulta SPARQL;
    3. O framework Jena: consumindo/publicando LD em Java;
  4. Modelagem de aplicações Web com FrameWeb:
    1. O método FrameWeb.

Sistema de avaliação – Alunos da Graduação

A avaliação será constituída de 3 trabalhos práticos (T1, T2 e T3) valendo 10 cada. A nota parcial será obtida com a seguinte fórmula:

NOTA PARCIAL = (T1 + T2 + T3) / 3

Alunos que obtiverem nota parcial igual ou superior a 7 não farão prova final, tendo sua nota final igual à nota parcial. Demais alunos terão sua nota final calculada pela média aritmética simples entre a nota parcial e a nota da prova final e deverão obter nota final igual ou superior a 5 para serem aprovados.

Observação: o aluno que tiver mais de 25% (vinte e cinco por cento) de faltas, contadas em relação ao número de horas-aulas previstas para a disciplina, será privado do direito de prestar exame final e estará, independentemente de qualquer outra condição, reprovado. (Art. 51 Regimento CT, art. 104 Regimento Geral Ufes). Além disso, a média final da disciplina será arredondada para valores inteiros ou fração de 0,5, de acordo com o art. 63, parágrafos 1º e 2º do Regimento CT).

Sistema de avaliação – Alunos de Pós-Graduação

A avaliação será constituída de 3 trabalhos práticos (T1, T2 e T3) valendo 10 cada e um seminário (S). A nota final será obtida com a seguinte fórmula:

NOTA FINAL = (T1 + T2 + T3 + S) / 4

A nota mínima para aprovação no PPGI é 6 de 10.

Observação: art. 20º do Regimento do PPGI: “Será condição necessária para aprovação e obtenção dos créditos, a frequência mínima de 75% (setenta e cinco por cento) da carga horária prevista para cada disciplina ou atividade acadêmica.”

Bibliografia

Livros:

Sobre o método FrameWeb:

Uma lista completa de publicações e outros materiais disponíveis sobre o método podem ser encontradas no site do NEMO.

Leituras recomendadas:

Cronograma / Datas importantes

O período 2019/2 inicia em 12/08/2019 e termina em 16/12/2019. A semana de provas finais 2019/2 vai de 17 a 23/12/2019. A tabela abaixo resume eventos importantes durante o curso. O programa de aulas com o cronograma completo do curso é exibido em seguida.

Data Descrição
13/08/2019 Não haverá aula: greve nacional da educação.
15/08/2019 Primeira aula do curso.
27/08/2019 Não haverá aula: participação em congresso.
03/09/2019 Prazo para definição dos grupos para trabalho prático.
23/09/2019 Prazo para entrega do trabalho T1.
16/10/2019 Prazo para apresentação do trabalho T2.
05/11/2019 Não haverá aula – Participação em Congresso.
07/11/2019 Não haverá aula – Participação em Congresso.
10/12/2019 Aula 30 (completando 60 horas-aula).
16/12/2019 Prazo para apresentação do trabalho T3.
19/12/2019 Prova Final (graduação).

Links interessantes

  • Caso o aluno ainda não tenha feito disciplina sobre banco de dados, sugiro ler material a respeito para não ficar completamente perdido quando usarmos bancos de dados para armazenar as informações das aplicações Web que desenvolvemos. Encontrei uma apostila de um professor do IME/USP que pode ser uma boa referência;
  • Para o aluno que não conhece a linguagem UML (Unified Modeling Language), sugiro a leitura dos capítulos 4 a 6 (o cap. 7 também fala de UML, mas não usamos modelagem dinâmica nesta disciplina) das Notas de Aula de Engenharia de Requisitos do prof. Ricardo Falbo;
  • Por fim, para aprender um pouco mais das linguagens utilizadas na Web, sugiro os tutoriais do site W3Schools: HTML, CSS, JavaScript, XML, etc. Eles também possuem tutorial de SQL (linguagem de manipulação de bancos de dados)!

Download de material

Trabalhos práticos e seminários

Veja neste link a especificação do trabalho prático.

Veja neste link a especificação dos seminários a serem apresentados pelos alunos do PPGI.