Ferramentas
Arquitetura Cliente/Servidor
Arquitetura Cliente/Servidor
Conceitos:
“É uma arquitetura onde o processamento da informação é dividido em módulos ou
processos distintos. Um processo é responsável pela manutenção da informação
(Servidor), enquanto que outro é responsável pela obtenção dos dados (Cliente)”.
BATTISTI, (2001, pág. 38).
A Evolução da Ciência
• Ciência Empírica
• Cientistas coletam dados pela observação direta
• Cientistas analisam a informação
• Ciência Teórica
• Cientistas constroem um modelo analítico
• Fazem predições
• Ciência Computacional
• Simulação do modelo analítico
• Validação do modelo e construção de predições
A Ciência Computacional Evolui
• eScience - Exploração da Informação
• “onde a TI encontra a ciência”
7
comp-X e X-info P&E
irão unificar ou competir. Gene Sequencer
From
http://www.genome.uci.edu/
Space Telescope
A Explosão de Dados na Ciência
Experimentos Simulações Arquivos Literatura Consumo
O Desafio:
Possibilitar Descobertas
via mineração,
buscas e análise destes dados
em tempo quase-real.
Petabytes
Dobrando a cada
2 anos
Hoje temos um ponto de inflexão
• Desafios econômicos
• Eficiência na Pesquisa
• Escala da Infraestrutura
• Transição Tecnológica
• Cloud computing e Software+Serviços
• Escalando o armazenamento e lidando com o Multicore
• Respostas atuais:
• Serviços na nuvem ricos
• Infraestrutura Hospedada
• Economia de escala (Computação como Commodity)
Arquitetura Cliente/Servidor
“É uma abordagem da computação que separa os processos em plataformas
independentes que interagem, permitindo que os recursos sejam compartilhados
enquanto se obtém o máximo de benefício de cada dispositivo diferente, ou seja,
Cliente/Servidor é um modelo lógico”. VASKEVITCH, (1995, pág. 375).
• Pergunta 1:Quando
A Zend Technologies foi lançado
é atualmente a linguagem
a empresa responsável por manterPHP,
o corequem
ou coraçãofoidao seu
Linguagem PHP, seus criadores foram responsáveis pela criação da versão 3, 4 e da reescrita
criador e o que
do Zend Engine significava
2.0 motor que compões oaPHP
sigla
5 emPHP
diante.inicialmente?
Qual o nome e nacionalidade dos
criadores da Zend?
Quando instalamos o Apache como servidor Web, quais duas portas TCP/IP ficam reservadas por padrão para comunicação Web.
•
80443
•O Servidor de Banco de Dados MySQL quando instalado ocupa por padrão uma porta TCP/IP qual a porta
padrão reservada ao MySQL e que software necessariamente precisa ser acionado para liberar esta porta?
•3306 firewall
•Diferente de linguagens como Java ou C# a linguagem PHP não é fortemente tipada, o que significa que o tipo
de variável depende em grande parte de seu conteúdo, essa afirmação é?
•Fracamente tipada
Arquitetura Cliente/Servidor
“Sistema inovador surgido nos anos 90 e muito utilizado no meio corporativo, baseado
em três componentes principais: gerenciamento de banco de dados, que funcionam
como servidores; redes, que funcionam como meio de transporte de dados e,
finalmente, softwares para acesso aos dados: Clientes”. BATTISTI, (2001, pág 39).
Arquitetura Cliente/Servidor
Estrutura Básica:
Em uma rede de computadores existem uma ou mais máquinas que atuam como
servidores, disponibilizando recursos para as demais máquinas, as quais atuam como
clientes.
REQUISITA
Banco de Dados
Servidor de
Arquivos Outros
Serviços
Clientes
Arquitetura Cliente/Servidor
Onde:
Banco de Dados
Clientes
Arquitetura Cliente/Servidor
Aplicações em Duas Camadas:
Foram utilizadas no início da implantação do modelo
Cliente/ Servidor. Aqui, a aplicação Cliente responde
pelas seguintes funções: .
Apresentação:
O código que gera a interface visível do programa faz
parte da aplicação Cliente. Todos os formulários, menus
e demais elementos visuais nele estão contidos. Então
uma alteração na interface do programa requer a
geração de uma nova versão para todos os
computadores;
Arquitetura Cliente/Servidor
Lógica do Negócio:
São as regras que definem como os dados serão
acessados e processados. Toda a Lógica do Negócio fica
no Cliente. Quando o programa Cliente é instalado, são
instaladas todas as regras de acesso ao banco de dados.
É necessária uma nova versão do programa cada vez que
alterações ocorrerem e as regras mudarem. Também é
necessário que todos os computadores que estejam com
a versão anterior recebam a nova, mesmo que sejam
centenas ou milhares de micros.
Arquitetura Cliente/Servidor
Contribuições;
Avanços para a empresa;
Limitações;
Dificuldade de Manutenção e gerenciamento.
Arquitetura Cliente/Servidor
Aplicações em Três Camadas:
Clientes
Arquitetura Cliente/Servidor
Evolução:
Retira as Regras do Negócio do cliente e as centraliza
em um determinado ponto, o qual é chamado de
servidor de aplicações:
O acesso ao Banco de
Dados é feito através
das regras contidas no
Servidor de Aplicações:
Servidor de Servidor de Banco facilidade de atualização
Aplicações de Dados das mesmas, pois estão
centralizadas em um
único ponto.
Arquitetura Cliente/Servidor
Características:
As Regras do Negócio (lógica) foram deslocadas para
o Servidor de Aplicações, então ali será determinada a
maneira como os dados serão utilizados. .
Idéia básica:
Retirar a apresentação do cliente e centralizá-la em um
determinado ponto, o qual na maioria dos casos é um
Servidor web.
Avanço:
O cliente deixa de existir como um programa que
precisa ser instalado em cada micro. O acesso à
aplicação é feito através de um navegador: Internet
Explorer, Netscape Navigator
Arquitetura Cliente/Servidor
Aplicações em Quatro Camadas – Estrutura:
Servidor de
Aplicações
Clientes
Arquitetura Cliente/Servidor
Esquema básico:
•Cliente quer acessar a aplicação
•acessa o endereço da mesma através do navegador
•servidor de aplicações verifica se ao cliente é permitido o acesso
•banco de dados liberado.
http://www.empresa-
xy.com/sistemas/rh.aspx.
Banco de dados:
Servidor de Aplicações informações
determina de que maneira necessárias
os dados serão utilizados
Arquitetura Cliente/Servidor
4 Camadas:
.
Cliente: Navegador;
Apresentação: Servidor Web, onde serão feitas as
alterações de interface;
Lógica (Regras do Negócio): Servidor de Aplicações,
onde serão feitas as alterações nas regras do negócio,
quando necessárias;
Dados: Servidor de Banco de Dados, com todas as
informações necessárias.
Arquitetura Cliente/Servidor
Vantagens: Desvantagens:
.
•Serviços; Complexidade;
•Recursos; Comunicação.
• Protocolos;
•Localização;
• Descentralização;
•Escalabilidade;
• Integridade.
Bibliografia
37
Windows HPC Server 2008
• Solução inter-operável c/ biblioteca padrão MPI
• Construída em cima do Windows Server 2008 64-bit
Administração Job
Scheduling
Networking
& MPI Storage
Service Oriented Architecture-HPC
WS
Scheduler
Jobs WS
WS
Req Results
Req
WS
Head Node
Job Cluster
Mgmt Mgmt
WS
SchedulingResource
Mgmt
Compute Node
Job
Execution User App
MPI
Topologia Típica de um Cluster
Infra estrutura da TI
AD Windows Monitoring Systems
Update Management
DNS
DHCP
Rede
Pública
Head Node
Compute Node Compute Node Admin / User Cons
Node Manager Node Manager WDS
MPI MPI Job Scheduler
Management Management MPI
Management
Rede NAT
Privada
Rede
MPI Cluster de Computação
Diferenciais
• Setup Simples
• Foco no gerenciamento simplificado
• Escala Horizontalmente
• Integração com o gerenciamento da corporação
• Integrado com a IDE de Desenvolvimento
• MS Research: Dryad e DryadLinq
Azure
Não seria bom ter…
Computar
Período de
Inatividade
Uso Médio
Média Uso
Time Tempo
Cargas On/Off (ex.:. Job batch) Serviços que precisam cresce e escalar
Desperdício da capacidade provisionada Crescer é um desafio grande na TI
Time to market pode ser retardado Deployment complexo
Computar
Uso Médio Uso Médio
Tempo Tempo
Custo
Inicial
das
capacidades Carga Atual
TEMPO
Previsão
Alocação de de Carga
capacidades
Sem “falta“ de
CAPACIDADE DA TI
capacidades
Redução do É possível a
“excesso de TI“ redução das
capacidades no
caso da
Redução dos redução da
investimentos carga
iniciais
Carga Atual
Tempo
Datacenter
http://www.ctrlzeta.com.br/azure-nuvem-da-microsoft/
Em termos de capacidade de memória, o Azure equivale a soma de todos os Data
Em termos técnicos, Azure também define o sistema operacional que gerencia este
Cada Data Center do Azure possui 600.000 servidores e seu tamanho equivale a
http://www.ctrlzeta.com.br/azure-nuvem-da-microsoft/
Cloud Computing
Modelo em Camadas
Plataforma Windows Azure
Experiência de Desenvolvimento
que usa ferramentas e conhecimento atual
Business
Reporting Data Sync
Analytics
Componentes do Windows
Azure
Por que a nuvem?
1AMI-Partners, 25 de março de 2013. U.S. SMB Trends & Server Market Insights.
62
Porque Azure?
Disponível globalmente
Econômico e dimensionável
Aberto e Flexível
63
Principais cenários do Azure para clientes de
pequeno e médio porte
Pedidos
CRM Conta
AP
RH
Produto
64
Implantação de aplicativos na nuvem
65
Venda de backup de servidor na nuvem
66
Backup do SQL Server na nuvem
67
Hospedagem de sites na nuvem
68
Azure via Open – Os detalhes
69
Azure vs Amazon Web Services
70
https://aws.amazon.com/pt/comecando-com-
ec2/?sc_channel=PS&sc_campaign=acquisition_BR&sc_publisher=google&sc_medium=
br_ec2_b&sc_content=server_e&sc_detail=servidor%20amazon&sc_category=ec2&sc_s
egment=222480945267&sc_matchtype=e&sc_country=BR&s_kwcid=AL!4422!3!222480
945267!e!!g!!servidor%20amazon&ef_id=WoQ-TQAAAMo5vG5R:20180318123527:s
Amazon web services
• Começou a atuar no ramo de
computação em nuvem em 2006.
• Provê serviços de infraestrutura de
TI.
• Fornece estes serviços a preços
competitivos.
• Utilizada por milhares de empresas
em 190 países.
• Possui servidores no Japão, EUA,
Europa e Cingapura.
• Sua segurança é garantida pela iso
27001, dentre outras normas.
Serviços OFERECIDOS
• Elastic Compute Cloud (EC2) • Identity and Access Management
• Relational Database Service (RDS) (IAM)
• Simple Storage Service (S3) • Simple Notification Service (SNS)
• Virtual Private Cloud (VPC) • Simple E-mail Service (SES)
• Cloud Watch • Route 53
• Elastic MapReduce • DynamoDB
• CloudFront • Storage Gateway
• CloudFormation • Simple Workflow Service (SWF)
• ElastiCache • CloudSearch
• Simple Queue Service (SQS) • SimpleDB
Suporte atual
• LINGUAGENS
• Java
• PHP (recente)
• Ruby
• Python (recente)
• Windows e .NET (5 dias)
• Celular (Android e iOS)
• BANCO DE DADOS
• MySQL (5.1.45 a 5.5.8)
• Oracle (se, se1, ee)
• SQL Server (ex, web, se, ee)
Plugin do AWS PARA eclipse
Console do aws
Amazon compute cloud (ec2)
Amazon relational database (RDS)
Amazon relational database (RDS)
Amazon relational database (RDS)
Amazon Simple storage service (s3)
AplicaÇÃo
• Sistema deSimplificado
de Biblioteca exemplo
• Opção de Consultar Livros Por Título
• Integração com o EC2
• Integração com o RDS
• Integração com o S3
• O que será explorado?
• Como o sistema é executado localmente?
• Código local
• Banco local
• Processo de implantação local
• Como o sistema é implantado na nuvem?
• Código na nuvem
• Banco na nuvem
• Processo de implantação na nuvem
Organização local da aplicação
BOOKS
Estrutura do projeto local
Interface web
Interface web
Interface web
Interface web
Banco de dados local
Banco de dados local
Banco de dados local
http://www.heidisql.com/
Banco de dados local
http://www.heidisql.com/
Classe consulta
Classe consulta (continuação)
Imagens
• https://github.com/
• https://bitbucket.org/
http://rogerdudler.github.io/git-guide/index.pt_BR.html
Atividade