Service Oriented Architecture (SOA)



Documentos relacionados
acoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento.

Introdução ao Modelos de Duas Camadas Cliente Servidor

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

Serviços Web: Introdução

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Web Services. (Introdução)

3 Serviços na Web (Web services)

UFG - Instituto de Informática

2 Conceitos relativos a Web services e sua composição

SOA - Service Oriented Architecture. Marcelo Canevello Ferreira

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Abstraindo as Camadas de SOA & Aplicações Compostas

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Sistemas Distribuídos

Integração Orientada a Serviços

Arquitetura Orientada a Serviços (SOA) Copyright e-core LTDA, Todos os direitos reservados.

Serviços Web: Arquitetura

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

UNIVERSIDADE. Sistemas Distribuídos

SOA Introdução. SOA Visão Departamental das Organizações

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

3 SCS: Sistema de Componentes de Software

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO

Integração de sistemas utilizando Web Services do tipo REST

Sistemas Distribuídos

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Arquitetura Orientada a Serviço

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Introdução a Web Services

Engenharia de Software III

SISTEMAS DISTRIBUÍDOS

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Sistemas Distribuídos Arquiteturas Middlewares

Sistemas Distribuídos

Padrões Arquiteturais e de Integração - Parte 1

Fase 1: Engenharia de Produto

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

FIREWALL. Prof. Fabio de Jesus Souza. Professor Fabio Souza

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.

Sistemas Distribuídos

AUTOMAÇÃO SUPERVISÃO E CONTROLE E A APLICAÇÃO DA ARQUITETURA ORIENTADA A SERVIÇOS SOA.

ISO/IEC 12207: Gerência de Configuração

UFG - Instituto de Informática

Introdução a Arquiteturas ESB I N S T I T U T O D E G E S TÃ O E M T E C N OLOGIA D A I N F OR M A Ç Ã O

Universidade Paulista

GBD PROF. ANDREZA S. AREÃO

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Gerenciamento de Serviços de TI ITIL v2 Módulo 1 Conceitos básicos

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Curso de Aprendizado Industrial Desenvolvedor WEB

Desenvolvimento Cliente-Servidor 1

Fundamentos de Banco de Dados

Ferramentas unificadas de SOA alinham negócios e TI IDG Research aponta grandes ganhos potenciais a partir de uma solução integrada

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

BlackBerry Mobile Voice System

9. Quais as características a tecnologia de conexão à Internet denominada ADSL A) Conexão permanente, custo variável, linha telefônica liberada e

Servidor, Proxy e Firewall. Professor Victor Sotero

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0

Usando Service Design Thinking para criar SOA Corporativo

Redes de Computadores e suas classificações. Maurício Severich

Componentes de um sistema de firewall - II. Segurança de redes

IBM Software Demos The Front-End to SOA

IW10. Rev.: 02. Especificações Técnicas

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Orientação à Objetos. Aécio Costa

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

SISTEMAS DISTRIBUIDOS

MODELO CLIENTE SERVIDOR

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

BPMN (Exemplos e Exercícios) e UDDI

PEER DATA MANAGEMENT SYSTEM

PROJETO E IMPLANTAÇÃO DE INTRANETS

Fundamentos de Sistemas Operacionais

Organização de Computadores 1

Arquiteturas SOA, WOA, e REST

Sistemas Distribuídos

SOA: Service-oriented architecture

Transcrição:

São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 1

04/09/11 vladimir.professor@gmail.com 2 Complexidade dos serviços

04/09/11 vladimir.professor@gmail.com 3

04/09/11 vladimir.professor@gmail.com 4 Introdução O que NÃO é SOA? Não é um produto; Não é um serviço; Não é uma tecnologia; Não é uma solução;

04/09/11 vladimir.professor@gmail.com 5 Introdução O que é SOA (Service Oriented-Architecture / Arquitetura Orientada a Serviços)? É uma arquitetura (conceito) utilizado para a criação e uso de serviços (componentes) no desenvolvimento de projetos por meio do ciclo de vida (concepção até finalização de serviços); Também trata da definição e do provisionamento da infra-estrutura de TI que permite que diferentes aplicações troquem dados e participem do processo de negócio independente dos SO (Sistemas Operacionais) no qual estas aplicações estão executando ou linguagens de programação utilizadas para suas implementações.

