Logo Passei Direto
Buscar

Slides de Aula - Unidade II

Apostila sobre Arquitetura Orientada a Serviços (SOA) e Serviços Web: definições e benefícios de SOA, modelagem de processos (BPM), padrões (XML, HTTP, WSDL, SOAP, UDDI), exemplo de aplicação e descrição do protocolo e da estrutura de mensagens SOAP.

User badge image
Remy Victor

em

Ferramentas de estudo

Questões resolvidas

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Prévia do material em texto

Prof. Me. Michel Fernandes
UNIDADE II
Desenvolvimento de 
Sistemas Distribuídos
 Service-Oriented Architecture (SOA)
 Método de desenvolvimento de software que utiliza componentes de software denominados 
serviços com o objetivo de criar aplicações de negócios baseadas em padrões.
 Serviços podem executar em diferentes computadores a partir de diferentes fornecedores 
de serviços.
 Foram desenvolvidos protocolos-padrão para dar suporte à comunicação de serviços.
Arquitetura Orientada a Serviços (SOA)
 Cada serviço é responsável pelo fornecimento de um recurso de negócio, e os serviços 
podem se comunicar entre si em diversas linguagens de programação e plataformas
Arquitetura Orientada a Serviços (SOA)
Fonte: Autoria própria.
 Serviços podem ser prestados localmente ou terceirizados para provedores externos.
 Os serviços são independentes da linguagem.
 Investimentos em sistemas legados podem ser preservados.
 A computação interorganizacional é facilitada por meio da troca simplificada de informações.
Benefícios do SOA
As principais características do SOA são: 
 Serviços: um serviço é uma representação computacional de uma funcionalidade de negócios.
 Nível de interoperabilidade elevado: aptidão de se comunicar com diferentes sistemas, 
dispositivos ou empresas de forma a trocar informações eficientemente e de modo padronizado.
 Acoplamento fraco: dependências entre os sistemas são reduzidas e, por meio da diminuição 
delas, os efeitos das modificações são atenuados e os sistemas podem ser executados mesmo 
quando uma parte fica fora do ar.
Arquitetura Orientada a Serviços (SOA)
 Um processo pode ser entendido como um conjunto definido de atividades executadas para 
alcançar metas e pode ser realizado por pessoas ou dispositivos computacionais.
 A Modelagem de Processos de Negócios, em inglês Business Process Modeling (BPM), 
representa o conhecimento e as análises dos processos e dos relacionamentos com os 
dados.
 Divisão de processos de negócios em atividades menores que são os serviços. 
 Ciclo de vida dos serviços define as diferentes etapas 
necessárias para que um serviço seja implementado.
Políticas e Processos
Exemplo de aplicação:
 Sistema gerenciador de planos de saúde aplicando conceitos relacionados à orientação 
a serviços.
Visão SOA
Fonte: Adaptado de: Silva (2006, p. 12).
 Web Services
 Instância de uma noção mais geral de um serviço.
 “Um ato ou desempenho oferecido por uma parte à outra. Embora o processo possa estar 
vinculado a um produto físico, o desempenho é essencialmente intangível e normalmente 
não resulta em posse de qualquer dos fatores de produção”.
 Desenvolvimento de sistemas sejam mais ágeis e aumentem a eficiência na comunicação 
entre aplicações e serviços. 
Serviços Web 
Fonte: Rodrigues et al. (2020, p. 186).
Sistema web
legado
Banco de dados
Web Service
Aplicação mobile iOS
Aplicação mobile 
Android
Existem cinco padrões fundamentais utilizados em Serviços Web: 
 XML. 
 HTTP. 
 WSDL. 
 SOAP. 
 UDDI. 
 E os padrões WSDL, SOAP e UDDI foram criados especificamente para Serviços Web. 
Padrões de Serviços Web
 XML: para descrever modelos, formatos e tipos de dados. 
 Todos os padrões de serviços são baseados no XML, na definição do esquema XML e no 
domínio de nomes XML.
 HTTP: Utilizado para transferência de páginas web entre o cliente e o servidor web 
na internet.
 Versão com mais serviços de segurança: HTTPS.
 XML e HTTP já existiam antes de Serviços Web. 
