Tema_6_JEE Flashcards
JDBC ofrece el paquete java.sql que tiene las siguientes clases para trabajar con bases de datos:
- DriverManager, para cargar un Driver.
- Connection para establecer conexiones con la BBDD.
- Statement, para ejecutar sentencias SQL y enviarlas a la BBDD.
- PreparedStatement La ruta de ejecución está predeterminada en el servidor de base de datos que le permite ser ejecutado varias veces.
- CallableStatement Viene de CALL. Para ejecutar sentencias SQL de Procedimientos Almacenados.
- ResultSet Para almacenar el resultado de la consulta.
- DataSource es una interfaz, que abstrae del programa la conexión a la base de datos. Por lo que si cambia algo, solo hay que cambiarlo en el DataSource.
Comandos o sintaxis más representativos de:
JMS (Java Message Service)
JMS QUEUE - Solo envía un mensaje a un usuario.
JMS TOPIC - Envía un mensaje a todos los usuarios suscritos.
JMS PROVIDER - Implementación de JMS Interface para MOM (Message-oriented middleware)
JMS CLIENT - Aplicación o proceso que envía o recibe mensajes.
JMS MESSAGE - Objeto con los datos que intercambian los JMS Clients
Session (createProducer(Destination),createMessage())
Que crea un mensaje para enviar a un usuario concreto.
MessageListener (onMessage(Message))
Donde MessageListener, escucha mensajes de forma asíncrona.
onMessage es el método.
Comandos o sintaxis más representativos de :
JNDI (Java Naming and Directory Interface)
Lookup se usa para localizar un objeto.
Ejemplo: InitialContext (método lookup(String))
Comandos o sintaxis más representativos de JTA:
Ejem: UserTransaction (métodos commit(), rollback())
Objeto principal: UserTransaction
Commit se usa para confirmar todas las ramas de la transacción e indicar el final de la transacción distribuida.
Rollback se usa para insertar datos en varios sitios y si no tiene exito, no se completa la acción.
En JEE, los componentes, se agrupan en dos contenedores, que son??
- Web Container (Capa de presentación)
- EJB Container (Capa de negocio )
COMPONENTES CAPA DE NEGOCIO
- EJB Sesion-Session Beans → Que pueden ser “Stateful”, “Stateless” or “Singleton”. Y pueden ser accedidos en local mediante Máquina Virtual de Java o JVM o en remoto.
- EJB MDB → Message Driven Beans. Se desencadenan por MENSAJES en lugar de por llamadas a métodos. Es lógica de negocio ASÍNCRONA.
- Web Services (SOAP y REST)
COMPONENTES CAPA PRESENTACIÓN
- JSP (html + + objetos predefinidos) De capa de presentación.
- JSTL (html + taglib personalizados Ej ) Evolución de JSP.
- JSF (tags UI predefinidos Ej. ) Evolución de las anteriores.
- SERVLETS/FILTER (Recibe las peticiones http y las va repartiendo según lo que necesiten. Capa de control)
Nombra los SERVICIOS que ofrece el App Server en JEE.
- JTA (Servicio de transacciones) Java Transaction API.
- JNDI (Servicio de nombres - Arbol de objetos) Java Naming and Directory Interface. Permite descubrir y buscar datos y recursos, por el nombre.
- JPA (Servicio de persistencia - ORM) Jakarta Persistence API- Persigue el uso de bases de datos relacionales, pero sin perder las ventajas de la orientación a objetos. Hace uso de JPQL (Java Persistence Query Languaje). Aquí aparece el concepto de ORM (Object Relational Mapping)
- JMS (Servicio de colas de mensajes) Java Message Service. Puede tener dos modos, Point to point (P2P) o Publicador/Suscriptor. Ámbos modos pueden ser Síncronos, mediante el método Receive o Asíncronos, por medio del MessageListener.
- JSON-P (Servicio para documentos JSON) JavaScript Object Notation with Padding, que nos permite cargar datos de otros servidores, saltándonos la política SOP, Same Origin Policy
- CDI (Servicio de inyección de dependencias) Contexts and Dependency Injection
- Jakarta MVC Model-View-Controller
- Jakarta NoSQL
- JDBC (Servicio de persistencia de bajo nivel)
- JAX-WS Web Services SOAP
- JAX-RS Web Services REST
Nombra servidores de aplicación/entornos de ejecución para JEE
- Apache TomEE
- Eclipse GlassFish
- IBM WebSphere Liberty
- JBoss Enterprise Application Platform
- Payara Server
- Weblogic
- Wildfly
¿Como se llaman los paquetes de Java antiguos y los de ahora, teniendo en cuenta que el dueño ahora es Jakarta?
Antes eran javax.*
y ahora son jakarta.*
Lo que significa que si quieres pasar de tu versión antigua a la nueva de Jakarta, tienes que cambiar en todo tu código, javax… por jakarta…
¿JEE sustituye a JRE?
NO. Se sitúa por encima para darle capacidades extra.
¿Qué es FULL PROFILE en JEE?
Es el paquete completo de descarga de JEE.
¿Qué significan las siglas JEE?
Java Enterprise Edition
ó
Jakarta Enterprise Edition
¿Qué es JEE y para qué se usa?
- Plataforma de programación para desarrollar y ejecutar software de aplicaciones en JAVA.
- Es un conjunto de API’s. Unas definen COMPONENTES y otras definen SERVICIOS.
¿Qué es WEB PROFILE?
Es un paquete de descarga de JEE, más pequeño, por que prescinde de algunas herramientas.
¿Que es JTA?
Java Transaction API
¿Qué es HttpSession?
Se usa para crear una sesión entre cliente y servidor, para un solo usuario cada vez y que guarda la información de dicho usuario a través de las url’s por las que pase.
Se mantiene por un periodo de tiempo, específicado.
A través da más de una WEB y hace uso de cookies.
Ciclo de vida de un Servlet.
→ Init ( config )
→ Service ( request/response )
→ Destroy ()
¿Cuales son los métodos de EntityManager en JPA?
PCFFMR
- PERSIST (obj)→ almacenar nuevas entidades en la BBDD
- CONTAINS(obj)→ comprueba si una entidad está “manejada” o “contenida” por el EM
- FIND(pk)→ localizar una entidad a través de una clave primaria
- FLUSH(sync)→ Sincroniza los cambios pendientes del EM sobre la BBDD
- MERGE(obj)→ convierte una entidad “no manejada” por el EM en “manejada”
- REMOVE(obj)→ eliminar una entidad de la BBDD
¿Que ANOTACIONES (@) se usan en EntityManager?
@Entity → identifica el Bean como una clase para guardar en la base de datos.
@Id → Identifica la PK.
@Table → Para elegir la tabla donde guardar el objeto.
@Column → Para elegir la columna donde guardar un atributo.
@OneToMany → Para especificar relaciones 1:N con otras clases.
@OneToOne → Para especificar relaciones 1:1 con otras clases.
@Transient → Indica que ese atributo no hay que guardarlo.
@NamedQuery → Para especificar consultas JPQL con nombre.
@Query (value=” código SQL “, nativeQuery=true)
¿Que interfaces más importantes tienen las API’s de los Servlets?
- ServletRequest
- ServletResponse
Di tres librerías que implementan JPA.
LIB JPA HEO
- Hibernate
- Eclipse Link
- Open JPA
En J2E, ¿ Donde se ejecutan los componentes WEB ?
Se ejecutan en el CONTENEDOR WEB, que es la implementación que hace cumplimiento del contrato de componentes WEB.
¿Qué tipo de servicios incluyen los COMPONENTES WEB?
- Seguridad
- Concurrencia
- Gestión del ciclo de vida
- Procesamiento de transacciones
- Despliegue
- otros
¿Qué es JPA?
API de persistencia de JAVA.
¿Qué es JPQL?
Java Persistence Query Language
¿Qué es un ORM?
Object-Relational mapping
Sirve para mapear una base de datos relacional en una orientada a objetos.