W W W. D OMI NAND OTI .COM.B R WWW.DOMINANDOTI .COM.BR
Soluções de integração:
SOA, web services e REST + XML/XSD
Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Acesse nosso site em
WWW.DOMINANDOTI.COM.BR
Curta o Dominando TI no
e receba nossas dicas sobre concursos!
Cursos Turmas em Brasília, na sua cidade, e cursos online
Livros Edições publicadas, lançamentos e promoções
Fórum Interação direta entre estudantes e com os professores
Simulados Questões inéditas, ranking de notas e correções em vídeo
Blog Dicas e macetes de estudo, indicações de bibliografia, etc.
Materiais Versões atualizadas de notas de aula e listas de exercícios
W W W. D OMI NAND OTI .COM.B R
XML – eXtensible Markup Language
Voltado para a troca de informações
Formato para descrever dados estruturados
Transporte e armazenamento de dados
O conjunto de tags não é pré-definido
É independente de software e hardware
Mantido pelo W3C.
Baseada em SGML
3 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Partes de um Documento XML
<?xml version=''1.0'' encoding=''iso-8859-1''?> <usuario>
<foto href=''/imagens/logoduke2.gif'' />
<nome>Duke Java</nome>
<endereco>Rua Imaginária, 20 – 4º andar – Centro – 19920 - 321 – Deodoro da Fonseca – RN</endereco>
<email>[email protected]</email>
<telefone tipo=''residencial''>
<ddd>84</ddd>
<numero>32562589</numero>
</telefone>
</usuario>
elemento raiz declaracão XML
atributos
elementos
4 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
(ANAC/2012/Cespe/Analista Adm./85)
Um arquivo XML possui atributos e elementos. No exemplo 1, que se segue, sexo é atributo e, no exemplo 2, sexo é elemento, provendo, em ambos os exemplos, a mesma informação.
Professor Marcelo Pacote – [email protected] 5
W W W. D OMI NAND OTI .COM.B R
Documentos XML bem formados
Para que possa ser manipulado como uma árvore, um documento XML precisa ser bem formado.
Regras
Ter um, e apenas um, elemento raiz
Todos os elementos devem ter uma tag de fechamento
Elementos deve estar corretamente aninhados
Valores dos atributos devem estar entre aspas ou apóstrofes. Atributos não devem se repetir em um mesmo elemento.
XML diferencia caracteres maiúsculos de minúsculos (case sensitive)
O próprio navegador pode ser utilizado para verificar as regras.
Há validadores online (http://w3schools.com/xml/xml_validator.asp)
6 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
(TRE-MS/2013/Cespe/Analista Judiciário/44) (1/2)
Acima, está mostrado o conteúdo total de um arquivo XML, em que os números à esquerda indicam apenas as linhas em que informações são apresentadas e não fazem parte do conteúdo do arquivo. Tendo como referência essas informações, assinale a opção correta, à luz dos padrões XML.
Professor Marcelo Pacote – [email protected] 7
W W W. D OMI NAND OTI .COM.B R
(TRE-MS/2013/Cespe/Analista Judiciário/44) (2/2)
A) Há erro nas linhas 4 e 9, pois não se pode repetir uma tag, no caso, <marca>.
B) Há erro nas linhas 6 e 11, pois valores de atributos devem ficar entre aspas.
C) Por não haver outra tag igual até o final do documento, não é necessário fechar a tag <carro> introduzida na linha 8.
D) A sintaxe para a descrição da versão e da codificação estão corretamente definidas na linha 1.
E) As tags em XML podem ser maiúsculas ou minúsculas sem distinção, tal como utilizado nas linhas 2 e 12.
Professor Marcelo Pacote – [email protected] 8
W W W. D OMI NAND OTI .COM.B R
XML Válido
Um XML é dito válido quando for bem formado e estiver de acordo com a gramática que define sua estrutura.
A gramática é definida em um esquema:
elementos fazem parte de um vocabulário limitado
certos atributos têm valores e tipos definidos
elementos são organizados de acordo com uma estrutura hierárquica
DTD e XML Schema são linguagens para descrição de esquemas XML.
9 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
DTD vs. XML Schema
Soluções padrão do W3C
<!ELEMENT contato (nome, email, telefone)> <!ATTLIST contato codigo NMTOKEN #REQUIRED>
DTD
<xsd:schema xmlns:xsd="…/XMLSchema"> <xsd:element name="contato"> <xsd:complexType> <xsd:attribute name="codigo" use="required">
É XML, porém mais complexo Suporta namespaces Permite definição de tipos
Simples mas não é XML Não suporta namespaces Limitado quanto a tipos de dados
XML Schema
10 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
(Serpro/2013/Cespe/Sup./92) - Adaptada
( ) Para ser considerado válido, um documento XML precisa estar em conformidade com um DTD (document type definition) ou com um XML Schema.
11 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
(Basa/2012/Cespe/Prod. e Infra/111)
( ) DTD (document type definition) e XSD (XML schema description) são dois formatos de interoperabilidade de dados usados no escopo do padrão XML, e, de modo geral, um documento DTD é semanticamente menos expressivo que seu equivalente XSD.
12 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Documentos válidos
Válidos em relação a um XML Schema contém:
Declaração de pelo menos um namespace de aplicação no documento
Declaração de namespace padrão da instância XML Schema
Atributo schemaLocation (do namespace padrão) associando o(s) namespace(s) de aplicação a um (ou mais) documento(s) XML Schema
<bilhete
xmlns="urn:123456789"
xmlns:xsi="http://www.w3.org./2001/XMLSchema-instance"
xsi:schemaLocation="urn:123456789 bilhete.xsd">
13 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
XML Schema: Tipos
Há duas qualidades de tipos
Tipos simples representam tipos de dados básicos como texto, números, tokens, booleanos
Fazem parte do namespace do XML Schema (requerem prefixo associado ao identificador do namespace), por exemplo: xs:int, xs:string
Tipos complexos representam estruturas do documento como entidades, atributos, etc.
14 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
XML Schema
Tipo Simples
não pode conter outros elementos, apenas valor textual
15
<sobrenome>Zouza</sobrenome>
<idade>26</idade>
<dataNasc>1984-11-21</dataNasc>
<xs:element name=“sobrenome" type="xs:string"/>
<xs:element name=“idade" type="xs:integer"/>
<xs:element name=“dataNasc" type="xs:date"/>
Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
XML Schema – Tipos Complexos
<xs:element name=“empregado">
<xs:complexType>
<xs:sequence>
<xs:element name=“nome" type="xs:string"/>
<xs:element name=“sobrenome" type="xs:string"
maxOccurs="10" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<empregado>
<nome>Marcelo</nome>
<sobrenome>Pacote</sobrenome>
</empregado>
Indicador de ordem
Indicador de ocorrência
16 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
(SERPRO/2013/Cespe/Analista/116)
Com relação aos conceitos e aplicações de gestão eletrônica de documentos, julgue os itens a seguir.
Em um documento XML, não é possível definir regras de tipos de dados para elementos e atributos, uma vez que o documento é um arquivo do tipo texto.
Professor Marcelo Pacote – [email protected] 17
W W W. D OMI NAND OTI .COM.B R
XML Schema
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.xml.com"
xmlns=“http://www.xml.com” elementFormDefault="unqualified">
<xs:element name="nota">
<xs:complexType>
<xs:sequence>
<xs:element name="de" type="xs:string" />
<xs:element name="para" type="xs:string" />
<xs:element name="titulo" type="xs:string" />
<xs:element name="descricao" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
18 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
(TRT/2013/Cespe/Téc. Judiciário/94)
( ) Uma especificação em XML Schema é sempre iniciada com tag <schema> e concluída com tag <//schema>. Todas as declarações de elementos devem ser inseridas entre as duas tags, bem como a definição de atributos e tipos deve ser inserida no corpo do programa.
Professor Marcelo Pacote – [email protected] 19
W W W. D OMI NAND OTI .COM.B R
(TRE-BA/2010/CESPE) (1/2)
Acerca do XML, julgue os itens a seguir.
( ) Em XML, as tags definem elementos de dados e o texto fornece o dado real representado no documento.
( ) A sintaxe básica para um elemento XML pode ser corretamente representada pela instrução a seguir.
<nome_do_elemento>Texto</nome_do_elemento>
( ) Um documento XML pode conter definições para o elemento raiz e para os elementos filhos, podendo também conter elementos vazios.
20 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
(TRE-BA/2010/CESPE) (2/2)
( ) A instrução a seguir está sintaticamente correta e permite o uso de algarismos romanos para codificação de números.
<?xml version="1.0" encoding="ISO-8859-1"?>
( ) As marcações XML não fazem distinção entre letras minúsculas e maiúsculas.
( ) Um documento XML sempre deve ter um elemento principal, também conhecido como root tag.
21 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Gabarito
(ANAC/2012/Cespe/Analista Adm./85) c (TRE-MS/2013/Cespe/Analista Judiciário/44) b (Serpro/2013/Cespe/Sup./92) certo (Basa/2012/Cespe/Prod. e Infra/111) certo (SERPRO/2013/Cespe/Analista/116) e (TRT/2013/Cespe/Téc. Judiciário/94) e (TRE-BA/2010/CESPE) ccceec
22 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R WWW.DOMINANDOTI .COM.BR
Web Services
Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Web Services
Contexto
Como surgiu?
Interoperabilidade
24 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
(ANTT/2013/Cespe/Analista Adm./104)
Julgue os itens a seguir, referentes à arquitetura orientada a serviços (SOA).
( ) Web services provêm um meio padrão para a interoperação entre diferentes aplicativos de software, que podem ser executados em uma variedade de plataformas e(ou) frameworks.
Professor Marcelo Pacote – [email protected] 25
W W W. D OMI NAND OTI .COM.B R
Web Services - modelos
Tradicional
XML
SOAP (Simple Object Access Protocol)
WSDL
UDDI
REST (Representational State Transfer)
Baseado em métodos HTTP
26 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Web Services - Arquitetura
Registro
de serviços
Serviço cliente Provedor
de serviço
1 - Registra-se 2 - Busca
serviço
3 - Provê serviço
<< SOAP >>
<< SOAP >> << SOAP >>
27 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
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).
28 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
(MPOG/2013/Cespe/Téc. de Nível Superior V/69)
Com relação à engenharia de software, julgue os próximos itens.
( ) A engenharia de software orientada a serviços possui uma arquitetura com padrões de serviços web por meio de tecnologias XML, como, por exemplo, o SOAP, para a mensageria, e o WSDL, para definição de serviços.
Professor Marcelo Pacote – [email protected] 29
W W W. D OMI NAND OTI .COM.B R
Exercício [01] (ANTAQ/2009/CESPE)
( ) Web service é um conjunto de tecnologias utilizadas na integração de sistemas e na comunicação entre aplicações diferentes. Para a representação e estruturação dos dados nas mensagens recebidas/enviadas, é utilizado o XML (eXtensible markup language). As chamadas às operações, incluindo-se os parâmetros de entrada e saída, são codificadas no protocolo UDDI (universal description, discovery and integration). Os serviços (operações, mensagens, parâmetros etc.) são descritos usando-se a linguagem WSDL (web services description language). O processo de publicação, pesquisa e descoberta de web services utiliza o protocolo SOAP (simple object access protocol).
30 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Exercício [02] (TRE/2010/CESPE) (1/2)
Com relação a web services, assinale a opção correta.
a) As arquiteturas de aplicação de web services são arquiteturas firmemente acopladas, nas quais as ligações entre serviços não podem mudar durante a execução.
b) SOAP (Simple Object Access Protocol) é um protocolo com base em HTML que permite troca de informações entre aplicações em um ambiente distribuído.
c) UDDI (Universal Description, Discovery and Integration) é um diretório para armazenamento de informações a respeito de web services. Essas informações são descritas em SOAP.
31 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Exercício [02] (TRE/2010/CESPE) (2/2)
d) A linguagem WSDL (Web Services Description Language) é utilizada para descrever web services.
e) Segundo o W3C (World Wide Web Consortium), web services são apropriados somente para aplicações em que componentes de um sistema distribuído são executados em plataformas semelhantes de um mesmo fornecedor.
32 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
(TRE-MS/2013/Cespe/Téc. Judiciário/57)
Com relação a webservices, assinale a opção correta.
A) Um webservice não pode implementar corretamente uma arquitetura orientada a serviço (SOA).
B) Tarefas como a criação de interfaces gráficas para usuários estão fortemente relacionadas à função de webservice.
C) O webservice consiste em chamadas de métodos em que os seus desenvolvedores utilizam em conjunto tanto XML quanto XLS.
D) A implementação do protocolo SOAP (Simple Object Access Protocol) é utilizado para segurança entre os webservices.
E) As definições de como o webservice deve ser acessado, como, por exemplo, os valores que ele retorna, são descritas em um arquivo XML com a padronização WSDL (Web Service Description Language).
Professor Marcelo Pacote – [email protected] 33
W W W. D OMI NAND OTI .COM.B R
(TRE-MS/2013/Cespe/Analista Judiciário/43) (1/2)
No que se refere a SOA e webservices, assinale a opção correta.
A) O WS-Security propõe uma série de extensões para aprimorar a segurança dos web services no UDDI e no WSDL. Por questão de compatibilidade, essas extensões não afetam os cabeçalhos do envelope SOAP.
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.
Professor Marcelo Pacote – [email protected] 34
W W W. D OMI NAND OTI .COM.B R
(TRE-MS/2013/Cespe/Analista Judiciário/43) (2/2)
D) SOAP é um protocolo do tipo statefull, independente de sistema operacional, embasado em troca de mensagem one-way e 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. É embasada em XML e incentiva reutilização de código e interoperabilidades entre sistemas.
Professor Marcelo Pacote – [email protected] 35
W W W. D OMI NAND OTI .COM.B R
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);
36 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
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.
37 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Exercício [03] (Serpro/2013/Cespe/Desv./107 )
( ) A comunicação entre sistemas clientes e servidores para troca de mensagens pode ser realizada por meio de SOAP (simple object access protocol), que é um protocolo para troca de informações estruturadas independente de linguagem de programação.
38 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
(MPOG/2013/Cespe/Téc. de Nível Superior V/89)
No que se refere aos padrões WSDL e SOAP, julgue os itens a seguir.
( ) SOAP utiliza o protocolo HTTP como forma de transportar dados na camada de aplicação, permite troca de mensagens baseado em XML e tem seu uso relacionado a web services.
Professor Marcelo Pacote – [email protected] 39
W W W. D OMI NAND OTI .COM.B R
Exercício [04] (STJ/2008/CESPE)
( ) O SOAP encapsula mensagens que podem ser transmitidas via HTTP; permite o modelo de interação cliente-servidor; define como usar XML para representar mensagens de requisição e resposta. Um documento XML é transportado no corpo de uma mensagem SOAP; no modelo cliente-servidor, o corpo de uma mensagem SOAP pode conter uma requisição, mas não uma resposta.
40 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Web Services – Mensagem SOAP
MENSAGEM SOAP
ENVELOPE SOAP
CABEÇALHO SOAP
Cabeçalhos
CORPO SOAP
Dados da mensagem específica
- 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)
41 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Web Services – Mensagem SOAP
POST /cadirreg HTTP/1.1
Host: www.tcu.gov.br
Content-Type: text/xml; charset="utf-8"
Content-Length: 256
<SOAP:Envelope
xmlns:SOAP= "http://www.w3.org/2001/12/soap-envelope">
<SOAP:Header>
<!-- conteudo do cabecalho -->
</SOAP:Header>
<SOAP:Body xmlns:tcu="http://www.tcu.gov.br/cadirreg">
<tcu:GetInfoGestor>
<cpf>87598930104</cpf>
</tcu:GetInfoGestor>
</SOAP:Body>
</SOAP:Envelope>
42 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
(PEFOCE/2012/Cespe/Perito Criminal/75)
( ) SOAP é um protocolo leve destinado à troca de informações estruturadas em um ambiente distribuído e descentralizado. Uma mensagem SOAP, por exemplo, é um documento XML composto de três partes obrigatórias: envelope, cabeçalho e corpo.
Professor Marcelo Pacote – [email protected] 43
W W W. D OMI NAND OTI .COM.B R
(CNJ/2013/Cespe/Analista Judiciário/71)
( ) Um dos elementos de uma mensagem SOAP é o corpo (body), no qual devem estar contidas as informações de erro e status.
Professor Marcelo Pacote – [email protected] 44
W W W. D OMI NAND OTI .COM.B R
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.
45 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
(MPOG/2013/Cespe/Téc. de Nível Superior V/90)
( ) Um documento WSDL é estruturado em HTML e descreve web services como um conjunto de pontos de serviço que operam baseados em trocas de protocolo de rede. As operações e mensagens relativas a um serviço são descritas de forma específica, ligados a protocolos de rede, sem formatos de mensagens concretos e com o objetivo de definir um ponto de serviço.
Professor Marcelo Pacote – [email protected] 46
W W W. D OMI NAND OTI .COM.B R
(CNJ/2013/Cespe/Analista Judiciário/70)
Acerca de interoperabilidade de sistemas, julgue os itens subsequentes.
( ) A linguagem WSDL é utilizada para descrever web services limitadas ao tipo request-response.
Professor Marcelo Pacote – [email protected] 47
W W W. D OMI NAND OTI .COM.B R
Web Services - WSDL
Definem como a interface
é implementada
por um fornecedor
Figura obtida em http://en.wikipedia.org/wiki/Web_service
48 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
(CPRM/2013/Cespe/Analista /82)
Com relação a interoperabilidade de sistemas, julgue os itens a seguir.
( ) A WSDL 2.0 possui uma parte abstrata, responsável por definir type, messages, operations e PortType, e uma parte concreta, que define binding, service e endpoint.
Professor Marcelo Pacote – [email protected] 49
W W W. D OMI NAND OTI .COM.B R
Web Services – Exemplo (1/2)
50 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Web Services – Exemplo (2/2)
51 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Exercício [05] (STJ/2008/CESPE)
( ) O WSDL separa a parte abstrata de uma descrição de serviço da parte concreta; nessa descrição, a parte concreta contém as definições de tipos usados pelo serviço e a parte abstrata especifica como e onde o serviço pode ser contatado. Os documentos WSDL podem ser acessados via um serviço de diretório como o UDDI; as definições WSDL podem ser geradas a partir de definições de interfaces escritas em outras linguagens.
52 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
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.
53 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
UDDI
Páginas brancas: contêm nome da empresa, endereço, números de telefone e outros identificadores relativos ao negócio onde a empresa atua;
Páginas amarelas: baseadas em categorias
Páginas verdes: contêm informações técnicas sobre os serviços expostos pelo provedor.
UD
DI
54 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
(CNJ/2013/Cespe/Analista Judiciário/72)
( ) Nos registros de negócio UDDI, a descrição da forma de acesso aos web services é um procedimento contido nas páginas verdes (green pages).
Professor Marcelo Pacote – [email protected] 55
W W W. D OMI NAND OTI .COM.B R
Exercício [06] (TRT/2008/CESPE) - adaptada
( ) O UDDI é uma especificação técnica que tem como objetivo descrever, descobrir e integrar web services. É embasado na tecnologia XML, que fornece uma plataforma neutra de dados.
* neutra = indiferente, imparcial
56 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
REST – Representational State Transfer
Outra abordagem para implementação de Web Services
CRUD com métodos HTTP
Create (HTTP POST)
Retrieve (HTTP GET)
Update (HTTP PUT)
Delete (HTTP DELETE)
+ Simplicidade, baixo overhead de comunicação
- Segurança, controle transacional
57 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
REST – Exemplos e WADL
WADL (Web Application Description Language) está para REST assim como WSDL está para SOAP.
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
58 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Exercício [07] (TCU/2010/CESPE) (adaptada)
( ) O estilo de arquitetura de software denominado REST (representational state transfer) demanda mais recursos computacionais que o modelo de desenvolvimento de sistemas embasado em SOAP (single object access protocol).
59 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Exercício [08] (MPU/2010/CESPE/Técnico)
( ) REST (Representationals State Transfer) é uma tecnologia que está sendo utilizada em web services, como substituta das tecnologias SOAP (Simple Object Access Protocol) e WSDL.
60 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Gabarito dos Exercícios
[01] errado [02] d [03] certo [04] errado [05] errado [06] certo [07] errado [08] certo
(ANTT/2013/Cespe/Analista Adim./104) c (MPOG/2013/Cespe/Téc. de Nível Superior V/69) c (TRE-MS/2013/Cespe/Téc. Judiciário/57) e (TRE-MS/2013/Cespe/Analista Judiciário/43) b (MPOG/2013/Cespe/Téc. de Nível Superior V/89) c (PEFOCE/2012/Cespe/Perito Criminal/75) e (CNJ/2013/Cespe/Analista Judiciário/71) e (MPOG/2013/Cespe/Téc. de Nível Superior V/90) e (CNJ/2013/Cespe/Analista Judiciário/70) e (CPRM/2013/Cespe/Analista/82) e* (CNJ/2013/Cespe/Analista Judiciário/72) c
61 Professor Marcelo Pacote – [email protected]
* difere gabarito definitivo oficial
W W W. D OMI NAND OTI .COM.B R WWW.DOMINANDOTI .COM.BR
SOA
Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
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.
Organização por meio de processos
64 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Introdução
Visa integrar sistemas existentes e futuros
Agrupa processos de negócios
Trata-os como serviços interoperáveis
65 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
(BASA/2012/Cespe/Tec. Científico/Redes/108)
( ) Aplicações legadas que rodam em plataforma alta podem ser expostas como serviço e integradas em aplicações desenvolvidas para plataforma baixa, mediante uma abordagem de arquitetura orientada a serviço (SOA).
66 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Características e termos chave
Baixo acoplamento
Componentes independentes que interagem por meio de interfaces bem definidas
Neutralidade de implementação
Linguagens de programação, plataforma de hardware ou qualquer outro elemento tecnológico não são limitantes.
Interoperabilidade
Permite que sistemas coexistam e se comuniquem
Agrega flexibilidade à arquitetura
67 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
SOA X Web Services
Web Services
SOA
68 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
(MPOG/2013/Cespe/TI/105)
No que se refere ao SOA (service-oriented architeture), julgue os itens a seguir.
( ) O SOA garante serviços fortemente acoplados, fracamente coesos e com alta possibilidade de reutilização.
Professor Marcelo Pacote – [email protected] 69
W W W. D OMI NAND OTI .COM.B R
(MPOG/2013/Cespe/TI/106)
( ) De acordo com o SOA, um limite representa a fronteira entre a interface pública de um serviço e sua realização privada. Ultrapassar limites em SOA é barato e altamente recomendado porque torna o serviço público e acessível a outros sistemas.
Professor Marcelo Pacote – [email protected] 70
W W W. D OMI NAND OTI .COM.B R
(MPOG/2013/Cespe/TI/107)
( ) O SOA promove a integração entre o negócio e a tecnologia da informação por meio de serviços, que são o principal componente dessa arquitetura.
Professor Marcelo Pacote – [email protected] 71
W W W. D OMI NAND OTI .COM.B R
(MPOG/2013/Cespe/Téc. de Nível Superior V/71)
No que diz respeito à análise e ao projeto orientados a objetos, julgue os itens que se seguem.
( ) A arquitetura orientada a serviço (SOA) é uma forma de representar-se a tecnologia por meio de uma arquitetura que dá suporte a serviços, composições e inventário de serviços, de forma otimizada.
Professor Marcelo Pacote – [email protected] 72
W W W. D OMI NAND OTI .COM.B R
(ANAC/2012/Cespe/Analista Adm./80)
( ) Ao utilizar-se a arquitetura orientada a serviços (SOA), segue-se um conceito de arquitetura corporativa, situação em que os códigos são gerados para toda a empresa e são reutilizados de maneira eficiente e por várias aplicações.
Professor Marcelo Pacote – [email protected] 73
W W W. D OMI NAND OTI .COM.B R
(ANTT/2013/Cespe/Analista Adm./106)
( ) A SOA pode ser definida como um tipo de arquitetura que utiliza serviços como blocos de construção para facilitar a integração em ambientes corporativos e a reutilização de componentes por meio do baixo acoplamento.
Professor Marcelo Pacote – [email protected] 74
W W W. D OMI NAND OTI .COM.B R
Visão SOA
Processo de Negócio
Meta-Aplicações
Serviços
75 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Visão SOA – Exemplo
76
Fonte: http://linux.ime.usp.br/~cef/mac499-06/monografias/filipemadeira/monografia.pdf
Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
ESB – Enterprise Service Bus
SOA
ESB (Enterprise Service Bus)
Serviço Serviço Serviço
Front-End
Meta-Aplicações
77 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
ESB – Exemplos de produtos
Apache ServiceMix
Oracle Enterprise Service Bus
Open ESB
Mule
Microsoft BizTalk
JBOSS/Glassfish
78 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Vantagens
Diminuição do número de redundâncias de funcionalidades
Baixo acoplamento entre aplicações
Alta interoperabilidade entre plataformas
Alta reutilização das regras de negócio
Redução de custos
Resposta rápida a mudanças nos processos de negócio
Agilidade nas mudanças
Serviços são facilmente testados
80 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
SOA – Modelo Operacional Triangular
Paradigma “procura-consolida-executa” (find-bind-execute)
Registro
de serviços
Usuário
de serviços
Provedor
de serviço
Registra Procura
Executa
(Consolida e Requisita)
81 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Arquitetura Orientada a Serviços
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.
Um serviço consiste da funcionalidade que precisa ser especificada no contexto do negócio e em termos do contrato entre o provedor e o consumidor. Os detalhes de implementação podem ser omitidos.
Em SOA os serviços são partes de um ou mais processos de negócio distribuídos.
82 Professor Marcelo Pacote – [email protected]
W W W. D OMI NAND OTI .COM.B R
Gabarito
(BASA/2012/Cespe/Tec. Científico/Redes/108) certo (MPOG/2013/Cespe/TI/105) e (MPOG/2013/Cespe/TI/106) e (MPOG/2013/Cespe/TI/107) c (MPOG/2013/Cespe/Téc. de Nível Superior V/71) c (ANAC/2012/Cespe/Analista Adm./79) c (ANTT/2013/Cespe/Analista Adim./106) c
83 Professor Marcelo Pacote – [email protected]
Top Related