Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Apresentação TCC-pós

1,419 views

Published on

Slides utilizados na apresentação do TCC da pós graduação.

  • Be the first to comment

  • Be the first to like this

Apresentação TCC-pós

  1. 1. USO DE COMPONENTES NA PROGRAMAÇÃO: ESTUDO EXPERIMENTAL COM O FRAMEWORK OSGIAluno: Thiago Alexandre LenzOrientador: Me. Fernando Schütz
  2. 2. 2Estrutura da apresentação• Objetivos e Justificativa• Componentes e processos• Framework OSGi• Protótipos• Considerações finais
  3. 3. 3Objetivos• Geral • OSGi e Componentes de Software• Específicos • Estudo bibliográfico • Protótipos (Modularization, Lifecycle, Services) • Resultados e testes
  4. 4. 4Justificativa• Justificativa • Sistemas complexos • Organização modular • Linguagem Java • Disponibilidade e flexibilidade
  5. 5. 5Componentes de Software• Definições • Unidade de software • Dividir em pequenos problemas• Requisitos • Clareza • Interconexão via interfaces
  6. 6. 6Componentes de Software• Facilidade de troca
  7. 7. 7Componentes na UML• Diversas formas de representação
  8. 8. 8Componentes e Orientação a Objetos• Evolução• OO focado em hierarquias• Componentes focados em agregação e composição
  9. 9. 9Processo de Identificação decomponentes• Engenharia de Domínio • Análise • Projeto • Implementação• Desenvolvimento Baseado em Componentes • Componentes existentes
  10. 10. 10OSGi Framework• Origem• Novo conceito• Orientação a Serviços (SOA in a VM)• Três níveis
  11. 11. 11Modularização• Divisão de funcionalidades• Modularização lógica e física• Java possui problemas com a modularização
  12. 12. 12Controle de visibilidade• Modificadores públicos Pacotes Pacotes visíveis a visíveis Bundle A
  13. 13. 13Controle de visibilidade• Solução: exportar apenas algumas classes Pacotes não expostos
  14. 14. 14Desorganização do classpath• Várias versões da mesma classe
  15. 15. 15Desorganização do classpath• Solução: versionamento e arquivo manifesto
  16. 16. 16Dificuldade de manutenção eimplantação• Resolução de dependências• Atualização da aplicação • Para tudo
  17. 17. 17Manifesto e classe de ativação• Semelhante ao método main
  18. 18. 18Dependências• Importação e exportação de pacotes• Ordem de resolução • Já resolvidos • Maior versão • Ordem de instalação
  19. 19. 19Ciclo de Vida• Estados de um bundle
  20. 20. 20Serviços• Contrato entre consumidor e fornecedor• Vantagens • Baixo acoplamento • Foco em interfaces • Meta-dados de serviços • Suporte em tempo real a várias implmentações
  21. 21. 21Serviços• Registro e descoberta
  22. 22. 22Protótipo - Modularização• Relação entre componentes
  23. 23. 23Protótipo – Ciclo de vida• Relação entre componentes
  24. 24. 24Protótipo – Serviços• Protótipo
  25. 25. 25Resultados de testes - Modularização• Resultado
  26. 26. 26Resultados de testes - Ciclo de vida• Script de testes Teste Resultado Iniciar o Apache Felix sem nenhum bundle do OK protótipo Instalar os bundles: LifeCycleCore, OK LifeCycleFinance e LifeCycleAdm Iniciar os bundles:LifeCycleCore, LifeCycleFinance OK e LifeCycleAdm Atualizar a versão 1.0.0 do bundle OK LifeCycleFinance para a versão 1.0.1 Parar o bundle LifeCycleAdm OK
  27. 27. 27Resultados de testes - Serviços• Teste 1 – Iniciar o consumidor sem serviço
  28. 28. 28Resultados de testes - Serviços• Teste 2 – Iniciar os 2 serviços
  29. 29. 29Resultados de testes - Serviços• Teste 3 – parar um dos serviços
  30. 30. 30Considerações Finais• Componentes e engenharia• Framework OSGi• Série de vantagens • Flexibilidade, dinamismo...
  31. 31. 31Trabalhos Futuros• Aplicações WEB com Eclipse Virgo – WABs• Comparativo entre Apache Felix, Equinox e Knopflerfish• Estudo avançado sobre o framework OSGi• Integração OSGi e Maven: Maven Bundle Plugin
  32. 32. 32Tks!!!
  33. 33. 33Dúvidas?

×