SlideShare uma empresa Scribd logo
jairobjunior {@gmail, slideshare, linkedin e twitter}
Arquitetura é um conjunto de estruturação de
princípios que possibilita um sistema de ser composto por
 outro conjunto mais simples, onde cada um possui seu
    próprio contexto independente, não podendo ser
            incompatível com todo o sistema.

                                          Sun Microsystem, Inc.
Costumo dizer aos estudantes de Arquitetura que não
basta sair da escola para ser bom profissional. O sujeito tem
 de se abrir para o mundo e não ficar atrás da visão estreita
                      dos especialistas.

                                            Oscar Niemeyer
   Consultor Java – BlendIT / Indra Company;
   Pós-Graduação em Gerência de Projetos;
   Graduado em Sistema de Informação;
   Sook – Empresa pré-incubada na IET;
   Certificações: SCJP & SCWCD;
Arquitetura de Software
1. Compreender a importância da arquitetura de software
   em projetos;

2. Entender qual é o papel de um arquiteto de software;

3. Como os "grandes" funcionam?

4. Aplicar uma arquitetura de software a um estudo de

   caso, utilizando o Drumon - Framework;
   Final da década de 60 e início da década de 70
       Estrutura de software;
   Encapsulamento de informação;
       Separação de interface gráfica e implementação;
   Década de 90
       Orientação a objetos;
       Componentes;
       Internet;
*Fator crítico de sucesso no desenvolvimento de software.
   Quanto maior e mais complexo, mais relevante se
    torna a definição de sua arquitetura;
   Mudanças no projeto podem causar impactos
    significativos na arquitetura;




    Supremo Tribunal Federal / Congresso Nacional / Palácio do Planalto
Arquitetura são os
 principais elementos do               Arquitetura são as
sistema, as peças que são                decisões que
difíceis de mudar (Martin)             gostaríamos de ter
                                     tomado no começo do
                  Arquitetura é toda
                                        projeto. (Ralph)
                decisão que impactam
                em grandes trade-offs
                 e que podem ou não
                   serem difíceis de
                mudar. (Paulo Silveira)
Arquitetura de Software
Se cria uma arquitetura para suportar diversos
níveis de serviços, como: disponibilidade, confiança e
  escalabilidade, que são requisitos de um sistema.
Arquitetura de Software
O arquiteto ideal deve ser uma pessoa erudita,
um matemático, familiarizado com estudos históricos,
  um estudioso aplicado de filosofia, conhecedor de
 música, que não desconheça medicina, detentor de
   saber jurídico e familiarizado com astronomia e
   cálculos astronômicos." - Vitruvius, circa 25 BC
O desenvolvedor estar concentrado no que ocorre
quando um usuário pressiona um botão, enquanto um
 arquiteto estar concentrado o que ocorre quando dez
          mil usuário pressionam um botão.
                          Paul R. Allen, Joseph J. Bambara - SCEA
   Liderança;
   Visão estratégia;
   Gestão de relações humanas;
   Boa Comunicação;
Cabe ao arquiteto as tomadas de decisões e
assumir estas decisões, em muitas vezes não são
                    simples.
Deve conseguir observar as coisas como um
todo e fazer escolhas que maximizem ROI.
Lida com pessoas de negócio, precisa
compreender implicações políticas para as
      decisões e deve ser acessível.
Deve saber utilizar um vocabulário próprio para
  cada situação e deve ser capaz de explicar
     modelos para a área de negócios, as
necessidades à gerenência e a arquitetura aos
                    técnicos;
Arquitetura de Software
Smarty templating;                Perl for controlling;
PEAR for XML and Email parsing;   Java, for the node service;
Mysql; ImageMagick;               Apache 2, Redhat
Arquitetura de Software
Arquitetura de Software
Arquitetura de Software
Arquitetura de Software
Arquitetura de Software
Arquitetura de Software
Arquitetura de Software
WWW
Arquitetura de Software
Arquitetura de Software
Arquitetura de Software
http://docs.oracle.com/javaee/5/tutorial/doc/figures/overview-multitieredApplications.gif
Cliente = Apresentação + Lógica de negócio
          Servidor = Banco de dados
             Segurança e Performance

                    Confiança


Disponibilidade, Escalabilidade, Gerenciamento e
               Manutenabilidade
3-Camadas = web, negócio e recurso;
N-Camadas = web, negócio, integração e recurso;

     Escalabilidade, Disponibilidade, Extensibilidade,
           Manutenabilidade e Gerenciamento

                Segurança e Performance

                      Complexidade
