SaaS (Software as a Service): Tutorial do ZillowO NetBeans IDE oferece um Gerenciador de Web Services que dá suporte aplicações Software as a Service (SaaS). SaaS refere-se a um modelo de entrega de aplicação de software onde um fornecedor de software desenvolve uma aplicação de software nativo da Web, hospeda e opera a aplicação para uso por seus clientes via Internet. SaaS é um modelo cada vez mais popular para oferecer funcionalidade de software, já que é econômico em termos de custo e recursos de hardware do cliente. O IDE agora facilita para os desenvolvedores de Java acessar todos os serviços SaaS populares na Web. Este tutorial mostra como usar o SaaS simples fornecido pelo zillow.com. O Zillow.com é uma empresa de serviços imobiliários on-line baseada em Seattle, Washington, fundada em 2005 por Rich Barton e Lloyd Frink, antigos executivos da Microsoft e fundadores da Expedia. O Zillow permite que os usuários vejam o valor de milhões de casas em todos os Estados Unidos, não apenas aquelas que estão para venda. Além de dar estimativas de valores de casas, ele oferece várias funcionalidades exclusivas, incluindo a alteração no valor de cada casa em um determinado período de tempo (por exemplo, 1, 5 ou 10 anos), views aéreas de casas e preços de casas na área. Desde que possa acessar os dados apropriados, ele também fornece informações básicas sobre uma determinada casa, como metragem e o número de quartos e banheiros. Os usuários também podem obter estimativas atuais de casas, caso tenha havido alguma alteração significativa. Neste tutorial, você exibe um gráfico que mostra a média de preços de casas em uma região dos EUA durante 12 meses. Para configurá-lo, primeiro use o Gerenciador de Serviços para inserir a operação ZillowRealEstateService.GetRegionChart em um servlet. O IDE trata a infraestrutura básica, mas você precisa modificar o código do servlet para extrair o URL do Gráfico da Região. Este tutorial mostra como usar objetos JAXB para extrair o URL. Esta é a abordagem mais simples. Conteúdo ![]()
Para seguir este tutorial, são necessários os recursos e o software a seguir.
Registrando para Receber a Chave de API ZillowOs serviços Zillow usam a autenticação de chave de API. Inscreva-se no Zillow aqui para receber uma chave de API. Você precisará preencher um form de registro, mas o registro é gratuito. Outros serviços usam Autenticação HTTP, assinatura de cabeçalho ou log-in do usuário para autenticação. Esses mecanismos serão abordados em futuros tutoriais. Criando o ServletO IDE permite que você insira operações SaaS em servlets, serviços RESTful existentes, páginas JSP ou POJOs (plain Java objects, objetos Java simples). Neste tutorial, você cria uma aplicação Web com um servlet. Para criar o servlet:
O servlet será aberto em uma guia do editor e o servlet e seu pacote pai ficam visíveis na view Projetos, no nó Pacotes de Códigos-Fonte do projeto. ![]() Adicionando a Operação GetRegionChart do Zillow ao servletUse o Gerenciador de Serviços para adicionar a funcionalidade SaaS do Zillow em seu servlet. O IDE cuida de toda a infraestrutura para você. Para adicionar a operação GetRegionChart:
O IDE gera o código do serviços SaaS GET. Quando isso estiver concluído, o método processRequest() terá a seguinte aparência.
O IDE também cria dois novos pacotes, org.netbeans.saas e org.netbeans.saas.zillow, contendo a conexão RESTful e as classes específicas do Zillow, respectivamente. A estrutura completa do pacote é mostrada abaixo. O IDE também importa as classes RestConnection e ZillowRealEstateService em seu servlet. ![]() Adicionando a Chave de API ao ProjetoPara que o projeto acesse os serviços do Zillow, você precisa passar a chave de API que obteve quando se registrou. Abra o arquivo zillowrealestateserviceauthenticator.properties e copie e cole na chave de API que você recebeu no e-mail do Zillow que confirmava o seu registro Modificando o Servlet para Retornar o GráficoO servlet que você criou não produz uma saída útil. Para fazer com que o Gráfico da Região apareça em um browser, você precisa extrair o URL do gráfico da String que o serviço do Zillow retorna, que está no formato de um arquivo XML. Uma estratégia é fazer parsing do arquivo XML e colar o URL em uma página JSP. Essa abordagem é descrita no artigo Consuming Zillow Web Services de Adam Myatt na NetBeans Zone. Neste tutorial, você usa uma abordagem mais simples envolvendo objetos JAXB. Para retornar ao gráfico:
Suas modificações no código agora estão completas! O código final do servlet deve ter a seguinte aparência: package zillow.regionchart; import java.io.IOException; import java.io.PrintWriter; import java.util.logging.Level; import java.util.logging.Logger; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.bind.JAXBException; import org.netbeans.saas.zillow.ZillowRealEstateService; import org.netbeans.saas.RestResponse; /** * * @author jeff */ public class ZillowRegionChartServlet extends HttpServlet { /** * Processes requests for both HTTP Executando o Servlet do Gráfico da Região ZillowA forma mais simples de executar o servlet é clicar com botão direito do mouse no servlet na view Projetos e selecionar Executar Arquivo. Como alternativa, clique com o botão direito do mouse no nó Projeto e selecione Propriedades. Na árvore Propriedades, selecione Executar. No campo URL relativo, digite /ZillowRegionChartServlet, como mostrado abaixo. Clique em OK e execute o projeto. ![]() Quando você executa o projeto com êxito, uma janela do browser é aberta mostrando o Gráfico da Região. ![]() Mais ExercíciosA seguir, encontam-se mais algumas ideias para você explorar:
Consulte TambémPara obter mais informações sobre o uso do NetBeans IDE para desenvolver Web services RESTful, SaaS e outras aplicações Java EE, consulte os seguintes recursos:
Para enviar comentários e sugestões, obter suporte e se manter informado sobre os mais recentes desenvolvimentos das funcionalidades de desenvolvimento Java EE do NetBeans IDE, inscreva-se na lista de notícias . |
Documentation |