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

Apresentação TCC-pós

1.412 visualizações

Publicada em

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

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

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?

×