1. UNIVERSIDADE FEDERAL DA PARAÍBA
CENTRO DE CIÊNCIAS APLICADAS
E EDUCAÇÃO
CAMPUS IV – LITORAL NORTE
BACHARELADO EM SISTEMAS DE
INFORMAÇÃO
VARIABILIDADE EM ABORDAGENS DE LINHAS
DE PRODUTOS ORIENTADAS A SERVIÇOS
THIAGO J S OLIVEIRA
2. VARIABILIDADE EM
ABORDAGENS DE LINHAS DE
PRODUTOS ORIENTADAS A
SERVIÇOS
Orientador: M.Sc José Jorge Lima Dias
Jr
Banca Avaliadora:
M.Sc Rodrigo Rebouças
M.Sc Raoni Kulesza
3. Agenda
Motivação
Objetivos
Questões de Pesquisa
Referencial Teórico
◦ SOA, SPL e SOPL
4. Agenda
Representações de Variabilidade;
Tipos de Variabilidade em SOPL;
Abordagens SOPL que tratam de
variabilidade;
Considerações finais;
5. Motivação
SOA não provê suporte à customização e
reuso sistemático (Medeiros et al, 2009).
Por outro lado, SPL é um paradigma
emergente para software customizáveis
(Almeida, 2010);
SOPL surge como união entre SPL e SOA
obtendo ganho de
produtividade, aplicações
customizadas, flexibilidade, entre outros
(Cohen & Krut, 2010);
Systematic Mapping Study
(Kitchenham, 2007) e classificação dos
6. Metodologia
Escolha dos artigos feita a partir de um
Systematic Mapping Study
(Kitchenham, 2007) feito por Jorge
Dias, orientador deste trabalho.
Dos 43 artigos iniciais, 38 artigos foram
analisados, 23 selecionados e 15
descartados de acordo com os critérios
de inclusão e exclusão definidos na
pesquisa.
7. Objetivo Geral
Investigar como variabilidade vem
sendo abordada em Linhas de
Produtos Orientadas a Serviços
(SOPL) através da análise de
evidências encontradas na literatura.
8. Objetivos Específicos
Identificar como variabilidade vem
sendo representada por abordagens
SOPL;
Analisar como abordagens SOPL vêm
tratando variabilidade no
desenvolvimento de novos produtos;
9. Questões de Pesquisa
QP01. Como variabilidade vem sendo
representada em abordagens SOPL?
QP02. Quais os tipos de variabilidade
existentes nas abordagens SOPL?
QP03. Como variabilidade tem sido
resolvida na derivação de produtos
em SOPL?
10. Arquitetura Orientada a Serviços
Estabelece um modelo arquitetural
que permite aumentar a
eficiência, agilidade e produtividade
de um negócio a partir da utilização
de serviços (Erl, 2012);
Por que adotar SOA?
◦ Reusabilidade;
◦ Integração e Interoperabilidade;
11. Características
Sistemas Distribuídos. Integração entre
sistemas desenvolvidos em diferentes
plataformas e linguagens
(Medeiros, 2010);
Diversos fornecedores. Diferentes partes
do sistema podem pertencer a vários
fornecedores (Josuttis, 2007);
Heterogeneidade. Sistemas compostos
por mainframes, BDs, Aplicações
12. Linhas de Produto de
Software
Um conjunto de sistemas que
compartilham um conjunto comum e
gerenciado de features para satisfazer
necessidades específicas de um
segmento particular de mercado
(Clements & Northrop, 2002);
Possui três fases:
◦ Engenharia de Domínio, Engenharia de
Aplicação e Gerenciamento;
13. Objetivos
Redução de custos de desenvolvimento.
Componentes não são desenvolvidos do
zero;
Aumento da qualidade. Reutilização de
componentes;
Redução do tempo de entrega. Core
assets prontos, tratamento da
variabilidade;
Borba (2009) apud Pohl et al (2005);
14. Variabilidade
Capacidade que um sistema tem de
alterar seu comportamento durante seu
ciclo de vida (CAO et al, 2009);
Habilidade de implementar modificações
em arquiteturas de software
(Galster, M., 2010);
Geralmente é representada por Variation
Points (Kim & Doh, 2008) e por Modelos
de Features (Pohl et al, 2005);
16. Representações de
Variabilidade
Trabalhos
Representações Total
Relacionados
P09, P10, P12, P14,
P15, P16, P17, P18,
Modelos de Feature 13
P19, P20, P21, P22 e
P23
P01, P02, P11, P17 e
Variation Points 5
P20
UML P03, P07, P13 e P18 4
Business Process
Management P04 e P07 2
Outras P01, P18 e P21 3
17. Modelos de Features
Técnica usada para representar e
descrever uma possível configuração
do sistema e suas variações em
termos de features, que representam
funcionalidades do sistema
(Mohabbati et al, 2009);
Features são organizadas num
diagrama hierárquico (Borba, 2010);
19. Variation Points e Variants
Representação utilizada em artefatos
de projeto ou em implementações
onde ocorre variação, variants são
alternativas que podem ser
selecionadas para um Variation Point
(Sun et al, 2009 apud Bachmann &
Bass, 2001);
21. Tipos de Variabilidade
P01 P02 P04 P05 P06 P11
Logic X X X X
Compositio
X X
n
Interface X X X X
Parameter X
Workflow X X X
Partner X
Cardinality X
WSLA X
22. Tipos de Variabilidade
Logic. Diferentes implementações para uma
mesma operação;
Composition. Diferentes interfaces,
implementações, atributos de qualidade;
Interface. Diferentes interfaces para um
mesmo serviço;
Parameter. Parâmetros utilizados no
serviços;
23. Tipos de Variabilidade
Workflow. Ocorrem em fluxos de
trabalho;
Partner. Serviços pertencentes a
diferentes parceiros de negócio;
Cardinality. Várias instâncias para um
mesmo service;
WSLA. Atributos de qualidade
especificados entre parceiros de
24. Como abordagens SOPL lidam
com variabilidade na derivação
de produtos
Procurou identificar como abordagens
SOPL tratam de variabilidade durante
o processo de derivação de produtos.
Seis trabalhos propuseram alguma
abordagem nesse sentido (P03, P04,
P08, P10, P17 e P19);
25. Abordagens Propostas
Variabilidade na
Representação de
Artigo derivação de
Variabilidade
produtos
Variability Specification
P03 MetaModel (UML)
e Variability Resolution
BPM, Feature Modeling,
P04 Use Case, Variation Variability Analysis
Points
Business Process Lines
P08 BPM e Process Oriented
Development
P10 Feature Modeling Service Analysis
Feature Modeling, Feature Oriented
P17
Variation Points Service Customization
Feature-Based
P19 Feature Modeling
Approach
26. Considerações Finais
Quantidade de Respostas por Questão de
Pesquisa
20
15
10
5
0
Representações de Tipos de variabilidade Gerenciamento de
variabilidade variabilidade
Quantidade de Artigos
27. Considerações Finais
Representações de Variabilidade;
Tipos de Variabilidade em um
contexto SOPL;
Abordagens SOPL que tratam de
Variabilidade;
29. Referências Bibliográficas
(Erl, 2012) Erl, T.. Service-Oriented
Architecture. Disponível em:
www.whatissoa.com/p10.php Acessado
em: 20/04/2012;
(Clements & Northrop, 2002).
Clements, P. Northrop, L.. Software
Product Lines: Practive and Patterns.
2002;
(Almeida, 2010) Almeida, R. B.;
Modeling Software Product Line
Variability in Use Case Scenarios.
30. (Medeiros et al, 2009) Medeiros, F.
M., Almeida, E. S. & Meira, S. R. L.;
Towards an Approach for Service-
Oriented Product Line Architectures.
In 3rd Workshop on Service-Oriented
Architectures and Software Product
Lines (SOAPL), São
Francisco, Estados Unidos. 2009.
(Cohen & Krut, 2010) Cohen, S. &
Krut, R.; Managing Variation in
Services in a Software Product Line
31. (Medeiros, 2010) Medeiros, F. M.;
SOPLE-DE: An Approach to Design
Service-Oriented Product Line
Architectures. UFPE, Recife, PE. 2010.
(Josuttis, 2007) Josuttis, N. M.; SOA in
Practice – The Art of Distributed System
Design. O’Really. 2007.
(Borba, 2009) Borba, C. C.; Uma
Abordagem Orientada a Objetivos para
as fases de Requisitos para Linhas de
Produtos de Software.
UFPE, Recife, PE. 2009.
32. (Kim & Doh, 2008) Kim, Y. & Doh, K.;
Adaptable Web Services Modeling
using Variability Analysis. In Third 2008
International Conference on
Convergence and Hybrid Information
Technology. 2008.
(Pohl et al, 2005) Pohl, K., Bockle, G. &
Van Der Linder, F.; Software Product
Line Engineering
Foundations, Principles, and
Techniques. Springer. 2005.
33. (CAO et al, 2009) CAO Bu-Qing, LI Bing
& XIA Qi-Ming; A Process-Driven and
Ontology Based Software Product Line
Variability Modeling Approach. In Eighth
International Conference on Grid and
Cooperative Computing. 2009.
(Galster, 2010) Galster, M.; Describing
Variability in Service-oriented Software
Product Lines. Department of
Mathematics and Computing
Science, University of Groningen
,Groningen, Holanda. 2010.
34. (Mohabbati et al, 2009)
Mohabbati, B., Kaviani, N. & Gašević, D.;
Semantic Variability Modeling for Multi-
staged Service Composition. In
Workshop on Service-Oriented
Architectures and Software Product
Lines, Airport Marriott, São
Francisco, Califórnia, Estados Unidos.
2009.
(Sun et al, 2009)
Sun, G., Rossin, R., Sinnema, M.
Bulanov, P. & Aiello, M.; Modeling and
managing the variability of Web service-
based systems. The Journal of Systems