Aula 2: Arquitetura em Três Camadas e APIs
|
|
- Edson Cavalheiro Canário
- 6 Há anos
- Visualizações:
Transcrição
1 Aula 2: Arquitetura em Três Camadas e APIs Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 1 / 29
2 Agenda 1 Arquitetura em Três Camadas 2 Introdução às APIs para Computação Corporativa Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 2 / 29
3 Agenda 1 Arquitetura em Três Camadas 2 Introdução às APIs para Computação Corporativa Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 3 / 29
4 Projeto em Camadas Técnica Muito Usada em Computação e Engenharia Dividir um sistema em camadas. Cada camada é responsável por um sub-conjunto de tarefas. Camada de baixo oferta serviços. Requisitados pela camada diretamente acima. Fluxo de execução do sistema percorre as camadas através dessa comunicação/requisição de serviços. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 4 / 29
5 Exemplo: Pilha de Protocolos TCP/IP Usado na Internet. Sistema extremamente complexo. Nós implementam uma pilha de protocolos. Camadas são empilhadas. Cada camada resolve uma parte do problema. Camadas e Funcionalidades Camada de física: como representar informação no meio físico. Camada de enlace: como enviar dados para outro computador. Camada de rede: como percorrer um caminho até o computador de destino. Camada de transporte: como comunicar processos de máquinas distintas. Camada de aplicação: como representar/manipular dados de alto nível. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 5 / 29
6 Exemplo: Pilha de Protocolos TCP/IP (II) Diversos protocolos para cada camada. Ex: TCP vs. UDP, vs Protocolos de mesma camada podem ser intercambiados de acordo com as necessidades. Ofertam a mesma funcionalidade abstrata para as camadas superiores. Alteração em uma camada idealmente não resulta em mudanças nas demais. Permite a evolução tecnológica gradativa em cada camada. Exemplos: IPv4 vs. IPv6. TCP Tahoe, Reno, Vegas, New Reno... Ethernet, Fast-Ethernet, Gigabyte-Ethernet... Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 6 / 29
7 Exemplo II: Arquitetura de Computadores Primeiros Computadores Eram programados diretamente em linguagem de máquina. Cabos e patch panels. Exigiam grande conhecimento do hardware. Uso extensivo de manuais de referência. Desenvolvimento era difícil. Depuração ainda pior. Solução: Sucessivas Camadas de Abstração Linguagem de alto nível. Assembly. Macro-instruções. Micro-instruções. Portas lógicas. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 7 / 29
8 Exemplo II: Arquitetura de Computadores Camadas facilitam o desenvolvimento e depuração. Código é mais legível em alto nível. Várias linguagens diferentes podem ser usadas em um mesmo computador. Mesmo o hardware pode ser simplificado. Muita coisa hoje é feita em software. Bugs podem ser corrigidos. Exemplo: micro-código em processadores Intel. Aumenta nível de portabilidade de software. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 8 / 29
9 Desenvolvimento de Software em Camadas Vantagens Entendimento sobre cada camada é isolado. É possível se concentrar em cada camada isoladamente. Implementações de camadas podem ser trocadas. Por motivos técnicos, financeiros. Vários projetos usam camadas iguais/similares. Podem ser padronizadas. Aumenta potencial de reutilização de código. Código reutilizado tende a ser melhor e mais confiável. Desvantagens Nem sempre proveem encapsulamento total. Podem afetar o desempenho. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 9 / 29
10 Desenvolvimento de Software em Camadas: Histórico Inicialmente Não era utilizado. Programas eram simples e manipulavam diretamente arquivos próprios. Início da Década de 1990 Modelos de duas camadas. Cliente (interface) e servidor (banco de dados). Componentes de interface cientes de SQL: integração direta com banco de dados. Funciona bem se programa basicamente manipula base de dados (cadastro e consulta). Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 10 / 29
11 Modelo de Duas Camadas: Problemas O que fazer quando há Lógica de Domínio? Validar dados, implantar regras de negócio, fazer cálculos... Implementação no Cliente Abordagem mais comum. Código era complexo por misturar exibição e lógica. Se havia muitas telas, lógica era dividida em vários pontos do código. Implementação no Servidor (Banco de Dados) Stored procedures. Linguagens proprietárias. Pouca portabilidade. Linguagens com poucos recursos. Código novamente complexo. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 11 / 29
12 Solução: Modelo de Três Camadas Divide-se o Software em: Camada de apresentação: interface com o usuário. Camada de domínio: implantação da lógica de domínio. Camada de fonte de dados: armazenamento e consulta de dados. Ganhou popularidade com a Web. Conceito do browser como interface. Se a lógica está na interface, novas interfaces requerem re-implementação da lógica. Re-trabalho, bases de código distintas,... Solução: mover lógica de domínio para camada que pudesse ser acessada por diversas interfaces. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 12 / 29
13 Camada de Apresentação Lida com a interação entre usuário e software. Pode ocorrer de várias formas: Linha de comando. Interface texto. GUI para desktop. Web. É comum um mesmo sistema apresentar mais de uma implementação nesta camada. Responsabilidades: Apresentar informação ao usuário. Interpretar comandos do usuário e traduzi-los em ações para o domínio e fonte de dados. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 13 / 29
14 Camada de Fonte de Dados De onde o sistema obtém os dados. E para onde os dados vão. Lida com a comunicação com outros sistemas que fornecem/manipulam dados. Exemplo mais comum: SGBD. Banco de dados armazena os dados relevantes à aplicação. SGBD executa serviços de armazenamento, consulta e atualização. Camada de fonte de dados se comunica com o SGBD requisitando serviços. Mas não precisa envolver um banco de dados. Exemplo: gerenciamento de redes via SNMP. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 14 / 29
15 Camada de Lógica de Domínio Também chamada de Lógica de Negócio. Responsável por realizar o trabalho do sistema. Fazer cálculos. Validar dados. Escolher entre várias fontes de dados.... Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 15 / 29
16 Abordagem Cross-Layer Idealmente, camada de lógica de domínio esconde fonte de dados da apresentação. Traz vários benefícios. Às vezes, no entanto, pode haver quebra nesta hierarquia. Solução menos pura, mas pode ter benefícios práticos. Exemplo: Apresentação requisita dados diretamente da fonte de dados. Parte dos dados (que não requerem aplicação de lógica) são exibidos. Outra parte é passada para a lógica de domínio para processamento. É preciso pesar as vantagens e desvantagens em cada caso. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 16 / 29
17 Separação entre Camadas Separação não precisa ser física. Camadas não precisam ser executadas em computadores diferentes. i.e., conceito de camadas pode ser simplesmente lógico. Camadas podem ser implementadas como: Rotinas diferentes. Classes diferentes. Pacotes diferentes. Executáveis diferentes.... Forma ideal de implementação: Depende da complexidade do projeto. Quanto mais complexo, maior deve ser a separação. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 17 / 29
18 Como Identificar a Camada de Lógica de Domínio Separação entre camadas de apresentação e fonte de dados e grande. Dada uma funcionalidade, é fácil distinguir a qual das duas camadas pertence. Mas como saber se uma determinada funcionalidade pertence à lógica de domínio? Teste simples: Suponha que a funcionalidade pertença à apresentação (ou fonte de dados). Suponha que seja necessário implantar uma nova versão da camada. Nova interface, ou dados em arquivo XML. A funcionalidade precisará ser re-implementada? Se sim, deveria pertencer à lógica de domínio. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 18 / 29
19 Como Identificar a Camada de Lógica de Domínio (II) Exemplo de Sistema de Vendas Funcionalidade: itens cujas vendas aumentaram 10% ou mais no último mês coloridos em vermelho. Supor implementação na camada de apresentação: Interface obtém os dados de vendas dos dois últimos meses. Calcula percentual de aumento. Se maior que 10%, colore item. Se adicionarmos uma nova interface, funcionalidade deve ser reimplementada. Solução mais correta: Criar método na camada de lógica de domínio que retorna um booleano se item deve ser colorido. Camada de apresentação chama o método e só se preocupa em gerar o código para fazer a coloração. Em última análise, é uma região nebulosa. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 19 / 29
20 Onde Executar Cada Camada? Lembre-se: camadas são conceitos lógicos e separação pode não ser física. Mas vários sistemas fazem a separação física das camadas. Exemplo: sistemas web. Neste caso, onde cada camada deve ser executada? Decisão de projeto. Projetos diferentes podem ter requisitos diferentes. É preciso analisar caso a caso. Mas há casos típicos. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 20 / 29
21 Onde Executar a Camada de Fonte de Dados Quase sempre no servidor. Em geral, deseja-se que o sistema seja acessível de vários lugares diferentes. Dados têm que estar disponíveis em todos estes acessos. Um servidor acessado via rede pode disponibilizar os dados. Exceção: Quando deseja-se permitir operação offline. Exemplo: GoogleDocs. Abordagem mista: dados ficam no servidor, mas máquina cliente guarda cópias. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 21 / 29
22 Onde Executar a Camada de Apresentação Dois casos típicos: Interface tipo GUI (Desktop) Quase exclusivamente, é executada no computador cliente. Exceção: desktop remoto. Interface Web Frequentemente no servidor. HTML renderizado no cliente, mas gerado no servidor. Tecnologias como Javascript e Flash têm alterado esta tendência. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 22 / 29
23 Onde Executar a Camada de Lógica de Domínio Camada mais flexível em relação neste quesito. Pode rodar: No cliente. No servidor. Em ambos. Novamente, conceito de divisão em camadas é lógico e não físico. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 23 / 29
24 Agenda 1 Arquitetura em Três Camadas 2 Introdução às APIs para Computação Corporativa Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 24 / 29
25 Computação Corporativa: Relembrando... Integração com outras aplicações corporativas. Lógica de negócio tende a mudar/aumentar. É preciso simplificar a manutenção do código. Mais: Robustez. Escalabilidade. Segurança. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 25 / 29
26 Computação Corporativa: Primeira Abordagem Implementar tudo do zero. Implementar a interface (protocolo) para comunicação com cada aplicativo. Implementar código específico para acessar cada diferente banco de dados envolvido. Implementar cada diferente interface com usuários possível.... Problemas Requer grande tempo de desenvolvimento. Requer grande tempo de teste. Se uma nova tecnologia surge, é preciso repetir o trabalho de implementação. Código é muito mais complexo. Mais propenso a erros e vulnerabilidades.... Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 26 / 29
27 Computação Corporativa: Abordagem Baseada em APIs Operações de baixo nível são escondidas por uma biblioteca/pacote. Código a ser implementado inclui apenas chamadas de mais alto nível. Mais genéricas. Resiste melhor a alterações nas tecnologias usadas. Parte mais complexa do código é feita pela API. Código geralmente bem utilizado e testado. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 27 / 29
28 APIs Corporativas Conceito de uso de APIs já é conhecido, mesmo para aplicações não-corporativas. Qual a diferença? Expressão é usada em dois contextos: APIs disponibilizadas para o uso de serviços de determinadas empresas. Exemplos: GoogleMaps, BingMaps, Facebook,... APIs que servem para desenvolvimento de aplicações corporativas. Exemplo: JDBC. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 28 / 29
29 APIs para Aplicações Corporativas São geralmente APIs de nível mais alto. Geralmente, agnósticas em relação a tecnologia. Exemplo (novamente): JDBC. Pode acessar BDs Oracle, DB2, Postgres, MySQL,... Cada um destes SGBDs tem suas próprias APIs para diversas linguagens. Migrar de um SGBD para outro, exigiria adaptar código a nova API. JDBC provê acesso uniforme a todas. Diego Passos (UFF) Arquitetura em Três Camadas e APIs TEPIS II 29 / 29
Aula 1: Apresentação, Computação Corporativa
Aula 1: Apresentação, Computação Corporativa Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) Apresentação, Computação Corporativa TEPIS
Leia maisO que é um sistema distribuído?
Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores
Leia maisArquiteturas de Redes de Computadores Os Modelos RM-OSI e TCP/IP. Prof. M.e Helber Wagner da Silva
Arquiteturas de Redes de Computadores Os Modelos RM-OSI e TCP/IP Prof. M.e Helber Wagner da Silva helber.silva@ifrn.edu.br 1 Arquiteturas de Protocolos de Redes de Computadores Rede de computadores Sistema
Leia maisSistemas Operacionais. Sistema de entrada e Saída
Sistemas Operacionais Sistema de entrada e Saída Sistema de Entrada e Saída I/O É uma das principais tarefas de um sistema computacional Como máquina abstrata o S.O. deve oferecer uma visão padronizada
Leia maisAgenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software
Reuso de Software Aula 02 Agenda da Aula Introdução a Reuso de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Introdução a Reuso de Software Abordagens de Reuso
Leia maisFundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores
Fundamentos de Sistemas Operacionais de Arquitetura Aberta CST em Redes de Computadores Introdução Computadores Computadores são compostos, basicamente, de CPU, memória e dispositivos de entrada e saída
Leia maisINTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ESTRUTURA DE UM SISTEMA OPERACIONAL PROFESSOR CARLOS MUNIZ
INTRODUÇÃO À TECNOLOGIA DA ESTRUTURA DE UM SISTEMA PROFESSOR CARLOS MUNIZ ESTRUTURA DE SISTEMAS OPERACIONAIS O sistema operacional tem uma estrutura bem complexa, devido não funcionar como um programa
Leia maisMarcela Mariotti Peres Arquitetura em três camadas Parte 1 [conceito]
1 Muita gente já deve ter escutado falar em Arquitetura em camadas. Cada empresa e/ou pessoa tem o hábito de programar na arquitetura que prefere; muitos nem dividindo o projeto em camadas. Neste artigo,
Leia maisProf. Samuel Henrique Bucke Brito
RM-OSI: Modelo de Referência www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito Quando surgiram as redes de computadores havia um grande problema de compatibilidade entre
Leia maisAula 1: Apresentação do Curso
Aula 1: Apresentação do Curso Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Apresentação do Curso FAC 1 / 30 Estrutura da Disciplina Diego
Leia maisArquiteturas para SGBD. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
Arquiteturas para SGBD Laboratório de Bases de Dados Arquitetura Centralizada Terminal responsável pela exibição dos resultados sem capacidade de processamento Computador central (mainframe) responsável
Leia maisLABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO
LABORATÓRIO DE SISTEMAS OPERACIONAIS PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO Sistema Operacional Conteúdo retirado do livro Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo
Leia maisBancos de Dados Distribuídos
Bancos de Dados Distribuídos O que é Sistema Gerenciador de Banco de Dados? Um sistema gerenciador de banco de dados (SGBD) é usado como sendo um sistema que permite o gerenciamento dos sistemas de bancos
Leia maisEngenharia de Software. Projeto de Arquitetura
Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra
Leia maisSistema Computacional
Algoritmos e Lógica de Programação Conceitos Básicos Abstração Reinaldo Gomes reinaldo@cefet-al.br O que é um? Integração de componentes atuando como uma entidade, com o propósito de processar dados, i.e.
Leia maisAula 1: Apresentação do Curso
Aula 1: Apresentação do Curso Fernanda Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Fernanda Passos (UFF) Apresentação do Curso FAC 1 / 30 Estrutura da Disciplina
Leia maisRede de computadores Cliente- servidor. Professor Carlos Muniz
Rede de computadores Professor Carlos Muniz Definição Cliente-servidor é um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores.
Leia maisGerência de Dispositivos. Adão de Melo Neto
Gerência de Dispositivos Adão de Melo Neto 1 Gerência de Dispositivos Introdução Acesso ao Subsistema de E/S Subsistema de E/S Device Drivers Controladores Dispositivos de E/S Discos Magnéticos Desempenho,
Leia maisEstrutura dos Sistemas Operacionais. Adão de Melo Neto
Estrutura dos Sistemas Operacionais Adão de Melo Neto 1 Sistema Operacional - Formas de acessar o KERNEL do SISTEMA OPERACIONAL (SO) - A linguagem de comandos faz parte do SO O Sistema Operacional é formado
Leia maisEstrutura dos Sistemas Operacionais. Adão de Melo Neto
Estrutura dos Sistemas Operacionais Adão de Melo Neto 1 Sistema Operacional -São partes do SO -São ferramentas de apoio ao usuário -São formas de acessar as rotinas do kernel O Sistema Operacional é formado
Leia maisEstrutura do Sistema Operacional
Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 04 Estrutura do Sistema Operacional 2 1 Estrutura do Sistema Operacional
Leia maisSistemas Operacionais Estrutura do Sistema Operacional. Arquiteturas do Kernel
Sistemas Operacionais Estrutura do Sistema Operacional Principais tipos de estruturas: Monolíticos; Em camadas; Máquinas Virtuais; Arquitetura Micro-kernel; Cliente-Servidor; 2 Arquitetura Monolítica Aplicação
Leia maisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema
Leia maisIFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli
Programa de computador sequência de comandos ou instruções executados por um computador com a finalidade de produzir um resultado e resolver um problema; Linguagem de programação método para a criação
Leia maisPCS3413 Engenharia de Software e Banco de Dados
PCS3413 Engenharia de Software e Banco de Dados Aula 23 Escola Politécnica da Universidade de São Paulo 1 Acoplamento! Indica dependência entre classes.! Deve ser o menor possível.! Direcionar associações
Leia maisALUNO: RONI FABIO BANASZEWSKI
Model-View-Controller ALUNO: RONI FABIO BANASZEWSKI Objetivo Separar dados ou lógica de negócios (Model) da interface do usuário (View) e do fluxo da aplicação (Control) A idéia é permitir que uma mesma
Leia maisInformática I. Aula 2. Ementa
Informática I Aula 2 http://www.ic.uff.br/~bianca/informatica1/ Aula 2-29/08/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript e
Leia maisPROVA 03/07 Segunda-feira (semana que vem)
damkeisabela@gmail.com PROVA 03/07 Segunda-feira (semana que vem) SISTEMAS OPERACIONAIS Os sistemas operacionais mais comuns que existem para computadores e que o mercado irá oferecer para você são : Microsoft
Leia maisIntrodução à Programação Aula 01. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Introdução à Programação Aula 01 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL O OBJETIVO DA DISCIPLINA? Objetivo Tornar vocês (alunos) capazes
Leia maisPROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001
PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO Projeto de Programas PPR0001 QUALIDADE DO PROJETO 2 3 Qualidade do Projeto de Software Modularidade: gerar particionamento em elementos que executam funções
Leia maisAULA 03: FUNCIONAMENTO DE UM COMPUTADOR
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?
Leia maisSistema de Informação Geográfica
Sistema de Informação Geográfica Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DAI 2016 Arquiteturas SIG 2 1 Tipos de Implementação 3 Tipos de Implementação Em geral, um
Leia maisMétodos de implementação de linguagens. Kellen Pinagé
Métodos de implementação de linguagens Kellen Pinagé Sumário Métodos de implementação de linguagens Compilação Interpretação pura Híbrido Métodos de implementação de linguagens Principais componentes de
Leia maisIntrodução ao Desenvolvimento de
Introdução ao Desenvolvimento de Aplicações Web com JSF e PrimeFaces Marcelo Vinícius Cysneiros Aragão ICC Inatel Competence Center marcelovca90@inatel.br Santa Rita do Sapucaí, 15 de março de 2016 Conteúdo
Leia maisM V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O
M V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O A P L I C A Ç Õ E S M O N O L Í T I C A S Na época dos computares independentes um aplicativo era desenvolvido para ser usado em uma única
Leia maisChamadas de Sistema (SYSCALL)
Chamadas de Sistema (SYSCALL) Eduardo Ferreira dos Santos Engenharia de Computação Centro Universitário de Brasília UniCEUB Abril, 2016 1 / 26 Sumário 1 Estrutura dos Sistemas Operacionais 2 System Calls
Leia maisAULA 1 INTRODUÇÃO AO JAVA
AULA 1 INTRODUÇÃO AO JAVA Ao término dessa aula você terá aprendido: História e características do Java Ambientes e plataformas Java O Java é a base para praticamente todos os tipos de aplicações em rede
Leia maisIntrodução à Informática
Introdução à Informática Aula 3 http://www.ic.uff.br/~bianca/introinfo/ Aula 3-12/09/2007 1 Objetivo da disciplina O objetivo dessa disciplina é dar ao aluno noções básicas de computação. Serão apresentados
Leia maisRedes de Computadores e Aplicações
Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos Redes de Computadores e Aplicações Aula 13 - Camada de Aplicação Visão Geral Prof. Diego Pereira
Leia maisDesenvolvimento de Aplicações Desktop
Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar
Leia maisAula 12: Memória: Barramentos e Registradores
Aula 12: Memória: Barramentos e Registradores Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Memória: Barramentos e Registradores FAC 1 / 34
Leia maisArquiteturas de Sistemas de Informação Geográfica
Arquiteturas de Sistemas de Informação Geográfica Prof. Luciene Delazari Grupo de Pesquisa em Cartografia e SIG da UFPR SIG - 2012 Definições Arquitetura: o conjunto da estrutura e organização de diferentes
Leia maisGerenciamento de Redes: Protocolo SNMP
Gerenciamento de Redes: Protocolo SNMP Protocolo SNMP (do inglês Simple Network Management Protocol Protocolo Simples de Gerência de Rede) é um protocolo usado para gerenciar redes TCP/IP complexas. Com
Leia maisProf. Mizael Cortez Modelo em camadas Arquitetura TCP/IP Modelo ISO/OSI
Prof. Mizael Cortez everson.cortez@ifrn.edu.br Modelo em camadas Arquitetura TCP/IP Modelo ISO/OSI A Internet é um sistema extremamente complicado e que possui muitos componentes: inúmeras aplicações e
Leia maisComunicação de Dados II
Comunicação de Dados II Tecnologia em Redes de Computadores IFSULDEMINAS Campus Inconfidentes Prof. Kleber Rezende kleber.rezende@ifsuldeminas.edu.br Interligação em Redes Acomoda distintas tecnologias
Leia maisSistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com
Leia maisAula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos
Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS Marcelo Henrique dos Santos Marcelo Henrique dos Santos Email: Site: marcelosantos@outlook.com www.marcelohsantos.com.br TECNOLOGIA EM JOGOS
Leia maisGerência de Dispositivos. Adão de Melo Neto
Gerência de Dispositivos Adão de Melo Neto 1 Gerência de Dispositivos Gerência de Dispositivos Dispositivos de E/S Device Drivers Controladores Subsistema de E/S 2 Gerência de Dispositivos A gerência de
Leia maisINE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago
INE 5612 Professor: Frank Siqueira Alunos: Gustavo de Geus Leonardo Silva Jean Ercilio Thiago DESENVOLVEDORES JAVA EM TODO MUNDO LIDER GAVIN KING JBOSS MANTEVE O SUPORTE História Hibernate foi criado por
Leia maisM V C P R O F. M E. H É L I O E S P E R I D I Ã O
M V C P R O F. M E. H É L I O E S P E R I D I Ã O A P L I C A Ç Õ E S M O N O L Í T I C A S Na época dos computares independentes um aplicativo era desenvolvido para ser usado em uma única máquina. Este
Leia maisSistemas Operacionais
Sistemas Operacionais Eduardo Ferreira dos Santos Engenharia de Computação Centro Universitário de Brasília UniCEUB Abril, 2016 1 / 20 Sumário 1 Estrutura dos Sistemas Operacionais 2 System Calls 2 / 20
Leia maisConceitos relativos a Banco de Dados & Modelos de Informação de Banco de Dados. Introdução
Conceitos relativos a Banco de Dados & Modelos de Informação de Banco de Dados Prof. Anderson Henriques Introdução A quantidade de informação relevante para a tomada de decisões nas organizações é muito
Leia maisRedes de computadores
Redes de computadores Prof. Emiliano S. Monteiro Aula 4 Protocolo ARP É um protocolo da camada de enlace (link layer) É utilizado para realizar o mapeamento de endereços IPv4 para Ethernet. Não é um protocolo
Leia maisInfraestrutura de Hardware. Funcionamento de um Computador
Infraestrutura de Hardware Funcionamento de um Computador Computador: Hardware + Software Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é
Leia maisSISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA
Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA Disciplina: Banco de Dados Prof: Márcio Palheta, Esp.
Leia maisCENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO RIO GRANDE DO NORTE DEPARTAMENTO ACADÊMICO DE TECNOLOGIA DA INFORMAÇÃO
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO RIO GRANDE DO NORTE DEPARTAMENTO ACADÊMICO DE TECNOLOGIA DA INFORMAÇÃO http:// www.cefetrn.br/datinf ARQUITETURA TCP/IP Nome: Curso: Turma: LISTA DE EXERCÍCIO
Leia maisAnálise e Projeto de Software
Análise e Projeto de Software Proj. Desenvolvimento de Software Prof. Cleverton Hentz cleverton.hentz@ifrn.edu.br 8 de junho de 2017 Material Apresentado Sumário de Aula 1 Introdução 2 Estruturação do
Leia maisProtótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator
Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Ederson Evaristo Jantsch Orientador: Marcel Hugo 09/07/2002 Roteiro Introdução Aplicação multicamadas Tecnologias
Leia maisINFO3M ARQ REDES. Prova 1 Bimestre. Obs: Questões RASURADAS são consideradas como ERRADAS GABARITO
INFO3M 2018.1 ARQ REDES Prova 1 Bimestre Obs: Questões RASURADAS são consideradas como ERRADAS GABARITO NOME: MATRÍCULA: Q U E S T Õ E S O B J E T I V A S (Valor de cada questão: 0,5 pts) 1. A técnica
Leia maisExistem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.
Aula 3 SOFTWARE (programas) Um programa (software) consiste em uma sequência de instruções escritas numa linguagem precisa chamada linguagem de programação. Estas instruções são traduzidas em um compilador,
Leia maisINTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 07
INTRODUÇÃO AOS SISTEMAS OPERACIONAIS setembro/2013 SEMANA 07 Arquitetura dos sistemas operacionais. Sistema monolítico, sistema em camadas, microkernel, cliente-servidor, máquinas virtuais. 1 - Introdução
Leia maisSistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais
Sistemas Operacionais e Introdução à Programação Módulo 1 Sistemas Operacionais 1 Competências: SOP 1. Compreender as abstrações de um sistema operacional e operar um sistema operacional Unix/Linux como
Leia maisProcessos ca 3 pítulo
Processos capítulo 3 Introdução: Threads Para executar um programa, o sistema operacional cria um determinado números de processos virtuais. O sistema operacional mantém uma tabela de processos que contém
Leia maisAgenda do Curso. Reuso de Software. Agenda da Aula. Tipos de Reuso. Vantagens de Reuso. Reuso de Software. Eduardo Figueiredo
Engenharia de Software Aula 21 Agenda do Curso Reuso de Software Aula 23 Data 28/05 Assunto Desenv. Orientado a Aspectos 24 30/05 Laboratório 25 04/06 Apresentações do TP (1) Eduardo Figueiredo 26 06/06
Leia maisTécnicas Avançadas de Programação
Sumário Técnicas Avançadas de Programação Prof. João Marcos M. da Silva Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal Fluminense Agosto de 2011 Prof. João Marcos
Leia maisSistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos
Sistemas de arquivos distribuídos ECO036 - Sistemas Paralelos e Distribuídos Sistemas de arquivos distribuídos - Daniel Nogueira 20938 - Felipe Castro Simões 21525 Sumário 1. Introdução 2. Sistemas de
Leia maisArquitetura de Computadores
Arquitetura de Computadores 2018.1 Computador O computador é uma máquina que realiza processamento de dados automaticamente. Ela é formada por um hardware e um software. O Engenho Analítico é o primeiro
Leia maisIntrodução a Sistemas Operacionais. Adão de Melo Neto
Introdução a Sistemas Operacionais Adão de Melo Neto 41 Definição de SO Sistema Operacional É um conjunto de rotinas (programa) executado pelo processador que controla o funcionamento do computador como
Leia maisAula 5 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MULTI PLAYER. Marcelo Henrique dos Santos
Aula 5 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MULTI PLAYER Marcelo Henrique dos Santos Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Negócios em Mídias Digitais MBA em Marketing e
Leia mais5 Implementação 5.1 Plataforma 5.2 Arquitetura
5 Implementação Neste capítulo são apresentados os detalhes sobre a implementação da ferramenta. São discutidas as tecnologias envolvidas, assim como as limitações e problemas encontrados durante o desenvolvimento.
Leia maisAdministração de Sistemas Operacionais. Prof. Marlon Marcon
Administração de Sistemas Operacionais Prof. Marlon Marcon SGBD SGBD: Sistema de gerenciamento de banco de dados. é o conjunto de programas de computador (softwares) responsáveis pelo gerenciamento de
Leia maisINFORMÁTICA: Informação automática
INTRODUÇÃO INFORMÁTICA: Informação automática Definição: é a ciência que estuda o tratamento automático e racional da informação (encarregada pelo estudo e desenvolvimento de máquinas e métodos para processar
Leia maisComponentes de um Computador Típico
Componentes de um Computador Típico Assim como em um aparelho de dvd, no qual é necessário ter o aparelho de dvd e um dvd contendo o filme que será reproduzido, o computador possui a parte física, chamada
Leia maisSistemas de Troca de Mensagens
Universidade Federal do Rio de Janeiro Programa de Pós-Graduação em Informática DCC/IM - NCE/UFRJ Arquitetura de Sistemas Paralelos Sistemas de Troca de Mensagens Sistemas de Comunicação O Sistema de Comunicação
Leia maisExercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF
Exercícios Cap I 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) 1.5 1.7, 1.8 e 1.12 Sistemas Operacionais Visão geral e evolução dos SOs Sistema Operacional? Um programa que controla a execução dos programas
Leia maisModelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo
MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs
Leia mais3 Arquitetura para a Coordenação e a Composição de Artefatos de Software
Uma Arquitetura para a Coordenação e a de Artefatos de 23 3 Arquitetura para a Coordenação e a de Artefatos de Resumo Este capítulo apresenta a arquitetura ACCA, que é a parte central deste trabalho. A
Leia mais[versão para impressão] Link original: comp=24763 Conhecendo o PL/SQL
www.devmedia.com.br [versão para impressão] Link original: http://www.devmedia.com.br/articles/viewcomp.asp? comp=24763 Conhecendo o PL/SQL Veja neste artigo o que é PL/SQL, quando utilizá-la e uma breve
Leia maisArquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta
Arquiteturas de Aplicações Web Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aplicações Convencionais vs. Web Aplicações convencionais Escritas usando uma linguagem de programação (ex.: Java) Sites de
Leia maisPMR3507 Fábrica digital
LSA Laboratório de Sistemas de Automação www.pmrlsa.poli.usp.br PMR3507 Fábrica digital Cyber Physical System Escola Politécnica da Universidade de São Paulo Departamento de Engenharia Mecatrônica e de
Leia maisDaniel Wildt
Orientação a Objetos 1 Daniel Wildt http://danielwildt.blogspot.com Agenda 2 Orientação a Objetos Classe x Objeto Representação classe Atributos / operações Construtores e Destrutores Liberando memória
Leia maisSistemas Operacionais
Brainstormig Sistemas Operacionais Processos e multiprogramação Aula 2 Quais são os componentes de um programa? Como podemos representar um programa em execução? Onde ele inicia a executar? Como se mapeia
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 3 Princípios de Sistemas Operacionais Prof. Belarmino Existem dezenas de Sistemas Operacionais executando nos mais variados tipos de maquinas. Os mais conhecidos
Leia maisLinguagens de Programação
Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Linguagens de Programação Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof.
Leia maisTipos de Clusters. Introdução. Introdução 21/03/12
Tipos de Clusters Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com! Cluster pode ser definido como um sistema onde dois ou mais computadores trabalham de maneira conjunta para realizar processamento
Leia maisConceitos básicos sobre computadores (continuação)
SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Conceitos básicos sobre computadores (continuação) Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário O que é um computador e
Leia maisPlanificação Anual da disciplina de Comunicação de dados 12º 1PE
Conteúdos 1.Conceitos básicos 1.1. Rede de Comunicação 1.2. Redes de dados 1.3. Transmissão de Dados 1.4. A Informação 2.Redes de dados 2.1. Importância 2.2. Áreas de Aplicação 2.2.1.Perspectiva de evolução
Leia maisProtocolos e Serviços de Redes
Protocolos e Serviços de Redes Redes de Computadores Charles Tim Batista Garrocho Instituto Federal de São Paulo IFSP Campus Campos do Jordão garrocho.ifspcjo.edu.br/rdc charles.garrocho@ifsp.edu.br Técnico
Leia maisComponente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída
11 1 Introdução Recentes avanços em redes de computadores impulsionaram a busca e o desenvolvimento de meios para facilitar e acelerar o desenvolvimento de aplicações em sistemas distribuídos, tornando
Leia maisEstilos Arquiteturais
Estilos Arquiteturais Estilos Arquiteturais A arquitetura de um sistema pode aderir a um ou mais estilos arquiteturais Um estilo define os tipos de elementos que podem aparecer em uma arquitetura e as
Leia maisRedes de Computadores
Instituto Superior Politécnico de Ciências e Tecnologia Redes de Computadores Prof Pedro Vunge I Semestre de 2017 SUMÁRIO I - Introdução às Redes de Computadores 1.4 Principais componentes de uma rede
Leia maisCampus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /
Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: ARQUITETURA DE SOFTWARE ASWA4 Aula N : 10
Leia maisSistema Operacional. Etapa
Etapa 1-2017 HARDWARE PARTE FÍSICA DA MÁQUINA HARDWARE HARDWARE HARDWARE SOFTWARE PARTE LÓGICA DA MÁQUINA SOFTWARE INTERMEDIÁRIO ENTRE O HARDWARE E O SOFTWARE PRINCIPAL PROGRAMA DO COMPUTADOR Um sistema
Leia mais16/8/2010. A arquitetura de um sistema computacional representa o modelo da organização e funcionamento de um sistema de processamento
Arquitetura de es Organização de um Sistema Computacional Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Introdução A arquitetura de um sistema computacional representa o modelo da organização
Leia maisEngenharia de software distribuído. Artur Sampaio Lívia Castro Degrossi
Engenharia de software distribuído Artur Sampaio Lívia Castro Degrossi 1 Roteiro O que é um sistema distribuído; Questões sobre sistemas distribuídos; Computação cliente-servidor; Padrões de arquitetura
Leia maisArquiteturas. capítulo
Arquiteturas capítulo 2 Modelos de arquitetura de sistemas distribuídos Clientes realizam pedidos a servidores Client invocation invocation Server result Server result Client Key: Process: Computer: Modelos
Leia maisBanco de Dados. Perspectiva Histórica dos Bancos de Dados. Prof. Walteno Martins Parreira Jr
Banco de Dados Perspectiva Histórica dos Bancos de Dados Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2015 Histórico Antes dos computadores, as informações eram
Leia maisUnoTech Soluções em Histórico da Revisão Data Versão Descrição Autor 27/05/ 1.0 Construção do Documento Carlos GG Flor Página 2
UnoTech Soluções em Uni O.S Especificação Complementar Versão 1.0 Página 1 UnoTech Soluções em Histórico da Revisão Data Versão Descrição Autor 27/05/ 1.0 Construção do Documento Carlos GG Flor Página
Leia maisIntrodução à Computação
Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda
Leia mais