1 / 74

SOA Service Oriented Architecture

SOA Service Oriented Architecture. SOA – Service Oriented Architecture. Estilo/padrão de arquitetura onde as funcionalidades de aplicações existentes são disponibilizadas na forma de serviços

tiger-wiley
Télécharger la présentation

SOA Service Oriented Architecture

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. SOAService Oriented Architecture

  2. SOA – Service Oriented Architecture • Estilo/padrão de arquitetura onde as funcionalidades de aplicações existentes são disponibilizadas na forma de serviços • É um elemento de Service Oriented Computing (SOC), um paradigma de desenvolvimento baseado no conceito de serviços

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

  4. Serviços versus Componentes • Serviço • conceito mais abstrato • ligado ao negócio • desvinculado de um código • granularidade “grossa” • pode ser implementado por componentes • Componentes • elemento concreto • usado para compor aplicações • vinculado a um código • Granularidade mais “fina • Ex.: Uma entity EJB é um componente, não um serviço • Comparação interessante em • http://radovanjanecek.net/blog/archives/296.html

  5. SOA

  6. SOA: Vantagens potenciais

  7. Análise e Projeto em SOA(Service Oriented Architecture) Requisitos Especificação do modelo de negócios Modelagem do Negócio Analisar serviços Planejamento Projetar Serviços Planejamento Inicial Implementação Avaliação Teste

  8. Prototipar Interface Gráfica

  9. Analisar Serviços Arquiteto de Software Projetar Serviços Projetar Arquitetura Revisor de projeto Prototipar Interface gráfica Arquiteto de Informação Analisar Casos de Uso Projetar Casos de Uso Projetar Subsistemas/ componentes Analista de Sistemas Revisar Projeto Projetar classes Projetar Base de Dados Projetista de Banco de Dados

  10. Objetivos desta atividade • Gerar artefatos para facilitar e alinhar o entendimento entre os stakeholders • Prototipação e avaliação da GUI • Organização das informações • Input para Designers • Teste de usabilidade

  11. Visão geral dos artefatos Documento de Requisitos Modelo de Informação do Negócio Glossário Prototipação da Interface Gráfica Documento da Arquitetura Modelo de Casos de Uso Prototipar Interface Gráfica Arquiteto da informação Modelo Navegacional Protótipo da Interface Gráfica

  12. Passos para Prototipar a GUI 1. Modelar conceitos de negócios - Modelo de Informação do Negócio 2. Projetar Fluxo de Informação - Modelo Navegacional 3. Elaborar Protótipo de Interface - Protótipo de Interface Gráfica

  13. 1. Modelar conceitos de negócios • Modelo conceitualdas informações/entidades manipuladas pelo sistema • Pré modelo E-R • Vai ajudar na organizaçãodas informações • Multiplicidade é opcional • Modelo independente de computação (CIM)

  14. 1. Modelar conceitos de negócios

  15. QIB - Diagrama de Casos de Uso • Usaremos o QIB como exemplo

  16. Modelo de Informação do negócio

  17. 2. Projetar Fluxo de Informação • Gerar o modelo navegacional do sistema • Fluxo de informação do sistema • Pode ser: • Sitemap • Interface flow diagram (Diagrama de fluxo) • Screen Flow (Fluxo de Tela) • Modelo independente de computação (CIM)

  18. Modelo Navegacional do QIB

  19. 3. Elaborar Protótipo de Interface • Modelo Navegacional + Modelo de Informação do negócio = “wireframe detalhado” • Layout completo das telas do sistema: • Organização das informações • Ações de links e botões • Tratamento de erros e fluxos secundários • É útil?

  20. Como criar os artefatos? • Ferramentas: • Axure RP(wireframe), Smartdraw (sitemap), Netbeans (Fluxo de telas) • Exemplos: • www.cin.ufpe.br/~vtb/wireframes • http://www.axure.com/Samples/AxureRPFeaturesSample/AxureRPFeaturesSample_Start.html • http://www.axure.com/Samples/RegistrationSample/RegistrationSample_Start.html

  21. Prototipar Interface Gráfica • Exercício: • Baseado no Modelo Navegacional e no modelo de informação, construa o protótipo da interface • Sugestão: Axure RP • http://www.axure.com/downloads.aspx • http://www.axure.com/downloadThanks.aspx?version=50 • http://www.youtube.com/watch?v=xgUE3BuaKZ4&feature=related • http://www.youtube.com/watch?v=sieYeDepdzA&feature=related • http://www.youtube.com/watch?v=-NwsjE5LY1M&feature=related

  22. Analisar Serviços

  23. 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

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

  25. Passo a Passo

  26. Visão Geral dos Artefatos <<entrada para esta atividade>> <<entrada para esta atividade>>

  27. Para Identificar Serviços: 1. Empacotar Casos de Uso 2. Construir Arquitetura de Serviços 3. Identificar Serviços de Entidade 4. Revisar Resultados

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

  29. Exemplo do QIB Analisar Serviços

  30. Exemplo do QIB

  31. 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)

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

  33. Arquitetura de Serviços • Gerada estaticamente a partir do modelo de casos de uso “empacotados”: • 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

  34. Arquitetura de Serviços Analisar Serviços

  35. Participants

  36. Services Contracts

  37. Arquitetura de Serviços

  38. 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áveis e usados por vários serviços • Gerados a partir do Modelo de Informação do Negócio • Exemplo: Serviços para fazer CRUD

  39. 3. Identificar Serviços de entidades

  40. Fluxo de Atividades

  41. Interação dos Serviços • Sistemática “semelhante” a Distribuir comportamento entre as classes • Para cada Serviço (service contract) • Diagrama de seqüência (coreografia dos serviços) • Surgimento de novas entidades • Atualizar as classes com atributos

  42. Interação dos Serviços • Levar em consideração TODOS os casos de uso envolvidos • Diagrama de interação único • Pelo menos 2 casos de uso por diagrama • Não possuem mensagens reflexivas • Por que?

  43. Mensagens de retorno

  44. Exercício • Fazer diagrama de interação para o pacote Controle Qualit Card

  45. Atualizar atributos das entidades • Possíveis fontes: conhecimento do negócio, requisitos, glossário, modelo do negócio, mensagens do modelo de interação etc. • 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

  46. Modelo de Informação Refinado

  47. Fluxo de Atividades

More Related