introdução e motivação
TRANSCRIPT
-
8/8/2019 Introduo e Motivao
1/5
Introduo e Motivao: Arquiteturas em n Camadas
Um Problema: Presses do negcio
Steve Jobs fala: "Few companies have the luxury of reinventing themselves when they compete onInternet time"
o "Internet time" um novo conceito (final dos anos 1990) e significa que as empresas devem
implementar novos sistemas muito rapidamente Muitos sistemas de empresas devem migrar para Internet/Intranet/Extranet Novos tipos de sistemas devem ser desenvolvidos para usar a tecnologia como business advantage, dan
um diferencial nos negcios Muitos sistemas devem mudar devido a mudanas nos negcios
o Fuses e aquisies Resultado: tem muito mais software a fazer, muito mais rapidamente
o Mas h presses para manter custos de IT (Information Technology) baixoso Hoje (incio dos anos 2000), de 4 a 6% da receita gasta com TI! altssimo!
Outro Problema: Presses Tecnolgicas
O desenvolvimento de software ficou muito mais complexo nos ltimos anoso Pelos motivos acimao Porque usurios querem funcionalidade mais sofisticada
Problemas de complexidadeo O desenvolvimento de muitos grandes sistemas tem fracassado recentementeo A figura mais citada: 80% dos projetos so fracassos!
Resumindo: fazer sistemas de produo customizados do zero in-house:o muito caroo Demora muito tempoo
No produz boa qualidade
Requisitos da Soluo: O que queremos com a TI?
O que grandes empresas, com grandes problemas de desenvolvimento de sistemas, querem,tecnologicamente?
Melhorflexibilidadeo Possibilitando satisfazer novos requisitos do negcio (=funcionalidade) rapidamente
Melhoradaptabilidadeo Possibilitando customizar uma aplicao para vrios usurios, usando vrias alternativas de
delivery dos servios da aplicao com impacto mnimo ao ncleo da aplicao Melhormanutenabilidade
o Possibilitando atualizar uma aplicao, mas minimizando o impacto da maioria das mudanas Melhorreusabilidade
o Possibilitando rapidamente montar aplicaes nicas e dinmicas Melhoraproveitamento do legado
o Possibilitando reusar a funcionalidade de sistemas legados em novas aplicaes Melhorinteroperabilidade
o Possibilitando integrar 2 aplicaes executando em plataformas diferentes Melhorescalabilidade
o Possibilitando distribuir e configurar a execuo da aplicao para satisfazer vrios volumes detransao
Menortempo de desenvolvimento
-
8/8/2019 Introduo e Motivao
2/5
o Possibilitando viver em "Internet time" e com baixo oramentoo Equivalente a querer Produtividade do Programador
Melhorrobustezo Possibilitando ter solues com menos defeitoso Possibilitando ter confiabilidade e disponibilidade
Menorriscoo Possibilitando tudo que falamos acima e ainda no se arriscar a ter projetos fracassados
Resumindo: tudo que ISO 9126 caracteriza como "qualidade de software"o Funcionalidade, Manutenibilidade, Usabilidade, Eficincia, Confiabilidade, Portabilidadeo E mais algumas coisinhas ...
Soluo: Aplicaes Multicamadas Distribudas
Faremos um resumo histrico das arquiteturas de aplicaes
Arquitetura centralizada
Dominantes at dcada de 80 como arquitetura corporativa Problema bsico: interface no amigvel
Arquitetura em 2 camadas
Sistemas em camadas surgiram para:o Melhor aproveitar os PCs da empresao Oferecer sistemas com interfaces grficas amigveiso Integrar o desktop e os dados corporativos
Em outras palavras, permitiram aumentar a escalabilidade de uso de Sistemas de Informao Os primeiros sistemas cliente-servidor eram de duas camadas
o
Camada cliente trata da lgica de negcio e da UIo Camada servidor trata dos dados (usando um SGBD)
-
8/8/2019 Introduo e Motivao
3/5
Arquitetura em 3 camadas
A arquitetura cliente/servidor em 2 camadas sofria de vrios problemas:o Falta de escalabilidade (conexes a bancos de dados)o Enormes problemas de manuteno (mudanas na lgica de aplicao forava instalaes)o Dificuldade de acessar fontes heterogneas (legado CICS, 3270, ...)
Inventou-se a arquitetura em 3 camadaso Camada de apresentao (UI)o Camada de aplicao (business logic)o Camada de dados
Problemas de manuteno foram reduzidos, pois mudanas s camadas de aplicao e de dados nonecessitam de novas instalaes no desktop
Observe que as camadas so lgicaso Fisicamente, vrias camadas podem executar na mesma mquinao Quase sempre, h separao fsica de mquinas
Arquitetura em 3/4 camadas Web-Based
A arquitetura em 3 camadas original sofre de problemas:o A instalao inicial dos programas no desktop carao O problema de manuteno ainda persiste quando h mudanas camada de apresentaoo No se pode instalar software facilmente num desktop que no est sob seu controle administra
Em mquinas de parceiros Em mquinas de fornecedores Em mquinas de grandes clientes Em mquinas na Internet
Ento, usamos o Browser como Cliente Universal
-
8/8/2019 Introduo e Motivao
4/5
o Conceito de Intraneto A camada de aplicao se quebra em duas: Web e Aplicaoo Evitamos instalar qualquer software no desktop e portanto, problemas de manutenoo Evitar instalao em computadores de clientes, parceiros, fornecedores, etc.
s vezes, continua-se a chamar isso de 3 camadas porque as camadas Web e Aplicao freqentementrodam na mesma mquina (para pequenos volumes)
Arquitetura distribuda em n camadas
Os problemas remanescentes:o No h suporte a Thin Clients (PDA, celulares, smart cards, quiosques, ...) pois preciso usar um
browser (pesado) no clienteo Dificuldade de criar software reutilizvel: cad a componentizao?o Fazer aplicaes distribudas multicamadas difcil. Tem que:
Implementar persistncia (impedance mismatch entre o mundo OO e o mundo dos BDsrelacionais)
Implementar tolerncia a falhas com fail-over Implementar gerncia de transaes distribudas Implementar balanceamento de carga Implementarresource pooling etc.
As empresas no querem contratar PhDs para implementar sistemas de informao!
O truque introduzirmiddleware num servidor de aplicao que oferea esses servios automaticamen Alm do mais, as solues oferecidas (J2EE, .Net) so baseadas em componentes
-
8/8/2019 Introduo e Motivao
5/5
As camadas podem ter vrios nomes:o Apresentao, interface, clienteo
Webo Aplicao, Businesso Dados, Enterprise Information System (EIS)