SlideShare une entreprise Scribd logo
1  sur  33
USO DE COMPONENTES NA
  PROGRAMAÇÃO: ESTUDO
  EXPERIMENTAL COM O
  FRAMEWORK OSGI

Aluno: Thiago Alexandre Lenz
Orientador: Me. Fernando Schütz
2




Estrutura da apresentação
• Objetivos e Justificativa
• Componentes e processos
• Framework OSGi
• Protótipos
• Considerações finais
3




Objetivos
• Geral
  • OSGi e Componentes de Software
• Específicos
  • Estudo bibliográfico
  • Protótipos (Modularization, Lifecycle, Services)
  • Resultados e testes
4




Justificativa
• Justificativa
   • Sistemas complexos
   • Organização modular
   • Linguagem Java
   • Disponibilidade e flexibilidade
5




Componentes de Software
• Definições
  • Unidade de software
  • Dividir em pequenos problemas
• Requisitos
  • Clareza
  • Interconexão via interfaces
6




Componentes de Software
• Facilidade de troca
7


Componentes na UML

• Diversas formas de representação
8




Componentes e Orientação a Objetos

• Evolução
• OO focado em hierarquias
• Componentes focados em agregação e composição
9


Processo de Identificação de
componentes
• Engenharia de Domínio
  • Análise
  • Projeto
  • Implementação
• Desenvolvimento Baseado em Componentes
  • Componentes existentes
10




OSGi Framework
• Origem
• Novo conceito
• Orientação a Serviços (SOA in a VM)
• Três níveis
11




Modularização
• Divisão de funcionalidades
• Modularização lógica e física
• Java possui problemas com a modularização
12




Controle de visibilidade
• Modificadores públicos

                            Pacotes
                            Pacotes
                           visíveis a
                            visíveis
                           Bundle A
13




Controle de visibilidade
• Solução: exportar apenas algumas classes

                    Pacotes
                      não
                   expostos
14




Desorganização do classpath
• Várias versões da mesma classe
15




Desorganização do classpath
• Solução: versionamento e arquivo manifesto
16


Dificuldade de manutenção e
implantação
• Resolução de dependências




• Atualização da aplicação
  • Para tudo
17




Manifesto e classe de ativação
• Semelhante ao método main
18




Dependências
• Importação e exportação de pacotes
• Ordem de resolução
  • Já resolvidos
  • Maior versão
  • Ordem de instalação
19




Ciclo de Vida
• Estados de um bundle
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
21




Serviços
• Registro e descoberta
22




Protótipo - Modularização
• Relação entre componentes
23




Protótipo – Ciclo de vida
• Relação entre componentes
24




Protótipo – Serviços
• Protótipo
25




Resultados de testes - Modularização
• Resultado
26




Resultados 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




Resultados de testes - Serviços
• Teste 1 – Iniciar o consumidor sem serviço
28




Resultados de testes - Serviços
• Teste 2 – Iniciar os 2 serviços
29




Resultados de testes - Serviços
• Teste 3 – parar um dos serviços
30




Considerações Finais
• Componentes e engenharia
• Framework OSGi
• Série de vantagens
  • Flexibilidade, dinamismo...
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
32




Tks!!!
33




Dúvidas?

Contenu connexe

Tendances

Apresentação TCC
Apresentação TCCApresentação TCC
Apresentação TCC
ntebrusque
 
Relatorio guia para agentes comunitarios de saude
Relatorio guia para agentes comunitarios de saudeRelatorio guia para agentes comunitarios de saude
Relatorio guia para agentes comunitarios de saude
Alinebrauna Brauna
 
Manual cuidadores profissionais
Manual cuidadores profissionaisManual cuidadores profissionais
Manual cuidadores profissionais
Eliezer Pessanha
 
Aprendizagem baseada em projetos
Aprendizagem baseada em projetosAprendizagem baseada em projetos
Aprendizagem baseada em projetos
Diego Leal
 

Tendances (20)

Apostila Completa - Elaboração de Projetos
Apostila Completa - Elaboração de ProjetosApostila Completa - Elaboração de Projetos
Apostila Completa - Elaboração de Projetos
 
Caderno nasf 39 2014
Caderno nasf 39   2014Caderno nasf 39   2014
Caderno nasf 39 2014
 
