Vamos a crear la estructura del proyecto en Eclipse para que cumpla con las capas que propone la arquitectura JEE de java.

Crear paquetes

Para crear los paquetes en el proyecto, nos posicionamos en appWeb -> Java Resources -> src/main/java, clic con el botón derecho del mouse ->New -> Package. Escribir Name: y clic en Finish.

new package

Los nombres de los paquetes deben estar en minúsculas.

Crear carpetas

Para crear las carpetas en el proyecto, nos posicionamos en appWeb -> src -> main -> webapp. clic con el botón derecho del mouse ->New -> Folder. Escribir Folder name: y clic en Finish.

Crear Folder


Capa de datos

Parte del back-end

Paquete com.aor.test.entity

  1. Modela las tablas de la Base de Datos en objetos Java.
  2. Contiene todos los entity de las tablas.
  3. Apoyo para el API jpa.

Paquete com.aor.test.entityinterface

  1. Expone los métodos para la comunicación con otras capas.
  2. Cada una de las capas solo se debe de comunicar por interfaces.

Paquete com.aor.test.dao

  1. Todos los métodos para persistir la información.
  2. Toda interacción con la Base de Datos.
  3. Interactúan directamente con los entitys..

Paquete com.aor.test.daointerface

  1. Expone los métodos para la comunicación con otras capas.
  2. Cada una de las capas solo se debe de comunicar por interfaces.

Capa de negocio

Parte del back-end

Paquete com.aor.test.ejb

  1. Se agrega toda la lógica de negocio.
  2. Todos los métodos transaccionales.

Paquete com.aor.test.ejbinterface

  1. Expone los métodos para la comunicación con otras capas.
  2. Cada una de las capas solo se debe de comunicar por interfaces.

Capa de dominio

Parte del back-end

Paquete com.aor.test.jb

  1. JavaBean
  2. Se ocupa para enviar objetos hacia las vistas
  3. Modela una tabla para enviarla a la capa de presentación, por que los entitys son exclusivos para la capa de datos. Esto para evitar problemas de seguridad.

Capa de otros

Parte del back-end

Paquete com.aor.test.appWeb

  1. Tiene el nombre de la aplicación.
  2. Se ocupa para métodos auxiliares o genéricos que se ocuparan en toda la aplicación.
  3. Por ejemplo la encriptación de la contraseña de los usuarios.

Capa de presentación

A excepción del paquete de servlet que es parte del back-end, las carpetas son parte del front-end.

Paquete com.aor.test.servlet

  1. Es el controller
  2. Solo envían y reciben información.
  3. No debe haber ninguna lógica de negocio.

Carpeta por cada tabla de la Base de Datos

  1. El nombre de la carpeta es igual al nombre de la tabla en minúsculas.
  2. Por cada tabla crear una carpeta
  3. En nuestro caso crearíamos las carpetas users y logins_users.
  4. En estas agregaremos todas las acciones, por ejemplo insert, update, delete y select.

Carpeta js/controllers

  1. Para cumplir con el MVC.
  2. Acciones sobre el formulario.
  3. Todos los eventos relacionados con el formulario.

Carpeta js/models

  1. Para cumplir con el MVC.
  2. Modelan un formulario.
  3. Es una analogía de un JavaBean.

Carpeta css

  1. Hojas de estilos particulares.

Carpeta img

  1. Cualquier imagen que se utilice en la aplicación.

Carpeta library

  1. Plug-ins, librerías externas o framework para la vista. Por ejemplo bootstrap.

Resultado

El resultado final es.

Para los paquetes:

Paquetes

Para las carpetas:

Carpetas


NOTAS

  1. La capa de presentación es el conjunto de Servlet’s y JSP’s.
  2. La arquitectura de JEE propone JavaServer Faces, pero tiene los siguiente inconvenientes:
    1. Se pierden las ventajas del HTML5.
    2. El diseñador no puede trabajar de forma paralela, ya que es código del lado del servidor.
    3. No es posible enfocarse cada quien en una capa.
    4. Por esta razón se propone trabajar con Servlet’s y JSP’s.
  3. En el caso de que se necesitara agregar servicios para ser consumidos por otros sistemas, se puede agregar una nueva capa de servicios por encima de la capa EJB. La capa de servicios interactuara con la capa de EJB. Este caso se vera posteriormente.

 

Categories: Java, Programacion

Leave a Reply


API REST 5. Hypermedia

Contenido1 Introducción2 Programar hypermedia2.1 Crear Entity2.1.1 PersonaHateoas2.1.2 GrupoHateoas2.1.3 PaisHateoas2.2 Crear […]

API REST 4. Calidad al implementar aplicacion Web

Contenido1 Introducción1.1 Nivel 1. Uso correcto de URIs1.2 Nivel 2. […]

API REST 3. Publicar y consumir

Contenido1 Descripción2 Publicar y Consumir2.1 Usando CRUD2.1.1 Crear Persona2.1.2 Consultar […]

API REST 2. Conectarse a Base de Datos MySQL

Contenido1 Descripción2 Crear la Base de Datos3 Agregar dependencias4 Crear […]

API REST 1. Spring

Contenido1 Descripción2 Pasos2.1 Instalar eclipse2.2 Instalar librerías de Spring2.3 Importar […]