Model-view-controller (MVC) é um modelo de
 desenvolvimento de Software, atualmente considerado uma
 "arquitetura padrão" utilizada na Engenharia de Software. O
 modelo isola a "lógica" (A lógica da aplicação) da interface do
usuário (Inserir e exibir dados), permitindo desenvolver, editar e
                testar separadamente cada parte.

                                                        Wikipedia
   Model, View e Controller;
   Smalltalk-80; por Trygve Reenskaug em 79;
   Java’s Swing;
   MVC é ideal para desenvolvimento Web com GUI;
   Se tornou mais popular com Ruby on Rails;
     Bom número de frameworks MVC em PHP foram
      inspirados em Rails;
   RAD – Reuso;
Arquitetura de Software
   Ótimo design arquitetural:
     O código fica organizado e estruturado;
     Um código bem estruturado se torna mais fácil o
      entendimento e localização na estrutura de diretórios;
   Fácil de manter o código:
     A abstração, minimizar a busca por lugares durante
      a alteração;
   Fácil de estender e aumentar:
     Implementações em classes pais, podem ser reutilizadas.
Framework é um conjunto de classes que
colaboram para realizar uma responsabilidade
    para um domínio de um subsistema da
                 aplicação.
                                  FAYAD e SCHMIDT
Arquitetura de Software
Arquitetura de Software
Arquitetura de Software
Arquitetura de Software
Arquitetura de Software
Arquitetura de Software
Arquitetura de Software
Arquitetura de Software
   Sun Certified Enterprise Architect for Java EE, Study Guide; Marl
    Cade and Humphrey Sheil
   Sun Certified Enterprise Architect for Java EE, Study Guide; Paul
    R. Allen Joseph J. Bambara;
   Patterns of Enterprise Application Architecture; Martin Fowler
   Core J2EE Patterns; Alur, Crupi and Malks
   Arquitetura de Software, Um pouco sobre arquitetura e o
    arquiteto – Vinicius Quaiato;
   O impacto do design na sua arquitetura – Paulo Silveira;
 http://noupe.com/img/ror/authentication.jpg
 http://themarketingmentor.co.uk/marketing_mentor_blog/wp-
  content/uploads/2008/10/istock_000004471659medium.jpg
 http://t1.gstatic.com/images?q=tbn:ANd9GcRyAE8pM3whLxCTrM
  c1c3DlOmufv29Irm0MeGkCgnH9VFHoUmKqMyI3BT-XlA
 http://www.design-glassware.com/img/cms/paypal__secure.jpg
 http://media.arstechnica.com/news.media/z890.jpg
 http://images-
  4.findicons.com/files/icons/977/rrze/720/database_mysql.png
 http://www.nuvemseo.net/wp-content/uploads/2010/02/rss-feed-
  assinar-123.png
 http://www.linhadecodigo.com.br/artigos/img_artigos/vspj/vspj5/fi
  g1_vspj5_p95.jpg

Mais conteúdo relacionado

Mais procurados

Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
Aricelio Souza
 
Padrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasPadrões Arquiteturais de Sistemas
Padrões Arquiteturais de Sistemas
Vagner Santana
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
Marcelo Yamaguti
 
Reflexões sobre arquitetura de software
Reflexões sobre arquitetura de softwareReflexões sobre arquitetura de software
Reflexões sobre arquitetura de software
Tiago Sciencia
 
O (papel do) Arquiteto de Software
O (papel do) Arquiteto de SoftwareO (papel do) Arquiteto de Software
O (papel do) Arquiteto de Software
Peter Jandl Junior
 
ArquiteturaSoftware
ArquiteturaSoftwareArquiteturaSoftware
ArquiteturaSoftware
Fábio Nogueira de Lucena
 
Arquitetura de Software em Equipes Ágeis
Arquitetura de Software em Equipes ÁgeisArquitetura de Software em Equipes Ágeis
Arquitetura de Software em Equipes Ágeis
Joao Paulo Oliveira dos Santos
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1
Adriano Tavares
 
05 - Waldemir Cambiucci - Matriz de habilidades de um arquiteto TI
05 - Waldemir Cambiucci - Matriz de habilidades de um arquiteto TI05 - Waldemir Cambiucci - Matriz de habilidades de um arquiteto TI
05 - Waldemir Cambiucci - Matriz de habilidades de um arquiteto TI
DNAD
 
Arquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADAArquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADA
Fábio Nogueira de Lucena
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
Nécio de Lima Veras
 
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANE
APSI 2   aulas  - padroes arquiteturais - camadas PROF.TARCIANEAPSI 2   aulas  - padroes arquiteturais - camadas PROF.TARCIANE
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANE
Fco Edilson Nascimento
 
Aula4-modelagem e uml
Aula4-modelagem e umlAula4-modelagem e uml
Aula4-modelagem e uml
neilaxavier
 
Engenharia de Software - Wikipedia
Engenharia de Software - WikipediaEngenharia de Software - Wikipedia
Engenharia de Software - Wikipedia
Robson Silva Espig
 
Arquitetura software
Arquitetura softwareArquitetura software
Arquitetura software
Fábio Nogueira de Lucena
 
Aula1 analise de sistemas remixado
Aula1 analise de sistemas remixadoAula1 analise de sistemas remixado
Aula1 analise de sistemas remixado
neilaxavier
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
Fábio Nogueira de Lucena
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
Claudete Florencio
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais
Waldemar Roberti
 
Aula Teste Fatec Engenharia de Software III
Aula Teste  Fatec Engenharia de Software IIIAula Teste  Fatec Engenharia de Software III
Aula Teste Fatec Engenharia de Software III
Dalton Martins
 

Mais procurados (20)

Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Padrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasPadrões Arquiteturais de Sistemas
Padrões Arquiteturais de Sistemas
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Reflexões sobre arquitetura de software
Reflexões sobre arquitetura de softwareReflexões sobre arquitetura de software
Reflexões sobre arquitetura de software
 
O (papel do) Arquiteto de Software
O (papel do) Arquiteto de SoftwareO (papel do) Arquiteto de Software
O (papel do) Arquiteto de Software
 
ArquiteturaSoftware
ArquiteturaSoftwareArquiteturaSoftware
ArquiteturaSoftware
 
Arquitetura de Software em Equipes Ágeis
Arquitetura de Software em Equipes ÁgeisArquitetura de Software em Equipes Ágeis
Arquitetura de Software em Equipes Ágeis
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1
 
05 - Waldemir Cambiucci - Matriz de habilidades de um arquiteto TI
05 - Waldemir Cambiucci - Matriz de habilidades de um arquiteto TI05 - Waldemir Cambiucci - Matriz de habilidades de um arquiteto TI
05 - Waldemir Cambiucci - Matriz de habilidades de um arquiteto TI
 
Arquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADAArquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADA
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
 
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANE
APSI 2   aulas  - padroes arquiteturais - camadas PROF.TARCIANEAPSI 2   aulas  - padroes arquiteturais - camadas PROF.TARCIANE
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANE
 
Aula4-modelagem e uml
Aula4-modelagem e umlAula4-modelagem e uml
Aula4-modelagem e uml
 
Engenharia de Software - Wikipedia
Engenharia de Software - WikipediaEngenharia de Software - Wikipedia
Engenharia de Software - Wikipedia
 
Arquitetura software
Arquitetura softwareArquitetura software
Arquitetura software
 
Aula1 analise de sistemas remixado
Aula1 analise de sistemas remixadoAula1 analise de sistemas remixado
Aula1 analise de sistemas remixado
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais
 
Aula Teste Fatec Engenharia de Software III
Aula Teste  Fatec Engenharia de Software IIIAula Teste  Fatec Engenharia de Software III
Aula Teste Fatec Engenharia de Software III
 

Semelhante a Arquitetura de Software

O futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseO futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java Enterprise
Globalcode
 
Arquitetura da Informacao na WEB
Arquitetura da Informacao na WEBArquitetura da Informacao na WEB
Arquitetura da Informacao na WEB
Fábio Flatschart
 
Ágil e Arquitetura-Os Opostos se Atraem
Ágil e Arquitetura-Os Opostos se AtraemÁgil e Arquitetura-Os Opostos se Atraem
Ágil e Arquitetura-Os Opostos se Atraem
Centus Consultoria
 
Macro Arquitetura de Software
Macro Arquitetura de SoftwareMacro Arquitetura de Software
Macro Arquitetura de Software
Edjalma Queiroz da Silva
 
Scrum origens
Scrum origensScrum origens
Scrum origens
Yoris Linhares
 
Arquitetura de Software 101
Arquitetura de Software 101Arquitetura de Software 101
Arquitetura de Software 101
Leandro Silva
 
