View
220
Download
0
Category
Preview:
Citation preview
Arquitetura Básica
PHP X JAVA WEB
Vantagens◦ OpenSource; ◦ Multiplataforma;◦ Suporta uma grande gama de banco
de dados;◦ Velocidade e robustez; ◦ Estruturado e orientado a objeto;◦ Portabilidade - independência de
plataforma; ◦ Menor curva de aprendizagem.
Desvantagens◦ Tipagem fraca◦ É necessário compilar o suporte para
o banco que você vai usar.(E torcer para que não haja nenhum conflito de versão)
◦ Tem deficiências na implementação de Orientação a Objetos
Vantagens◦ Maior manutenibilidade;◦ Robustez e segurança;◦ Maior reutilização de código;◦ Paradigma de Orientação a
Objetos mais consolidado;◦ Portabilidade; ◦ Alto Desempenho;◦ Permite o uso de inúmeros
Padrões e formas de estruturar sua Arquitetura Web;
◦ Vários Serviços e Conteiners disponíveis para estruturar sua aplicação.
Desvantagens◦ Maior complexidade no
desenvolvimento;◦ Hospedagem mais cara
que a do PHP.◦ Maior curva de
aprendizagem
JAVA◦ Pois se no futuro quisermos
ampliar o projeto,essa linguagem nós ofereceria mais segurança e menos empecilhos em relação a recursos disponíveis .
É uma estrutura de suporte definida em que um outro projeto de software pode ser organizado e desenvolvido.
Um framework pode incluir programas de suporte, bibliotecas de código, linguagens de script e outros softwares para auxiliar no desenvolvimento e unir diferentes componentes de um projeto de software.
Existe uma maior facilidade para a detecção de erros, visto que frameworks são peças mais concisas de software.
Podemos nos concentrar mais com a abstração de soluções do problema que estamos tratando.
Torna mais eficiente a resolução dos problemas. Ocasiona uma maior produtividade, garantindo
assim um maior lucro, pois teremos uma antecipação da entrega, e uma maior satisfação dos clientes.
Servidor de aplicação de código fonte aberto baseado na plataforma J2EE;
É um container J2EE (usado com EJB); Pode ser usado em qualquer sistema
operacional;
Um servidor de aplicações Java para web; Tomcat é um Contêiner Web (JSP e
Servlets); Não implementa um contêiner EJB, ou seja,
para aplicações J2EE, deve-se utilizar o tomcat com outro servidor de aplicação;
JBoss; Servidor mais parrudo que o Tomcat; Implementa EJB (será usado no projeto) Maior facilidade de manter a disponibilidade
24x7 da aplicação
Caracteristicas comuns:- FrameWorks Open Source- Arquitetura baseada em camadas (MVC)- Suporte a Internacionalização- Suportado pelas principais ferramentas (IDE’s) - Flexibilidade nas camadas, pois suporta diferentes tecnologias- Fácil manutenção- Documentação
JSF: Struts:- Evolução de uma Framework
madura e com maior tempo no mercado
- Suporte nativo para AJAX, DOJO e DWR
- Suporte a temas- Integração nativa com Spring
- Eventos de escuta- Classes Helpers- Biblioteca poderosas de tags
personalizáveis a camada de apresentação
- Validadores, tratadores de eventos e gerenciadores de navegação
Arquitetura MVC:
Spring- FrameWork Open Source- Busca automatizar o controle transacional das aplicações - Se encarrega de instanciar as classes e define as dependências entre elas- Permite um baixo acoplamento entre as classes- Arquitetura baseada em Interfaces e POJOS- Fácil integração com vários componentes exemplo: TopLink, Hibernate,JDO,
SQL Maps etc.. - Injeção de Dependência - Inversão de controle
Arquitetura Spring:
Funcionalidades ◦ PostgreSQL tem muitas características presentes em muitos SGBDs comerciais
como transações, subconsultas, gatilhos, visões, integridade referencial de chave estrangeira e bloqueio (lock) sofisticado. Tem algumas funcionalidades que outros não tem, como tipos definidos pelo usuário, herança, regras e controle de concorrência de múltiplas versões para reduzir bloqueios (locks).
Performance ◦ A performance do PostgreSQL é comparável a outros bancos de dados comerciais
e de código livre. Ele é mais rápido em algumas coisas, mais lento em outras. Confiabilidade
◦ O postgre empenhou-se em lançar versões bem testadas, de código estável e que tenha o mínimo de bugs. Cada versão tem no mínimo um mês de teste em versão beta, o histórico de versões mostra que podem fornecer versões estáveis e sólidas que estão prontas para uso em produção.
Suporte ◦ Fornecem contato com um grupo de desenvolvedores e usuários para ajudar a
resolver muitos problemas encontrados Com acesso direto aos desenvolvedores, a comunidade de usuários, manuais e o código. Também temos uma grande comunidade de empresas oferecendo suporte ao PostgreSQL, desde consultores individuais até empresas multinacionais.
Preço ◦ Nós somos livres para uso dele tanto comercial quanto não comercial.
Banco de dados objeto-relacional Suporte a transações (padrão ACID) Lock por registro (row level locking) Integridade referencial Número ilimitado de linhas e índices em tabelas Extensão para GIS (base de dados geo-referenciados) Interface gráfica de gerenciamento Uso otimizado de recursos do sistema operacional Suporte aos padrões ANSI SQL 92 e 99 Triggers, views e stored procedures Suporte ao armazenamento de BLOBs (binary large objects) Sub-queries e queries definidas na cláusula FROM Backup online Sofisticado mecanismo de tuning Suporte a conexões de banco de dados seguras (criptografia) Modelo de segurança para o acesso aos objetos de banco de dados por usuários e grupos
de usuários consultas complexas chaves estrangeiras controle de concorrência multi-versão suporte ao modelo híbrido objeto-relacional
O Hibernate é um framework de persistência que permite a utilização de banco de dados relacional, porém, trabalhando com objetos é uma ótima solução open source para mapeamento Objeto Relacional, além de ser a solução mais utilizada hoje em dia.
HQL (Hibernate Query Language) é um dialeto SQL para o Hibernate. Ela é uma poderosa linguagem de consulta que se parece muito com a SQL, mas a HQL é totalmente orientada a objeto, incluindo os paradigmas de herança, polimorfismo e encapsulamento.
Facilita a manutenção do código a longo prazo;
Persistência de um objeto para tabelas de um banco de dados relacional.
Facilita a independência de banco de dados(Automatização da compatibilidade de SGBDs)
Permite programar as camada de negócio de uma forma mais OO; Persistência transparente
Não é necessário executar os comandos SQL de Insert, Update e Delete. O hibernate executa os médoto "save(Object obj)" , "update(Object obj)" e "delete(Object obj)". Ou seja, ele salva, atualiza ou deleta objetos. hibernate trássuporte para herança e polimorfismo para consultas e persistência
Consulta FácilO hibernate possui uma lingugem própria de consulta, o HQL. Esta linguamgem é equivalente a um SQL orientado a objetos. Facilita muito as consultas de objetos.
Cache de objetosO hibernate, se for configurado para isso, trabalha com Cache de objetos. Se um usuário consultou os dados da pessoa ID 1 no banco. Essa consulta fica em memória. Caso outro usuário consulte os dados da pessoa ID 1 o hibernate retorna os valores do Cache, não realizando uma nova consulta na base.O isso significa um ganho de desempenho para aplicações de grande porte.
Pool de conexões O Hibernate também tem várias opções de pool de conexões,
podemos usar configuração padrão da especificação JPA, ou seja, usarmos o pool do próprio servidor web.
Prove suporte a persistência de coleções, para relações one-to-many e manyto-many. Arrays também são suportados, e são a únicaopção para a persistência de coleções primitivas.
“O núcleo do Hibernate3 (atualmente em alpha) é o mais poderoso motor ORM no mundo - e levará um bom tempo até os outros conseguirem alcançá-lo. Entretanto, temos percebido mais recentemente que há mais do que apenas o motor de execução para se pensar, e ao longo do tempo haverá um foco muito maior em polimento e, em alguns casos, a reescrita do nosso conjunto de ferramentas de desenvolvimento”Gavin King, o criador do Hibernate.
PostgreSQL Hibernate EJB
E a arquitetura padrão criada pelo Object Management Group para estabelecer e simplificar a troca de dados entre sistemas distribuídos heterogêneos
ORB (Object Request Broker )
IDL (Interface Definition Language )
Persistência
Corba é aplicável ao sistema?
Componentes:André AndradeSeanny RiveiroTábata JulioThiago FariaVitor Carvalho
Recommended