Tema_6_JEE Flashcards

1
Q

JDBC ofrece el paquete java.sql que tiene las siguientes clases para trabajar con bases de datos:

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Comandos o sintaxis más representativos de:

JMS (Java Message Service)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Comandos o sintaxis más representativos de :

JNDI (Java Naming and Directory Interface)

A

Lookup se usa para localizar un objeto.
Ejemplo: InitialContext (método lookup(String))

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Comandos o sintaxis más representativos de JTA:

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

En JEE, los componentes, se agrupan en dos contenedores, que son??

A
  • Web Container (Capa de presentación)
  • EJB Container (Capa de negocio )
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

COMPONENTES CAPA DE NEGOCIO

A
  • 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)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

COMPONENTES CAPA PRESENTACIÓN

A
  1. JSP (html + + objetos predefinidos) De capa de presentación.
  2. JSTL (html + taglib personalizados Ej ) Evolución de JSP.
  3. JSF (tags UI predefinidos Ej. ) Evolución de las anteriores.
  4. SERVLETS/FILTER (Recibe las peticiones http y las va repartiendo según lo que necesiten. Capa de control)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Nombra los SERVICIOS que ofrece el App Server en JEE.

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Nombra servidores de aplicación/entornos de ejecución para JEE

A
  • Apache TomEE
  • Eclipse GlassFish
  • IBM WebSphere Liberty
  • JBoss Enterprise Application Platform
  • Payara Server
  • Weblogic
  • Wildfly
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Como se llaman los paquetes de Java antiguos y los de ahora, teniendo en cuenta que el dueño ahora es Jakarta?

A

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…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿JEE sustituye a JRE?

A

NO. Se sitúa por encima para darle capacidades extra.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Qué es FULL PROFILE en JEE?

A

Es el paquete completo de descarga de JEE.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Qué significan las siglas JEE?

A

Java Enterprise Edition

ó

Jakarta Enterprise Edition

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Qué es JEE y para qué se usa?

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Qué es WEB PROFILE?

A

Es un paquete de descarga de JEE, más pequeño, por que prescinde de algunas herramientas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Que es JTA?

A

Java Transaction API

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Qué es HttpSession?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Ciclo de vida de un Servlet.

A

Init ( config )

Service ( request/response )

Destroy ()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

¿Cuales son los métodos de EntityManager en JPA?

A

PCFFMR

  1. PERSIST (obj)→ almacenar nuevas entidades en la BBDD
  2. CONTAINS(obj)→ comprueba si una entidad está “manejada” o “contenida” por el EM
  3. FIND(pk)→ localizar una entidad a través de una clave primaria
  4. FLUSH(sync)→ Sincroniza los cambios pendientes del EM sobre la BBDD
  5. MERGE(obj)→ convierte una entidad “no manejada” por el EM en “manejada”
  6. REMOVE(obj)→ eliminar una entidad de la BBDD
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

¿Que ANOTACIONES (@) se usan en EntityManager?

A

@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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

¿Que interfaces más importantes tienen las API’s de los Servlets?

A
  • ServletRequest
  • ServletResponse
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Di tres librerías que implementan JPA.

A

LIB JPA HEO

  • Hibernate
  • Eclipse Link
  • Open JPA
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

En J2E, ¿ Donde se ejecutan los componentes WEB ?

A

Se ejecutan en el CONTENEDOR WEB, que es la implementación que hace cumplimiento del contrato de componentes WEB.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

¿Qué tipo de servicios incluyen los COMPONENTES WEB?

A
  • Seguridad
  • Concurrencia
  • Gestión del ciclo de vida
  • Procesamiento de transacciones
  • Despliegue
  • otros
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

¿Qué es JPA?

A

API de persistencia de JAVA.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

¿Qué es JPQL?

A

Java Persistence Query Language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

¿Qué es un ORM?

A

Object-Relational mapping

Sirve para mapear una base de datos relacional en una orientada a objetos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Dí un ORM para Java:

A

Hibernate

29
Q

¿Qué significa EJB y para qué se usan?

A
  • ENTERPRISE JAVABEAN
  • SON API’s JEE, DEL LADO DEL SERVIDOR
  • NO CONFUNDIR CON “JAVABEANS”
  • MODELO DE COMPONENTES DISTRIBUIDO ESTANDAR.
30
Q

¿Qué tipos de EJB’s existen?

A
  • Entity EJB, ENTIDAD
  • Session EJB, SESIÓN
  • EJB MDB (Message-driven EJB)
31
Q

¿Como funcionan los EJB MDB?

A

Son los únicos Beans con funcionamiento Asíncrono.

Usando JMS, se suscriben a un tema (TOPIC) o a una cola (QUEUE) y se activan al recibir un mensaje dirigido a dicho tema o cola.

32
Q

¿Qué tres tipos de EJB Session existen?

