pedro sousa atsie 2003 arquitectura de sistemas de informação empresariais 6ª semana
TRANSCRIPT
Pedro SousaATSIE 2003
Arquitectura de Sistemas de Informação Empresariais
6ª semana
Pedro SousaATSIE 2003
Arquitecturas Abordadas
- - Arquitectura de Sistemas de Informação:
- Arquitectura de Dados
- Arquitectura de Aplicações
- Arquitectura Tecnológica Função da Arquitectura Tecnológica na ASI Arquitecturas de Aplicações Arquitecturas de Alta Disponibilidade e Escaláveis Arquitecturas Seguras O Papel do Middleware
Pedro SousaATSIE 2003
Arquitectura Tecnológica
O que é:• É a escolha dos tipos de tecnologia que devem ser
utilizados para dar suporte a cada um dos sistemas e aplicações definidos na Arquitectura de Aplicações, e aos Dados corporativos.
Tem como objectivo:• Perspectivar a tecnologia de forma independente dos
componentes funcionais e dos dados corporativos.
SLIDE REPETIDO
Pedro SousaATSIE 2003
• Como identificamos as Tecnologias que são pertinentes referir na Arquitectura Tecnológica?
• A que nível de detalhe devemos chegar ?– Compilação das Tecnologias Possíveis– Alinhamento com ar Regras da Organização– Selecção de alternativas limitadas para as várias
tecnologias
Identificação das Tecnologias
Pedro SousaATSIE 2003
Identificação das TecnologiasExemplo
Tecnologia e SistemasCorrentes
Tendênciasde Mercado
Best practices deEngenhariade software
Recenseamentode
Tecnologias
Arquitecturade aplicações
“Universo” deTecnologias
Princípios de desenhode sistemas
e tecnologias de informaçãoRegras da Organização
Arquitecturade aplicações
•Adaptação à organização•Mapeamento para
Arquitectura de Aplicações•Elaboração das recomendações
Pedro SousaATSIE 2003
Segu
ranç
a
Infra-estruturade Rede
Servidores e Estações de Trabalho
SGBD
SIG
Middleware
SAD Simuladores
DesenvolvimentoAplicacional Helpdesk
Identificação das Tecnologias Exemplo
O que recomendar em cada caso implica anos de experiência e está fora do âmbito da disciplina !!!
Pedro SousaATSIE 2003
Arquitecturas Abordadas
- - Arquitectura de Sistemas de Informação:
- Arquitectura de Dados
- Arquitectura de Aplicações
- Arquitectura Tecnológica Função da Arquitectura Tecnológica na ASI Arquitecturas de Aplicações Arquitecturas de Alta Disponibilidade e Escaláveis Arquitecturas Seguras O Papel do Middleware
Pedro SousaATSIE 2003
Arquitectura de Aplicações
• Todas as aplicações têm 3 componentes estruturais:
• As diferenças começam com a introdução de troços de rede entre as componentes!
Apresentação Lógica Dados
Pedro SousaATSIE 2003
Arquitectura de Aplicações
• Arquitecturas Cliente - ServidorApresentação
Lógica
Dados
Apresentação
Rede
Servidor
Cliente Apresentação
Lógica
Dados
Apresentação
Lógica
Dados
Lógica
Apresentação
Dados
Lógica
Apresentação
Dados
Lógica
Dados
Apresentação Distribuída
Apresentação Remota
Lógica Distribuída
Dados Remotos
Base de DadosDistribuídos
“Fat Server” “Fat Client”
Pedro SousaATSIE 2003
Arquitectura de Aplicações• Arquitecturas de 1,2,3 e N Camadas
• Pontos críticos– Administração– Segurança– Encapsulação de Dados– Desempenho– Disponibilidade– Reutilização– Facilidade de Desenvolvimento– Integração com Sistemas Legados– Escalabilidade e Flexibilidade no hardware
Apresentação Lógica Dados
Pedro SousaATSIE 2003
Arquitectura de Aplicações
• A Flexibilidade das Arquitecturas de 3 Camadas
N servidores aplicacionais(HW e/ou SW)
N servidores deBase de Dados
(HW e SW)
Pedro SousaATSIE 2003
Arquitectura de Aplicações• A Arquitectura Típica de Hardware explicita as 3 zonas de segurança distinta.
• As firewalls permitem limitar os acessos (quem e o quê) entre os troços de rede
• Não existe necessariamente uma correspondência com as 3 camadas das aplicações!
Firewall #1
Rede LocalClientes
Firewall #2
Servidores Aplicacionais
Servidores de Base de Dados
Pedro SousaATSIE 2003
Arquitectura de Aplicações• A Arquitectura Típica de Hardware para a Web
• Os clientes são constituídos por um Browser mais o Servidor Web
• A mesma Firewall pode isolar vários ambientes:
Firewall #1
Firewall #2
Servidores Aplicacionais
Servidores de Base de Dados
InternetBrowsers
Firewall #0
Servidores Web
Clientes
Internet
Firewall #0Servidores Web
Servidores Aplicacionais
Pedro SousaATSIE 2003
Arquitecturas Abordadas
- - Arquitectura de Sistemas de Informação:
- Arquitectura de Dados
- Arquitectura de Aplicações
- Arquitectura Tecnológica Função da Arquitectura Tecnológica na ASI Arquitecturas de Aplicações Arquitecturas de Alta Disponibilidade, Escaláveis Arquitecturas Seguras O Papel do Middleware
Pedro SousaATSIE 2003
Arquitecturas de Alta Disponibilidade
• Tópicos:– Tipos de paragem– Uso do Servidores de BackUp– Duplicação Activa/Passiva
Como reduzir o número de paragens ?Como reduzir o tempo de cada paragem ?
Como garantir que não se perde informação ?
Pedro SousaATSIE 2003
Arquitecturas de Alta Disponibilidade• Uso de servidores de backup
– Detecção da falha– Actualização dos Backup –
Aplicação dos Logs– Activação da aplicação– Re-processamento das mensagens
perdidas
• Duplicação PassivaUm servidor de reserva!
– “Transparente” para o utilizador– Actualização dos Backup –
Aplicação dos Logs– Activação da aplicação– Re-processamento das mensagens
perdidas
Servidores Aplicacionais
Servidores de Base de Dados
Servidores de backup
Cluster de Servidores
Pedro SousaATSIE 2003
Arquitecturas de Alta Disponibilidade• Duplicação Activa
Um servidor de reserva, mas a trabalhar !
– “Transparente” para o utilizador– Ideal para servidores sem
estado!– Grandes percas no desempenho
com:• a actualização de dados • a distância entre os
servidores e discos
Servidores Aplicacionais
Stateless
Servidores de Base de Dados
Cluster de Servidores
Servidores Web
Stateless
Load Balancing (Hw ou SW)
Pedro SousaATSIE 2003
Arquitecturas Escaláveis
Como desempenho do HW actual, porquê que ainda temos problemas com o desempenho dos Processadores?
Decomposição do tempo gasto numa transacção óptima: 10% – CPU 30% – Rede 30% – Base de Dados 30% – Idle (caso
contrário as queues entram em “trash”)
Com transacções distribuídas, o cenário é bastante pior
RedeProcessador & Memória IO
Base de Dados
Log
Tipicamente, 5 a 20 IOs por transacção
Pedro SousaATSIE 2003
Arquitecturas Escaláveis
• Tópicos relevantes:– Que limites para o paralelismo– Processamento Transaccional Online– Processamento Batch – Distribuição como Alternativa ?– Distribuição de Carga– Sistemas Operacionais e Analíticos – Backups e recovery
Servidores AplicacionaisStateless &
Load balaced
Servidores de Base de Dados
Clustered
Cluster de Servidores
Servidores Web
Stateless &Load balaced
Pedro SousaATSIE 2003
Arquitecturas Seguras
• Não existem arquitecturas completamente seguras
• A segurança só pode ser conseguida através de um processo contínuo, com actividades em todas as dimensões empresariais
• Algumas questões práticas:
– Não juntar processos/dados com privilégios distintos nos mesmos ambientes computacionais.
– Usar mecanismos de chaves como mecanismos de autenticação e privacidade, mas não de acesso
– Usar cifra como protecção
Pedro SousaATSIE 2003
Arquitecturas Abordadas
- - Arquitectura de Sistemas de Informação:
- Arquitectura de Dados
- Arquitectura de Aplicações
- Arquitectura Tecnológica Função da Arquitectura Tecnológica na ASI Arquitecturas de Aplicações Arquitecturas de Alta Disponibilidade, Escaláveis Arquitecturas Seguras O Papel do Middleware
Pedro SousaATSIE 2003
O que é o Middleware• Middleware é o software de sistema que permite esconder das
aplicações aspectos relacionados com:– Heterogeneidade (dados e protocolos)– Falhas, – Transacções Distribuídas– Recursos computacionais:
• Processos, Memória, ficheiros abertos, ligações abertas, etc
• 3 tipos de middleware: Dados, Comunicação e Plataforma
DBMSFS Aplicação AplicaçãoAplicaçãoAplicação
Middlewarede Dados
Middlewarede Comunicação
Middlewareda Plataforma
Pedro SousaATSIE 2003
O que é o Middleware• Middleware de Dados:– Acesso a Bases de Dados,
• ODBC, JDBC, OLE-DB, etc– Sistemas de Ficheiros remotos (network Operating Systems)
• Microsoft Windows, Novel NetWare, Sun NFS, etcComunicação
– Chamadas a funções RemotasRPC, Java RMI, SAP RFC
– Suporte a MensagensIBM MQSeries, Microsoft MTS, Oracle Advanced Queue, Suites completas (traduções, message Warehouse, etc)
Plataforma– Application Servers,
• J2EE, .Net, evoluções do IBM CICS, etc – Suporte a Objectos Distrubuídos:
• Object Request Brokers, Object Transaction Management
DBMSFS
Aplicação
AplicaçãoAplicaçãoAplicação
Pedro SousaATSIE 2003
Monitores TransaccionaisOs Monitores Transaccionais fazem a:
– Gestão de Processos: • Escolha do servidor, arranque dos processos no servidor, monitorização, e
distribuição de de carga, terminação dos processos, etc– Gestão de Transacções:
• Assegura as propriedades ACID dos programas que controla: início, rollback, commit, etc.
– Gestão de Comunicações: • Suporta a comunicações entre os componentes aplicacionais. Modelos típicos:
Request Response (Síncrono, Assíncrono, Paralelo, Pipe Line), Conversational, Queues, Publish and Subscribe, Broadcast.
• Mas:– Assumem que as processos não têm estado. Todo o estado é mantido nas Bases de
Dados, com suporte transaccional– Não oferecem uma framework.
Pedro SousaATSIE 2003
Monitores Transaccionais
• Sem um Monitor Transaccional
• Com um Monitor Transaccional
1.000 Clientes
1.000 Clientes
1.000 ligações +1.000 processos +500 Mega Ram +10.000 Open Files
50 ligações Partilhadas+50 processos +
25 Mega Ram +500 Open Files
Sistema Operativo
Sistema OperativoMon
itor
Tra
nsac
cion
al
50
Pedro SousaATSIE 2003
O Papel do Middleware
• Apresentação– Queries Ad-hoc – Transacções on-line– Transacções
diferidas – Alertas
Servidores Aplicacionais Comunicação Transaccional Escalabilidade Transacções Distribuídas Integração de Aplicações. .
Servidores Base de Dados Integração Sistemas Legados
Pedro SousaATSIE 2003
Integração de AplicaçõesEnterprise Application Integration
• Existem 4 tipos de integração de Aplicações:
– Ao nível da Apresentação
– Ao nível do método ou processo
de Negócio (com ou sem APIs
aplicacionais)
– Ao nível dos Dados
Apresentação
Lógica
Dados
Apresentação
Lógica
Dados