• Nenhum resultado encontrado

Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos

N/A
N/A
Protected

Academic year: 2021

Share "Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos"

Copied!
40
0
0

Texto

(1)

Aula 4

TECNOLOGIA EM JOGOS DIGITAIS

JOGOS MASSIVOS DISTRIBUÍDOS

(2)

TECNOLOGIA EM JOGOS DIGITAIS

JOGOS MASSIVOS DISTRIBUÍDOS

Marcelo Henrique dos Santos

Marcelo Henrique dos Santos

Email: marcelosantos@outlook.com

Site: www.marcelohsantos.com.br

(3)

TECNOLOGIA EM JOGOS DIGITAIS

JOGOS MASSIVOS DISTRIBUÍDOS

Marcelo Henrique dos Santos

(4)

Sistemas Monolíticos

• Dados centralizados • Recursos centralizados • Processamento centralizado • Simplicidade de desenvolvimento • Simplicidade de operação

• Pouca flexibilidade para atendimento aos usuários.

• Exemplos:

– Sistemas em Mainframe

(5)

Sistemas Distribuídos

• Processos em execução concorrente,

distribuídos em diversos pontos da rede. • Comunicação entre processos.

• Otimização de hardware. • Reutilização de software. • Software em camadas. • Dados distribuídos.

• Maior flexibilidade para atendimento aos usuários.

(6)

Tecnologia

Cliente/Servidor

• Utilização de três componentes básicos para o compartilhamento de recursos de computação:

– Computador Cliente:

• Normalmente um microcomputador padrão PC. – Computador Servidor:

• Normalmente um PC poderoso, um

equipamento RISC ou mesmo um Mainframe. – Rede:

(7)

Tecnologia

Cliente/Servidor

• Equilíbrio entre:

– Cliente “burro” e Servidor “inteligente” – Cliente “inteligente” e Servidor “burro”.

• Pressupõe que o cliente e o servidor sejam plenamente capazes.

• Tenta distribuir o trabalho de forma equilibrada, numa tentativa de tirar melhor proveito de ambos os recursos (dentro de suas especialidades).

(8)

Tecnologia

Cliente/Servidor

• Dependendo do tipo da aplicação, a distribuição exata do trabalho entre o cliente e o servidor pode variar.

• Porém, o mais comum é:

– Cliente: responsável pela interface com o usuário (GUI) e lógica básica do aplicativo. – Servidor: responsável pelo gerenciamento

do acesso, por todas as funções relativas ao banco de dados e pelas “regras” ou “lógica” do negócio.

(9)

Aplicações Típicas

Cliente/Servidor

Aplicativos Simples de Banco de Dados:

Servidor Cliente Pedido SQL Resultados GUI Lógica da Aplicação Parte da Lógica dos Negócios

Acesso ao

Banco de Dados

Lógica dos Negócios Gerenciamento da Rede

(10)

Aplicações Típicas

Cliente/Servidor

• Processamento de Transações: duas ou mais atualizações no banco de dados que devem ser concluídas tudo ou nada (aplicações missão-crítica)

Servidor Cliente Transação Resultados GUI Lógica da Aplicação Parte da Lógica dos Negócios

Acesso ao

Banco de Dados Lógica dos Negócios Registro das Transações Recuperação da Transação

(11)

Papel do Cliente

• Gerenciamento de apresentação:

– Interação com o usuário (GUI) – Entrada e consulta de dados

• Lógica do aplicativo:

– Funcionamento do aplicativo

– Partes simples da lógica do negócio

• Aplicativos de produtividade pessoal:

– Processador de textos, planilha etc.

(12)

Papel do Servidor

• Atendimento a Usuários:

– Comunicação e autenticação de usuários – Atendimento a solicitações de clientes • Gerenciador de Banco de Dados:

– Acesso e organização de registros/dados – Seleção de registros/dados

– Atualização de registros/dados

• Execução de Regras do Negócio:

– Procedimentos armazenados no Banco de Dados – Procedimentos armazenados em Componentes • Processamento de Transações

– Conjuntos de operações relacionadas aos processos de negócio.

(13)

Papel da Rede

• Infra-estrutura para os aplicativos Cliente/Servidor.

• Submete solicitações do Cliente para o Servidor.

• Transporta os dados resultantes do Servidor para o Cliente.

• Padrões mais utilizados:

– Ethernet (transporte físico) – TCP/IP (transporte lógico)

(14)

Processamento

Cliente/Servidor

• Um processo de software é um programa de computador sendo executado em uma CPU.

• “Processo”, “Tarefa” e “Serviço” podem ser considerados sinônimos.

