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
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
Agenda

   Motivação
   Objetivos
   Questões de Pesquisa
   Referencial Teórico
    ◦ SOA, SPL e SOPL
Agenda

   Representações de Variabilidade;
   Tipos de Variabilidade em SOPL;
   Abordagens SOPL que tratam de
    variabilidade;
   Considerações finais;
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
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.
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.
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;
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?
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;
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
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;
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);
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);
Uma análise sobre variabilidade
em abordagens SOPL
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
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);
Features obrigatórias, opcionais
e alternativas




     Figura retirada de Pohl et al, 2005
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);
Representações de
Variabilidade
             3
                      Modelos de
     2                Feature
                      Variation Points

                 13
 4                    UML

                      BPM

                      Outros
         5
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
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;
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
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);
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
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
Considerações Finais
   Representações de Variabilidade;

   Tipos de Variabilidade      em     um
    contexto SOPL;

   Abordagens SOPL que tratam de
    Variabilidade;
Comentários e Dúdivas
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.
   (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
   (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.
   (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.
   (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.
   (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

Apresentação tcc

  • 1.
    UNIVERSIDADE FEDERAL DAPARAÍ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 DELINHAS 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 aServiç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 Produtode 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);
  • 15.
    Uma análise sobrevariabilidade em abordagens SOPL
  • 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);
  • 18.
    Features obrigatórias, opcionais ealternativas Figura retirada de Pohl et al, 2005
  • 19.
    Variation Points eVariants  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);
  • 20.
    Representações de Variabilidade 3 Modelos de 2 Feature Variation Points 13 4 UML BPM Outros 5
  • 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 SOPLlidam 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;
  • 28.
  • 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