Web Services Usando Maven, Spring e JAXB [Parte 1]

É notável a heterogeneidade de recursos e tecnologias que compõem um sistema. Módulos desenvolvidos em linguagens diferentes, diversos sistemas de gerenciamento de banco de dados, serviços de diretório e serviços de mensagens são ambientes comuns dentre os módulos de uma aplicação enterprise. Diante deste cenário, a integração se torna um passo fundamental. Não apenas a integração entre os módulos do sistema, mas também entre funcionalidades disponibilizadas por ambientes externos. Em termos de interoperabilidade, a tecnologia de Web Service (WS) fornece o arcabouço necessário para tais integrações. Utilizando a linguagem Extensible Markup Language (XML) para modelar as informações, é possível a troca de mensagens entre os mais variados ambientes.

Este é o primeiro de uma sequência de posts no qual explicaremos em detalhes como desenvolver um WS em Java utilizando as tecnologias Spring e JAXB.

 

A criação de um WS permite que você exponha funcionalidades do seu sistema para acesso externo sem ficar limitado a uma linguagem de programação específica. Por exemplo, é possível que um sistema escrito em .Net da Microsoft se comunique com um sistema Java, uma vez que ambos esperam enviar/receber mensagens XML. Note que através da integração via WS é possível que dados em uma base SQL Server acessados via um sistema .Net sejam compartilhados com um sistema escrito em Java, que faz uso de uma base de dados Oracle.

O fato do cliente e WS se comunicarem através de mensagens XML implica na escrita de código específico capaz de gerar dados XML, do ponto de vista do cliente, e processar esse XML, do ponto de vista do WS. Contudo, a manipulação direta de dados textuais pode ser uma tarefa trabalhosa, dispendiosa e propícia a erros. Felizmente, quando se trata de soluções Java, esse código pode ser facilmente programado com auxilio da Java Architecture for XML Binding (JAXB) API.

A JAXB API permite aos desenvolvedores Java mapear classes para representações XML. Isso ocorre nos dois sentidos da comunicação: cliente para WS, e WS para cliente [1]. Mais tecnicamente, a JAXB permite que sejam realizadas as operações de marshalling e unmarshalling. Esta consiste na conversão de um XML em objetos Java, enquanto que aquela é definida pela conversão de objetos Java em XML. Deste modo, é possível representar as mensagens XML em memória através de objetos Java.

É possível observar a atuação do JAXB como parte da solução de implementação do WS. A camada extra processa os XMLs de entrada convertendo-os em objetos Java, bem como converte os objetos Java gerando os XMLs de resposta.

No próximo post iniciaremos a implementação do nosso WS. Apresentaremos os requisitos do serviço que será implementado e mostraremos como as classes Java podem ser facilmente programadas para manipular mensagens XML através da JAXB API.

Referências

[1] http://www.oracle.com/technetwork/articles/javase/index-140168.html

Links Externos

Spring

JAXB

Por MATERA SYSTEMS

Postado em: 25 de julho de 2013

Confira outros artigos do nosso blog

[Webinar] Profile de aplicações Java com Oracle Mission Control e Flight Recorder

24 de julho de 2017

Danival Calegari

Criando Mocks de serviços REST com SoapUI

27 de junho de 2017

Monise Costa

Three laws that enable agile software development

09 de março de 2017

Celso Gonçalves Junior

Medindo performance de uma API REST

21 de fevereiro de 2017

Monise Costa

Deixe seu comentário