04/09/11 vladimir.professor@gmail.com 6 Introdução O que é SOA (Service Oriented-Architecture / Arquitetura Orientada a Serviços)? SOA é baseada nos princípios da computação distribuída (apresenta várias partes processando colaborativamente determinada tarefa de forma coerente e transparente); Utiliza o paradigma request/reply (no qual um objeto espera passivo até que executem uma operação sobre ele) para estabelecer a comunicação entre os sistemas clientes e os sistemas que implementam os serviços. http://www.inf.ufrgs.br/~zirbes/materialaula/gerencia%20e%20administracao%20de%20projetos%202010_2/gap/aulas%20sobre%20soa/soa_2007.p - Acessado em: Agosto 2011

04/09/11 vladimir.professor@gmail.com 7 Introdução SOA possibilita que novas aplicações sejam criadas por meio da combinação dos serviços, novos ou desenvolvidos a partir de funcionalidades de aplicações existentes com menor esforço para o desenvolvimento (reutilização ou recombinação de sistemas). SOA possibilita integração rápida de aplicativos, já que se baseia no conceito de serviços independência da implementação; Redução de custos e tempo de desenvolvimento. Flexibilidade à TI, que consegue responder com agilidade as necessidades da área de negócios das empresas.

04/09/11 vladimir.professor@gmail.com 8 Pilha arquitetônica e elementos que compõem o SOA

04/09/11 vladimir.professor@gmail.com 9 Pilha arquitetônica e elementos que compõem o SOA A pilha arquitetônica é dividida em duas partes: Uma identifica os aspectos funcionais da arquitetura. A outra os aspectos de qualidade.

04/09/11 vladimir.professor@gmail.com 10 Pilha arquitetônica e elementos que compõem o SOA Aspectos funcionais de uma Arquitetura Orientada a Serviços: Transport: mecanismo utilizado para transportar as requisições de serviço, de um consumidor para um provedor e vice-versa; Service Communication Protocol: mecanismo de troca de informações utilizado pelo provedor e consumidor de serviços, que possibilita comunicar o que está sendo solicitado e devolvido; Service Description: esquema que possibilita descrever o que é o serviço, como ele deve ser chamado, e quais dados são necessários para chamá-lo com sucesso;

04/09/11 vladimir.professor@gmail.com 11 Pilha arquitetônica e elementos que compõem o SOA Aspectos funcionais de uma Arquitetura Orientada a Serviços: Service: descreve o serviço real desenvolvido e disponível para uso; Business Process: coleção de serviços chamados em uma seqüência pré-estabelecida com um conjunto de regras particulares, satisfazendo as necessidades de negócio. Para que um Business Process possa ser considerado um serviço, tem se a idéia de que o processo de negócio pode ser composto de serviços de diferentes granularidades;

04/09/11 vladimir.professor@gmail.com 12 Pilha arquitetônica e elementos que compõem o SOA Aspectos funcionais de uma Arquitetura Orientada a Serviços: Service Registry: repositório de serviço e descrições de dados que pode ser utilizado por provedores de serviços para publicar seus serviços, e por consumidores de serviço para descobrir ou encontrar serviços disponíveis. O Service Registry pode prover outras funções para os serviços que requerem um repositório centralizado.

04/09/11 vladimir.professor@gmail.com 13 Pilha arquitetônica e elementos que compõem o SOA Aspectos da qualidade de serviços de uma Arquitetura Orientada a Serviços: Policy: conjunto de condições ou regulamentos por meio das quais o provedor de serviços torna o serviço disponível para o consumidor. Existem aspectos políticos funcionais e aspectos políticos relacionados à qualidade de serviço; Security: conjunto de regulamentos que pode ser aplicado para identificação, autorização e controle de acesso de consumidores de serviços;

