PROCESSO DE IDENTIFICAÇÃO DE SERVIÇOS BASEADO EM LINGUAGEM DE PADRÕES Luiz Paulo Rocha Yanai Orientadora: Profa. Dra. Selma Shin Shimizu Melnikoff 2009
Introdução Técnicas de Identificação de Serviços Linguagem de Padrões  Metodologia Processo de Identificação de Serviços usando Linguagem de Padrões Conclusões Agenda
Introdução Motivação Alinhamento dos recursos de TI com as necessidades dos processos de negócios Serviços Granularidade  (Negócio - Alta,  TI - Baixa) Reusabilidade  Técnicas existentes são subjetivas ou complexas. Papazoglou e Van den Heuvel Michael Bell Bieberstein
Objetivo Definir um processo de  identificação de serviços  para sistemas de software baseados em  SOA  usando  Linguagem de Padrões  para um  domínio específico .
Justificativa Desafios de SOA Identificação e Modelagem de Serviços Granularidade dos serviços Padrões de Desenvolvimento Similar aos padrões de Arquitetura Organização de soluções para problemas conhecidos Estruturação em Linguagem de Padrões
Identificação de Serviços I PAPAZOGLOU, HEUVEL (2006) Parte de um Domínio de Negócios Análise as-is e to-be dos processos do Domínio Identificação de Serviços pela abstração das necessidades de negócio Análise de realização para avaliar custos, riscos, benefícios, etc.. Destaca a preocupação com os princípios de SOA.
Identificação de Serviços II BIEBERSTEIN (2008) Três (3) técnicas que podem ser aplicadas: Decomposição de Domínio: Áreas -> Processos -> Casos de Uso Análise de Ativos Existentes e com potencial de reuso Serviços Meta: Lacuna entre as duas técnicas anteriores
Identificação de Serviços III MICHAEL BELL (2008) Atributos -> Serviços Conceituais -> Classificação -> Análise -> Alinhamento com o Negócio
Linguagem de Padrões I Seqüência de padrões que guiam o desenvolvimento de uma aplicação. Processo de Criação de LP. (BRAGA, 2002)
Linguagem de Padrões II GRN: LP para Gestão de Recursos de Negócios (BRAGA, 2002)
Linguagem de Padrões III Padrões SOA  (Thomas Erl, 2009)
Metodologia I Estudo e análise dos principais processos de identificação de serviços existentes Papazoglou e Van Den Heuvel Bieberstein Michael Bell Estudo das técnicas para criação e utilização de Linguagem de Padrões Análise de Domínio Engenharia Reversa Seleção de domínio para aplicação da LP Cadastro de Cliente
Metodologia II Desenvolvimento de LP para domínio específico usando padrões de projeto SOA. Thomas Erl Outros Aplicação do processo em sistemas específicos (Estudo de Caso) Para o domínio escolhido, aplicar o processo proposto em casos distintos. Identificar questões relevantes para avaliação do resultados obtidos Análise das evidências e comparação com os resultados obtidos com a utilização de outras técnicas
Processo Proposto Processo de Modelagem de Serviços usando LP.
Descrição do Processo I 1. Identificação dos Requisitos do Sistema Delimitação do escopo do sistema. Levantamento das necessidades de Negócio. 2. Identificação do Domínio Específico Com base no escopo, delinear o domínio específico referente ao contexto do sistema. 3a. Utilizar Serviços do Inventário do Domínio Caso o domínio identificado já tenha participado de um ciclo do processo, basta recuperar os serviços identificados no inventário de serviços do domínio.
Descrição do Processo II 3b. Criação de LP para o domínio específico. Caso o domínio do sistema não tenha sido analisado ainda, aplica-se o processo de criação de Linguagem de Padrões voltado para o domínio específico. Especifica-se os padrões da LP com base nos padrões de projeto de SOA. 4. Identificação de Serviços com base nos requisitos levantados. Fazendo o refinamento dos padrões especificados para a LP utilizando os requisitos levantados e aplicando a LP, definem-se os serviços candidatos. 5. Construção dos serviços e inclusão no inventário de serviços.
Resultados Preliminares I Especificação de Padrão Padrão “IDENTIFICAR O RECURSO”
Resultados Preliminares II Especificação de Padrão Padrão “ARMAZENAR O RECURSO”
Resultados Preliminares III Resultados Aplicação do processo de identificação de serviços em casos simples. Contribuições Esperadas Comparação entre processos de identificação de serviços Processo menos complexo e melhor estruturado Identificação de Serviços com maior reusabilidade Criação de inventário de serviços por domínio
Próximos Passos Desenvolvimento da LP para o Domínio Específico (Cadastro de Cliente) Estudo das técnicas de Engenharia Reversa e Análise de Domínio Uso do conhecimento do autor no domínio escolhido e da documentação existente.
Próximos Passos Utilização da LP em estudos de caso. Dois bancos públicos nacionais que implantaram solução de SOA/BPM com o auxílio da empresa IVS. Fazer avaliação da aplicação do método.
Referências I ANACLETO, J. et al. COGNITOR: Um Framework baseado na Linguagem de Padrões COG-LEARN. Laboratório de Interação Avançada. Departamento de Computação da Universidade Federal de São Carlos. 2007. BRUGALI, D.; MENGA, G.;AARSTEN, A.  A case study for flexible manufacturing systems in M. Fayad, R. Jonhson. Domain-Specific Application Frameworks: Frameworks Experience by Industry , John Willey and Sons, p85-99, 2000. BASS et al.  Software Architecture in Practice . Addison-Wesley Longman Publishing Co.  Boston, 1998. BELL, M.  Service-Oriented Modeling . John Wiley & Sons, 2008. 366 p. ISBN 9780470141113. BIEBERSTEIN et al. Executing SOA:  A Pratical Guide for the Service Oriented Architect . IBM Press. Maio de 2008. 240 p. BRAGA, R. Um processo para Construção e Instanciação de Frameworks baseados em uma Linguagem de Padrões para um Domínio Específico. Instituto de Ciências Matemáticas e de Computação – USP, 2002. 232 p.  BIANCO et al.  Evaluating a Service-Oriented Architecture . Software Engineering Institute. Technical Report, September 2007. DAN et al.  An Approach for describing SOA . Wuhan University IEEE Computer Society, 2006. ERL, T.  Service-Oriented Architecture: Concepts, Technology and Design . Prentice Hall, 2005. 792 p. ISBN: 0131858580.
Referências II ERL, T.  SOA Design Patterns .  Prentice Hall, Janeiro de 2009. 800p. ISBN: 013613561. ERL, T.  SOA: Principles of Service Design .  Estados Unidos: Prentice Hall, 2007. 608 p. ISBN: 0132344823. HAESEN, R.; SNOECK, M. ; LEMAHIEU, W. ; POELMANS, S.  On the Definition of Service Granularity and Its Architectural Impact . Springer- Verlag Berlin Heidelberg 2008.  PAPAZOGLOU, M. P.; VAN DEN HEUVEL, W. J.  Service-Oriented Design and Development Methodology.  International Journal of Web Engineering and Technology (IJWET), v. 2, no. 4, pp. 412-442, 2006.  GAMMA, E.; HELM, R.; JOHNSON, R.VLISSIDES, J. Design Patterns: Elements of reusable object-oriented software. Addison Wesley, 1995. JIA et al.  A New Architecture Description Language for Service-Oriented Architecture . Wuhan University IEEE Computer Society, 2007. OASIS.  SOA Reference Model TC . Disponível em http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=soa-rm.  Acessado em 28 de Novembro de 2007. The Open Group.  SOA Oriented Architecture .  Disponível em http://www.opengroup.org/projects/soa/.  Acessado em 28 de Novembro de 2007. The Open Group.  The Open Group Architecture Framework 8.1.1 .  Disponível em  http://www.opengroup.org/architecture/togaf8-doc/arch/toc.html . Acessado em 23 de Janeiro de 2008.