A
  • Con Estado o STATEFUL - Las variables de instancia del bean almacenan datos específicos obtenidos durante la conexión con el cliente.
  • Sin Estado o STATELESS - Permite acceder a los Beans de forma concurrente. No se garantiza la permanencia de los contenidos de las variables.
  • Los SINGLETON, que se inician una sola vez y se comparten por todas las entidades.
33
Q

En JEE 5 los Entity Beans, se sustituyen por…

A

JPA - Java Persistence API.

34
Q

¿Cual es la última versión de JEE?

A

Es Jakarta Enterprise Edition 10

35
Q

¿Qué es JDBC?

A

Java DataBase Connectivity
Es el estándar de conectividad de las bases de datos de Java.
Es una API que permite ejecución de operaciones sobre bases de datos, desde JAVA, y es independiente del SO o de la base de datos a la cual se accede.

36
Q

¿Qué es JMS?

A

Java Message Service

  • API para el envío y recepción de mensajes entre sistemas distribuidos, de forma asíncrona.
37
Q

¿Qué es JNDI?

A

Java Naming and Directory Interface
API de JAVA para servicios de DIRECTORIO. Permite a los clientes descubrir y buscar objetos a través de su nombre. Adicionalmente especifica una interfaz de proveedor de servicio (SPI).
La JNDI es usada por Java RMI y JEE.
SPI permite usar:
1. LDAP
2. DNS
3. NETWORK INF SERVICE
4. RMI
5. CORBA
6. SISTEMAS DE FICHEROS

38
Q

¿Qué son los drivers en JDBC?

A

Son adaptadores, del lado del cliente, que convierten la petición de JAVA, a un protocolo que el SGBD pueda entender.

39
Q

Tipos de Drivers JDBC:

A

TIPO 1: Llamado Puente JDBC-ODBC, convierte JDBC a ODBC.
TIPO 2: Llamado Driver API-Nativo, convierte JDBC a llamadas nativas de la API de la SGBD.
TIPO 3: Hace uso de un Middleware entre JDBC y SGBD.
TIPO 4: Llamado Driver Java Puro. es independiente de la plataforma.

40
Q

¿Qué es JCP?

A

Java Community Process

Es un proceso formalizado, el cual permite a las partes interesadas a involucrarse en la definición de futuras versiones y características de la plataforma Java.
Se generan los documentos conocidos como JSR.

41
Q

¿Qué es JSR?

A

Java Specification Request

Son como los RFC’s, para Java.

42
Q

¿Qué es un archivo WAR?

A

Web Application Archive
En computación, un archivo WAR es un archivo JAR utilizado para distribuir una colección de JavaServer Pages, servlets, clases Java, archivos XML, bibliotecas de tags y páginas web estáticas (HTML y archivos relacionados) que juntos constituyen una aplicación web.
Requiere un archivo web.xml, contenido en una carpeta WEB-INF

43
Q

¿Qué es una archivo JAR?

A

Java Archive

Es un archivo Java, que permite ejecutar aplicaciones escritas en Java. Son archivos comprimidos con el formato ZIP, pero con la extensión cambiada a JAR.

Contiene los EJB’s

44
Q

¿Qué es un archivo EAR?

A
  • FORMATO DE EMPAQUETADO
  • APLICACIÓN JEE COMPLETA
  • Puede contener varios JAR y varios WAR.
  • PARA DESPLIEGUE DE VARIAS APLICACIONES, SIMULTÁNEAMENTE.
  • ES UN ZIP
  • CONTIENEN UN ARCHIVO aplication.xml, DENTRO DE LA CARPETA META-INF
  • ENTORNO EMPRESARIAL
45
Q

¿Qué tenemos dentro de un EAR?

A
  • Un fichero de configuración que se llama siempre: application.xml, dentro de otro llamado META-INF
  • Módulos → Con extensión .WAR. Uno o varios. WAR es Web Archive y contiene todo lo relacionado con la parte WEB.
  • Jaba BeansCon extensión .JAR. Uno o varios. Contienen los EJB’s.
46
Q

Dí aplicaciones para construir un archivo .ear

A

Estos tres son sistemas de automatización de construcción de código de software.
.EAR MAG

  • MAVEN, xml, POM
  • ANT, xml, automatización
  • GRADLE, groovy, Grafo Acíclico Dirigido
47
Q

JSP

A

Java Server Pages

Permite a los desarrolladores, crear páginas Web dinámicas, basadas en HTML y XML, pero programadas en Java.
Se juntaba código HTML con Java, dentro de la página.

48
Q

JSTL

A

JavaServer Pages Standard Tag Library

En este caso, el código Java, que antes se metía dentro de la página, junto con el HTML, se saca fuera y se mete dentro de unas TAGS.

Extiende JSP, añadiendo 4 bibliotecas de etiquetas más, que son:

  • core, iteraciones, condicionales, manipulación de URL y otras funciones generales.
  • xml, para la manipulación de XML y para XML-Transformation.
  • sql, para gestionar conexiones a bases de datos.
  • fmt, para la internacionalización y formateo de las cadenas de caracteres como cifras.