04/09/11 vladimir.professor@gmail.com 14 Pilha arquitetônica e elementos que compõem o SOA Aspectos da qualidade de serviços de uma Arquitetura Orientada a Serviços: Transaction: conjunto de atributos que pode ser aplicado a um grupo de serviços para garantir a entrega de um resultado consistente. Por exemplo, se um grupo de três serviços forem necessários para compor uma funcionalidade de negócio, todos ou nenhum serviço deve completar; Management: conjunto de atributos que pode ser aplicado para gerenciamento de serviços providos ou consumidos

04/09/11 vladimir.professor@gmail.com 15 Objetivo Obter melhoria nos processos e agilidade nos negócios; Possibilitar a reutilização de componentes em forma de serviços; Alinhar a TI as estratégias de negócio; Cria aplicações com base numa fundação de componentes; Integrar aplicações.

04/09/11 vladimir.professor@gmail.com 16 O que é um serviço? Serviços são unidades de trabalho criadas por um fornecedor de serviço, para alcançar resultados finais desejados por um consumidor de serviço; Pode ser denominada como uma função do sistema computacional construído de modo que possa ser facilmente vinculado a outros componentes de software; O serviço é a menor unidade dentro de uma arquitetura SOA Encapsula uma função do negócio reutilizável; Serviços podem ser independentes da implementação e são de certa forma fracamente interligados;

04/09/11 vladimir.professor@gmail.com 17 O que é um serviço? Resumindo, tarefas são serviços e processos são composições de serviços. Outra definição de serviço, mas de um ponto de vista mais ligado a desenvolvimento de software, diz que serviço é a lógica de negócio (servidor) capaz de ser acessado por um outro processo (cliente). Tipicamente, o cliente é um outro processo rodando em outra máquina que está utilizando a rede para acessar o servidor.

Características dos serviços Serviços possuem algumas características que o tornam complexo e o diferencia de qualquer outro tipo de atividade: Intangibilidade: refere-se ao estado decorrente de uma manipulação. Dificuldade de gerenciar, definir e mensurar a produtividade e qualidade de um serviço se comparado com um bem tangível. Simultaneidade: implica que a produção e o consumo são processos interativos e concorrentes. Envolvimento do simultâneo do provedor e do consumidor do serviço. Heterogeneidade: o mesmo serviço pode ter efeitos diferentes e prover respostas diferentes, dependendo do provedor, do local provisionado, do estado mental do consumidor e do ambiente. 04/09/11 vladimir.professor@gmail.com 18

04/09/11 vladimir.professor@gmail.com 19 Criação de serviços São criados seguindo as seguintes especificações: Encapsulamento: um serviço deve funcionar como uma caixa preta - não importa como ela é implementada, com uma determinada entrada ela deve responder com a resposta adequada; Fraco acoplamento: um serviço é construído de forma a minimizar as dependências entre outros elementos; Re-usabilidade: um serviço pode ser consumido por outros serviços;

04/09/11 vladimir.professor@gmail.com 20 Criação de serviços São criados seguindo as seguintes especificações: Composição: vários serviços pequenos criam um serviço grande; Autonomia: um serviço possui autonomia sobre a lógica que encapsulam; Otimização: um serviço que provê a mesma funcionalidade mas com melhor qualidade é preferível sobre um de qualidade inferior.

04/09/11 vladimir.professor@gmail.com 21 Características Entre serviços não existe herança ou dependência; Existe uma clara separação entre: Fornecedor (provider) e Consumidor (consumer) Ambos são regrados por agentes de software de acordo com o interesse de seus proprietários; Seu principal foco esta na definição dos contratos; A arquitetura SOA não está ligada a uma tecnologia especifica, mas sim associado a uma séria de tecnologias, como pro exemplo: Web Services, BPEL, UDDI, XML, http, entre outras.

04/09/11 vladimir.professor@gmail.com 22 Características

04/09/11 vladimir.professor@gmail.com 23 Características Solicitador do Serviço Encontrar WSDL / UDDI Intermediário do Serviço WSDL / UDDI SOAP Publicar Fornecedor do Serviço Ligar / Invocar

