ARQUITETURA DE SOFTWARE

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Distribuídos
Sistemas Cliente/Servidor Introdução
UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS
Aula 21/09/2011 Courouris, Dollimore, cap 10
BANCO DE DADOS Transparências baseadas no capítulo 1 do livro de KORTH e SILBERCHATZ e 1 e 2 do livro de ELMASRI e NAVATHE. Juliana Amaral e Rodrigo Baroni.
Identificando requisitos
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
Sistemas Distribuídos:Definições e Caracteristicas
UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO - UFES CENTRO DE CIÊNCIAS AGRÁRIAS - CCA DISCIPLINA DE INFORMÁTICA - ENG05207 Aula 09 –a Banco de dados Profs: Dr.
Faculdade de Ciências Sociais de Aplicadas de Petrolina – FACAPE
Professora: Aline Vasconcelos
Fundamentals of Database Processing
Conceitos Básicos Dado: fato do mundo real que está registrado e possui um significado implícito no contexto de um domínio de aplicação Exemplos: endereço,
1 Sistemas Distribuídos - SDI Caracterização de Sistemas Distribuídos. Introdução. Exemplos de Sistemas Distribuídos. Desafios.
Fundamentos de Banco de Dados Prof. Alexander Roberto Valdameri
ESTRUTURA DE COMUNICAÇÃO DE DADOS
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
RECUPERAÇÃO APÓS FALHA
Princípios e Conceitos de Software(v2)
Sistema Cliente-servidor ou Sistema Client-server
Tecnologia de Informática
Gerenciamento de Transações - Introdução
Prof.Alfredo Parteli Gomes
Banco de Dados Aplicado ao Desenvolvimento de Software
Rodrigo de Souza Couto Redes de Computadores II
Universidade São Marcos Curso: Gestão de Negócios Internacionais
1 Modelos de Sistemas Distribuídos. Introdução - Dificuldades e ameaças para SD. Grande variação na utilização de SD )carga de trabalho e requerimentos.
Arquitetura Cliente/Servidor
Sistemas Distribuídos
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Gerenciamento de Dados
Paulo Silva Tracker Segurança da Informação
Banco de Dados e Usuários do Banco de Dados (capítulo 1)
Nova solução CRM da Riosoft
Arquitetura Cliente /Servidor
Tuning Lílian Simão Oliveira.
Tecnologia da Informação
Tecnologia da informação
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 05.
Sistemas Distribuídos
Exercícios SGBD - CESPE
Controle de concorrência
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
Processo de Aquisição Adilson de Almeida Cezar Meriguetti
BD Distribuído Conceitos Iniciais.
SISTEMAS DISTRIBUIDOS Aula 4
SISTEMAS OPERACIONAIS I
SGBD Distribuído Lílian Simão Oliveira.
Processos.
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Objetivos do Capítulo Explicar a importância da implementação de processos e tecnologias de gerenciamento de dados numa organização. Explicar as vantagens.
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Introdução a Banco de Dados Aula 04
Bancos de Dados Estrutura e Funcionamento de um SGBD
Laboratório de Programação
Iniciando na logística empresarial
Dados e Informações são considerados os maiores ativos de uma organização. Muito importantes para o correto planejamento, desenvolvimento e operação de.
Definição um sistema de BD distribuído consistem em uma rede de várias ocorrências de bases de dados interligadas. característica principal para o usuário,
Como elaborar seu currículo? 04/2006 Um currículo bem feito não garante sua contratação mas um currículo mal elaborado elimina-o do processo seletivo.
Integração de Ferramentas CASE
Transações Banco de Dados II Aline S Costa 1. TRANSAÇÕES Conjunto de operações que formam uma única unidade lógica de trabalho; Conjunto de instruções.
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Leandro Clementino Almeida.  Anos 50 - Sistemas Operacionais tipo Lote:  Aumentar a capacidade de processamento de programas  Usuário ia ao computador.
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 1 Tópicos  Introdução  Um exemplo  Características da abordagem de banco de dados  Vantagens.
Bruna Cavallero Martins Universidade Católica de Pelotas.
Transcrição da apresentação:

ARQUITETURA DE SOFTWARE Prof. Antonio Alberto P. Santana

AGENDA - Estrutura da aplicação distribuída Cliente/Servidor Transação Consultas Independência das camadas Particionamento da aplicação

ESTRUTURA DA APLICAÇÃO XXX

ESTRUTURA DA APLICAÇÃO Função lógica de apresentação é a camada que realiza a interação com o usuário final Principais funções garantir a segurança de acesso ao sistema; permitir a navegação sobre o sistema para a chegada do usuário ao ponto desejado; realizar a apresentação das informações; manipular as informações imputadas no sistema; realizar algumas análises destas informações.

