Tópico 14 - Enterprise Applications

Tópico 14 - Enterprise Applications

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Enterprise Applications

"Os aplicativos corporativos tratam da exibição, manipulação e armazenamento de grandes quantidades de dados muitas vezes complexos e do suporte ou automação de processos de negócios com esses dados." - Martin Fowler

  • Multi-usuário e concorrência
  • Alto padrão (Patterns e Arquitetura)
  • Persistência, Validação, Integridade, Transações, Camadas...
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

RESTful Services

  • Interface padronizada para troca de dados
  • Baseado em Recursos
  • Sistema de Camadas
  • REST Design é aplicado nos controladores
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Arquitetura em
camadas

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Alguns recursos são
implementados em
intercamadas

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Desenvolvimento

External Layer

- Validações
- HTTP Codes
- Controller REST
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Validações

Validações para entidades e records garantindo integridade dos dados.

Bean Validation fornece uma forma comum de validação por meio de declaração de restrição e metadados para aplicativos Java

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

HTTP Codes

Definição correta dos códigos de estado do HTTP

O código status 206 indica que a solicitação foi bem-sucedida e o corpo contém os intervalos de dados solicitados.

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Controller REST

Definição de uma interface de comunicação padronizada e centrada em Recursos

REST rapidamente se tornou o padrão a construção de serviços web na web porque eles são fáceis de construir e consumir

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Serviços

- Data Transfer Objects
- Mappers

Domínio

- Models/Entities

Persitência

- Repositories
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Data Transfer Objects

Definir corretamente objetos para a transferência de dados entre cliente e servidor.

"DTOs mantêm lógica fora do resto do código e também fornecem um ponto claro para alterar a serialização, caso deseje" - Martin Fowler

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Mappers

Mapeamento de objetos para objetos

"Às vezes você precisa configurar comunicações entre dois subsistemas que ainda precisam permanecer ignorantes um do outro." - Martin Fowler

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Models

Modelagem dos objetos que serão centro da aplicação, contendo todos os dados necessários para o funcionamento

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Repositories

Interface da aplicação com persistência de dados

O Repositorio fornece funcionalidade CRUD sofisticada para a classe de entidade que está sendo gerenciada.

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Segurança

- Autenticação
- Autorização

Infraestrutura

- Docker
- Database (PostgreSQL)
- Implantação (Deploy)
- Testes Unitários *
- Documentação *
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Segurança

Autenticação e Autorização

"O elo mais fraco em uma cadeira de segurança é o elemento humano." - Kevin Mitnick

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Autenticação

Processo de reconhecimento de um cliente/usuário identificado.

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Autorização

Processo de autorização de acesso à um usuário/cliente já autenticado

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Docker

Encapsulamento de bibliotecas e ambientes em containers padronizados

Com o Docker, os aplicativos e seus ambientes são virtualizados e isolados uns dos outros em um sistema operacional compartilhado do computador host.

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Database

Gerenciadores de dados persistentes.

Um banco de dados é uma coleção organizada de informações estruturadas, ou dados, armazenados em um computador.

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Deploy

Disponibilização a um público (ambiente de produção). Requer a configuração de infraestruturas específicas.

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Testes Unitários

Teste de funções usando JUnit.

Uma das principais vantagens da injeção de dependência é que ela deve facilitar o teste de unidade do seu código. Você pode usar objetos simulados em vez de dependências reais.

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications
Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Documentação

A padronização da API ajuda na sua auto-documentação. Porém podemos utilizar de ferramentas para aprimorar a documentação dos detalhes da API

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2
Tópico 14 - Enterprise Applications

Material de Apoio

Disciplina de Backend - Professor Ramon Venson - SATC 2025.2