SSII - JAVA Flashcards
JRE
Java Runtime Enviromment: implementación de la máquina virtualde java que realmente ejecuta los programas Java
JDK
Java Development Kit: herramientas de desarrollo para entornos java. Incluye el JRE, compilador Java y las APIs de Java
Java SE
Para el desarrollo de apps en clientes y servidores
JavaEE, actualmente Jakarta EE
Enterprise Edition: permite utilizar arquitecturas de N capas distribuidas y se apoya en componentes SW modulares sobre un servidor de aplicaciones (servlets, JSP, EJB)
Applet
programa desarrollado en Java que ofrece funcionalidad avanzada a página web. Se ejecuta en el lado del cliente y está en desuso por tecnologías como javascript
Servlet
Permite ampliar capacidades de un servidor, para generar contenido dinámico. Es código java que usando printf genera el HTML. Representan el controlador en MCV
JSP
Java Server Pages: para generar conteindo dinámico. Las páginas generan código que será compilado e interpretado por un servidor de aplicaciones. Es un servlet orientado a la presentación, lo que significa que en este caso es código HTML con código JAVA. Además de eso, puede conteener otros lenguajes como Javascript, que lo interpretará el navegador del cliente
JSF
Java Server Faces: Especificación JavaEE para el desarrollo de interfaces de usuario. Utiliza en JSF 2 facelets como su sistema de plantillas por defecto.
EJB (además, enumerar sus tres tipos)
Son una de las API´s que forman parte de la construcción de aplicaciones empresariales JavaEE. Su especificación detalla cómo los servidores de aplicaciones proveen objetos desde el lado del servidor (que son precisamente los EJB).
- Session EJB
- Message-driven EJB
- EJBs de entidad
AWT
[API] Abstract Window Toolkit: para suministrar interfar gráfica a un programa java (antiguo)
SWING
[API] evolución de AWT para hacer interfaz gráfica. Aporta portabilidad al ser componentes 100% java
JDBC
Se refiere a la API java.sql
Proporciona interfaz común para el acceso a BBDD a través del lenguaje SQL
JNI
Java Native Interface: para llamar a métodos nativos escritos en C/C++
JMS
[API] Java MEssage Service: permite a los componentes JEE la creación, envío, recepción y lectura de mensajes que intercambian entre componentes SW o aplicaciones.
JTA
[API] Java Transaction API: permite a los componentes JEE gestionar sus propias transacciones
Java Mail Technology
Permite a las aplicaciones incorporar el envío y recepción de mensajes de correo-e
JAAS
Java Authentication and Authorization Service: Proporciona un sistema de autenticación y autorización de uruarios y grupos para una aplicación
JAXP
Java API for XML Processing: acceso, generación y desarrollo de programas para acceder a ficheros XML
JCA
JEE Connector API: Para crear enlaces entre distintos SSII con sistemas en arquitectura JEE.
StAX
Streaming API for XML
Procesamiento de documentos XML de forma iterativa y basada en eventos
JAF
Javabeans activation Framework: Para manejar y gestionar información con diferentes tipos MIME
JAXR
Registro de directorio. Java API para registros XML de metadatos
JAX-WS 2.0
API de Java en XML para la creación de servicios web
RMI
Remote Method Invocation: protocolo de comunicaciones entre cliente y servidor
JPA
[API] Java Persistence API: acceso a BBDD relacionales con mayor nivel de abstracción que JDBC
JNDI
Java Naming and Directory Interface: para acceso a directorios y nombres.Permite trabajar con servicios de directorio como LDAP o Active Directory
JMX
Java Management Extensions: tecnología que define la arquitectura de gestión, la API, poatrones de diseño y servicios de monitorización de aplicaciones basadas en java
de aquí que nos suenen los Mbeans, que son los encargados de representar cada una de las entidades
Java web Start
implementación que permite arrancar aplicaciones java que ya están en un servidor de aplicaciones comprobando previamente si el cliente tiene la versión actualizada de dicha aplicación. Si no es así, descargará la última versión y se ejecutará en local
Qué contiene fichero .jar
Bytecodes (de los EJB en caso de ser para la capa de lógica de negocio)
Ficheros descriptores de despliegue (en XML)
Otros contenidos estáticos
META-INF con ficheros: MANIFEST.MF, .sf (para firma de clases y aplicaciones) y firmas digitales de ficheros con una extensión que depende del formato de firma digital.
Qué contiene el fichero .war?
Representa una aplicación web, por lo que contiene todo lo necesario para su ejecución:
JSP
Bytecodes de los servlets asociados
Contenido estático
Qué contiene un fichero .ear?
Para permitir la portabilidad entre servidores incluye:
Fichero .jar del cliente y .jar de los EJB
Fichero .war de los JSP y servlets
Ficheros descriptores o deployment descriptor
Directorio WEB-INF
Permite organizar los ficheros y contiene:
subdidrectorio classes
Archivo web.xml que describe la correspondencia para ejecutar los servlets
Subdirectorio “lib” para contener los .jar utilizados por la aplicación
Formato del bytecode (código binario intermedio)
.class
Apache Struts
[Framework] Permite separar limpiamente el modelo MCV y se utiliza para el desarrollo de aplicaciones web
Spring Framework
Framework para desarrollo de apps y contenedor de inversión de control, en especial la inyección de dependencias. Tiene bastantes subframeworks que sirven para diversas cosas (acceso a datos, mcv, acceso remoto, etc.)
Hibernate ORM
[framework] proporciona mecanismos de mapeo relacional-a-objetos de forma que permite definir cómo los objetos Java se almacenan en una BDD relacional (traducción de clases java a tablas de la BDD, manteniendo propiedades de los objetos y sus relaciones)
Grails
Framework basado en el lenguaje de programación Groovy
Dropwizard
Framework para crear apps web RESTful
Docker
Automatiza despliegue de aplicaciones dentro de contenedores de SW, por medio dee vitrualización a nivel de SO. (genera contenedores)
Kubernetes
Automatiza el despliegue y manejo de aplicaciones en contenedores (funciona como un gestor de Docker)
Docker Swarm
Permite el manejo de aplicaciones en contenedores, es decir, gestionar los contenedores desplegados con docker
SAAJ
SOAP with Attachments API for Java: API para implementar SOAP con JAVA
API que implementa el estándar WS-Security de OASIS
XWSS
JOnAS
Servidor de aplicaciones
WildFly
anteriormente JBoss
Servidor de aplicaciones
Oracle WebLogic
Servidor de aplicaciones
JEUS 6
Servidor de aplicaciones
IBM WebSphere
Servidor de aplicaciones
Apache Geronimo
Servidor de aplicaciones
GlassFish
Servidor de aplicaciones
Java FX
Para la creación de Rich Internet Applications, esto es, aplicaciones web que tienen las características y capacidades de aplicaciones de escritorio
JAX-WS
Java API for XML Web Services: API Java para crear y consumir web services SOAP
JAXR
Java API for XML Registries: API Java que facilita el acceso a UDDI o ebXML para acceder a los registros de negocio
SAAJ
SOAP with Attachments API for Java: permite a los desarrolladores generar y recoger mensajes según las especificación SOAP y SOAP con ficheros adjuntos, que pueden ser documentos XML o ficheros en formato MIME
XWSS
XML Web Service Security: proporciona seguridad a nivel de mensaje que permite que las peticiones o respuestas implementadas con código JAXWS o SAAJ sean securizadas a nivel de servicio, puerto u operación. Implementa el estándar Web Services Security (WSS) de OASIS
JAXB
Java Architecture for XML Binding: permite vincular objetos Java con datos en formato XML
JAX-RS
Java API for RESTful Web Services: proporciona soporte en la creación de servicios web de acuerdo con el esquilo arquitectónico REST
MTOM
Message Transmission Optimization Mechanism: para enviar datos binarios a través de servicios web de forma eficiente, se usa habitualmente con XOP
XOP
XML-binary Optimized Packaging: mecanismos para la serialización de conjuntos de datos XML que contienen datos binarios
JMH
Java Microbenchmark Harness: para implementar benchmarks de rendimiento en las JVM y medir el rendimiento de nuestros métodos Java