jueves, 16 de abril de 2015

API REST - Java

API REST - Java:

Para la gestión y construcción del proyecto elegimos Maven.

Se decide utilizar Spring el cual tiene un conjunto de utilidades para integrar las dependencias más utilizadas en Java.
En nuestro caso, la usaremos para Jersey (rest) y JPA/Hibernate (persistencia).

Decimos utilizar el servicio de alojamiento web que presta Google de forma gratuita llamado "Google App Engine".

Repositorio: GitHub.






*Web Container es la nube de Google App Engine.



 Maven project structure

  • /src/main/java folder, that contains source files for the dynamic content of the application (contenido dinámico).
  • /src/test/java folder contains all source files for unit tests (pruebas).
  • /src/main/resources folder contains configurations files (configuración).
  • /target folder contains the compiled and packaged deliverables (entregables).
  • the pom.xml is the project object model (POM) file. The single file that contains all project related configuration (configuración de proyectos relacionados).
Se decide utilizar la linea de comando de windows para el setup del entorno tienendo como referencia los siguientes tutoriales:

PASO A PASO

  1. clone GitHub a workspace/Smartpump desde Eclipse.
  2. voy a linea de comando y me ubico en workspace/Smartpump 
  3. git checkout -b feature_gaeSkeletonArchetype
  4.  echo "Branch for appengine skeleton archetype" > branch.txt
  5.  git add .
  6. git commit -m "Branch message added."
  7. git push -u origin feature_gaeSkeletonArchetype
  8. mvn archetype:generate  -DarchetypeGroupId=com.google.appengine.archetypes  -DarchetypeArtifactId=appengine-skeleton-archetype  -DarchetypeVersion=1.8.7 -Dappengine-version=1.9.19  -DgroupId=com.smartpump.Bismara  -DartifactId=Bismara -Dversion=0.1  -Dpackage=com.smartpump
  9. me ubico en Bismara y ejecuto "mvn clean install"
  10. mvn -pl Bismara-ear appengine:devserver
  11. mvn appengine:devserver
  12. Dev App Server running
  13. mvn -pl Bismara-ear appengine:update (para subirla a la nube de google y que te de el link)
  14. quedo finalmente http://smartpump-dev.appspot.com/context/bismara/test
  15. Se integra Jersey siguiendo el siguiente tutorial:

  16. Clean and Build y luego vuelvo a correr la app (mvn appengine:devserver) pero ahora con Jersey.
REST API responde correctamente!





Jersey + Spring

Jersey (para los servicios web RESTful) y Spring (para inyección de dependencias) logran una combinación de dos tecnologías potentes para un desarrollo de servicios web mas amigable.
Tutoriales:

Persistencia (JPA)

Java Persistence API, más conocida por sus siglas JPA, es la API de persistencia desarrollada para la plataformaJava EE.
El objetivo que persigue el diseño de esta API es no perder las ventajas de la orientación a objetos al interactuar con una base de datos (siguiendo el patrón de mapeo objeto-relacional), como sí pasaba con EJB2, y permitir usar objetos regulares (conocidos como POJOs).

Ejemplo:
http://www.codingpedia.org/ama/java-persistence-example-with-spring-jpa2-and-hibernate/




















No hay comentarios:

Publicar un comentario