Red de conocimiento informático - Aprendizaje de programación - ¿Cuáles son los 13 estándares de j2ee?

¿Cuáles son los 13 estándares de j2ee?

javaEE es una plataforma de desarrollo que incluye muchas tecnologías. Existen principalmente 13 tecnologías. Al completar un proyecto real, no se utilizarán todas estas 13 tecnologías, pero se utilizarán de forma selectiva. En otras palabras, un programador no tiene que dominar todas estas 13 tecnologías para participar en el desarrollo de JavaEE. Pero un programador javaEE al menos domina el servlet java y jsp.

Las especificaciones técnicas de JavaEE incluyen:

1. Conexión de base de datos Java (JDBC)

La API JDBC accede a la base de datos de forma unificada. Al igual que ODBC, JDBC aísla los problemas entre desarrolladores y bases de datos privadas. Debido a que está construido en Java, JDBC puede proporcionar acceso a bases de datos independientes de la plataforma.

JDBC define 4 controladores diferentes. Específicamente, incluye:

Tipo 1: puente JDBC-ODBC

Cuando se creó JDBC por primera vez, el puente JDBC-ODBC. es muy útil. A través de él, los desarrolladores pueden utilizar JDBC para acceder a una fuente de datos ODBC. La desventaja es que requiere la instalación de un controlador ODBC en la computadora cliente, que generalmente se ejecuta en un sistema Windows. Con este tipo de controlador, se pierden los beneficios independientes de la plataforma de JDBC. Además, el controlador ODBC requiere administración de clientes.

Tipo 2: puente nativo JDBC

El puente nativo JDBC proporciona una interfaz JDBC integrada en un controlador de base de datos local, sin utilizar ODBC. El controlador JDBC convierte llamadas JDBC estándar en llamadas nativas a la API de la base de datos. El uso de un controlador de tipo 2 también pierde los beneficios independientes de la plataforma de JDBC y requiere la instalación de código nativo del lado del cliente.

Tipo 3: Puente de red JDBC

El puente de red JDBC no requiere un controlador de base de datos del cliente. Utiliza un servidor web de nivel medio para acceder a una base de datos. Esto hace que sean posibles técnicas como el equilibrio de carga, la agrupación de conexiones y el almacenamiento en búfer de datos. Debido a que los controladores Tipo 3 normalmente dan como resultado tiempos de descarga relativamente pequeños, son independientes de la plataforma y no requieren instalación ni administración del cliente, son muy adecuados para aplicaciones de Internet.

Tipo 4: controlador Java puro

El tipo 4 utiliza un controlador de base de datos Java puro para proporcionar acceso directo a las operaciones de la base de datos. Porque los controladores tipo 4 se ejecutan en el cliente y acceden directamente a la base de datos. Por lo tanto, ejecutar en este modo implica el uso de una arquitectura de 2 niveles. Para utilizar un controlador de tipo 4 en una arquitectura de n niveles, pase un ejb que contenga el código de acceso a la base de datos y haga que el ejb proporcione un servicio independiente de la base de datos a sus clientes.

2. Interfaz de directorio y nombres de Java (JNDI)

JNDI es la abreviatura de Interfaz de directorio y nombres de Java. El nombre chino es interfaz de directorio y nombres de Java. Acceso a aplicaciones utilizando la infraestructura de directorios en desarrollo. De hecho, este directorio es una base de datos especial que proporciona acceso rápido a los datos almacenados. A diferencia del método tradicional de acceso al servicio de directorio, debe proporcionar diferentes interfaces API para acceder a diferentes servicios de directorio, como: LDAP, NIS, ADS, etc. Y proporciona una API estándar para acceder a diferentes tipos de directorios. Se dice que el uso de SDK puede desarrollar proveedores de servicios de directorio que no son compatibles con JNDI.

JNDI es una API de Java EE que proporciona un conjunto de interfaces estándar para localizar usuarios, máquinas, redes, objetos y servicios. Por ejemplo, puede utilizar JNDI para localizar una impresora en la red. También puede utilizarlo para localizar objetos Java y conectarse a una base de datos. JNDI puede utilizar EJB, RMI-IIOP y JDBC. Es el método estándar para buscar ubicaciones en la web. JNDIAPI se utiliza para acceder a servicios de nombres y directorios.

Proporciona un modo coherente para acceder y manipular recursos de toda la empresa, como DNS de un servidor de aplicaciones, archivos locales LDAP u objetos.