49
Q

JSF

A

Java Server Faces

Convierte las TAGS, de JSTL, en plantillas genéricas.
Es un framework que simplifica el desarrollo de interfaces de usuario.

50
Q

Un servlet se crea con el paquete…

A

javax.servlet

51
Q

¿Qué nos ofrecen los EJB’s?

A
  • Comunicación remota con CORBA.
  • Transacciones.
  • Control de concurrencia.
  • Eventos, con JMS.
  • Servicios de nombre y directorio.
  • Seguridad.
  • Ubicación de componentes en un servidor de aplicaciones.
52
Q

¿Qué es un Session Bean STATELESS?

A

Es una clase Java SIN ESTADO, es decir, NO TENDRÍA QUE TENER ATRIBUTOS, SOLO MÉTODOS.

Para que el contenedor de aplicaciones sepa como manejarlas, podemos poner un par de anotaciones:

@stateless → Que lo convierte en un bean sin estado

@localbean → Qué es opcional, ya que de forma predeterminada, nuestros beans no pueden ser accedidos desde fuera de nuestra aplicación.

53
Q

¿Qué es un Session Bean STATEFULL?

A

Es una clase Java CON ESTADO, es decir, que SI TIENE ATRIBUTOS, cuyo valor es importante y debe conservarse entre llamadas a métodos.

Se usa por ejemplo para el carrito de la compra de una WEB.

También tenemos anotaciones:

@stateful

@localbean

54
Q

¿Qué es un SINGLETON BEAN?

A

Es una clase Java, que el contenedor de aplicaciones instanciará solo una vez y será compartida por todo el mundo. Se usa para guardar datos comunes a todos los usuarios.

Su anotación sería:

@singleton

55
Q

¿En qué versión cambia de mano JEE?

A

En la 8 y pasa de llamarse javax.* a llamarse Jakarta.

56
Q

¿Qué son los componentes en JEE?

A
  • Es lo que en Java EE llamabamos a las “clases”.
  • Son objetos Java que contienen la lógica de negocio.
57
Q

¿En JEE, a qué llamamos ENTORNO DE EJECUCIÓN?

A

Lo conocemos como SERVIDORES DE APLICACIÓN y le da a Java, alcanze WEB, con HTTP.

58
Q

¿Que es DD o Deployment Descriptor?

A

Es un archivo en XML, que describe como tiene que ser desplegado un módulo.

59
Q

¿Para que sirve GetParameter?

A
  • Para coger datos de una url.
  • Generalmente son String’s
60
Q

¿Que es url patter?

A

La ruta donde está la aplicación de nuestro servlet.

61
Q

En java, las Cookies se llaman …

A

JSESSIONID

62
Q

Fichero de configuración de un EJB

A

ejb-jar.xml
Y esta dentro de Meta-inf/

63
Q

¿Como implementamos Microservicios en JEE?

A
  • Con el paquete MicroProfile, que es de la Eclipse Fundation, no es de Jakarta.
64
Q

¿Qué paquetes de Jakarta podemos descargar según su contenido?

A
  • JAKARTA EE 10 PLATFORM
  • JAKARTA EE 10 WEB PROFILE
  • JAKARTA EE 10 CORE PROFILE, con lo mínimo.
  • Y MicroProfile, de la Eclipse Foundation, que se usa para Microservicios.
65
Q

¿Qué es el EntityManager en JPA?

A

Es un Gestor de Entidades, que se encarga de realizar todas las operaciones relacionadas con la Persistencia.
Tiene dos responsabilidades fundamentales:
- Define una conexión transaccional con la BBDD y la mantiene abierta. Hace algo parecido a JDBC.
- Mantiene en memoria, una caché con las entidades y es responsable de sincronizarlas cuando se hace un flush.

66
Q

¿Qué hacían los Entity Bean’s, hasta JEE5?

A

Eran los encargados de la persistencia, guardando datos en una base de datos.

67
Q

¿Qué es JAVA RMI?

A

JAVA REMOTE METHOD INVOCATION

Es un mecanismo ofrecido por JAVA, para invocar un método de forma remota.
RMI es solo para entorno JAVA, si la comunicación es entre otros lenguajes, hay que usar CORBA o SOAP.

68
Q

TRES PARTES IMPORTANTES DE LA ARQUITECTURA DE JEE.

A
  • SERVICIOS, que se encargan de la seguridad, comunicaciones, logging, etc..
  • CONTENEDORES, entorno en tiempo de ejecución.
  • COMPONENTES, objetos Java con la lógica de negocio de la aplicación, que usan los servicios proporcionados por el contenedor.
69
Q

¿Cuales son las tres operaciones básicas que se pueden realizar con un .jar?

A
  • VER CONTENIDO => jar -tvf archivo.jar
  • COMPRIMIR => jar -cvf archivo.jar archivo_1 archivo_2 archivo_3
  • DESCOMPRIMIR => jar -xvf archivos.jar