• Processos concorrentes enviam e recebem mensagens entre si, prestando serviços uns aos outros para atender o usuário.

• Um “sistema” Cliente/Servidor é composto por diversos destes processos, tarefas ou serviços.

(15)

Processamento

Distribuído

Processamento Centralizado Cliente Servidor Peer-to-Peer Ponto-a-Ponto Processamento Distribuído Processamento Monolítico

(16)

Processamento

Peer-to-Peer

• Não é hierárquico.

• Todos os processos são “clones” rodando em todas as máquinas e prestando serviços uns aos outros.

• Não existem processos servidores.

• Cada processo pode ser cliente e também

servidor para outros processos

(17)

Processamento

Cliente/Servidor

• Existem processos distintos: o processo cliente é diferente do processo servidor.

• Processos cliente são sempre clientes.

• Processos servidores são sempre

servidores.

• Cada processo é designado para a plataforma mais conveniente.

• Exemplo:

– Navegador (no cliente)

(18)

Processamento

Cliente/Servidor

• Um sistema cliente/servidor inclui:

– Hardware: • Servidores

• Estações de trabalho • Rede

– Software:

• Sistemas operacionais (clientes e servidores) • Processos clientes (aplicativos do usuário)

• Processos servidores (banco, web, regras etc.) • Processos de comunicação (entre ambos)

(19)

Características do Cliente

Ativo

• Inicia e termina as conversações com os servidores, solicitando serviços.

• Normalmente não se comunica com outros clientes.

• Normalmente é responsável pela entrada e saída de dados e comunicação com o usuário.

(20)

Características do

Servidor

Reativo.

• Execução contínua.

• Recebe e responde a solicitações dos clientes e de outros servidores.

• Presta serviços distribuídos.

• Atende a diversos clientes ou outros servidores simultaneamente.

(21)

Características da

Comunicação

Interação cooperativa

(Remote Procedure Call). • Não hierárquica.

• Servidores enviam pela rede apenas os

resultados relevantes ao pedido do cliente. • Abrangência das Redes: WAN, MAN e LAN.

(22)

Camadas da Aplicação

Gerência de Dados Lógica de Negócio Apresentação Gerência de Dados Gerência de Dados Lógica de Negócio Apresentação Gerência de Dados Lógica de Negócio Apresentação Lógica de Negócio Gerência de Dados Lógica de Negócio Apresentação Lógica de Negócio Gerência de Dados Apresentação Apresentação Rede Gerenciamento de Dados Distribuído Gerenciamento de Dados Remoto Lógica Distribuída Apresentação Remota Apresentação Distribuída CLIENTE SERVIDOR

(23)

Camada de Apresentação

• Responsável pela coleta e apresentação de dados ao usuário. • Inclui: – Entradas de dados. – Apresentação de dados. – Formatações. – Validações básicas. – Metáforas visuais.

– Fluxo de formulários/páginas (navegação). – Lógica da aplicação.

(24)

Regras do Negócio

• São regras do mundo real que devem ser identificadas para garantir a coerência das informações.

• Dependem exclusivamente do mundo real, isto é, das regras burocráticas, políticas, legais, comerciais etc. que regem a operação da organização, e que devem ser refletidas em seus sistemas de informação.

(25)

Camada de Regras

do Negócio

• Responsável pelo processamento dos dados e pelo cumprimento das regras do negócio.

• Independente da interface do usuário (camada de apresentação) e da forma de armazenamento dos dados (camada de dados).

• Inclui o processamento de transações (processos ou funções), tomada de decisões e controle de acesso.

(26)

Camada de Dados

• Responsável por prover o armazenamento persistente dos dados.

• Inclui:

– Atualização de dados. – Recuperação de dados.

– Gerenciamento de concorrência.

– Gerenciamento da distribuição de dados. – Recuperação de falhas.

– Recursos: banco de dados, documentos eletrônicos, imagens, sons etc.

(27)

Estrutura Típica de um Aplicativo

Interface do Usuário Regras de Negócios Banco de Dados

(28)

Interfaces na Arquitetura do

Aplicativo em Três Camadas

Aplicativos do Usuário Regras de Negócios Banco de Dados GUI & WEB

Pedido de Processo

Transações e Consultas Interação com

componentes

da mesma camada Interação com

componentes de outra camada

(29)

Arquitetura do Sistema

• Definição da Interface com o Usuário • Distribuição de Dados e Processos. • Divisão da Aplicação em Camadas e

componentes.

• Topologia da Rede de Comunicações. • Segurança, Capacidade e Desempenho • Reutilização de Componentes

