1 / 44

Arquitetura Orientado a Serviços

Arquitetura Orientado a Serviços. Análise e Projeto de Sistemas – if718. Objetivo. Mostrar os principais problemas nos processos de desenvolvimento de software Apresentar os principais conceitos de Service Oriented Architecture (SOA)

Download Presentation

Arquitetura Orientado a Serviços

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arquitetura Orientado a Serviços Análise e Projeto de Sistemas – if718

  2. Objetivo • Mostrar os principais problemas nos processos de desenvolvimento de software • Apresentar os principais conceitos de Service Oriented Architecture (SOA) • Apresentar os passos necessários para realizar a atividade analisar Serviços

  3. Por que projetos de software são complicados?

  4. Software é abstrato • Software é complexo • Requisitos incompletos • Tecnologia muda muito rápido • Mudança é inevitável Problemas

  5. Engenharia de Software • Desenvolvimento Baseado em Componentes • Desenvolvimento Orientado a Aspectos • Linhas de Produtos de Software • Desenvolvimento Dirigido a Modelos • (Mode-Driven Development - MDD) • Arquitetura Orientada a Serviços (Service Oriented Architecture - SOA)

  6. O que é Arquitetura Orientada a Serviços ?

  7. SOA

  8. SOA Confusão com o Termo Service Oriented Computing “SOA é, basicamente, um modelo de arquitetura de que beneficia a eficiência, agilidade e produtividade no desenvolvimento de aplicações e está alinhado com os objetivos de “serviceoriented computing” Thomas Erl

  9. SOA • Estilo de arquitetura onde as funcionalidades de aplicações existentes são disponibilizadas na forma de serviços

  10. O que são serviços? • Serviço é um componente que atende a uma função de negócio (business function). Ele pode receber e responder requisições ocultando os detalhes de sua implementação. • Desacoplados em relação ao cliente/consumidor • Descritos através de contratos de operações

  11. Como Projetar Serviços?

  12. SOA: Vantagens

  13. Serviços são coleções de “capacidade” Assim como pessoas, um serviço pode prover múltiplas capacidades.

  14. Classificação dos Serviços • Quando estamos modelando os serviços, fica evidente que podemos classifica-los em função: • Tipo de logica que encapsulam • Potencial de Reuso • Como a logica implementada se relaciona com o domínio da aplicação • Por isso, podemos classificar os serviços: • Serviços de entidades • Serviços de tarefas • Serviços de utilidade

  15. Tipos Serviços

  16. Analisar Serviços

  17. Contexto decisões do arquiteto <<subsystem>> Analisar Serviços Arquiteto de Software Projetar Serviços Projetar Arquitetura Revisor de projeto Prototipar Interface gráfica Arquiteto de Informação Check List  bla bla  bla  blabla Analisar Casos de Uso Projetar Casos de Uso Projetar Subsistemas Analista de Sistemas Revisar Projeto Projetar classes Projetar Base de Dados Projetista de Banco de Dados

  18. Objetivos • Visão inicial da arquitetura do sistema • Sistemática para identificação dos serviços e componentes • “Análise” diferente do RUP

  19. Passo a Passo

  20. Para Identificar Serviços: 1. Empacotar Casos de Uso 2. Construir Arquitetura de Serviços 3. Identificar Serviços de Entidades 5. Revisar Resultados

  21. Para Identificar Serviços: 1. Empacotar Casos de Uso 2. Construir Arquitetura de Serviços 3. Identificar Serviços de Entidades 5. Revisar Resultados

  22. Exemplo do QIB Analisar Serviços

  23. Exemplo do QIB

  24. 2. Construir Arquitetura de Serviços Arquitetura de Serviços (Service Architecture) é gerada a partir do modelo de casos de uso Passo inicial para identificação dos serviços do sistema SOAML (Profile UML para modelar SOA)

  25. Arquitetura de Serviços Services architecturedescreve como os participantes que consomem e fornecem serviços para atender aos requisitos do negócio. Participant representa uma “parte” que consomem e/ou fornecem serviços. Podem representar pessoas, organizações ou sistemas. A servicecontracté a especificação do acordo entre provedores e consumidores de um serviço quanto às informações trocadas entre participantes.

  26. Arquitetura de Serviços • Gerada estaticamente a partir do modelo de casos de uso “empacotado”: • Atores => participant • Sistema => participant • Pacote de casos de uso => Service Contract • Relação na direção caso de uso – ator => Service Contract • Casos de uso no modelo principal=> Service Contract

  27. Arquitetura de Serviços Analisar Serviços

  28. Participants

  29. Services Contracts

  30. Arquitetura de Serviços

  31. 3. Identificar Serviços de entidades • Um tipo de serviço que é derivado de um ou mais entidades de negócio relacionadas. • São altamente reutilizávele usados por vários serviços • Exemplo: Serviços para fazer CRUD

  32. 3. Identificar Serviços de entidades

  33. Fluxo de Atividades

  34. Interação dos Serviços • Sistemática “semelhante” Distribuir comportamento entre as classes • Para cada Serviço (servicecontract) • Diagrama de seqüência (coreografia dos serviços) • Surgimento de novas entidades • Atualizar o Modelo de Informação do negócio

  35. Interação dos Serviços • Levar em consideração TODOS os casos de uso envolvidos • Diagrama de interação único* • Não possuem mensagens reflexivas • Por que?

  36. Mensagens de retorno

  37. Exercício Fazer diagrama para o pacote Controle de QualitCard

  38. Atualizar o Modelo de informação • Atualizar atributos das entidades • Possíveis fontes: conhecimento do negócio, requisitos, glossário, modelo do negócio, mensagens do modelo de interaçãoetc. • São propriedades/características das entidades identificadas • informação cujo valor é o aspecto crucial • informação de propriedade exclusiva do objeto • Caso seja identificada nova entidade, verificar necessidade de criar novo serviço • Remover entidades desnecessárias

  39. Modelo de informação atualizado

  40. Fluxo de Atividades

  41. Identificação de componentes • Sistemática para identificar os componentes • Identificar os participants provedores • Componentes “provedores” implementam os contratos de serviços • Definir relacionamento entre componentes

  42. Identificar Componentes

  43. Analisar Serviços Análise e Projeto de Sistemas – if718

More Related