aula1introducaoarquitetura.pdf
aula1introducaoarquitetura.pdfaula1introducaoarquitetura.pdf
aula1introducaoarquitetura.pdf
Antonio Lobato
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_js
gustavobeavis
 
20141128-Carlos-Eduardo-Capparelli
20141128-Carlos-Eduardo-Capparelli20141128-Carlos-Eduardo-Capparelli
20141128-Carlos-Eduardo-Capparelli
Carlos Eduardo Capparelli
 
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
Dev rioclaro   gerenciando o ciclo de vida das suas aplicações em larga escalDev rioclaro   gerenciando o ciclo de vida das suas aplicações em larga escal
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
Luiz Guilherme Bauer Fraga Moreira
 
Modulo ii arquiteturainformacaousabilidade_thaiscampas
Modulo ii arquiteturainformacaousabilidade_thaiscampasModulo ii arquiteturainformacaousabilidade_thaiscampas
Modulo ii arquiteturainformacaousabilidade_thaiscampas
Thais Campas
 
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SITeoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Alessandro Almeida
 
Java Web, o Tutorial
Java Web, o TutorialJava Web, o Tutorial
Java Web, o Tutorial
Rildo (@rildosan) Santos
 
O desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicosO desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicos
Graziella Bonizi
 
Certificações em Arquitetura de TI
Certificações em Arquitetura de TICertificações em Arquitetura de TI
Certificações em Arquitetura de TI
Marcelo Sávio
 
Es 09
Es 09Es 09
Visão Geral Arquiteturade Software
Visão Geral Arquiteturade SoftwareVisão Geral Arquiteturade Software
Visão Geral Arquiteturade Software
elliando dias
 
AOP
AOPAOP
Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
ECRAYON Tecnologia Criativa
 
RAD
RADRAD

Semelhante a Arquitetura de Software (20)

O futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseO futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java Enterprise
 
Arquitetura da Informacao na WEB
Arquitetura da Informacao na WEBArquitetura da Informacao na WEB
Arquitetura da Informacao na WEB
 
Ágil e Arquitetura-Os Opostos se Atraem
Ágil e Arquitetura-Os Opostos se AtraemÁgil e Arquitetura-Os Opostos se Atraem
Ágil e Arquitetura-Os Opostos se Atraem
 
Macro Arquitetura de Software
Macro Arquitetura de SoftwareMacro Arquitetura de Software
Macro Arquitetura de Software
 
Scrum origens
Scrum origensScrum origens
Scrum origens
 
Arquitetura de Software 101
Arquitetura de Software 101Arquitetura de Software 101
Arquitetura de Software 101
 
aula1introducaoarquitetura.pdf
aula1introducaoarquitetura.pdfaula1introducaoarquitetura.pdf
aula1introducaoarquitetura.pdf
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_js
 
20141128-Carlos-Eduardo-Capparelli
20141128-Carlos-Eduardo-Capparelli20141128-Carlos-Eduardo-Capparelli
20141128-Carlos-Eduardo-Capparelli
 
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
Dev rioclaro   gerenciando o ciclo de vida das suas aplicações em larga escalDev rioclaro   gerenciando o ciclo de vida das suas aplicações em larga escal
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
 
Modulo ii arquiteturainformacaousabilidade_thaiscampas
Modulo ii arquiteturainformacaousabilidade_thaiscampasModulo ii arquiteturainformacaousabilidade_thaiscampas
Modulo ii arquiteturainformacaousabilidade_thaiscampas
 
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SITeoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
 
Java Web, o Tutorial
Java Web, o TutorialJava Web, o Tutorial
Java Web, o Tutorial
 
O desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicosO desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicos
 
Certificações em Arquitetura de TI
Certificações em Arquitetura de TICertificações em Arquitetura de TI
Certificações em Arquitetura de TI
 
Es 09
Es 09Es 09
Es 09
 
Visão Geral Arquiteturade Software
Visão Geral Arquiteturade SoftwareVisão Geral Arquiteturade Software
Visão Geral Arquiteturade Software
 
AOP
AOPAOP
AOP
 
Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
 
RAD
RADRAD
RAD
 

Mais de Jairo Junior

Profissionais de TI: Desafios e Oportunidades
Profissionais de TI:  Desafios e OportunidadesProfissionais de TI:  Desafios e Oportunidades
Profissionais de TI: Desafios e Oportunidades
Jairo Junior
 
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações WebFrameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Jairo Junior
 
