O documento apresenta uma palestra sobre arquitetura de software. Resume a origem da arquitetura, mitos sobre a área, definições de arquitetura e o papel do arquiteto. Apresenta a arquitetura de filas como um tópico importante e convida a audiência a compartilhar suas experiências.
Escalando a Gestão Ágil com SAFe - Manoel Pimentel
InfoQ Brasil - Arquitetando o Futuro da TI - Por Wagner Santos
1. Arquitetando o Futuro da TI
Queue Architecture
Wagner Roberto dos Santos
Arquiteto Java e Scrum Master
2. Apresentação
Wagner Roberto dos Santos
• Arquiteto Java e Scrum Master.
• Editor da InfoQ Brasil.
• Participação em projetos open source
relacionados ao NetBeans.
• Tester e Membro do time global de
tradutores de NetBeans.
• Moderador da lista oficial do NetBeans e
do curso de web services Java Passion.
• Autor de diversos artigos.
• Certificações: CSM, SCJA, SCJP, SCBCD,
Duke Awards.
• Mantém o blog http://netfeijao.blogspot.com
3. Agenda
• Origens da Arquitetura
• Mitos
• Definições sobre Arquitetura
• Papéis do Arquiteto
• Arquitetando o futuro da TI
• Colabore
4. Origens da Arquitetura
• Arquitetura do grego arché – αρχή, significa quot;primeiroquot; ou
quot;construção“.
• Refere-se a arte ou a técnica de projetar e edificar um
ambiente habitado pelo ser humano.
8. Definições de Arquitetura
• Definição Moderna
“The software architecture of a program or
computing system is the structure or structures of
the system, which comprise software elements,
the externally visible properties of those
elements, and the relationships among them.”
Software Architecture in Practice (2nd edition)
9. Definições de Arquitetura
• Definição Moderna e as visões
• “Architecture
is defined by the recommended practice as
the fundamental organization of a system, embodied in
its components, their relationships to each other and the
environment, and the principles governing its design and
evolution.
• ANSI/IEEE Std 1471-2000, Recommended Practice for
Architectural Description of Software-Intensive Systems
10. Definições de Arquitetura
• Definição Moderna
• Descrevendo arquiteturas com as LDAs.
• Visões dos Stakeholders.
– Visão funcional/lógica
– Visão de código.
– Visão de desenvolvimento
– Visão de concorrência
– Visão física/evolutiva
– Visão de ação do usuário
• (feedback)
11. Definições de Arquitetura
•Definições Clássicas “An architecture is the set of
significant decisions about the
organization of a software system,
the selection of the structural
elements and their interfaces by
which the system is composed,
together with their behavior as
specified in the collaborations among
those elements, the composition of
these structural and behavioral
elements into progressively larger
subsystems, and the architectural
style that guides this organization---
these elements and their interfaces,
their collaborations, and their
composition .”
(Kruchten: The Rational Unified Process.).
12. Definições de Arquitetura
• Definições Clássicas
”...the architectural design of a system can be described from (at least)
three perspectives -- functional partitioning of its domain of interest,
its structure, and the allocation of domain function to that structure.”
Bass, et al., 1994:
Dê a sua definição.
13. Papél do Arquiteto
• quot;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.quot; -
Vitruvius, há aproximadamente 25 anos a.C.
14. Papél do Arquiteto
O arquiteto técnico:
• Identifica as tecnologias que serão utilizadas em um projeto.
• Recomenda as metodologias de desenvolvimento e
frameworks do projeto.
• Fornece um design geral e a estrutura da aplicação.
• Assegura que o projeto esta adequadamente definido.
• Assegura que o design da aplicação esta devidamente
documentado.
• Propõe um modelo de codificação.
• Identifica as tarefas de implementação para o gerente de
projeto.
• Ajuda os desenvolvedores em tarefas complexas.
• Ajuda o PM a estimar custos de projeto e os benefícios.
• Auxilia a identificar a posição dos desenvolvedores.
15. Papél do Arquiteto
• Para o gerente de projeto
– É responsável por aconselhar e guiar o PM em decisões
técnicas.
16. Papél do Arquiteto
• Para o analista de negócios
– Responsável por assegurar que os requisitos da
aplicação estão alinhados com o negócio
17. Papél do Arquiteto
• Designer
– Tem que assegurar que o layout é tecnicamente
aplicável.
18. Papél do Arquiteto
• Desenvolvedor
– Assegurar que os design patterns podem ser mantidos e
extendidos.
19. Papél do Arquiteto
• Data Modeler
– Responsável por assegurar que o data model é
adequado.
20. Papél do Arquiteto
• Administrador do Banco de Dados (DBA)
– Trabalha junto ao DBA para resolver problemas de
persistência.
21. Papél do Arquiteto
• Especialista de Migração
– Define os requisitos para migração dos dados.
22. Papél do Arquiteto
• Especialista de Infra-estrutura
– Define os requisitos de infra-estrutura.
23. Arquitetando o Futuro da TI
• Queue Architecture
– Presente em todas as disciplinas
– Casos de Sucesso
– Entrevistas
– Artigos
– Livros
– Java, .NET, Ruby, Agile e SOA
CONTE-NOS SUA ESTÓRIA.