Padrões de Serviços Web
Qual é o nome do protocolo utilizado como padrão de troca de mensagens que suporta a 
comunicação de serviço? 
a) SOA.
b) SOAP.
c) XML.
d) WSDL.
e) UDDI.
Interatividade
Qual é o nome do protocolo utilizado como padrão de troca de mensagens que suporta a 
comunicação de serviço? 
a) SOA.
b) SOAP.
c) XML.
d) WSDL.
e) UDDI.
Resposta
 Simple Object Access Protocol, ou protocolo simples para acesso de objeto.
 Protocolo da camada aplicação.
 O SOAP provê uma forma de comunicação entre as aplicações em execução de diversos 
sistemas operacionais com diferentes tecnologias e linguagens de programação. 
 Mensagem SOAP é um documento XML tradicional.
 Especificação padronizada pelo W3C. 
 Define um envelope para transmissão de mensagens, oferece regras para representar 
“Remote Procedure Calls” (RPCs).
Protocolo SOAP
 Mensagem SOAP é composta de 4 elementos: 
 elemento de envelope que identifica o documento XML e a mensagem SOAP;
 elemento de cabeçalho ou Header;
 elemento de corpo da mensagem que contém a 
informação pedida e a resposta;
 elemento de falha contendo os erros e o estado da solicitação.
Componentes da mensagem SOAP
Fonte: Rodrigues et al. (2020, p. 69).
Envelope
Cabeçalho
Bloco do cabeçalho
Corpo
Falha
 Estrutura da mensagem SOAP:
Estrutura da mensagem SOAP
 Define o documento XML como uma mensagem SOAP.
 O nome de domínio do SOAP é colocado após xmlns:soap, como o valor de 
“http://www.w3.org/2003/05/soap-envelope”. 
 Atributo encodingStyle é utilizado para definição dos tipos de dados presentes no 
documento.
Estrutura da mensagem SOAP: Envelope
 É opcional e contém informações específicas sobre a aplicação, como autenticação ou 
pagamento sobre uma mensagem SOAP.
Atributos apresentados no cabeçalho definem como o receptor deve processar a 
mensagem SOAP e são: 
 mustUnderstrand (indicar se a entrada do cabeçalho é mandatória ou opcional); 
 actor (é utilizado para endereçar o elemento do cabeçalho para um endpoint específico); e 
 encodingStyle (tipos de dados a serem trabalhados). 
Estrutura da mensagem SOAP: Cabeçalho
 É obrigatório e contém a real mensagem que deseja se transmitir para o endpoint final 
da mensagem.
 Todos os elementos filhos de um corpo são chamados de entradas do corpo e cada entrada 
é codificada de forma independente dentro do corpo do SOAP.
 Uma entrada de corpo, ou body entry, é identificada por um nome de elemento 
completamente qualificado, que consiste em um espaço de nomes URI e um nome local.
 Atributo encodingStyle pode ser indicado para codificar um estilo usado para entradas 
de corpo.
Estrutura da mensagem SOAP: Corpo
O elemento de falha é composto por 4 partes: 
 faultcode (código de falha);
 faultstring (texto sobre a falha);
 faultactor (falha do ator); 
 details (detalhes). 
Estrutura da mensagem SOAP: Falha
 A especificação do SOAP define a estrutura das mensagens SOAP. 
 A forma como a mensagem é enviada. Essa lacuna é coberta pela vinculação do SOAP, ou 
SOAP Bindings. 
 Mecanismos que permitem a troca efetiva de mensagens SOAP utilizando um protocolo da 
camada de transporte.
 SOAP possibilita que dois processos (possivelmente em duas máquinas diferentes) se 
comuniquem, desconsiderando o hardware e a plataforma em que eles estão sendo 
executados. 
 SOAP é um protocolo aberto e foi adotado pela maioria das 
grandes empresas de hardware e software.
Estrutura da mensagem SOAP
Considere o segmento de código que transporta um objeto denominado revista.
Este segmento representa qual campo da mensagem SOAP? 
a) Envelope.
b) Cabeçalho.
c) Corpo.
d) Checksum.
e) Falha.
Interatividade
Considere o segmento de código que transporta um objeto denominado revista.
Este segmento representa qual campo da mensagem SOAP? 
a) Envelope.
b) Cabeçalho.
c) Corpo.
d) Checksum.
e) Falha.
Resposta
 Mensagem SOAP está 
