Escolar Documentos
Profissional Documentos
Cultura Documentos
Agenda
Introduo e Motivao
Definio do Problema
Soluo Proposta
Contextualizao
DYMOS Framework
Avaliao Preliminar
Consideraes Finais
INTRODUO E
MOTIVAO
3
Introduo e Motivao
sistemas mais flexveis e dinmicos
componentes plugveis, em tempo de execuo
necessidade de decises e adaptaes em tempo de
execuo
Sistemas Sensveis ao Contexto
Introduo e Motivao
Introduo e Motivao
execuo
PROBLEMTICA
Problemtica
Arquitetura Orientada a Servios (AOS)
estrutura dinmica e desacoplada
flexibilidade e poder de adaptao
caractersticas requeridas por muitas LPS
Problemtica
Problemtica
10
Problemtica
Aplicao Cliente
Servidor
Feature 1
Servio A
Feature 2
Servio B
Feature 3
Servio C
Feature N
Servio D
11
Problemtica
Aplicao Cliente
Feature 1
Servidor
usa
usa
Servio A
Feature 2
Servio B
Feature 3
Servio C
Feature N
Servio D
12
Problemtica
Aplicao Cliente
Feature 1
Servidor
usa
usa
Servio A
Feature 2
Servio B
Feature 3
Servio C
Feature N
Servio D
13
Problemtica
Aplicao Cliente
Feature 1
Servidor
usa
usa
Servio A
Feature 2
Servio B
Feature 3
Servio C
Feature N
Servio D
14
Problemtica
Aplicao Cliente
Feature 1
Servidor
usa
usa
Servio A
Feature 2
Servio B
Feature 3
Servio C
Feature N
Servio D
Problemtica
16
SOLUO PROPOSTA
17
Soluo Proposta
18
Soluo Proposta
DYMOS
Abordagem leve e simples
Reconfigurao de variabilidades dinmicas
Descoberta de Servios
Demais abordagens
Complexidade, que dificulta a utilizao em sistemas de
pequeno porte
Servios so tratados como features auto-contidas
Acoplamento com a LPS
19
Soluo Proposta
O DYMOS em trs lacunas
1. Notificaes sobre adaptaes de features
2. Reconfigurao de variabilidades dinmicas
3. Descoberta de Servios
20
CONTEXTUALIZAO
21
22
partes variveis
Plataforma
Plataforma
partes comuns
Plataforma
23
24
25
26
27
28
29
30
DYMOS FRAMEWORK
31
DYMOS Framework
DYMOS
Abordagem leve e simples
Reconfigurao de variabilidades dinmicas, por meio de
adaptao de componentes
Descoberta de Servios
Mecanismos de auto-implantao
Interoperabilidade
Baixo acoplamento com a LPS
32
DYMOS Framework
O DYMOS em trs lacunas
1. Notificaes sobre adaptaes de features
2. Reconfigurao de variabilidades dinmicas
3. Descoberta de Servios
Descritor de Servios
Descritor de Variabilidades
Mecanismo de Reconfigurao de Servios
Mecanismo de Descoberta de Servios
33
DYMOS Framework
Arquitetura e Implementao
34
DYMOS Framework
Arquitetura e Implementao: Viso Geral
35
DYMOS Framework
Arquitetura e Implementao: Componentes
Descritores
Estrutura de metadados que permite descrever
elementos.
Permite a converter os elementos descritos em
objetos Java, facilitanto o gerenciamento das
informaes.
Implementam a interface ObjectDescriptor.
36
DYMOS Framework
Arquitetura e Implementao: Componentes
Descritores
37
DYMOS Framework
Arquitetura e Implementao: Componentes
Descritores
ServiceDescriptor
VariabilityDescriptor
WSDLDescriptor
38
DYMOS Framework
Arquitetura e Implementao: Componentes
Descritores
39
DYMOS Framework
Componentes Descritores: ServiceDescriptor
DYMOS Framework
Componentes Descritores:
VariabilityDescriptor
DYMOS Framework
Componentes Descritores: WSDLDescriptor
Utilizado nas operaes de Descoberta de
Servios
Permite acessar atributos particulares de cada
implementao
ServiceName
PortType
TargetNamespace
42
DYMOS Framework
Componentes Descritores: WSDLDescriptor
43
DYMOS Framework
Arquitetura e Implementao: ServiceContext
Gerencia e mantm as informaes sobre
servios e variabilidades
Responsvel por efetuar operaes de
Reconfigurao de Variabilidades
Descoberta de Servios
ContextHotBuild
44
DYMOS Framework
ServiceContext: Reconfigurao de
Variabilidades
permite a reconfigurao dinmica de servios
ativao ou desativao, de acordo com mudanas no
contexto
45
DYMOS Framework
DYMOS Framework
ServiceContext: Descoberta de Servios
agrega caractersticas dinmicas, permitindo que
a relao entre cliente e servio no seja tratada
de forma fixa.
permite inserir critrios de seleo, por exemplo,
por ordem de prioridade.
47
DYMOS Framework
ServiceContext: Descoberta de Servios
48
DYMOS Framework
ServiceContext: Descoberta de Servios
Busca por Spec e Impl
Busca por Servicos alternativos, por prioridade
Busca qualquer servio que atenda a Spec
serviceEndpoint;targetNamespace;serviceName
Descoberta de Servios: Formato de
referncia de servio (serviceEndpoint)
49
DYMOS Framework
ServiceContext: ContextHotBuild
permite a implantao de novos servios e
variabilidades sem a necessidade de interromper
a execuo do framework.
hot swapping de servios e variabilidades
atualizao dos descritores de servios e
variabilidades
implantao de forma facilitada, sem exigir uma
interao direta com o container OSGi por meio
de linhas de comando
50
DYMOS Framework
Arquitetura e Implementao:
ApplicationService
Implementado como uma fachada
Externaliza por meio de Web Services, as funes
de Reconfigurao e Descoberta de Servios
Interoperabilidade
51
AVALIAO PRELIMINAR
52
Avaliao Preliminar
Objetivos
Avaliar a efetividade da abordagem
proposta, aplicando-a em uma LPS
Orientada a Servios e Sensvel ao
Contexto
Averiguar a possibilidade de reuso dos
artefatos em outro sistema da mesma LPS
53
Avaliao Preliminar
Metodologia utilizada
Seleo de uma LPS Orientada a Servios
e Sensvel ao Contexto
Seleo de dois produtos desta LPS
Produto 1: Aplicar abordagem proposta
Produto 2: Averiguar a possibilidade de reuso
dos artefatos utilizados no Produto 1
Avaliao Preliminar
LPS e Produtos
MobiLine
Possui apenas adaptaes comportamentais
Necessidades da LPS motivaram alguns
requisitos
55
Avaliao Preliminar
LPS e Produtos
MobiLine
LPS aninhada, cujo o domnio de aplicaes
mveis e sensveis ao contexto
56
Avaliao Preliminar
GREat Tour
Guia de Visitas Mvel e Sensvel ao Contexto.
Auxilia visitantes a conhecer o laboratrio de
pesquisa e desenvolvimento do GREat (Grupo de
Redes, Engenharia de Software e Sistemas) da
Universidade Federal do Cear.
executada no dispositivo mvel do visitante e
fornece informaes sobre o ambiente.
57
Avaliao Preliminar
GREat Tour: Anlises e Definies
1. Anlise do modelo de features
2. Anlise da implementao dos artefatos
referentes s features selecionadas
3. Analisar os casos de incompatibilidade
4. Anlise da implementao dos artefatos da
aplicao cliente
58
Avaliao Preliminar
GREat Tour: Analisando o Modelo de
Feature
Analisar o modelo de features
Identificar e selecionar features e pontos de variao
que seriam utilizados na avaliao da abordagem
59
Avaliao Preliminar
GREat Tour: Analisando o Modelo de
Feature
Features
Privacy
Show Document
Video
61
Avaliao Preliminar
GREat Tour: Analisando os Artefatos
Anlise da implementao dos artefatos
referentes as features selecionadas
1.
2.
3.
4.
Identificar
Identificar
Identificar
Verificar a
Artefatos
as Implementaes destes artefatos
as Tecnologias Utilizadas
compatibilidade com OSGi.
62
Avaliao Preliminar
GREat Tour: Analisando os Artefatos
1 e 2: Identificao dos Artefatos e suas
Implementaes
Features
Artefatos
Privacy
LoginService
Show
Document
Video
LocalVideoProviderService,
Relao
entre features e artefatos
ExternalVideoProviderService
63
Avaliao Preliminar
GREat Tour: Analisando os Artefatos
3 e 4: Tecnologias Utilizadas e Compatibilidade com
OSGi
64
Avaliao Preliminar
GREat Tour: Analisando
Incompatibilidades
Incompatibilidades Identificadas
LoginService
TextService
ImageService
VideoService
65
Avaliao Preliminar
GREat Tour: Estratgia para Migrao
Implementao de Provedor de Conexes
Separar Interfaces e Implementaes
componentes empacotados em bundles diferentes
66
Avaliao Preliminar
GREat Tour: Estratgia para Migrao
Implementao de Provedor de Conexes
Avaliao Preliminar
GREat Tour: Estratgia para Migrao
Separar Interfaces e Implementaes
componentes empacotados em bundles diferentes
68
Avaliao Preliminar
GREat Tour: Estratgia para Migrao
Separar Interfaces e Implementaes
componentes empacotados em bundles diferentes
69
Avaliao Preliminar
GREat Tour: Descrevendo Servios e
Variabilidades
Efetuar a descrio dos servios de acordo
com os servios que compem o produto
Descrever as variabilidades presentes na
configurao do produto, mapeando-as
com os servios descritos.
70
Descrevendo Servios
71
Descrevendo Variabilidades
72
Avaliao Preliminar
GREat Tour: Analisando e Integrando o
Cliente
Anlise de Implementaes
Identificar como ocorre a interao com
servios
Identificar pontos de adaptao
DymosClientLib
VariabilityContext
ServiceEndpointFactory
ServiceEndpoint
73
Avaliao Preliminar
GREat Tour: Analisando e Integrando o
Cliente
Interao com Servios
Avaliao Preliminar
GREat Tour: Analisando e Integrando o
Cliente
Interao com Servios
75
Avaliao Preliminar
GREat Tour: Analisando e Integrando o
Cliente
Pontos de adaptao
76
Avaliao Preliminar
CInTour
Guia de Visitas Mvel e Sensvel ao Contexto.
Auxilia visitantes a conhecer o CIn (Centro de
Informtica) da Universidade Federal de
Pernambuco.
executada no dispositivo mvel do visitante e
fornece informaes sobre o ambiente.
77
Avaliao Preliminar
CInTour: Anlises e Definies
1. Anlise do modelo de features
2. Descrever Servios e Variabilidades
78
Avaliao Preliminar
CInTour: Analisando o Modelo de
Feature
Analisar o modelo de features
Identificar e selecionar features e pontos de variao em
comum com o GREat Tour, para serem utilizados na
avaliao da abordagem.
79
Avaliao Preliminar
CInTour: Analisando o Modelo de
Feature
Features
Show Document
81
Avaliao Preliminar
CInTour: Descrevendo Servios e
Variabilidades
Efetuar a descrio dos servios de acordo
com os servios que compem o produto
Descrever as variabilidades presentes na
configurao do produto, mapeando-as
com os servios descritos.
82
Descrevendo Servios
83
Descrevendo Variabilidades
84
Avaliao Preliminar
Concluses da Avaliao
A abordagem proposta foi avaliada de forma
preliminar, sendo aplicada em dois produtos de
uma LPS
Implementaes atuais incompatveis com OSGi
Esforo inicial para modularizar os servios
85
CONSIDERAES FINAIS
86
Consideraes Finais
Contribuies
DYMOS Framework
Plataforma para Reconfigurao de
Variabilidades Dinmicas e Descoberta de
Servios
Avaliao Experimental
Modularizao de Servios
Adaptao de Componentes
87
Consideraes Finais
Trabalhos Futuros
Avaliar a utilizao do DYMOS Framework na
reconfigurao de variabilidades dinmicas que
endeream servios distribudos.
Modularizao da funcionalidade de Descoberta de
Servios
Desenvolver um componente de descoberta e seleo
de servios com base em atributos de qualidade.
Avaliar os modelos de adoo de LPS que so
compatveis com a abordagem proposta.
88