Qualificação - Mestrado

  • 1.
    PROCESSO DE IDENTIFICAÇÃODE SERVIÇOS BASEADO EM LINGUAGEM DE PADRÕES Luiz Paulo Rocha Yanai Orientadora: Profa. Dra. Selma Shin Shimizu Melnikoff 2009
  • 2.
    Introdução Técnicas deIdentificação de Serviços Linguagem de Padrões Metodologia Processo de Identificação de Serviços usando Linguagem de Padrões Conclusões Agenda
  • 3.
    Introdução Motivação Alinhamentodos recursos de TI com as necessidades dos processos de negócios Serviços Granularidade (Negócio - Alta, TI - Baixa) Reusabilidade Técnicas existentes são subjetivas ou complexas. Papazoglou e Van den Heuvel Michael Bell Bieberstein
  • 4.
    Objetivo Definir umprocesso de identificação de serviços para sistemas de software baseados em SOA usando Linguagem de Padrões para um domínio específico .
  • 5.
    Justificativa Desafios deSOA Identificação e Modelagem de Serviços Granularidade dos serviços Padrões de Desenvolvimento Similar aos padrões de Arquitetura Organização de soluções para problemas conhecidos Estruturação em Linguagem de Padrões
  • 6.
    Identificação de ServiçosI PAPAZOGLOU, HEUVEL (2006) Parte de um Domínio de Negócios Análise as-is e to-be dos processos do Domínio Identificação de Serviços pela abstração das necessidades de negócio Análise de realização para avaliar custos, riscos, benefícios, etc.. Destaca a preocupação com os princípios de SOA.
  • 7.
    Identificação de ServiçosII BIEBERSTEIN (2008) Três (3) técnicas que podem ser aplicadas: Decomposição de Domínio: Áreas -> Processos -> Casos de Uso Análise de Ativos Existentes e com potencial de reuso Serviços Meta: Lacuna entre as duas técnicas anteriores
  • 8.
    Identificação de ServiçosIII MICHAEL BELL (2008) Atributos -> Serviços Conceituais -> Classificação -> Análise -> Alinhamento com o Negócio
  • 9.
    Linguagem de PadrõesI Seqüência de padrões que guiam o desenvolvimento de uma aplicação. Processo de Criação de LP. (BRAGA, 2002)
  • 10.
    Linguagem de PadrõesII GRN: LP para Gestão de Recursos de Negócios (BRAGA, 2002)
  • 11.
    Linguagem de PadrõesIII Padrões SOA (Thomas Erl, 2009)
  • 12.
    Metodologia I Estudoe análise dos principais processos de identificação de serviços existentes Papazoglou e Van Den Heuvel Bieberstein Michael Bell Estudo das técnicas para criação e utilização de Linguagem de Padrões Análise de Domínio Engenharia Reversa Seleção de domínio para aplicação da LP Cadastro de Cliente
  • 13.
    Metodologia II Desenvolvimentode LP para domínio específico usando padrões de projeto SOA. Thomas Erl Outros Aplicação do processo em sistemas específicos (Estudo de Caso) Para o domínio escolhido, aplicar o processo proposto em casos distintos. Identificar questões relevantes para avaliação do resultados obtidos Análise das evidências e comparação com os resultados obtidos com a utilização de outras técnicas
  • 14.
    Processo Proposto Processode Modelagem de Serviços usando LP.
  • 15.
    Descrição do ProcessoI 1. Identificação dos Requisitos do Sistema Delimitação do escopo do sistema. Levantamento das necessidades de Negócio. 2. Identificação do Domínio Específico Com base no escopo, delinear o domínio específico referente ao contexto do sistema. 3a. Utilizar Serviços do Inventário do Domínio Caso o domínio identificado já tenha participado de um ciclo do processo, basta recuperar os serviços identificados no inventário de serviços do domínio.
  • 16.
    Descrição do ProcessoII 3b. Criação de LP para o domínio específico. Caso o domínio do sistema não tenha sido analisado ainda, aplica-se o processo de criação de Linguagem de Padrões voltado para o domínio específico. Especifica-se os padrões da LP com base nos padrões de projeto de SOA. 4. Identificação de Serviços com base nos requisitos levantados. Fazendo o refinamento dos padrões especificados para a LP utilizando os requisitos levantados e aplicando a LP, definem-se os serviços candidatos. 5. Construção dos serviços e inclusão no inventário de serviços.
  • 17.
    Resultados Preliminares IEspecificação de Padrão Padrão “IDENTIFICAR O RECURSO”
  • 18.
    Resultados Preliminares IIEspecificação de Padrão Padrão “ARMAZENAR O RECURSO”
  • 19.
    Resultados Preliminares IIIResultados Aplicação do processo de identificação de serviços em casos simples. Contribuições Esperadas Comparação entre processos de identificação de serviços Processo menos complexo e melhor estruturado Identificação de Serviços com maior reusabilidade Criação de inventário de serviços por domínio
  • 20.
    Próximos Passos Desenvolvimentoda LP para o Domínio Específico (Cadastro de Cliente) Estudo das técnicas de Engenharia Reversa e Análise de Domínio Uso do conhecimento do autor no domínio escolhido e da documentação existente.
  • 21.
    Próximos Passos Utilizaçãoda LP em estudos de caso. Dois bancos públicos nacionais que implantaram solução de SOA/BPM com o auxílio da empresa IVS. Fazer avaliação da aplicação do método.
  • 22.
    Referências I ANACLETO,J. et al. COGNITOR: Um Framework baseado na Linguagem de Padrões COG-LEARN. Laboratório de Interação Avançada. Departamento de Computação da Universidade Federal de São Carlos. 2007. BRUGALI, D.; MENGA, G.;AARSTEN, A. A case study for flexible manufacturing systems in M. Fayad, R. Jonhson. Domain-Specific Application Frameworks: Frameworks Experience by Industry , John Willey and Sons, p85-99, 2000. BASS et al. Software Architecture in Practice . Addison-Wesley Longman Publishing Co. Boston, 1998. BELL, M. Service-Oriented Modeling . John Wiley & Sons, 2008. 366 p. ISBN 9780470141113. BIEBERSTEIN et al. Executing SOA: A Pratical Guide for the Service Oriented Architect . IBM Press. Maio de 2008. 240 p. BRAGA, R. Um processo para Construção e Instanciação de Frameworks baseados em uma Linguagem de Padrões para um Domínio Específico. Instituto de Ciências Matemáticas e de Computação – USP, 2002. 232 p. BIANCO et al. Evaluating a Service-Oriented Architecture . Software Engineering Institute. Technical Report, September 2007. DAN et al. An Approach for describing SOA . Wuhan University IEEE Computer Society, 2006. ERL, T. Service-Oriented Architecture: Concepts, Technology and Design . Prentice Hall, 2005. 792 p. ISBN: 0131858580.
  • 23.
    Referências II ERL,T. SOA Design Patterns . Prentice Hall, Janeiro de 2009. 800p. ISBN: 013613561. ERL, T. SOA: Principles of Service Design . Estados Unidos: Prentice Hall, 2007. 608 p. ISBN: 0132344823. HAESEN, R.; SNOECK, M. ; LEMAHIEU, W. ; POELMANS, S. On the Definition of Service Granularity and Its Architectural Impact . Springer- Verlag Berlin Heidelberg 2008. PAPAZOGLOU, M. P.; VAN DEN HEUVEL, W. J. Service-Oriented Design and Development Methodology. International Journal of Web Engineering and Technology (IJWET), v. 2, no. 4, pp. 412-442, 2006. GAMMA, E.; HELM, R.; JOHNSON, R.VLISSIDES, J. Design Patterns: Elements of reusable object-oriented software. Addison Wesley, 1995. JIA et al. A New Architecture Description Language for Service-Oriented Architecture . Wuhan University IEEE Computer Society, 2007. OASIS. SOA Reference Model TC . Disponível em http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=soa-rm. Acessado em 28 de Novembro de 2007. The Open Group. SOA Oriented Architecture . Disponível em http://www.opengroup.org/projects/soa/. Acessado em 28 de Novembro de 2007. The Open Group. The Open Group Architecture Framework 8.1.1 . Disponível em http://www.opengroup.org/architecture/togaf8-doc/arch/toc.html . Acessado em 23 de Janeiro de 2008.

Notas do Editor

  • #4 SOA é um nome novo para uma idéia já bastante difundida na Engenharia de Software que é a Separação de Responsabilidades. Desde os anos 60 já se discutia a divisão de sistemas em componentes para funcionalidades específicas visando organização e reutilização. Com a orientação a objetos está idéia tomou forma diferente para modelar entidades do mundo real. Atualmente, a orientação a serviços traz uma nova visão voltada a processos de negócios. A idéia principal é conseguir fazer um alinhamento melhor dos recursos de TI com as necessidades dos processos de negócios das organizações. Para atingir tal objetivo, trabalha-se com a idéia de serviço que visa a interoperabilidade dos sistemas e a reutilização.