Fatores (Des)Motivadores na Adoção de Metodologias Ágeis no Desenvolvimento d...
Fatores (Des)Motivadores na Adoção de Metodologias Ágeis no Desenvolvimento d...Fatores (Des)Motivadores na Adoção de Metodologias Ágeis no Desenvolvimento d...
Fatores (Des)Motivadores na Adoção de Metodologias Ágeis no Desenvolvimento d...
Jairo Junior
 
A educação mediada pelo computador: ferramentas do século XXI
A educação mediada pelo computador: ferramentas do século XXIA educação mediada pelo computador: ferramentas do século XXI
A educação mediada pelo computador: ferramentas do século XXI
Jairo Junior
 
Domain-Driven Design - Aplicada a um estudo de caso
Domain-Driven Design - Aplicada a um estudo de casoDomain-Driven Design - Aplicada a um estudo de caso
Domain-Driven Design - Aplicada a um estudo de caso
Jairo Junior
 
Certificação Digital (Conceitos e Tendências)
Certificação Digital (Conceitos e Tendências)Certificação Digital (Conceitos e Tendências)
Certificação Digital (Conceitos e Tendências)
Jairo Junior
 

Mais de Jairo Junior (6)

Profissionais de TI: Desafios e Oportunidades
Profissionais de TI:  Desafios e OportunidadesProfissionais de TI:  Desafios e Oportunidades
Profissionais de TI: Desafios e Oportunidades
 
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações WebFrameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
 
Fatores (Des)Motivadores na Adoção de Metodologias Ágeis no Desenvolvimento d...
Fatores (Des)Motivadores na Adoção de Metodologias Ágeis no Desenvolvimento d...Fatores (Des)Motivadores na Adoção de Metodologias Ágeis no Desenvolvimento d...
Fatores (Des)Motivadores na Adoção de Metodologias Ágeis no Desenvolvimento d...
 
A educação mediada pelo computador: ferramentas do século XXI
A educação mediada pelo computador: ferramentas do século XXIA educação mediada pelo computador: ferramentas do século XXI
A educação mediada pelo computador: ferramentas do século XXI
 
Domain-Driven Design - Aplicada a um estudo de caso
Domain-Driven Design - Aplicada a um estudo de casoDomain-Driven Design - Aplicada a um estudo de caso
Domain-Driven Design - Aplicada a um estudo de caso
 
Certificação Digital (Conceitos e Tendências)
Certificação Digital (Conceitos e Tendências)Certificação Digital (Conceitos e Tendências)
Certificação Digital (Conceitos e Tendências)
 