04/09/11 vladimir.professor@gmail.com 24 Características Como se relacionam os intervenientes na SOA? O Fornecedor do Serviço descreve o seu serviço usando a WSDL (Web Service Definition Language). Esta definição é publicada num Intermediário de Serviços (Service Broker) e este, por sua vez, poderá utilizar a descrição, a descoberta, e a integração universais (UDDI).

04/09/11 vladimir.professor@gmail.com 25 Características Como se relacionam os intervenientes na SOA? Os Utilizadores do Serviço podem efetuar uma ou mais pesquisas ao Intermediário de Serviços, com o objetivo de encontrarem um serviço que possa se adequar ao processo que pretendem implementar. A WSDL fornecida pelo Fornecedor do Serviço é passada ao Utilizador do Serviço. Este indica ao Utilizador do Serviço quais as entradas (inputs) e as saídas(outputs) do Fornecedor do Serviço. O Utilizador do Serviço usa a WSDL para efetuar um pedido ao Fornecedor do Serviço e este fornece a resposta prevista ao Utilizador do Serviço.

04/09/11 vladimir.professor@gmail.com 26 Características A SOA apresenta as seguintes características: Cliente não esta associado a um servidor mas a um serviço; Blocos funcionais são encapsulados (caixa-preta) em componentes que funcionam como serviços; Os componentes funcionais e suas interfaces, estão separados; Dentro das aplicações complexas, o controle dos processos de negócio pode ser isolado; Os serviços podem ser incorporados dinamicamente em tempo de execução; As conexões são especificadas utilizando arquivos de configuração.

04/09/11 vladimir.professor@gmail.com 27 Características A SOA apresenta as seguintes características: Necessidade de um modelo de coordenação de serviço, visto que atua como um sistema distribuído. Necessidade de protocolos que garantam robustez e segurança em um ambiente heterogêneo devem ser consideradas nestes cenários.

Características A SOA apresenta as seguintes características: O estado de um componente pode ser divido em 2 classes distintas: persistente ou conversacional. Estado persistente: é definido quando existe a possibilidade de uma das partes persistir os dados trocados na comunicação. Quando dados de uma mensagem enviada a um determinado componente podem ser recuperados após a troca de mensagens em qualquer instante de tempo, esse dado foi persistido. Estado conversacional: refere-se ao estado dos componentes somente durante a comunicação ou conversação. Uma vez finalizada, o estado é desfeito e os dados são liberados. Este tipo de estado é importante para manter o andamento de operações mais complexas. 04/09/11 vladimir.professor@gmail.com 28

04/09/11 vladimir.professor@gmail.com 29 Características

04/09/11 vladimir.professor@gmail.com 30 Características Foco do SOA Desenvolvimento Modelagem Run time Processos Pessoas Informações Aplicações Monitoração

04/09/11 vladimir.professor@gmail.com 31 Ciclo de vida do SOA

04/09/11 vladimir.professor@gmail.com 32 Tendências Difusão do Enterprise Service Bus Os servidores UDDI (Universal Description Discovery Integration) foram propostos para serem grande repositório universal de serviços, onde todos clientes iriam buscar dinamicamente os serviços. Uma vez descobertos os serviços, os projetistas tendem a fazer uma conexão menos maleável entre os componentes de serviços. O uso do Enterprise Service Bus (ESB) permite uma melhor gestão do conjunto de componentes coordenados, de forma que ele será responsável por redirecionar as conexões dos serviços solicitantes para as novas localizações dos fornecedores

04/09/11 vladimir.professor@gmail.com 33 O que é o ESB O ESB é o coração da infraestrutura orientada a serviços (SOI). Oferece as capacidades que possibilita criar ambientes distribuídos desacoplados. Para uma melhor utilização do ESB é preciso de um Backbone, para invocar os serviços, incluindo várias tarefas consideradas essenciais, sem necessidade de conhecer o contexto detalhado do provedor.

04/09/11 vladimir.professor@gmail.com 34 O que é o ESB As capacidades consideradas essenciais para um barramento de serviço corporativo (ESB) são: Resolução de Descrições de Serviços Transformação de Mensagens Roteamento Dinâmico de Mensagens (Serviço de conectividade) Tratamento de Exceções Monitoramento de Mensagens

São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 35