En JNDI, cada nodo de una estructura de directorio se denomina contexto. Cada nombre JNDI es relativo a un contexto y no existe el concepto de nombre absoluto. Una aplicación puede usar InitialContext para obtener su primer contexto

Context ctx=new InitialContext();

Con este contexto inicial, la aplicación se puede ubicar a través del árbol de directorios Recursos u objetos requeridos . Por ejemplo, supongamos que configuró un EJB en WebLogic Server y vinculó la interfaz de inicio en myApp.myEJB. El cliente EJB, después de obtener dicho contexto inicial, puede utilizar el siguiente código para localizar la interfaz de inicio.

MyEJBHome home=ctx.lookup("myApp.myEJB");

Una vez que tenga un método o referencia al objeto que necesita (en este caso, la interfaz de inicio de EJB), entonces puedes llamar a métodos en él. Para encontrar un objeto en un contexto, JNDI también proporciona métodos para insertar o vincular un objeto a un contexto. Este es un método muy efectivo al configurar un EJB:

Desde un Eliminar un objeto del contexto<. /p>

Enumerar todos los objetos en un contexto

Crear y eliminar subcontextos

3. Enterprise Java Beans

Una de las tecnologías más atractivas de Java EE es EJB. Proporciona un marco para desarrollar y configurar lógica empresarial distribuida para el cliente, lo que reduce significativamente la dificultad de desarrollar aplicaciones empresariales escalables y altamente complejas. La especificación EJB define cómo y cuándo los componentes EJB deben interactuar con sus contenedores. Los contenedores son responsables de proporcionar servicios comunes, como servicios de directorio, gestión de transacciones, seguridad, grupos de recursos y tolerancia a fallos.

La especificación EJB define 3 javaBeans básicos:

Bean de sesión (session beans): Los beans de sesión modelan procesos de negocio Dado que normalmente representan la ejecución de una acción, pueden pensar en ellos. como verbos. La acción realizada puede ser cualquier cosa, como por ejemplo: aumentar una cantidad, acceder a una base de datos, llamar a otros sistemas, llamar a otros beans empresariales. Podemos dar muchos ejemplos, incluido un motor de negociación, un motor de flujo de trabajo, un motor de catálogo, un centro de autenticación de tarjetas de crédito o un motor de negociación de valores en línea.

Beans de entidad (Entity beans): Esta es una representación de datos persistentes, generalmente almacenados en una base de datos, de modo que los datos aún existen después de que el servidor falla. Varios clientes pueden utilizar EJB para representar los mismos datos. Los beans de entidad modelan datos empresariales y, dado que representan objetos de datos (es decir, objetos Java que almacenan en caché bases de datos), pueden tratarse como sustantivos. Ejemplos de beans de entidad incluyen un producto, un pedido, un empleado, una tarjeta de crédito o una acción. Los beans de sesión se utilizan normalmente para lograr objetivos comerciales, como un motor de negociación de acciones (beans de sesión) que procesa acciones (beans de entidad)

Beans controlados por mensajes (beans controlados por mensajes): los beans controlados por mensajes también representan action, que es similar a los beans de sesión. La diferencia entre ellos es que solo puedes llamarlos enviando mensajes a beans controlados por mensajes. Ejemplos de beans controlados por mensajes incluyen beans que aceptan mensajes de negociación de acciones, utilizan información de autenticación o mensajes de flujo de trabajo. Estos beans controlados por mensajes también pueden llamar a otros beans empresariales.

A continuación analizamos los stateless y stateful

Los beans sin estado (beans sin estado) son un servicio de un solo uso que no mantiene ningún estado y ya no existe si el servidor falla y el. El ciclo de vida es relativamente corto. Por ejemplo, se podría utilizar un bean de sesión sin estado para realizar conversiones de temperatura.

Bean con estado: proporciona un método tradicional para interactuar con el cliente y almacenar el estado del cliente. El carrito de compras en línea es un ejemplo típico de un bean de sesión con estado. Los beans de sesión con estado ya no existen cuando el servidor falla, tienen una vida útil relativamente corta y cada instancia solo se puede usar en un único subproceso.

4. páginas javaServer (jsp)

Quizás deberías estar muy familiarizado con las páginas Active Server (asp) de Microsoft es una tecnología similar, pero es independiente de la plataforma. Están diseñados para ayudar a los desarrolladores de contenido web a crear páginas web dinámicas con relativamente poco código. Los diseñadores web pueden utilizar jsp para crear páginas web dinámicas incluso si no saben de programación. Las páginas de javaServer son una mezcla de código html y código java. Cuando el cliente solicita una página, el servidor procesará el código java y luego devolverá la página html al navegador.

