Guía Completa de Tecnologías Backend: REST, SOAP, JSP, DAO y Más

Clasificado en Informática

Escrito el en español con un tamaño de 5,08 KB

Redes basadas en REST

Cliente-servidor: los clientes solicitan representaciones. Sin estado: cada petición debe encapsular toda la información que se requiera para llevar a cabo el proceso. No se puede utilizar información almacenada en el servidor. Cache: las respuestas pueden ser anotadas como cacheables o no cacheables. Interfaz uniforme: HTTP GET, POST, PUT, Delete. Recursos identificados: el sistema se compone de recursos identificados mediante URLs. Representaciones de recursos interconectadas: las representaciones de los recursos se interconectan mediante URLs, permitiendo así al cliente pasar de un estado a otro.

SOAP vs. REST

SOAP: protocolo ligero que define el intercambio de información en un entorno descentralizado y distribuido. Elementos principales: service message, service description, service Discovery, service transport. Problemas: complicado y difícil de utilizar, solo funciona con XML, no se aprovecha de las ventajas que ofrece la estructura web, no firewall friendly.

REST: un estilo de arquitectura software para sistemas distribuidos en red. Mucho más ligero y simple que SOAP, optimizado para web. El elemento básico es el recurso. Encaja con HTTP. Se usa para implementar CRUD.

Componentes JSP

Scriptlets: fragmento de código Java embebidos en la página (<% código Java %> <jsp:scriptlet> código java </jsp:scriptlet>). Son añadidos al método de servicio del Servlet generado como resultado de la compilación JSP.

Expresiones: una expresión JSP inserta valores directamente en la página de salida. (<%= java expresión %> <jsp:expression> java expresión </jsp:expression>). La expresión Java se evalúa, se convierte a String y se inserta en la página generada. La evaluación se lleva a cabo en tiempo de ejecución, cada vez que el cliente llama a la página.

Declaraciones: permiten definir métodos y atributos que se incluyen en la clase Servlet fuera del método de servicio. (<%! código java %> <jsp:declaration> código </jsp:declaration>). El código en la declaración estará disponible para el resto de declaraciones, expresiones y código.

Acciones: sirven para trabajar con beans jsp:useBean jsp:setProperty jsp:getProperty, redirigir e incluir respuestas de otros recursos jsp:forward jsp:include, especificar plugins para descargar jsp:param jsp:plugin.

Patrones de Diseño y Conceptos Clave

DAO (Data Access Object)

Intermediario entre la aplicación y la base de datos. Sirve para acceder a la base de datos, es el propio DAO que trata los propios objetos y los registros de la base de datos.

JMS (Java Message Service)

Servicio de mensajería: método de comunicación entre componentes software y aplicaciones.

  • Queue: estructura de datos donde se almacenan mensajes. Existen de manera independiente de las aplicaciones, las aplicaciones envían y reciben mensajes de colas. Tipos de cola: temporal, en disco, local, remota.
  • Queue Manager: gestor de cola que se encarga de transferir los mensajes a la cola correcta (modificar atributos, activar triggers, transferir los mensajes a la cola).
  • Topic: publicar mensajes que se entregan a múltiples suscriptores. Varios consumidores requieren la entrega del mensaje. Aquí se envían los mensajes. Existe cierta dependencia temporal: el mensaje se consume solo después de subscribirse al topic y mientras está activo.

Datasource

Factoría de conexiones, el desarrollador no necesita conocer el driver o la URL de la base de datos. Se identifica y describe un origen de datos mediante un conjunto de propiedades (location, db name, protocol), normalmente se define en el servidor de aplicaciones.

Uso:

  1. Crear un objeto statement a partir de la conexión.
  2. Usar los métodos de los objetos statement para ejecutar comandos SQL.
  3. Procesar el conjunto de registros devuelto usando la clase ResultSet.
  4. Cerrar la conexión.

Creación: se crea en el servidor de aplicaciones Glassfish en resources-jdbc.

RestTemplate

Clase que ofrece Spring para el acceso desde la parte cliente a servicios REST. (Crea una conexión HTTP con la URL de un servicio, parsea y convierte datos de JSON a cualquier otro formato que se necesite).

Estrategias de Fetching en ORM

LAZY: las entidades referenciadas solo se recuperan de la base de datos cuando son accedidas (OneToMany y ManyToMany).

EAGER: las entidades referenciadas se recuperan tan pronto como la entidad que las contiene se instancia (OneToOne y ManyToOne).

Entradas relacionadas: