Para isso, seráapresentada a construção de um DER para o banco de dados MySQL seguido pelodesenvolvimento de um serviço REST utilizando o Jersey, implementação dereferência da especificação JAX-RS.
Além disso, será utilizada a especificaçãoJPA e o Hibernate como ferramenta ORM para fazer o mapeamento objeto relacionalentre as tabelas do banco de dados e as classes Java.
Ao final, você saberácomo implementar seus primeiros serviços web, recurso cada vez mais comum nomercado de software, que busca soluções capazes de prover diferentes interfaces com o usuário e de fácil integração.
Durante muito tempo os web services baseados em SOAP foram praticamente a única solução para a comunicação e implementação de sistemas distribuídos.
Devido a isso e visando a qualidade dosserviços, essa opção passou por várias melhorias ao longo dos anos,principalmente relacionadas à segurança.
No entanto, os web services SOAP acabaramficando complexos, de difícil implementação e com custos elevados de adoção. A partir de então, a opção por esse tipo de web service passou a ser inviável em alguns cenários, seja pelo custo, por recursos de hardware e de software ou mesmo pelo grande consumo de banda da rede, principalmente por parte dos dispositivos móveis, que ainda não têm uma conexão de alta velocidade a preços acessíveis.
O protocolo SOAP necessita de uma série de parâmetros e configurações no formato XML para viabilizar a troca de dados entre cliente e servidor e isso torna as mensagens longas tanto para tráfego na rede quanto para o dispositivo cliente processar a resposta.
O uso de web services surge da necessidade de se ter uma aplicação distribuída e escalável, necessidade esta que se espalha pelos mais diversos setores de negócio por todo o mundo, seja para integrar sistemas em diferentes plataformas, como os dispositivos móveis, seja para conectar sistemas web a sistemas legados, expor um canal de comunicação para clientes ou parceiros, dentre outras necessidades.
Neste cenário, com o intuito de facilitar a comunicação entre sistemas, podemos fazer uso do protocolo HTTP e usufruir do padrão arquitetural REST para implementar os serviços web, simplificando assim a troca de dados entre cliente e servidor.
Como um grande diferencial, o REST suporta os principais formatospara comunicação e troca de informações (JSON e XML), popularmente utilizadosno desenvolvimento de sistemas distribuídos e em outras aplicações.
Conhecido por ser um estilo híbrido derivado de vários estilos arquiteturais baseados em rede, o REST tem como idealização e pilar a implementação de serviços web baseados no protocolo HTTP. O termo surgiu nos anos 2000, na dissertação do coautor do protocolo HTTP, Dr. Roy Thomas Fielding, para obtenção do título de PhD, com a dissertação “Architectural Styles and the Design of Network-based Software Architectures”.
Neste artigo iremos desenvolver um serviço RESTful responsável por viabilizar um cadastro de clientes com todas as funcionalidades de um CRUD. O desenvolvimento desse cadastro consiste na implementação de um web service para que um cliente possa consumir e realizar as operações básicas de acesso ao banco de dados.
Instalando o Eclipse Luna
Para o desenvolvimento do projeto “cadastro de clientes” iremos utilizar o Eclipse Luna. Sendo assim, baixe esta versão na página do Eclipse e então descompacte o arquivo em um diretório de sua preferência.
Ao executar esta IDE pela primeira vez é solicitado ao usuário que informe um diretório para servir como ambiente de trabalho. O workspace nada mais é do que uma pasta adotada pelo Eclipse para salvar os projetos que ele está gerenciando.
Criando o projeto com Eclipse e Maven
Para criar o projeto no Eclipse, clique no menu File > New > Other. Logo após, será exibida uma nova janela, conforme a Figura 1, para que seja selecionado o wizard que auxiliará na criação do projeto. Neste caso, selecione a opção Maven > Maven Project e clique em Next.
Na próxima tela, de criação do projeto Maven, deixe marcada a opção Use default workspace location para que seja utilizado o workspace configurado ao executar o Eclipse pela primeira vez. Em seguida, clique mais uma vez em Next (vide Figura 2).
Agora, conforme apresentado na Figura 3, deve ser selecionado o Archetype do Maven a ser utilizado para criar o projeto. Neste caso, selecione a opção maven-archtype-webapp, pois iremos criar um projeto Java EE.
O Archetype é uma espécie de template queviabiliza a criação de projetos com base em uma tecnologia ou especificação, como JSF, JPA, Spring, Struts, dentre outras. Feito isso, clique em Next.
A última tela do wizard, apresentada na Figura 4, mostra alguns campos que devem ser preenchidos para finalizar a criação do projeto. Nela, deve ser informado o group id (geralmente informa-se o site da organização), o id do artefato (identificador do projeto), a versão deste e o nome completo do pacote base.
Após clicar em Finish, em algumas ocasiões pode ocorrer um erro de acesso à pasta do repositório local do
Maven, informando que não foi possível definir esse repositório. Para solucioná-lo você deve deletar a pasta
repository para que o Eclipse possa criá-la novamente com as permi ...