introdução e motivação

Upload: chiaveli

Post on 09-Apr-2018

218 views

Category:

Documents


0 download

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)