Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade da Beira Interior Sistemas Distribuídos - 2014/2015 Curso: Engª Informática Folha 11 Paula Prata, Departamento de Informática da UBI JAX-RS: Java API for RESTful Web Services A - Creating RESTful Web Services from a Database 1- Comece por criar um projeto do tipo “Java Web application”, como fez nos exercícios das fichas anteriores. No exemplo que ilustra este exercício o nome do projecto foi ws1. 2 – Gerar entity classes e RESTful Web Services: - Clicando com o botão direito do rato sobre o nó do projecto seleccione New /Other /Web Services / RESTful WebServices. Após Next, o “New RESTful Web Service wizard” abre no painel das tabelas da base de dados. . - Em Data Source seleccione jdbc/sample e aparecerão as tabelas da base de dados exemplo com que já trabalhou. Selecione a tabela Customer. - Após Next, atribua um nome ao package onde irão ser colocadas as entities a criar. - Após Next, poderá ver uma janela com o nome do package onde irão ser colocadas as classes do serviço a criar, entities.services. Universidade da Beira Interior Sistemas Distribuídos - 2014/2015 Curso: Engª Informática Folha 11 Paula Prata, Departamento de Informática da UBI - Após Finish, o editor irá criar as entities, tal como já tinha feito em exercícios anteriores. Pode observar as entities criadas no package entities. - No package entities.service pode observar que para cada entity foi criado um stateless Session Bean, CustomerFacadeREST, DiscountCodeFacadeREST e MicroMarketFacadeREST. que contêm as operações base para manipular os dados das tabelas correspondentes. Observe que estas três classes são subclasses da classe abstracta AbstractFacade. Esta classe é uma classe genérica que pode ser parametrizada com diferentes tipos de dados. Neste caso com Customer, DicountCode e MicroMarket consoante a tabela que queremos manipular. - Observe ainda que é criada uma classe de configuração ApplicationConfig.java. B - Testar o RESTful Web Service localmente. - Clicando com o botão direito do rato sobre o nó do projecto, seleccionar a opção “Test RESTful Web Services”. Selecione a opção, Locally generated Test Client … e após “ok”, o editor gerará o ficheiro test-resbeans.tml (ver default package) faz o deploy da aplicação e inicia a execução. No seu browser aparecerá a janela ilustrada abaixo que tem do lado esquerdo um no para cada uma das entities criadas: Universidade da Beira Interior Sistemas Distribuídos - 2014/2015 Curso: Engª Informática Folha 11 Paula Prata, Departamento de Informática da UBI Expanda os nós e explore as operações disponibilizadas. Na janela de output tem 5 abas: Em Raw View pode observar o resultado do query seleccionado. Pode também aceder directamente à página anterior com o endereço: http://localhost:8080/ws1/test-resbeans.html Para aprofundar o estudo veja: http://docs.oracle.com/javaee/7/tutorial/ (capítulos 29, 30 e 31) Universidade da Beira Interior Sistemas Distribuídos - 2014/2015 Curso: Engª Informática Folha 11 Paula Prata, Departamento de Informática da UBI B – Explorar o exemplo rsvp Os exemplos do tutorial do Java EE 7 são instalados na diretoria as-install-parent/docs/javaee-tutorial/examples, onde as-install-parent será Solaris / Linux / Mac - user's-home-directory/glassfish4/glassfish Windows - SystemDrive:\glassfish4\glassfish Se não tiver os exemplos, pode actualizar o seu tutorial: 2.8.1 To Update the Tutorial Using NetBeans IDE 1. Open the Services tab in NetBeans IDE and expand Servers. 2. Right-click the GlassFish Server instance and select View Domain Update Center to display the Update Tool. 3. Select Available Updates in the tree to display a list of updated packages. 4. Look for updates to the Java EE 7 Tutorial (javaee-tutorial) package. 5. If there is an updated version of the Tutorial, select Java EE 7 Tutorial (javaee-tutorial) and click Install. Para poder abrir alguns dos exemplos do tutorial do Java EE 7 é necessário que instale no seu editor os “Tutorial Archetypes”: … 2.7.1 Installing the Tutorial Archetypes You must install the included Maven archetypes into your local Maven repository before you can create new projects based on the archetypes. You can install the archetypes using NetBeans IDE. 2.7.1.1 Installing the Tutorial Archetypes Using NetBeans IDE 1. From the File menu, choose Open Project. 2. In the Open Project dialog box, navigate to: tut-install/examples 3. Select the archetypes folder. 4. Click Open Project. 5. In the Projects tab, right-click the archetypes project and select Build. 1 – Abra e execute o exemplo “rsvp” seguindo os passos seguintes: 1. If the database server is not already running, start it by following the instructions in Starting and Stopping the Java DB Server. 2. Make sure that GlassFish Server has been started (see Starting and Stopping GlassFish Server). 3. From the File menu, choose Open Project. 4. In the Open Project dialog box, navigate to: tut-install/examples/jaxrs 5. Select the rsvp folder. 6. Click Open Project. 7. In the Projects tab, right-click the rsvp project and select Run. The project will be compiled, assembled, and deployed to GlassFish Server. A web browser window will open to the following URL: http://localhost:8080/rsvp/index.xhtml 8. In the web browser window, click the Event status link for the Duke's Birthday event. You'll see the current invitees and their responses. 9. Click the current response of one of the invitees in the Status column of the table, select a new response, and click Update your status. The invitee's new status should now be displayed in the table of invitees and their response statuses. Universidade da Beira Interior Sistemas Distribuídos - 2014/2015 Curso: Engª Informática Folha 11 Paula Prata, Departamento de Informática da UBI 2 – Explore o exemplo. a) - Observe que foi criada a base de dados “sun-apserv-samples”. Analise as tabelas da base de dados e as respectivas “entities” que lhe deram origem: Event, Person e Response. b) - O bean “Configbean” inicializa a base de dados. - O Bean “StatusBean” expõe os recursos para mostrar o estado dos convidados para um dado evento. - O bean “ResponseBean” expõe os recursos para actualizar a resposta de um convidado para um dado evento. c) - A classe “RsvpApplication” é subclasse de Application e define o URI base para os recursos da aplicação: @ApplicationPath("/webapi") - Observe que quando executa a aplicação ela abre no endereço: http://localhost:8080/rsvp/index.xhtml d) - Observe as 3 páginas xhtml. e) - A API JAX-RS Client permite aceder a recursos REST usando classes JAVA. Neste exemplo são usadas as classes EventManager e StatusManager. Nestas classes são criadas instâncias da javax.ws.rs.client.Client, nas quais se podem chamar recursos REST.
Compartilhar