O NetBeans IDE oferece um Gerenciador de serviços Web que dá suporte a aplicativos Software as a Service (SaaS). SaaS refere-se a um modelo de entrega de aplicativo de software onde um fornecedor de software desenvolve um aplicativo de software nativo da Web, hospeda e opera o aplicativo 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 torna mais fácil para desenvolvedores Java acessar todos os serviços SaaS populares na Web.
A Plataforma Facebook é um serviço Web baseado em padrões com métodos para acessar e contribuir com dados do Facebook. A Plataforma Facebook é documentada no Facebook Developers Wiki.
O Facebook protege a comunicação do serviço Web com o mecanismo Logon do usuário. O desenvolvedor do aplicativo precisa registrá-lo no Facebook para obter uma chave de API e uma chave secreta. Cada chamada de método ao Facebook precisa ser assinada com a chave secreta. Durante o processo de logon, o aplicativo primeiro chama o Facebook para solicitar um token por meio da chave de API. Em seguida, o usuário é redirecionado para uma URL de logon construída a partir da chave de API e do token. Essa URL leva o usuário para uma página de logon no Facebook. Depois que o usuário fizer logon no Facebook e autorizar o aplicativo a chamar o Facebook em seu nome, o aplicativo enviará de volta uma chave de sessão e uma chave secreta de sessão. A partir daí, todas as chamadas de API devem passar a chave de sessão e serem assinadas por meio da chave secreta de sessão.
Neste tutorial, você usa a operação friends_get simples inserida em um arquivo JSP para retornar uma lista dos IDs numéricos de todos os amigos do Facebook do usuário. O tutorial tem como objetivo mostrá-lo como configurar a complicada autenticação de Logon do usuário do Facebook. Por analogia, isso deve ajudá-lo com outros serviços de Logon do usuário, tal como Flickr's.
Servidor da aplicação ou Web compatível com Java EE
Servidor Web Tomcat 6.0 e/ou servidor da aplicação GlassFish v2 Importante: Se você usa Tomcat com este tutorial, consulte o NetBeans Wiki sobre Tomcat com REST
Criando o projeto
O IDE permite que você insira operações SaaS em servlets, serviços RESTful existentes, páginas JSP ou POJOs (plain Java objects). Neste tutorial, você cria um projeto de aplicação Web e adiciona o serviço na página JSP padrão do projeto.
Para criar o projeto:
Escolha Arquivo > Novo projeto. Em Categorias, selecione Java Web. Em Projetos, selecione Aplicação Web e clique em Próximo.
No campo Nome do projeto, digite FacebookSaas.
Selecione o servidor GlassFish ou Tomcat e Java EE 5. Clique nas opções restantes e clique em Terminar. A página index.jsp do projeto se abre no IDE.
Clique com o botão direito do mouse no nó do projeto FacebookSaas e selecione Propriedades na janela de contexto. A caixa de diálogo Propriedades do projeto é aberta.
Abra a categoria Executar e desmarque Implantar ao salvar. Clique em OK.
Na janela Serviços , expanda o nó Serviços Web. Expanda o nó e os subnós do Facebook até encontrar a operação friends_get.
Clique com o botão esquerdo do mouse na operação friends_get. Mantenha pressionado o botão esquerdo do mouse e arraste a operação para o corpo do index.jsp. A caixa de diálogo Personalizar SaaS GET é aberta, na qual você pode definir os valores de parâmetro iniciais. Aceite os valores padrão e clique em OK. O insere a operação friends_get no corpo do index.jsp, que agora tem a seguinte aparência:
Se o compilador não reconhecer a classe FriendsGetResponse, você precisa instalar os patches mais recentes no NetBeans IDE. Este patch inclui o suporte para JAXB FriendsGetResponse.
Você pode usar o objeto JAXB FriendsGetResponse para acessar o documento XML subjacente. Adicione uma linha vazia depois da linha facebook.socialnetworkingservice... e digite resultObj.. Aparece uma janela pop-up com todos os métodos que estendemresultObj e que você pode usar para acessar o XML subjacente.
O IDE também adiciona classes e o arquivo de propriedade da chave de segurança nos pacotes org.netbeans.saas e org.netbeans.saas.facebook. A estrutura completa do projeto é mostrada na janela Projetos.
Por último, o IDE insere a seção seguinte no web.xml, que está na pasta Web Pages/WEB-INF:
Registre o aplicativo com o Facebook para obter uma chave de API e uma chave secreta. Você precisa de uma conta do Facebook. Quando você obtiver as chaves, copie-as do seu navegador e cole-as em org.netbeans.saas.facebook.facebooksocialnetworkingserviceauthenticator.properties.
Para registrar seu projeto:
Abra uma janela do navegador e faça logon no Facebook.
Clique em + Configurar novo aplicativo. A página Novo aplicativo se abre.
No campo Nome do aplicativo, digite FacebookSaas. O nome do aplicativo sempre deve corresponder ao nome do projeto de aplicação Web.
Expanda os Campos opcionais.
Digite os endereços de email de suporte do usuário e do desenvolvedor.
Em URL de retorno de chamada, digite http://localhost:8080/FacebookSaas/FacebookSocialNetworkingServiceCallback. Essa URL é derivada do número da porta em que o GlassFish está sendo executado, o nome do projeto e o nome da classe que está passando o resultado. (Se você estiver usando um servidor em uma porta diferente da 8080, digite o número dessa porta.) Você pode ver o nome dessa classe no arquivo index.jsp, na linha RestResponse result = FacebookSocialNetworkingService.friendsGet(request, response, format, flid); as URLs de todos os serviços autenticados por logon do usuário são construídas dessa forma.
Deixe todo os outros campos com seus valores padrão. Clique em Enviar. O navegador é atualizado com a home page do aplicativo FacebookSaas. A API recém-gerada e as chaves secretas são exibidas.
No IDE, vá para a janela Projetos e abra facebooksocialnetworkingserviceauthenticator.properties, em org.netbeans.saas.facebook. Copie a chave da API e a chave secreta do navegador para esse arquivo. Salve o arquivo.
Executando o projeto
Depois de recuperar a API e as chaves secretas do Facebook, você pode executar seu projeto.
Para executar o projeto:
Abra index.jsp e retire o comentário da instrução print out.println("The SaasService returned: "+result.getDataAsString());. Você também pode fazer algumas alterações cosméticas: altere o título e o cabeçalho h1 de "JSP Page" para "Facebook Get Friends Service," altere o texto no bloco de teste de "The SaasService returned:" para "Your friendlist IDs are:", ou quaisquer outras alterações desejadas.
Clique com o botão direito do mouse no nó do projeto na janela Projetos. Selecione Executar no menu de contexto. O IDE constrói seu projeto e o implanta no servidor da aplicação.
Uma janela do navegador se abre, na qual você é solicitado a fazer logon no Facebook. Clique em Fazer logon no Facebook e uma página de logon aparece para o projeto do FacebookSaas. Faça logon com suas credenciais do Facebook.
Talvez apareça um aviso de que a página da Web está tentando acessar sua intranet. Permita que a página da Web acesse sua intranet.
Uma lista de ids numéricos de sua lista de amigos é retornada no navegador.
Mais exercícios
Aqui estão mais algumas idéias para você explorar:
Recrie index.jsp para apresentar os dados de uma forma visualmente mais atraente do que uma lista de números.
Adicione operações adicionais do Facebook no projeto. Crie index.jsp para exibir uma tabela de informações sobre os amigos do usuário, por exemplo.
Tente acessar as operações do Facebook a partir de um aplicativo de área de trabalho Java em vez de uma aplicação Web. Para fins de teste, você pode soltar a operação do Facebook no método main de uma classe main. Você também poderia criar uma GUI e soltar a operação nessa classe. Quando registra seu aplicativo no Facebook, você precisa especificar que ele é um aplicativo de área de trabalho e não é necessário especificar o retorno de chamada. Além disso, quando você executar o aplicativo, aparecerá uma caixa de diálogo com uma URL e o usuário precisará copiar e colar a URL em um navegador para fazer logon no Facebook.
Para obter mais informações sobre o uso do NetBeans IDE para desenvolver serviços Web RESTful, SaaS e outros aplicativos Java EE, consulte os seguintes recursos:
Para enviar comentários e sugestões, obter suporte e se manter informado sobre os mais recentes desenvolvimentos dos recursos de desenvolvimento de Java EE do NetBeans IDE, inscreva-se na lista de endereçamento de .