Atenção à saúde no nível secundário e terciário
Atenção à saúde no nível secundário e terciárioAtenção à saúde no nível secundário e terciário
Atenção à saúde no nível secundário e terciário
 
Relatório Final de Estágio Supervisionado - Recursos Humanos
Relatório Final de Estágio Supervisionado - Recursos HumanosRelatório Final de Estágio Supervisionado - Recursos Humanos
Relatório Final de Estágio Supervisionado - Recursos Humanos
 
Metodologia de trabalho do creas
Metodologia de trabalho do creasMetodologia de trabalho do creas
Metodologia de trabalho do creas
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Apresentação TCC
Apresentação TCCApresentação TCC
Apresentação TCC
 
Abordadem_centrada_pessoa
Abordadem_centrada_pessoaAbordadem_centrada_pessoa
Abordadem_centrada_pessoa
 
Programa de Saúde da Família (PSF
Programa de Saúde da Família (PSFPrograma de Saúde da Família (PSF
Programa de Saúde da Família (PSF
 
Relatorio guia para agentes comunitarios de saude
Relatorio guia para agentes comunitarios de saudeRelatorio guia para agentes comunitarios de saude
Relatorio guia para agentes comunitarios de saude
 
Manual cuidadores profissionais
Manual cuidadores profissionaisManual cuidadores profissionais
Manual cuidadores profissionais
 
Relatório de estágio 2014
Relatório de estágio 2014Relatório de estágio 2014
Relatório de estágio 2014
 
Slides apresentação tcc final
Slides apresentação tcc finalSlides apresentação tcc final
Slides apresentação tcc final
 
TCC - Pedagogia
TCC - PedagogiaTCC - Pedagogia
TCC - Pedagogia
 
Módulo 4 - Cronograma e Orçamento
Módulo 4 - Cronograma e OrçamentoMódulo 4 - Cronograma e Orçamento
Módulo 4 - Cronograma e Orçamento
 
Slide sobre artigo cientifico
Slide sobre artigo cientificoSlide sobre artigo cientifico
Slide sobre artigo cientifico
 
Aprendizagem baseada em projetos
Aprendizagem baseada em projetosAprendizagem baseada em projetos
Aprendizagem baseada em projetos
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de Microserviços
 
Aula 00 - Introducao ao Windows Server .pdf
Aula 00 - Introducao ao Windows Server .pdfAula 00 - Introducao ao Windows Server .pdf
Aula 00 - Introducao ao Windows Server .pdf
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4
 

Similaire à Apresentação TCC-pós

Open4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourceOpen4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSource
tdc-globalcode
 
GlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EEGlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EE
Bruno Borges
 

Similaire à Apresentação TCC-pós (20)

Open4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourceOpen4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSource
 
Java EE no ambiente corporativo: primeiros passos WebLogic 12c
Java EE no ambiente corporativo: primeiros passos WebLogic 12cJava EE no ambiente corporativo: primeiros passos WebLogic 12c
Java EE no ambiente corporativo: primeiros passos WebLogic 12c
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open Source
 
Aula05 frameworks
Aula05 frameworksAula05 frameworks
Aula05 frameworks
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
 
FES_SENAIPR_Processos.pdf
FES_SENAIPR_Processos.pdfFES_SENAIPR_Processos.pdf
FES_SENAIPR_Processos.pdf
 
GlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EEGlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EE
 
Cake PHP
Cake PHPCake PHP
Cake PHP
 
Desenvolvendo software com qualidade e agilidade
Desenvolvendo software com qualidade e agilidadeDesenvolvendo software com qualidade e agilidade
Desenvolvendo software com qualidade e agilidade
 
Cross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumCross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appium
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
 
Liferay com React - Boas práticas
Liferay com React - Boas práticasLiferay com React - Boas práticas
Liferay com React - Boas práticas
 
Aula 2 - Modelos de processos
Aula 2 -  Modelos de processosAula 2 -  Modelos de processos
Aula 2 - Modelos de processos
 
01 aula1 habib
01 aula1 habib01 aula1 habib
01 aula1 habib
 
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosTDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
 
Projeto de Software
Projeto de SoftwareProjeto de Software
Projeto de Software
 
MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 
10-codigo-limpo-parte-3.pdf
10-codigo-limpo-parte-3.pdf10-codigo-limpo-parte-3.pdf
10-codigo-limpo-parte-3.pdf
 

Apresentação TCC-pós