Arquitetura Orientado a Serviços

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

Engenharia de Software
Engenharia de Software
APSOO Aula 05.
UML Modelando um sistema.
UML Visões – Parte 2.
Engenharia de Software
Orientação por Objectos > Modelo de Processo OO > Identificação de Classe e Objectos Aula 12.
Rational Unified Process(RUP)
Valéria Maria Lauande Março/2010
Centrado na arquitetura
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
SISTEMA É UMA ENTIDADE QUE MANTEM SUA EXISTÊNCIA ATRAVÉS DA INTERAÇÃO DE SUAS PARTES ( Bertalanffy ) Interação Mútua Diferente duma simples.
Análise e Projeto de Sistemas
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
RUP: Fluxo de Análise e Projeto
Gerencia de Projeto OO Aspectos Avançados em Engenharia de Software Aula 5 Fernanda Campos DCC/UFJF.
Principios e Conceitos de Projeto
Classes e objetos Modelagem
Introdução a Arquitetura Orientada a serviços
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
Projetar Serviços Vítor Braga –
Diagramas de Colaboração e Componentes
Unibratec Análise e Gerencia de Projetos Profº Henrique Vila Nova
Refinamento do projeto anterior e nova arquitetura SOA
Analisar Serviços Vítor Braga – Objetivos da aula Apresentar os passos necessários para realizar a atividade analisar Serviços Discutir.
Engenharia de Software e Sistemas Danilo Veras e Rebeka Gomes.
PSBD II Projeto de Sistemas de Banco de Dados II
SOA Service Oriented Architecture. Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. Estilo/padrão.
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Analisar Caso de Uso 10/04/ /04/2017 Analisar caso de uso
Bruno Silva Desenvolvido a partir de
Representação Arquitetural
Capturando Requisitos com Use Cases Disciplina: Estudo do RUP Autor: Tiago Lima Massoni Orientacao: Augusto Sampaio Paulo Borba.
Projetar Arquitetura. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 2 Objetivos.
RUP - Cap. 4 – Processo Centrado na Arquitetura
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Processos de Software.
Processos de Software.
Abr-17 Projetar Arquitetura Projetar caso de uso.
Projeto de Sistemas Alexandre Monteiro. Agenda 2. Análise 3. Projeto 1. Revisão 4. Exercícios.
Abr-17 Analisar Caso de Uso Analisar caso de uso.
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
Abr-17 Projetar Subsistema Projetar subsistema.
Modelo de Análise e Projeto
Engenharia de Software e Sistemas
Fluxo de Análise e Projeto 6 - Atividade Projetar Subsistema.
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
Copyright © 2006 Qualiti. Todos os direitos reservados. Projetar Classes.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
Analisar Serviços Vítor Braga – Computation Independent Model (CIM) Platform Independent Model (PIM) Platform Specific Model (PSM) MDA.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Modelagem de Sistemas Orientada a Objeto Com UML
Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga –
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
Projetar Cápsulas Parte 1. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar cápsulas | 2 Objetivos deste módulo.
Fluxo de Análise e Projeto do RUP para Sistemas de Tempo Real
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
Interações entre objetos
Fundamentos de Engenharia de SW Diagramas da UML Usados no Projeto de Software.
Analisar Caso de Uso. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 2 Objetivos.
/ de Julho de UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática Pós-Graduação em Ciência da Computação Tópicos Avançados.
Projeto de Arquitetura de Software
SOA SOA – Arquitetura Orientada a Serviços Conceitos e Aplicações
Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto.
Análise e Design de Software Site:
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1/41 Análise e Projeto de Sistemas Arquitetura de Software.
Projetar Caso de Uso. Arquiteto de Informação Análise e Projeto OO com UML e Padrões| 2 Analisar Casos de Uso Revisar Projeto Projetar Arquitetura Projetista.
Transcrição da apresentação:

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) Apresentar os passos necessários para realizar a atividade analisar Serviços

Por que projetos de software são complicados?

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

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) Diante desse cenário, várias abordagens em engenharia de software sugiram justamente para tentar amenizar estes números: Desenvolvimento Baseado em Componentes, Linhas de Produtos de Software, Desenvolvimento Orientado a Aspectos, Arquitetura Orientada a Serviço e Desenvolvimento Dirigido a Modelos. Arquitetura orientada a Serviço e Desenvolvimento Dirigido a Modelos são abordagens que propiciam o aumento de produtividade no desenvolvimento de software, incentivando o reuso e automação da produção de artefatos, que podem variar desde modelos de requisitos e código de uma linguagem de programação. Potencialmente, a utilização em conjunto destas abordagens têm se mostrado promissoras no sentido de contribuir para processos de desenvolvimento mais eficientes, com menor custo, favorecendo maior produtividade e qualidade dos produtos de software desenvolvidos.

O que é Arquitetura Orientada a Serviços ? dsdsdsa

SOA  

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 “service oriented computing” Thomas Erl

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

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

Como Projetar Serviços?

SOA: Vantagens

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

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

Tipos Serviços

Analisar Serviços

Contexto <<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 decisões do arquiteto <<subsystem>> Analista de Sistemas Revisar Projeto Projetar classes Projetar Base de Dados Projetista de Banco de Dados

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

Passo a Passo

Para Identificar Serviços: abr-17 1. Empacotar Casos de Uso 2. Construir Arquitetura de Serviços 3. Identificar Serviços de Entidades 5. Revisar Resultados Analisar caso de uso

Para Identificar Serviços: abr-17 1. Empacotar Casos de Uso 2. Construir Arquitetura de Serviços 3. Identificar Serviços de Entidades 5. Revisar Resultados Analisar caso de uso

Exemplo do QIB Analisar Serviços

Exemplo do QIB

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)

Arquitetura de Serviços Services architecture descreve 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 service contract é a especificação do acordo entre provedores e consumidores de um serviço quanto às informações trocadas entre participantes.

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

Arquitetura de Serviços Analisar Serviços A partir do Modelo de Funcionalidades pode se gerar a Arquitetura de Serviço automaticamente utilizando as seguintes regras: Contratos de serviços: os pacotes de casos de uso são mapeados em contratos de serviços. Se os casos de uso não estiverem organizados em pacotes, é necessário “empacotar” os casos semelhantes. Casos de usos que não pertencem a nenhum pacote e relacionamentos caso de uso  ator são mapeados como contratos independentes. Participantes: os atores são diretamente mapeados como participantes. O próprio “sistema” dá origem a um participante independente.

Participants

Services Contracts

Arquitetura de Serviços

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ável e usados por vários serviços Exemplo: Serviços para fazer CRUD

3. Identificar Serviços de entidades

Fluxo de Atividades

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

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? * Caso o diagrama fique muito complexo dividí-lo ... Fazer pelo menos 2 casos de uso por diagrama O objetivo aqui é identificar as capacidades (operações) dos serviços.

Mensagens de retorno

Fazer diagrama para o pacote Controle de Qualit Card Exercício Fazer diagrama para o pacote Controle de Qualit Card

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çã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

Modelo de informação atualizado

Fluxo de Atividades

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

Identificar Componentes

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