(30)

Identificação de Processos

Clientes e Servidores

• Processos a serem alocados a clientes:

– Interface

– Validações básicas

– Lógica local (personalização) • Departamental

• Pessoal

– Fluxo de utilização (seqüência de formulários ou páginas).

(31)

Identificação de Processos

Clientes e Servidores

• Processos a serem alocados a servidores: – Gerenciamento de recursos compartilhados:

• Bancos de dados • Imagens

• Documentos (páginas Web estáticas)

– Lógica corporativa • Política de acesso • Autenticação de usuários – Regras de negócio • Decisões • Cálculos • Registro de operações

(32)

Integração de Sistemas

• Sempre considerar, ao avaliar alternativas de distribuição (dados e processos), as possibilidades de futura reutilização.

• Conceber a arquitetura com interfaces bem definidas para futuras integrações.

• Encapsular sistemas internos e sistemas

(33)

Transações Distribuídas

• Consulta remota:

– Acesso a uma fonte de dados remota para recuperação de informações.

• Atualização remota:

– Alteração realizada em uma fonte de dados remota.

• Consulta distribuída

– Obtenção de dados de várias fontes.

• Atualização distribuída

(34)

Projeto de Transações

• Características da boa transação:

– Pequena duração

– Acesso ao mínimo de dados possível – Sem interação humana

• Estratégias de bloqueio de acesso:

– Otimista – Pessimista

(35)

Projeto de Transações

• Isolar processos clientes de servidores, quanto à localização:

– Os clientes fazem solicitações ao agente de roteamento (p.ex. servidor Web).

– O agente, baseado no diretório de processos, roteia a solicitação ao processo servidor adequado.

– Quando da resposta do servidor, o agente roteia o resultado ao cliente.

(36)

Transparência de Local

• Vantagens:

– Processos servidores podem ser adicionados, retirados ou movidos sem necessidade de manutenção nos processos clientes.

– Com o uso de processos servidores replicados, pode ser feito balanceamento de carga e a disponibilidade pode ser aumentada.

(37)

Transparência de Acesso

• Permite ao usuário o acesso a seu ambiente de trabalho a partir de qualquer máquina cliente.

• Exige que os dados de configuração do cliente sejam centralizados em um servidor de acesso.

(38)

Atividade Continuada

• Explique o conceito/significado dos seguintes termos: – Arquitetura da Aplicação

– Projeto da Camada de Interface

– Projeto da Camada de Regras de Negócio – Projeto da Camada de Dados

– Projeto de Distribuição de Componentes • O que há de “possibilidades”?

– Atendimento a usuários cada vez mais exigentes – Apoio a processos de negócios cada vez mais

complexos

– Integração de processos em “larga escala” (via “Internet”)

(39)

Leitura Complementar

1. Arquiteturas de rede para jogos MMO e técnicas para amenizar os problemas de rede

2. Arquiteturas para Jogos Massive Multiplayer

3. Protocolo de Aplicação para Jogos de Tabuleiro para Ambiente de TV Digital

(40)

Bibliografia

VIDAL, Antonio Geraldo da Rocha. Tecnologia de Informática. Material de aula da FEA /USP.

TECNOLOGIA EM JOGOS DIGITAIS

JOGOS MASSIVOS DISTRIBUÍDOS

Referências

Documentos relacionados

Esta pesquisa tem como finalidade analisar como a cultura popular esta sendo trabalhada na formação profissional de Educação Física no Brasil, a partir de uma pesquisa

Ela fica evidente ao se buscar práticas sociais que indicam movimentos de bricolagem por parte de determinados sujeitos, revelando as táticas destacas por Certeau (1994). No caso

The researchers also took part in a training event for agents of DIREP, Repression Agency of the Federal Internal Revenue [Receita Federal] on how to recognize pirate

Como já discutido anteriormente, não há critérios formais para nortear a sucessão, nem na gestão nem nos órgãos de governança; a estrutura, o papel e a composição desse

Nesse contexto, o presente trabalho tem como objeto de estudo o Projeto Redes de Referência para a Agricultura Familiar e, como embasamento teórico, além da revisão sobre redes,

E por essa via começa a se diferenciar um processo de tomada de decisões (administração) da execução das atividades coletivas (a ação organizada propriamente dita). Nasce

As teorias organizacionais baseadas no pensamento clássico são limitadas por desconsideram a relação da organização com seu ambiente externo e a inter-relação entre as partes

Neste ensejo, nasceu a proposta do presente trabalho, que teve como objetivo geral norteador “desenvolver um instrumento de avaliação para classificar o nível de evolução da