embutida na requisição do 
protocolo HTTP:
Exemplo de mensagem SOAP: ObterUltimoPreco
 Mensagem SOAP embutida na resposta do protocolo HTTP:
Exemplo de mensagem SOAP: ObterUltimoPreco
 Prestadores de serviços podem desenvolver serviços especializados e oferecer estes a uma 
variedade de usuários de serviços de diferentes organizações.
 3 papéis em um Serviço Web:
 Service Consumer ou Consumidor de Serviços.
 Service Broker ou Corretor de Serviços. Service Provider ou Provedor de Serviços. 
Papéis em um serviço Web
Fonte: Autoria própria.
1: Registro do serviço 2: Descoberta do
serviço
3: Chamada do serviço
Service Broker
Corretor de serviços
Service Provider
Provedor de serviços
Service Consumer
Consumidor de serviços
Padrão Web Services Description Language (WSDL):
 Utilizado para definir interfaces de serviço, representada por assinatura dos nomes e 
parâmetros e detalhes de como acessá-los e dos métodos e operações disponíveis. 
 Baseado no padrão XML. 
Protocolo Simples de Acesso a Objetos (SOAP): 
 Padrão que define o protocolo de Serviços Web. 
 Protocolo da camada aplicação.
 Descrição, Localização e Integração Universais (UDDI).
 Gerenciamento de Serviço Web, por exemplo, para registro e busca de serviços.
Padrões de Serviços Web
 Descrição, Localização e Integração Universais.
 O foco do UDDI é a definição de um conjunto de serviços que suportam a descrição e 
descoberta de negócios, organização e outros provedores de Serviços Web e interfaces 
técnicas que podem ser usados para acessar esses serviços.
 Padrão UDDI é utilizado para o gerenciamento de Serviço Web, por exemplo, para registro e 
busca de serviços.
 O UDDI é um protocolo baseado em SOAP que define como os clientes se comunicam com 
os registros UDDI.
UDDI
 Padrão Web Services Description Language (WSDL). 
 Utilizado para definir interfaces de serviço e é baseado no padrão XML. A linguagem WSDL 
descreve dois aspectos distintos de um serviço: sua assinatura representada por nomes e 
parâmetros e detalhes de como acessá-los e dos métodos e operações disponíveis, 
abordando questões de protocolo e localização.
A linguagem WSDL descreve dois aspectos distintos de um serviço: 
 sua assinatura representada por nomes e parâmetros e detalhes de como acessá-los; e 
 métodos e operações disponíveis, abordando questões de protocolo e localização.
WSDL
Divisão da plataforma SOA em três componentes básicos: 
 transporte, utilizando SOAP e XML; 
 descrição, através da linguagem WDSL; e 
 a busca por serviços com o UDDI.
Arquitetura SOA 
Fonte: Rodrigues et al. (2020, p. 101).
No que se refere à SOA e aos web services, assinale a opção correta:
a) O SOAP propõe uma série de extensões para aprimorar a segurança dos web services no 
UDDI e no WSDL. 
b) UDDI é um serviço de diretório em que é possível registrar e localizar web services.
c) WSDL é descrito em formato XML e tem por única função descrever os valores e formatos 
dos dados que serão intercambiados entre os sistemas.
d) SOAP é um protocolo statefull, independente de sistema 
operacional, projetado para ser simples e extensível por meio 
de tecnologia XML.
e) SOA é uma arquitetura de desenvolvimento cujo objetivo é 
criar módulos funcionais denominados serviços, fortemente 
acoplados e independentes de plataforma. 
Interatividade
No que se refere à SOA e aos web services, assinale a opção correta:
a) O SOAP propõe uma série de extensões para aprimorar a segurança dos web services no 
UDDI e no WSDL. 
b) UDDI é um serviço de diretório em que é possível registrar e localizar web services.
c) WSDL é descrito em formato XML e tem por única função descrever os valores e formatos 
dos dados que serão intercambiados entre os sistemas.
d) SOAP é um protocolo statefull, independente de sistema 
operacional, projetado para ser simples e extensível por meio 
de tecnologia XML.
e) SOA é uma arquitetura de desenvolvimento cujo objetivo é 
criar módulos funcionais denominados serviços, fortemente 
acoplados e independentes de plataforma. 
Resposta
 Papéis do Serviço Web e padrões e protocolos utilizados.
