Please enable JavaScript.
Coggle requires JavaScript to display documents.
09 (Hibernate (arquitetura (SessionFactory (org.hibernate.SessionFactory) …
09
Hibernate
transformar objetos de uma classe em registros de uma tabela e vice-versa. Object-Relational Mapping (ORM)
O desenvolvedor define como os objetos são mapeados e o framework faz o resto, gerando inclusive o código SQL necessário
SQL (Structured Query Language), HQL (Hibernate
Query Language) e com Criteria Query API
O Hibernate fornece o papel de persistência, de forma praticamente transparente para o programador, i.e., ele praticamente só usa anotações e interfaces!
Query Cache, que permite fazer um cache das queries executadas diversas vezes
arquivos de configuração
-
hibernate.cfg.xml ou hibernate.properties (Configurar um serviço hibernate. Se ambos estiverem configurados, o primeiro sobrescreve o segundo)
arquitetura
SessionFactory (org.hibernate.SessionFactory) - classe utilizada pelo Hibernate para interagir com o banco de dados por meio de sessões
Session (org.hibernate.Session) representa uma comunicação entre a aplicação e os objetos persistentes, através de uma conexão JDBC
-
Configuration (org.hibernate.Configuration) - configurações de inicialização do Hibernate (driver de banco, dialeto, etc)
-
-
-
-
Spring Framework
-
-
Injeção de Dependências
Trata-se de um padrão de desenvolvimento de software utilizado para inverter controles e manter o baixo acoplamento entre os módulos de um sistema.
injetar dependências nada mais é que passar uma classe (que será utilizada) para outra classe (que irá consumi-la).
Acontece delegando a responsabilidade de criação do objeto para o Container.
-
Container
Ele é responsável por criar, gerenciar, conectar e configurar objetos e seus ciclos de vida. O padrão de Injeção de Dependência é baseado no padrão Builder, que é aquele cara responsável por construir objetos e armazená-los.
a injeção de dependência desacopla a construção das suas classes da construção de suas dependências. Dessa forma, quebramos o acoplamento e invertemos o controle
-
O Módulo Beans é o responsável pelo BeanFactory, que é uma
implementação do padrão Factory (Ele cria beans por meio de configurações XML)
O Módulo AOP fornece uma implementação orientada a objetos que permite definir, por exemplo, interceptadores
-
Spring Security (fornece diversos serviços de segurança a Aplicações Java EE) - principal função é fornecer autenticação e autorização sobre o Spring Framework.
(applicationContext-security.xml no diretório WEB-INF)
Java EE
É um conjunto de especificações destinadas ao desenvolvimento de aplicações distribuídas, robustas, potentes, escaláveis, multicamadas e de alta disponibilidade
-
multicamadas
-
Camada EIS (Enterprise Information System) - sistemas legados, processamento de transações de mainframe, sistemas externos, entre outros
Camada Web (JSP, JSF e Servlets) - rodam no servidor
Camada do Cliente (aplicações clientes, applets) - rodam no cliente
deployment
-
JAR (contém a Aplicação EJB, Aplicação Cliente e Applets, além de arquivos de configuração dos aplicativos.)
-
RAR (contém interfaces, classes, bibliotecas, etc)
-
apache maven
ferramenta de automação de builds, responsável por gerenciar dependências, controlar versões de artefatos, gerar relatórios de produtividade, garantir a execução de testes, manter o nível de qualidade do código, dentre outros
Ele é baseado no conceito de POM (Project Object Model).
O arquivo pom.xml é o núcleo da configuração de um projeto em Maven
Ele é utilizado para definir como um arquivo .java deve ser compilado para um arquivo .class; empacotá-los em um arquivo .jar (ou .war ou .ear); (pré/pós) processar com ferramentas; gerenciar o CLASSPATH; e outras atividades requeridas para compilar um projeto
integração, entrega e implantação contínua
entrega contínua é é uma prática ágil na qual o software é construído de tal forma que ele pode ser colocado em produção a qualquer momento
implantação contínua é é uma prática ágil na qual o software é construído de tal forma que ele é colocado em produção em determinado momento (isso é configurável)
A Integração Contínua é uma prática que pode ser aplicada por meio de uma ferramenta (Ex: Jenkins). Essa ferramenta pode ser configurada para, de tempos em tempos, buscar tudo que foi comitado pelos desenvolvedores e realizar testes de unidade e de integração automaticamente. Caso algum problema seja encontrado, temos um feedback imediato
-
-
-
jenkins
É uma ferramenta open-source de integração contínua escrita em java para testes e relatórios sobre mudanças isoladas em uma grande base de código em tempo real.
refatoração
“É o processo de mudar um sistema de software de tal forma que não altere o comportamento externo do código, embora melhore sua estrutura interna”
Ferramenta CASE
Ferramentas CASE (do inglês Computer-Aided Software Engineering) é uma classificação que abrange todas as ferramentas baseadas em computadores que auxiliam atividades de engenharia de software, desde análise de requisitos e modelagem até programação e testes
-
-
SONARQUBE
O SonarQube é uma ferramenta web open-source utilizada para gerenciar a qualidade do código – ele cobre sete grandes categorias: arquitetura e design; comentários; duplicações de código; padrões de codificação; testes (cobertura de código); complexidade ciclomática; e bugs em potencial