Exercícios FGV Web Services + SOA Prof. Marcelo Pacote e Leon Solon
1
Agenda – Desenvolvimento de Sistemas
Web Services
UDDI
WSDL
SOAP
SOA
2
Web Services
3
Web Services
Contexto
Como surgiu?
Interoperabilidade
4
Web Services - modelos
Tradicional
XML
SOAP (Simple Object Access Protocol)
WSDL
UDDI
REST (Representational State Transfer)
Baseado em métodos HTTP
5
Web Services - Arquitetura 3 - Provê serviço Serviço cliente << SOAP >>
<< SOAP >>
Provedor de serviço
<< SOAP >>
1 - Registra-se
2 - Busca serviço Registro de serviços
6
Web Services - Papéis
Provedor de serviço: responsável pela descrição e publicação de um determinado serviço Web no registro de serviços. As informações estão representadas em um documento XML escrito na linguagem padrão WSDL(Web Service Description Language ); Consumidor do serviço: responsável por descobrir um serviço, obter a sua descrição e usá-lo; Registro dos serviços: mantém um diretório com informações sobre serviços, armazenados no padrão UDDI ( Universal Description, Discovery and Integration ).
7
Exercício [1] (SENADO/2012/FGV)(1/3) Web services surgiram como uma evolução dos modelos de computação distribuída, sendo considerada uma tecnologia de integração de sistemas, empregada principalmente em ambientes heterogêneos. Na arquitetura, web services, são padrões: I. Um protocolo para transmissão dentro da arquitetura proposta pelo W3C, sendo baseado no XML, segue o modelo “REQUEST-RESPONSE” do HTTP.
8
Exercício [1] (SENADO/2012/FGV)(2/3) II. Um arquivo do tipo XML, cuja finalidade é descrever detalhadamente um web service. Essa descrição especifica as operações que compõem o web service e define de forma clara como deve ser o formato de entrada e saída de cada operação. III. Um mecanismo que visa atender tanto o cliente de web service quanto ao provedor. Ele tem que fornecer ao provedor de web services meios para que esses sejam registrados e publicados, o que permitirá a pesquisa e localização dos web services pelos clientes.
9
Exercício [1] (SENADO/2012/FGV)(3/3) Esses padrões são conhecidos pelas siglas: a) SOAP, UDDI e WSDL b) SOAP, WSDL e UDDI c) WSDL, UDDI e SOAP d) UDDI, WSDL e SOAP e) UDDI, SOAP e WSDL
10
Exercício [2] (MEC/2008/FGV/An. Sistemas)(1/2) Um Web Service é definido pela W3C como um sistema de software projetado para fornecer interoperabilidade entre máquinas em uma determinada rede. Dentro do contexto dos Web Services assinale a alternativa correta. (A) A UDDI (Universal Description, Discovery, and Integration) é uma linguagem baseada em XML que descreve o que um Web Service pode fazer, onde ele reside e como chamá-lo. .
11
Exercício [2] (MEC/2008/FGV/An. Sistemas) (2/2) (B) SOAP (Simple Object Access Protocol) é um protocolo, baseado em XML, para troca de informação estruturada com Web Services em redes de computadores. (C) A interoperabilidade entre os Web Services e aplicações é garantida devido ao uso obrigatório da linguagem Java na implementação das aplicações. (D) SOA (Simple Object Access) é uma plataforma de arquitetura orientada a serviços, utilizada como base para suportar os Web Services. (E) A WSDL (Web Services Description Language) é uma especificação para publicar e localizar informações sobre Web Services. 12
Exercício [3] (MEC/2009/FGV/Arquiteto) (1/2) A respeito das tecnologias relacionadas a Web Services, analise as afirmativas a seguir: I. A UDDI é uma plataforma de arquitetura orientada a serviços assíncronos utilizada como base para suportar os Web Services. II. A WSDL (Web Services Description Language) é uma interface de programação que permite a execução de chamadas remotas no estilo RPC.
13
Exercício [3] (MEC/2009/FGV/Arquiteto) (2/2) III. SOAP (Simple Object Access Protocol) é um protocolo, baseado em XML, para troca de informação estruturada com Web Services em redes de computadores. Assinale: (A) se somente a afirmativa I estiver correta. (B) se somente a afirmativa II estiver correta. (C) se somente a afirmativa III estiver correta. (D) se somente as afirmativas II e III estiverem corretas. (E) se todas as afirmativas estiverem 14
Exercício [4] (SENADO/2008/FGV) - adaptada Considere as assertivas a seguir sobre as relações entre SOAP, WSDL e UDDI: I. UDDI é um diretório de serviços web descritos por WSDL. II. WSDL pode ser usado para descrever serviços SOAP. III. O UDDI é um diretório de descrições SOAP. As assertivas corretas são: a) somente I. b) somente I e II. d) somente II e III.
c) somente I e III.
e) I, II e III.
15
Exercício [5] (SENADO/2008/FGV) (1/2) Web Service representa uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes e que possui entre suas características as possibilidades:
da interação de novas aplicações com as já existentes; da compatibilidade de sistemas desenvolvidos em plataformas diferentes; de as chamadas às operações, incluindo os parâmetros de entrada/saída, serem codificadas em um determinado protocolo. de as aplicações enviarem e receberem dados por meio de uma linguagem em formato padronizado. 16
Exercício [5] (SENADO/2008/FGV) (2/2) Para a construção das bases de um Web Service por padrão, o protocolo e a linguagem são: a) UDDI e XML. b) SOAP e XML. c) UDDI e WSDL. d) UDDI e DHTML. e) SOAP e DHTML.
17
Exercício [6] (MEC/2008/FGV/Ger. Projetos) (1/2) Web service constitui uma solução para integração de sistemas e para comunicação entre aplicações diferentes. Ela permite que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. A Web service apresenta as seguintes características: I. as aplicações enviam e recebem dados por meio de uma linguagem em formato padronizado. II. as chamadas às operações, incluindo os parâmetros de entrada/saída, empregam um determinado protocolo. 18
Exercício [6] (MEC/2008/FGV/Ger. Projetos) (2/2) Por padrão, o respectivamente:
protocolo
e
a
linguagem
são,
(A) SOAP e XML (B) SOAP e AJAX (C) PHYTON e XML (D) SOAP e ASP.NET (E) PHYTON e ASP.NET
19
Web Services - SOAP
SOAP (Simple Object Access Protocol) é um protocolo para troca de informações estruturadas em uma plataforma descentralizada e distribuída, utilizando tecnologias baseadas em XML. Independente de qualquer modelo de programação ou outra implementação específica. Define um envelope para transmissão de mensagens, oferece regras para representar “remote procedure calls” (RPCs);
20
Web Services - SOAP
SOAP possibilita que dois processos ( possivelmente em duas máquinas diferentes) se comuniquem, desconsiderando o hardware e a plataforma que eles estão sendo executados. Um dos grandes benefícios do SOAP é que ele é aberto e foi adotado pela maioria das grandes empresas de hardware e software.
21
Web Services – Mensagem SOAP - Envelope: define o conteúdo da mensagem (obrigatório) - Cabeçalho: contém informação de controle e processamento (opcional) - Corpo: contém informação da chamada e da resposta (obrigatório) MENSAGEM SOAP ENVELOPE SOAP CABEÇALHO SOAP Cabeçalhos
CORPO SOAP Dados da mensagem específica
22
Exercício [7] (RF-AP/2010/FGV) (1/2) Web Service representa um termo utilizado na integração de sistemas e na comunicação entre aplicações diferentes e que possui entre suas características as possibilidades de: I. interação de novas aplicações com as já existentes. II. compatibilizar sistemas desenvolvidos em plataformas diferentes. III. serem codificadas em um determinado protocolo, incluindo os parâmetros de entrada/saída. IV. aplicações enviarem e receberem dados por meio de uma linguagem em formato padronizado.
23
Exercício [7] (RF-AP/2010/FGV) (2/2) Para a construção das bases de um Web Service, por padrão a linguagem é conhecida como XML e o protocolo pela sigla: a) SOAP. b) UDDI. c) HTTPS. d) SCHEMA. e) XPOINTER.
24
Exercício [8] (RF-AP/2010/FGV) Originalmente SOAP representava um protocolo para troca de informações estruturadas em uma plataforma descentralizada e distribuída, utilizando tecnologias baseadas em um determinada linguagem. Foi importante para o desenvolvimento de aplicações que permitiram a comunicação via Internet entre programas, empregando o Remote Procedure Calls (RPC) entre objetos como DCOM e CORBA. Atualmente, SOAP provê um caminho de comunicação entre aplicações "rodando" em diferentes sistemas operacionais, com diferentes tecnologias e linguagens de programação. . De acordo com o enfoque do World Wide Web Consortium - W3C , as mensagens SOAP são documentos baseados na seguinte linguagem: a) WSDL
b) XML
c) JAVASCRIPT
d) AJAX
e) XSLT 25
Exercício [9] (MEC/2008/FGV/Arquiteto) (1/2) Aplicações orientadas a serviços necessitam que os protocolos de comunicação sejam robustos, pois são altamente dinâmicas e podem ser alteradas constantemente. A grande maioria das aplicações orientadas a serviços atuais utiliza, para comunicação, o SOAP, que é definido como: (A) um Web Service que gerencia informação sobre provedores, implementações e metadados de serviços. (B) um protocolo aprovado como padrão pela OASIS e especifica um método para publicar e descobrir diretórios de serviços. 26
Exercício [9] (MEC/2008/FGV/Arquiteto) (2/2) (C) uma linguagem baseada em XML utilizada para descrever Web Services. Trata-se de um documento escrito em XML que além de descrever o serviço, especifica como acessá-lo e quais as operações ou métodos disponíveis. (D) uma interface de programação que permite a execução de chamadas remotas no estilo RPC em aplicações desenvolvidas em Java. (E) um protocolo para troca de informações estruturadas em uma plataforma descentralizada e distribuída, utilizando tecnologias baseadas em XML. 27
Web Services - WSDL
WSDL (Web Services Description Language) é uma linguagem baseada em XML utilizada para descrever Web Services. Trata-se de um documento escrito em XML que além de descrever o serviço, especifica como acessá-lo e quais as operações ou métodos disponíveis.
28
Web Services - WSDL
Definem como a interface é implementada por um fornecedor
29
Web Services - UDDI
UDDI (Universal Description, Discovery and Integration) é uma especificação que define um serviço de registro para Web Services. Usuários de serviços podem usar UDDI para descobrir serviços que lhes interessem e obter os metadados necessários para utilizar esses serviços.
30
Gabarito dos Exercícios
[01] b
[08] b
[02] b
[09] e
[03] c
[04] a
[05] b
[06] a
[07] a
SOA
32
Contextualização
33
Introdução
Estratégia que propõe a organização dos ativos de software de forma que eles possam representar processos, atividades ou tarefas de negócio de forma direta. Provimento de serviços Devem ser baseados em padrões e facilmente combinados e reutilizados.
Visa integrar sistemas existentes e futuros
Trata-os como serviços interoperáveis
34
Visão SOA Processo de Negócio
Meta-Aplicações
Serviços
35
ESB – Enterprise Service Bus Meta-Aplicações Front-End
Serviço
Serviço
Serviço
ESB (Enterprise Service Bus)
SOA
36
Camadas
37
Vantagens
Baixo acoplamento entre aplicações
Alta interoperabilidade entre plataformas
Alta reutilização das regras de negócio
Resposta rápida a mudanças nos processos de negócio
Redução de custos
Agilidade nas mudanças
Serviços são facilmente testados
38
SOA – Componentes Usuário
Consolida e Requisita
de serviços
Provedor de serviço
Registra
Procura Registro de serviços
Paradigma execute)
“procura-consolida-executa”
(find-bind-
39
Arquitetura Orientada a Serviços
SOA cria um novo paradigma de modelagem das organizações cujo objetivo é criar módulos funcionais chamados de serviços, com baixo acoplamento permitindo sua reutilização. SOA é uma arquitetura fracamente acoplada. Os serviços disponibilizados podem ser reutilizados e aplicados em diferentes áreas dentro e fora da organização sem ajustar a tecnologia subjacente.
40
Exercício [1] (MEC/2008/FGV/An. Sistemas) A Arquitetura Orientada a Serviços (SOA – Service Oriented Architecture) é uma abordagem arquitetural corporativa que permite a criação de serviços de negócios interoperáveis que podem facilmente ser reutilizados e compartilhados entre aplicações e empresas.Não é considerada característica relevante do SOA: (A) a distribuição.
(B) a assincronia.
(C) a composição.
(D) o reuso “caixa-preta”.
(E) a heterogeneidade ambiental.
41
Exercício [2] (MEC/2008/FGV/Ger. Projetos) (1/2) SOA representa um termo que expressa uma metodologia para desenvolvimento de software, sendo uma estratégia que proclama a criação de todos os ativos de software de uma empresa. Assinale a opção que apresenta duas características importantes da metodologia SOA e que podem ser visualizadas como vantagens.
42
Exercício [2] (MEC/2008/FGV/Ger. Projetos) (2/2) (A) Orientada a serviços e estratégia de TI para reutilização de software. (B) Orientada a funções e estratégia de TI para reutilização de software. (C) Orientada a objetos e estratégia de TI para reutilização de software. (D) Orientada a serviços e estratégia de TI para a web. (E) Orientada a funções e estratégia de TI para a web.
43
Exercício [3] (SENADO/2008/FGV) Considere as seguintes assertivas sobre uma arquitetura orientada a serviços (SOA): I. SOA é apenas uma implementação de Serviços Web, possuindo ambas as mesmas características. II. As mensagens são o principal meio de comunicação entre os provedores e os consumidores de serviços. III. SOA não prescreve como projetar ou construir a implementação do serviço. IV. Quando os serviços são disponibilizados na web, eles são identificados por uma URI. As assertivas corretas são:
(A) somente I, II e III.
(B) somente II, III e IV.
(C) somente I, III e IV.
(D) somente I, II e IV. (E) todas. 44