Escolar Documentos
Profissional Documentos
Cultura Documentos
DE
APLICAÇÕES
Introdução
Neste capítulo, você conhecerá os principais conceitos e termos utilizados
para o tratamento e a aplicação de web service. Além disso, conhecerá as
tecnologias XML, WSDL, SOAP, UDD, entre outras. Ainda, verá como obter
segurança na comunicação dos serviços e na integração de dados entre
diferentes sistemas. Por fim, verá como criar um web service e um cliente.
Banco de dados
Aplicação mobile
Android
Web service
Segurança
Antigamente, muitas empresas temiam prover funcionalidades na internet,
devido ao receio de expor seus dados. Todavia, com o advento dos web services,
as empresas passaram a publicar seus serviços de forma simples e isolada da
base de dados. As questões mais relevantes para a segurança dos web services
são listadas a seguir.
XML Signature
XML Encryption
Tecnologias utilizadas
Para a representação e a estruturação dos dados nas mensagens recebidas/
enviadas, utiliza-se o formato XML. As chamadas às operações, incluindo
os parâmetros de entrada/saída, são codificadas no protocolo SOAP (baseado
em XML). Os serviços (p. ex., operações, mensagens, parâmetros, etc.) são
descritos utilizando a linguagem WSDL, e o processo de publicação/pesquisa/
descoberta de web service utiliza o protocolo UDDI (HANSEN, 2007).
O formato XML é a base em que os web services são construídos, pois fornece
a descrição, o armazenamento e o formato da transmissão para trocar os dados
através dos web services. A sintaxe de XML utilizada nas tecnologias dos web
services especifica como os dados são representados genericamente, definindo
como e com que qualidade de serviço esses dados são transmitidos, bem como
de que forma os serviços são publicados e descobertos.
<?php
/* Criamos a instância do Servidor SOAP.
* A opção uri indica o namespace do web service no servidor.
*/
$options = array('uri' => 'http://localhost/soap/server/');
/*
*O primeiro parâmetro null indica que estamos trabalhando com
um web service no modo não WSDL.
*/
$server = new SoapServer(null, $options);
/*
* Informamos a classe em que o web service irá se basear.
* Podemos usar também o método addFunction() para adicionar
* funções em nosso web service.
*/
$server->setClass('ServidorSoapTeste');
/*
* O método handle() processa a requisição SOAP e envia uma
resposta
* para o cliente.
*/
$server->handle();
/*
* A classe ServidorSoapTeste será disponibilizada em nosso
* web service. Portanto, temos disponíveis no web service
os métodos
* RetornaMensagem e SomaValores.
*/
10 Cliente de web service (JSP, PHP)
class ServidorSoapTeste {
public function RetornaMensagem($nome)
{
return "Boas Vindas, $nome !";
}
public function SomaValores($a, $b)
{
return "O valor da soma é: " + $a + $b;
}
}
?>
<?php
/*
* Essa é a instância de nosso cliente para consumo do web
service.
* Definimos a localização e o namespace do servidor de web
service.
* Passando null no primeiro parâmetro do construtor indicamos
que o web service irá trabalhar no modo não WSDL.
*/
$options = array(
'location' => 'http://localhost/soap/server/WebServer.php',
'uri' => 'http://localhost/soap/server/'
);
$client = new SoapClient(null, $options);
// No Objeto $client podemos usar os métodos da classe
ServidorSoapTeste
// É esperado um retorno semelhante a "Boas Vindas, Novo Aluno!".
echo $client->mensagem('Novo Aluno') . "<br />";
// Deverá retornar "O valor da soma é: 8"
echo $client->soma(3, 5) . "<br />";
?>
Cliente de web service (JSP, PHP) 11
Os web services são serviços disponíveis Uma API é uma coleção de classes
na internet. Você pode ligar para esses que fornece algumas funcionali-
serviços e obter informações em seu dades, como a API do Google, que
aplicativo sem saber como ele funciona. fornece pesquisa nesse mecanismo
Por exemplo, os web services meteoro- de busca.
lógicos fornecem informações sobre o
clima de uma cidade.
Portanto, pode-se dizer que os modelos de web services e APIs são distintos,
mas podem se complementar, dependendo dos seus cenários de aplicação.
ABINADER, J. A.; LINS, R. D. Web services em Java. Rio de Janeiro: Brasport, 2006. 288 p.
CARDOSO, J. Semantic web services: theory, tools and applications. Hershey: IGI Global,
2007. 372 p.
HANSEN, M. D. SOA using Java™ web services. Upper Saddle River: Pearson Education,
2007. 574 p.
KALIN, M. Java web services: up and running. 2. ed. Sebastopol: O’Reilly, 2013. 360 p.
Leituras recomendadas
LECHETA, R. R. Web services RESTful: aprenda a criar web services RESTful em Java na
nuvem do Google. São Paulo: Novatec, 2015. 432 p.
SAUDATE, A. SOA aplicado: integrando com web services e além. São Paulo: Casa do
Código, 2014. 326 p.