Arquitetura SOAP X Padrões 
Fonte: Autoria própria.
 Padrão alternativo aos Serviços Web é denominado Transferência de Estado 
Representacional, ou Representational State Transfer (REST).
 Foi criado em 2000 por Roy Fielding. 
 Arquitetura de redes aplicada para fornecer padrões entre sistemas computacionais na 
internet com foco no acesso a recursos simples e sem estado (stateless).
 Sistemas que operam em conformidade com REST são chamados de RESTful. 
 Usados por muitas organizações que executam serviços baseados em sistemas que não 
dependem de serviços fornecidos externamente.
Padrão REST
Pontos positivos:
 Simplicidade. 
 Baixo overhead de comunicação. 
Pontos a observar:
 Menor segurança. 
 Menor controle transacional. 
Padrão REST
No caso do RESTful, o HTTP utiliza quatro métodos fundamentais do 
protocolo HTTP:
 GET; 
 PUT; 
 POST; e 
 DELETE.
Padrão REST
 WADL (Web Application Description Language) é a linguagem que descreve os elementos 
para o REST.
 Similar a WSDL.
 Cada recurso (substantivo, entidade) é modelado como uma URI.
 http://editoraexemplo.com.br/api/livros 
 http://editoraexemplo.com.br/api/livros/7
 http://editoraexemplo.com.br/api/livros/7/depoimentos?page=2&size=10 
Padrão REST
Existem 6 diretrizes para considerar uma arquitetura como RESTful: 
1. Uma arquitetura formada por recursos, servidores e clientes.
2. Comunicação staless entre servidor e cliente, ou seja, nenhum conteúdo do cliente é 
armazenado no servidor entre as solicitações. 
3. Dados que possam ser armazenados em cache para eliminar a necessidade de algumas 
interações entre o cliente e o servidor.
4. Uma interface uniforme de componentes para as informações serem transferidas em um 
formato padronizado, em vez de específico às necessidades de uma aplicação.
5. Uma limitação de sistema em camadas, em que as 
interações entre cliente e servidor são mediadas por níveis 
de hierarquia.
6. Código sob demanda, o que possibilita que os servidores 
ampliem as funcionalidades de um cliente ao transferir os 
códigos executáveis. Como esse processo também pode 
reduzir a visibilidade, esta é uma diretriz opcional.
Diretrizes da arquitetura RESTful
Considerando os protocolos SOAP e REST, assinale a afirmação correta.
a) O REST utiliza a informação de estado dos seus elementos. 
b) O protocolo SOAP é proprietário e não pode ser alterado. 
c) REST (Representational State Transfer) demanda mais recursos computacionais que o 
modelo de desenvolvimento de sistemas embasado em SOAP. 
d) REST garante a segurança da aplicação frente a qualquer vulnerabilidade.
e) REST utiliza métodos do HTTP como: GET, POST, PUT e DELETE. 
Interatividade
Considerando os protocolos SOAP e REST, assinale a afirmação correta.
a) O REST utiliza a informação de estado dos seus elementos. 
b) O protocolo SOAP é proprietário e não pode ser alterado. 
c) REST (Representational State Transfer) demanda mais recursos computacionais que o 
modelo de desenvolvimento de sistemas embasado em SOAP. 
d) REST garante a segurança da aplicação frente a qualquer vulnerabilidade.
e) REST utiliza métodos do HTTP como: GET, POST, PUT e DELETE. 
Resposta
 COULOURIS, George; DOLLIMORE, Jean; KINDBERG, Tim. Sistemas Distribuídos –
Conceitos e Projeto. Porto Alegre: Bookman, 2013.
 MONTEIRO, Eduarda R.; JUNIOR, Ronaldo C. M.; LIMA, Bruno Santos de et al. Sistemas 
Distribuídos. Porto Alegre: Grupo A, 2020.
 RODRIGUES, T. N. et al. Integração de aplicações. Porto Alegre: Grupo A, 2020.
 SILVA, F. M. SOA – Arquitetura Orientada a Serviços. São Paulo: IME-USP: 2006.
 TANENBAUM, Andrew S.; STEEN, Maarten Van. Distributed Systems. Distributed-
systems.net, 2023.
Referências
ATÉ A PRÓXIMA!

Mais conteúdos dessa disciplina