Es posible que también hayas oído hablar de JHTML, que es un antiguo estándar que ahora ha sido reemplazado por jsp. Weblogic Server no solo admite jsp, sino que también admite Jhtml. Sin embargo, según la configuración predeterminada, WebLogic Server no admite jsp. (Correcto con la versión 5.1). Debe editar WebLogic.properties para activar el servidor web; lo mismo ocurre con jspservlet.

5.servlet java

Los servlets proporcionan la mayoría de las mismas funciones que jsp. Utiliza un método ligeramente diferente. La mayor parte del jsp es código html, con una pequeña cantidad de código java. , a diferencia del servlet, que está completamente escrito en java y produce código html.

Servlet es un subprograma de Java que se ejecuta en el servidor y puede ampliar la funcionalidad del servidor web. Estas aplicaciones del lado del servidor se pueden ejecutar dinámicamente cuando se solicita, lo cual es similar a los scripts cgi perl en los servidores web tradicionales. Una de las principales diferencias entre los scripts CGI y los servlets es que los scripts CGI inician un nuevo hilo para cada solicitud, lo que requiere una sobrecarga adicional del sistema, mientras que la ejecución del servlet sólo necesita iniciar un hilo separado dentro del motor de servlet. Por tanto, los servlets son más escalables.

Al desarrollar servlets, normalmente hay que heredar la clase javax.servlet.http.HttpServlet y anular algunos métodos interesantes: service () doGet () doPost () init () destroy ( )

6.java IDL/CORBA

A través del soporte de IDL de Java, los desarrolladores pueden integrar Java con CORBA. Pueden crear objetos Java que se pueden implementar en un ORB CORBA, o pueden crear clases Java de cliente que completen los objetos CORBA implementados en otros ORB.

Para integrar tu nueva aplicación con el sistema anterior a través de Java, este último proporciona un método alternativo.

7.Sistema de transacciones Java (JTA) y servicio de transacciones Java (JTS)

JTA define una API estándar a través de la cual las aplicaciones pueden acceder al monitor de transacciones.

JTS es una implementación básica del monitoreo de transacciones CORBA OTS. JTS especifica una implementación de un administrador de transacciones que admite la especificación Java Transaction API (JTA) en un nivel alto e implementa el mapeo Java de la especificación OMG OTS en un nivel inferior.

Un administrador de transacciones JTS proporciona servicios de transacciones a servidores de aplicaciones, administradores de recursos, aplicaciones independientes y administradores de recursos de comunicaciones.

8.javaMail y javaBeans Activation Framework (JAF)

Javamail es una API utilizada para acceder al servidor de correo. La API de Javamail proporciona un conjunto de clases abstractas para modelar un sistema de correo electrónico. Admite servidores SMTP e IMAP.

Javamail maneja archivos adjuntos de correo electrónico cifrados con MIME mediante el uso de javaBeans Activation Fremework (JAF). Conversión entre flujos de bytes MIME y objetos Java. La mayoría de las aplicaciones no necesitan usar JAF directamente.

9.Java Messenger Service (JMS)

Jms es una API para comunicación de nivel medio orientada a la información. No solo admite dominios punto a punto, sino que también admite dominios de publicación/suscripción y admite entrega de información garantizada, entrega de información de transacciones, información persistente y suscripción duradera. Para integrar su aplicación con el sistema backend anterior, jms proporciona otro método.

10. Lenguaje de marcado extensible (xml)

Xml es un lenguaje utilizado para definir otros lenguajes de marcado. Se puede utilizar para compartir datos entre empresas. El desarrollo de Xml está separado de Java, pero su objetivo es similar al de Java, que es ser independiente de la plataforma. Al combinar java con xml, puede obtener una solución completamente independiente de la plataforma. Varias empresas están trabajando para desarrollar una estrecha integración entre las claves Java y XML.

11. Marco principal de struts+spring+hibernate

Struts2 es responsable de C en MVC y realiza el salto lógico de la página. Spring proporciona IOC+AOP, que puede proporcionar inyección de dependencia para struts, inyección de dependencia y programación orientada a aspectos para la capa de lógica empresarial. Hibernate es una implementación del marco ORM y es responsable de conservar los datos en la base de datos.