PLANO DE CURSO  
ANO: 2024
 
CURSO: CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS SÉRIE: 03
DISCIPLINA: TÓPICOS AVANÇADOS EM PROGRAMAÇÃO    
 

Aulas Teóricas: 152

A)EMENTA
Este curso analisará os novos requisitos do desenvolvimento de aplicações e as tecnologias associadas, tais como sistemas distribuídos, arquitetura cliente/servidor, interfaces gráficas e banco de dados relacionais. Além dos conceitos de orientação a objetos, serão apresentados ambientes de desenvolvimento integrados (IDE) e implementações da orientação a objetos na tecnologia de banco de dados, utilizando linguagem de programação a ser definida em conjunto com cada grupo de trabalho.

B) OBJETIVOS / COMPETÊNCIAS
Para construir software inovador, é necessário muitos ingredientes, o mais importante deles é desenvolver uma cultura aberta para inovar. Esta cultura é diretamente influenciada pelas novas tecnologias como:
1 - Utilização eficiente da orientação à objetos e linguagem de programação Java com agilidade e qualidade MPS-BR;
2 - Desenvolver aplicativos e serviços Web, utilizando banco de dados relacional, JPA, JSF, microserviços REST e frameworks java como o Spring Boot;
3 - Integração entre Java e Bancos de dados;
4 - Bibliotecas ORM e o Hibernate;
5 - FrameWork Spring Boot
6 - Publicando Endpoints
7 - Usando Spring Data
8 - Trabalhando com POST
9 - Validação com Bean Validation
10 - Métodos PUT, DELETE e tratamento de erro
11 - Paginação e ordenação de recursos
12 - Melhorando desempenho com Spring Cache
13 - Proteção com Spring Security
14 - Gerando token com JWT
15 - Autenticação via JWT
16 - Monitoramento com Spring Boot Actuator
17 - Documentação da API com Swagger
18 - Profiles
19 - Testes automatizados
20 - Deploy
21 - Deploy com Docker e na nuvem

C) BASES TECNOLÓGICAS (CONTEÚDO PROGRAMÁTICO)
1 - Aprendizado de Tecnologias de programação Jakarta EE com Spring Boot.
2 - Aprender a criar aplicações para a WEB, utilizando a IDE Eclipse ou similares.
3 - Desenvolver microserviços REST com Spring Data, Spring Security/JWT e Spring Web.
4 - Fazer o Deploy com Docker e na nuvem


D) ATIVIDADES DISCENTES
Exercícios em laboratório de informática, ou Home office, com o uso de rede, Banco de Dados e servidor de aplicação web para implantação de pequenas aplicações multiusuárias. Serão desenvolvidos alguns microserviços utilizando o framework Spring Boot.
Desenvolvimento de microserviços com tecnologia Spring Boot, com a IDE SpringToolSuite4.


E) AVALIAÇÃO
O aluno será avaliado na forma de:
1. Exercícios práticos em laboratório de informática, ou home office, utilizando tecnologias de programação JAVA e enviado ao Moodle.
2. Implementação de pequenos microserviços, e apresentados para o professor.


F) BIBLIOGRAFIA BÁSICA
Deitel, Paul. Java: como programar. Pearson Prentice Hall, 2010.
PINHEIRO, NCISCO A.C: FUNDAMENTOS DE COMPUTAÇÃO E ORIENTAÇÃO A OBJETOS USANDO JAVA. 2006.
Boaglio, Fernando: Spring Boot, Acelere o desenvolvimento de microsserviços. Caso do código. 2018.

BIBLIOGRAFIA COMPLEMENTAR
BOAGLIO, Fernando. Spring Boot: acelere o desenvolvimento de microsserviços. São Paulo: Casa do código, 2017. TÓPICOS AVANÇADOS EM PROGRAMAÇÃO
Ferreira, Arthur G. Interface de programação de aplicações (API) e web services. Disponível em: Minha Biblioteca, Editora Saraiva, 2021.
Freitas, Pedro Henrique, C. et al. Programação Back End III. Disponível em: Minha Biblioteca, Grupo A, 2021.