arquitetura básica php x java web vantagens ◦ opensource; ◦ multiplataforma; ◦ suporta uma...

26

Upload: arthur-igrejas-galvao

Post on 07-Apr-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;
Page 2: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

Arquitetura Básica

Page 3: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

PHP X JAVA WEB

Page 4: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

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

Page 5: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

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

Page 6: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

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 .

Page 7: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

É 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.

Page 8: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

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.

Page 9: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

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;

Page 10: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

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;

Page 11: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

JBoss; Servidor mais parrudo que o Tomcat; Implementa EJB (será usado no projeto) Maior facilidade de manter a disponibilidade

24x7 da aplicação

Page 12: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

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

Page 13: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

Arquitetura MVC:

Page 14: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

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

Page 15: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

Arquitetura Spring:

Page 16: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

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.

Page 17: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

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

Page 18: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

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.

Page 19: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

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

Page 20: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

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.

Page 21: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

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.

Page 22: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;
Page 23: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

PostgreSQL Hibernate EJB

Page 24: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

E a arquitetura padrão criada pelo Object Management Group para estabelecer e simplificar a troca de dados entre sistemas distribuídos heterogêneos

Page 25: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

ORB (Object Request Broker )

IDL (Interface Definition Language )

Persistência

Corba é aplicável ao sistema?

Page 26: Arquitetura Básica PHP X JAVA WEB  Vantagens ◦ OpenSource; ◦ Multiplataforma; ◦ Suporta uma grande gama de banco de dados; ◦ Velocidade e robustez;

Componentes:André AndradeSeanny RiveiroTábata JulioThiago FariaVitor Carvalho