ESTRUTURA DA APLICAÇÃO Função lógica de regras de negócio é responsável pela imposição da política de negócio da organização, comandando a tomada de decisão do processo, conforme os requisitos e regras que determinam o comportamento do negócio. é a parte da aplicação que dá sentido à existência da própria aplicação. a comunicação com esta camada é feita através do pedido de processo, que representa a interface da camada.

ESTRUTURA DA APLICAÇÃO Função lógica de gerenciamento de dados tem a responsabilidade de garantir o armazenamento, a manipulação, a consistência, a integridade e a segurança dos dados. Principais funções fazer a leitura e a atualização dos dados; controlar a segurança do acesso aos dados; garantir a integridade dos dados; realizar a validação das operações solicitadas.

GERENCIAMENTO DE DADOS Função lógica de gerenciamento de dados a interface de comunicação com a camada de gerenciamento de dados é representada pelas transações e consultas. para garantir consistência, integridade e segurança aos dados, o acesso a eles deve ser feito somente através de um conjunto de transações e consultas cuidadosamente definido.

TRANSAÇÃO Definição Uma transação é “uma seqüência de ações pré-definida, realizada por uma aplicação, que transforma um sistema de computação e seus recursos de um estado consistente para outro, ordenadamente, para realizar a desejada funcionalidade do negócio.” (BERSON, 1992).

TRANSAÇÃO - Propriedades Atomicidade uma transação deve ser completada ou abortada (se uma ação da seqüência falhar, todas as outras já realizadas pela transação deverão ser desfeitas); Consistência uma transação transforma um sistema de computação e seus recursos de um estado consistente para outro também consistente;

TRANSAÇÃO - Propriedades Isolamento os efeitos de uma transação não são visíveis por outras transações enquanto ela não for finalizada; Serialização as informações utilizadas por uma transação são travadas ao longo de sua execução, para evitar que outras transações alterem estas informações antes que aquela seja encerrada;

TRANSAÇÃO - Propriedades Durabilidade alterações feitas por uma transação encerrada (comitada) são permanentes e tolerantes à falha do sistema.

TRANSAÇÃO Principais funções garantir atualizações consistentes - atualizações devem ser implementadas somente por meio de transações para assegurar a consistência; impor regras de negócio básicas - as regras de negócio básicas devem ser monitoradas pelas transações; evitar atualizações não autorizadas ou inválidas no SGBD - a interface transacional funciona como um guardião para evitar atualizações não autorizadas ou inválidas no Banco de Dados.

CONSULTAS Definição “é um conjunto de consultas projetadas especialmente para recuperar dados da camada de gerenciamento de banco de dados de forma correta e consistente.” (VASKEVITCH, 1995).

CONSULTAS Principais funções simplificar uniões complexas - uma consulta feita pelo usuário pode, muitas vezes, exigir a reunião de diversas tabelas físicas do banco de dados para construir a informação solicitada. A complexidade do banco de dados deve ser transparente ao usuário, de forma que ele possa fazer consultas simples e obter respostas satisfatórias;   assegurar consistência - os dados consultados devem refletir a integridade da informação, onde as características do evento que a gerou devem ser explicitadas quando a consulta for feita; garantir segurança - consultas elaboradas de forma apropriada podem assegurar que informações sensíveis sejam disponíveis apenas aos usuários e aplicativos autorizados.

INDEPENDÊNCIA DAS CAMADAS é importante para se alcançar alguns benefícios proporcionados pela arquitetura distribuída, tais como a independência tecnológica, a estabilidade e a reutilização. uma camada se torna independente quando os detalhes da sua implementação são encapsulados, escondendo a sua forma de operação, de maneira que a funcionalidade desta camada dependa apenas do estímulo feito através de mensagens, que trafegam sobre uma interface padronizada.

INDEPENDÊNCIA DO GERENCIAMENTO DE DADOS se torna independente das regras de negócio quando o SGBD trabalha, sem importar quais são essas regras. As transações na interface do SGBD não devem conter quaisquer regras.

INDEPENDÊNCIA DO GERENCIAMENTO DE DADOS Regras protejer cuidadosamente o banco de dados usando um modelo de dados bem planejado - não há substituto para um bom projeto de banco de dados;  desenvolver consultas e transações que ofereçam um bom acesso ao banco de dados - nas atualizações, as transações devem impor regras básicas de consistência, e, nas consultas, elas deverão oferecer uma visão lógica mais simples das complexas estruturas de dados do SGBD;  permitir apenas que transações bem elaboradas atualizem o banco de dados - as transações deverão se tornar verdadeiros guardiões do banco de dados;  isolar o usuário dos detalhes e locais dos bancos de dados fundamentais - a interface de banco de dados deverá se comunicar com uma série de bancos de dados diferentes em diferentes computadores, sem que o usuário ou a aplicação se preocupe com isto.