Arquitetura de Software

  • 1. jairobjunior {@gmail, slideshare, linkedin e twitter}
  • 2. Arquitetura é um conjunto de estruturação de princípios que possibilita um sistema de ser composto por outro conjunto mais simples, onde cada um possui seu próprio contexto independente, não podendo ser incompatível com todo o sistema. Sun Microsystem, Inc.
  • 3. Costumo dizer aos estudantes de Arquitetura que não basta sair da escola para ser bom profissional. O sujeito tem de se abrir para o mundo e não ficar atrás da visão estreita dos especialistas. Oscar Niemeyer
  • 4. Consultor Java – BlendIT / Indra Company;  Pós-Graduação em Gerência de Projetos;  Graduado em Sistema de Informação;  Sook – Empresa pré-incubada na IET;  Certificações: SCJP & SCWCD;
  • 6. 1. Compreender a importância da arquitetura de software em projetos; 2. Entender qual é o papel de um arquiteto de software; 3. Como os "grandes" funcionam? 4. Aplicar uma arquitetura de software a um estudo de caso, utilizando o Drumon - Framework;
  • 7. Final da década de 60 e início da década de 70  Estrutura de software;  Encapsulamento de informação;  Separação de interface gráfica e implementação;  Década de 90  Orientação a objetos;  Componentes;  Internet; *Fator crítico de sucesso no desenvolvimento de software.
  • 8. Quanto maior e mais complexo, mais relevante se torna a definição de sua arquitetura;  Mudanças no projeto podem causar impactos significativos na arquitetura; Supremo Tribunal Federal / Congresso Nacional / Palácio do Planalto
  • 9. Arquitetura são os principais elementos do Arquitetura são as sistema, as peças que são decisões que difíceis de mudar (Martin) gostaríamos de ter tomado no começo do Arquitetura é toda projeto. (Ralph) decisão que impactam em grandes trade-offs e que podem ou não serem difíceis de mudar. (Paulo Silveira)
  • 11. Se cria uma arquitetura para suportar diversos níveis de serviços, como: disponibilidade, confiança e escalabilidade, que são requisitos de um sistema.
  • 13. O arquiteto ideal deve ser uma pessoa erudita, um matemático, familiarizado com estudos históricos, um estudioso aplicado de filosofia, conhecedor de música, que não desconheça medicina, detentor de saber jurídico e familiarizado com astronomia e cálculos astronômicos." - Vitruvius, circa 25 BC
  • 14. O desenvolvedor estar concentrado no que ocorre quando um usuário pressiona um botão, enquanto um arquiteto estar concentrado o que ocorre quando dez mil usuário pressionam um botão. Paul R. Allen, Joseph J. Bambara - SCEA
  • 15. Liderança;  Visão estratégia;  Gestão de relações humanas;  Boa Comunicação;
  • 16. Cabe ao arquiteto as tomadas de decisões e assumir estas decisões, em muitas vezes não são simples.
  • 17. Deve conseguir observar as coisas como um todo e fazer escolhas que maximizem ROI.
  • 18. Lida com pessoas de negócio, precisa compreender implicações políticas para as decisões e deve ser acessível.
  • 19. Deve saber utilizar um vocabulário próprio para cada situação e deve ser capaz de explicar modelos para a área de negócios, as necessidades à gerenência e a arquitetura aos técnicos;
  • 21. Smarty templating; Perl for controlling; PEAR for XML and Email parsing; Java, for the node service; Mysql; ImageMagick; Apache 2, Redhat
  • 29. WWW
  • 34. Cliente = Apresentação + Lógica de negócio Servidor = Banco de dados Segurança e Performance Confiança Disponibilidade, Escalabilidade, Gerenciamento e Manutenabilidade
  • 35. 3-Camadas = web, negócio e recurso; N-Camadas = web, negócio, integração e recurso; Escalabilidade, Disponibilidade, Extensibilidade, Manutenabilidade e Gerenciamento Segurança e Performance Complexidade
  • 36. Model-view-controller (MVC) é um modelo de desenvolvimento de Software, atualmente considerado uma "arquitetura padrão" utilizada na Engenharia de Software. O modelo isola a "lógica" (A lógica da aplicação) da interface do usuário (Inserir e exibir dados), permitindo desenvolver, editar e testar separadamente cada parte. Wikipedia
  • 37. Model, View e Controller;  Smalltalk-80; por Trygve Reenskaug em 79;  Java’s Swing;  MVC é ideal para desenvolvimento Web com GUI;  Se tornou mais popular com Ruby on Rails;  Bom número de frameworks MVC em PHP foram inspirados em Rails;  RAD – Reuso;
  • 39. Ótimo design arquitetural:  O código fica organizado e estruturado;  Um código bem estruturado se torna mais fácil o entendimento e localização na estrutura de diretórios;  Fácil de manter o código:  A abstração, minimizar a busca por lugares durante a alteração;  Fácil de estender e aumentar:  Implementações em classes pais, podem ser reutilizadas.
  • 40. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação. FAYAD e SCHMIDT
  • 49. Sun Certified Enterprise Architect for Java EE, Study Guide; Marl Cade and Humphrey Sheil  Sun Certified Enterprise Architect for Java EE, Study Guide; Paul R. Allen Joseph J. Bambara;  Patterns of Enterprise Application Architecture; Martin Fowler  Core J2EE Patterns; Alur, Crupi and Malks  Arquitetura de Software, Um pouco sobre arquitetura e o arquiteto – Vinicius Quaiato;  O impacto do design na sua arquitetura – Paulo Silveira;
  • 50.  http://noupe.com/img/ror/authentication.jpg  http://themarketingmentor.co.uk/marketing_mentor_blog/wp- content/uploads/2008/10/istock_000004471659medium.jpg  http://t1.gstatic.com/images?q=tbn:ANd9GcRyAE8pM3whLxCTrM c1c3DlOmufv29Irm0MeGkCgnH9VFHoUmKqMyI3BT-XlA  http://www.design-glassware.com/img/cms/paypal__secure.jpg  http://media.arstechnica.com/news.media/z890.jpg  http://images- 4.findicons.com/files/icons/977/rrze/720/database_mysql.png  http://www.nuvemseo.net/wp-content/uploads/2010/02/rss-feed- assinar-123.png  http://www.linhadecodigo.com.br/artigos/img_artigos/vspj/vspj5/fi g1_vspj5_p95.jpg