Apresentação TCC-pós
Click here to load reader
-
Upload
thiagolenz -
Category
Documents
-
view
1.389 -
download
0
Transcript of Apresentação TCC-pós
![Page 1: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/1.jpg)
USO DE COMPONENTES NA PROGRAMAÇÃO: ESTUDO EXPERIMENTAL COM O FRAMEWORK OSGI
Aluno: Thiago Alexandre LenzOrientador: Me. Fernando Schütz
![Page 2: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/2.jpg)
2
Estrutura da apresentação• Objetivos e Justificativa• Componentes e processos• Framework OSGi• Protótipos• Considerações finais
![Page 3: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/3.jpg)
3
Objetivos• Geral• OSGi e Componentes de Software
• Específicos• Estudo bibliográfico• Protótipos (Modularization, Lifecycle, Services)• Resultados e testes
![Page 4: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/4.jpg)
4
Justificativa• Justificativa• Sistemas complexos• Organização modular• Linguagem Java • Disponibilidade e flexibilidade
![Page 5: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/5.jpg)
5
Componentes de Software• Definições• Unidade de software • Dividir em pequenos problemas
• Requisitos• Clareza• Interconexão via interfaces
![Page 6: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/6.jpg)
6
Componentes de Software• Facilidade de troca
![Page 7: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/7.jpg)
7
Componentes na UML
• Diversas formas de representação
![Page 8: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/8.jpg)
8
Componentes e Orientação a Objetos
• Evolução• OO focado em hierarquias • Componentes focados em agregação e composição
![Page 9: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/9.jpg)
9
Processo de Identificação de componentes• Engenharia de Domínio • Análise • Projeto• Implementação
• Desenvolvimento Baseado em Componentes• Componentes existentes
![Page 10: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/10.jpg)
10
OSGi Framework• Origem• Novo conceito• Orientação a Serviços (SOA in a VM)• Três níveis
![Page 11: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/11.jpg)
11
Modularização• Divisão de funcionalidades• Modularização lógica e física• Java possui problemas com a modularização
![Page 12: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/12.jpg)
12
Controle de visibilidade• Modificadores públicos
Pacotes visíveisPacotes
visíveis a Bundle A
![Page 13: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/13.jpg)
13
Controle de visibilidade• Solução: exportar apenas algumas classes
Pacotes não
expostos
![Page 14: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/14.jpg)
14
Desorganização do classpath• Várias versões da mesma classe
![Page 15: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/15.jpg)
15
Desorganização do classpath• Solução: versionamento e arquivo manifesto
![Page 16: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/16.jpg)
16
Dificuldade de manutenção e implantação• Resolução de dependências
• Atualização da aplicação• Para tudo
![Page 17: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/17.jpg)
17
Manifesto e classe de ativação• Semelhante ao método main
![Page 18: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/18.jpg)
18
Dependências• Importação e exportação de pacotes• Ordem de resolução• Já resolvidos• Maior versão• Ordem de instalação
![Page 19: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/19.jpg)
19
Ciclo de Vida• Estados de um bundle
![Page 20: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/20.jpg)
20
Serviç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
![Page 21: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/21.jpg)
21
Serviços• Registro e descoberta
![Page 22: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/22.jpg)
22
Protótipo - Modularização• Relação entre componentes
![Page 23: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/23.jpg)
23
Protótipo – Ciclo de vida• Relação entre componentes
![Page 24: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/24.jpg)
24
Protótipo – Serviços• Protótipo
![Page 25: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/25.jpg)
25
Resultados de testes - Modularização• Resultado
![Page 26: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/26.jpg)
26
Resultados de testes - Ciclo de vida• Script de testesTeste ResultadoIniciar o Apache Felix sem nenhum bundle do protótipo
OK
Instalar os bundles: LifeCycleCore, LifeCycleFinance e LifeCycleAdm
OK
Iniciar os bundles:LifeCycleCore, LifeCycleFinance e LifeCycleAdm
OK
Atualizar a versão 1.0.0 do bundle LifeCycleFinance para a versão 1.0.1
OK
Parar o bundle LifeCycleAdm OK
![Page 27: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/27.jpg)
27
Resultados de testes - Serviços• Teste 1 – Iniciar o consumidor sem serviço
![Page 28: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/28.jpg)
28
Resultados de testes - Serviços• Teste 2 – Iniciar os 2 serviços
![Page 29: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/29.jpg)
29
Resultados de testes - Serviços • Teste 3 – parar um dos serviços
![Page 30: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/30.jpg)
30
Considerações Finais• Componentes e engenharia• Framework OSGi• Série de vantagens• Flexibilidade, dinamismo...
![Page 31: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/31.jpg)
31
Trabalhos 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
![Page 32: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/32.jpg)
32
Tks!!!
![Page 33: Apresentação TCC-pós](https://reader038.fdocumentos.com/reader038/viewer/2022102323/5552f564b4c90587048b4d57/html5/thumbnails/33.jpg)
33
Dúvidas?