INDEPENDÊNCIA DAS REGRAS DE NEGÓCIO se torna independente da apresentação quando evitamos que estas regras falem com o usuário. a interface gráfica de usuário deve ser a única forma do usuário se comunicar com o sistema; a independência das regras de negócio objetiva alcançar a interoperabilidade e a reutilização do código da aplicação. interoperabilidade - é a capacidade de um módulo da aplicação (trecho do código) interoperar com uma variedade de outros módulos da organização (VASKEVITCH, 1995). alcançada a interoperabilidade, teremos viabilizada a reutilização, onde um módulo da aplicação, que realiza uma determinada tarefa, poderá ser utilizado por diversos outros módulos da organização.

INDEPENDÊNCIA D APRESENTAÇÃO tem como objetivo aumentar a liberdade e a flexibilidade dos usuários e da organização. nesta camada, os usuários poderão moldar a aplicação de acordo com suas necessidades, ao seu jeito, sem que isto afete as regras, as políticas e os procedimentos da organização. a organização poderá providenciar mudanças ou mesmo substituição desta camada, sem que as demais sejam afetadas. A apresentação envia pedidos formais à camada de regras de negócio, podendo fazer qualquer coisa antes de enviar o pedido ou depois de receber a resposta.

PARTICIONAMENTO DA APLICAÇÃO Particionar a aplicação é a forma de dividirmos o código da mesma entre o processo cliente e o processo servidor. Essa importância decorre do fato de que a possibilidade de distribuição dos componentes do processamento da aplicação entre cliente e servidor é um dos motivos pelos quais a arquitetura cliente/servidor utiliza o processamento cooperativo, sendo que este representa o fundamento e a força motriz daquela (BERSON, 1992).

APRESENTAÇÃO DISTRIBUÍDA

APRESENTAÇÃO DISTRIBUÍDA Principal benefício quando se deseja controlar o acesso e o processamento da aplicação no módulo principal (módulo servidor), deixando apenas a apresentação gráfica para o processo cliente.

APRESENTAÇÃO REMOTA

APRESENTAÇÃO REMOTA Principal benefício Principal conseqüência adequada para as aplicações não-conversacionais onde o processo cliente recebe os dados de entrada e os envia através de uma única mensagem ao processo servidor, recebendo também de volta somente uma mensagem; tende a reduzir o tráfego na rede. Principal conseqüência tende a sobrecarregar o servidor, uma vez que nele centraliza o processamento.

FUNÇÃO DISTRIBUÍDA

FUNÇÃO DISTRIBUÍDA Principais benefícios Principal conseqüência é uma topologia adequada para aplicações altamente interativas e com intensivo I/O de banco de dados; possibilita melhor aproveitamento do potencial do cliente; alivia a carga de processamento do servidor; permite a redução do número de mensagens entre a camada de apresentação e a camada de gerenciamento de dados, o que irá reduzir o tráfego na rede. Principal conseqüência a aplicação implementada nesta topologia tem a desvantagem de se caracterizar como uma implementação complexa.

GERENCIAMENTO REMOTO DE DADOS

GERENCIAMENTO REMOTO DE DADOS Principal benefício esta topologia pode ser conveniente para aplicações de execução não freqüentes, que se caracterizam por baixo volume de dados nas solicitações e nos resultados. Principais conseqüências sobrecarga na rede - na medida em que todos os dados pesquisados sejam enviados ao cliente, o aumento no tráfego da rede poderá comprometer a performance da aplicação; um local único de dados, bem como do banco de dados, cria um ponto “único” de falha, gerando desconfiança quanto à segurança; os dados, bem como o banco de dados, localizados num único sistema (servidor de dados) podem comprometer o processamento devido a sua capacidade.

GERENCIAMENTO DE DADOS DISTRIBUÍDO

GERENCIAMENTO DE DADOS DISTRIBUÍDO Principal benefício esta topologia proporciona maior segurança ao sistema, pois os dados críticos podem possuir múltiplas cópias localizadas em servidores diferentes; o tráfego na rede pode ser sensivelmente reduzido, já que as solicitações dos dados passam por uma consistência no módulo cliente (entre as camadas de regras de negócio e dados) e, se a solicitação for satisfeita, a mensagem é enviada ao banco de dados remoto; caso contrário, é rejeitada antes de ser enviada pela rede. Principal conseqüência alta complexidade no gerenciamento de dados.

REFERÊNCIAS BIBLIOGRÁFICAS BERSON, A. Client/server architecture. 1ª ed. Singapore, McGrow-Hill Book, 1996. LOOSLEY, C. Client/Server applications development and performance - 6º Congresso Nacional de Novas Tecnologias e Aplicações em Banco de Dados. São Paulo, 1995. LOOSLEY, CHRIS; High Performance Client/Server, 1ª ed. John Wiley Consumer, 1997. VASKEVITCH, D. Estratégias Cliente/Servidor. 1ª ed. São Paulo, Berkeley, 1995. VAUGHN, L. Client/Server System Design & Implementation. 1a. ed. New York, McGrow-Hill, 1994.

F I M