Por favor, entra para aprender java.
J2EE es un conjunto de arquitectura técnica que es completamente diferente del desarrollo de aplicaciones tradicional. Contiene muchos componentes y puede simplificar y estandarizar principalmente el desarrollo y la implementación de sistemas de aplicaciones, mejorando así la portabilidad, la seguridad y el valor de reutilización.
El núcleo de J2EE es un conjunto de especificaciones y directrices técnicas. Los diversos componentes, arquitecturas de servicio y niveles técnicos incluidos en él tienen estándares y especificaciones universales, lo que permite que existan diversas aplicaciones que siguen la arquitectura J2EE. buena compatibilidad entre plataformas, lo que resuelve el dilema de que en el pasado, los productos de información utilizados por el back-end de la empresa eran incompatibles entre sí, lo que resultaba en dificultades en la interoperabilidad dentro o fuera de la empresa.
Bajo la arquitectura J2EE, los desarrolladores pueden seguir la base estándar para desarrollar aplicaciones de nivel empresarial; y diferentes proveedores de J2EE admitirán los estándares formulados en diferentes versiones de J2EE para garantizar que las diferentes plataformas J2EE y la compatibilidad entre productos. En otras palabras, los sistemas de aplicaciones basados en la arquitectura J2EE se pueden implementar básicamente en diferentes servidores de aplicaciones sin o requiriendo solo una pequeña cantidad de modificaciones de código, lo que puede mejorar en gran medida la portabilidad del sistema de aplicaciones.
J2EE es una especificación técnica formulada conjuntamente por fabricantes como Sun e IBM en colaboración con líderes de la industria, y es un entorno de desarrollo JAVA orientado a la informática entre empresas. La arquitectura J2EE define varios componentes diferentes, como componentes web, componentes EJB, etc., y se pueden reutilizar varios componentes, de modo que los componentes que se han desarrollado o comprado en el mercado se pueden ensamblar en diferentes sistemas.
Los desarrolladores solo necesitan centrarse en la lógica empresarial y el diseño de la arquitectura de varios sistemas de aplicaciones. En cuanto al tedioso trabajo de redacción del programa en la parte inferior, se pueden combinar con diferentes plataformas de desarrollo para permitir el desarrollo. de los sistemas de aplicación y la eficiencia de implementación ha mejorado enormemente.
La especificación principal de J2EE son Enterprise Java Beans (EJB). Según sus diferentes características, EJB se divide actualmente en tres tipos: Session Bean, Entity Bean y Message Driven Bean. Entre ellos, Session Bean y Entity Bean se consideran los antepasados de EJB. Estas dos especificaciones de EJB ya existían cuando se lanzó la versión EJB 1.x, mientras que Message Driven Bean apareció en la especificación EJB 2.0.
Actualmente, muchos programadores o diseñadores web de la industria aprovechan la conveniencia de JSP/Servlet para desarrollar aplicaciones relacionadas en servidores J2EE o integrar diversos recursos dentro de la empresa.
La plataforma Java 2 se divide en tres versiones principales según los diferentes campos de aplicación, a saber, J2EE, la versión estándar J2SE (Java 2 Platform, Standard Edition) y la micro versión J2ME (Java 2 Platform, Micro Edición), y Java Card, etc.
En general, J2EE es un estándar industrial de facto para utilizar la tecnología Java para desarrollar aplicaciones de nivel empresarial (Sun aún no ha incluido Java y sus tecnologías relacionadas en la estandarización debido a sus propios intereses. Sistema organizativo) , que es el producto de la continua adaptación y promoción de aplicaciones de nivel empresarial por parte de la tecnología Java. El propósito de la introducción de J2EE por parte de Sun es superar las deficiencias del modelo tradicional Cliente/Servidor, atender la tendencia de la arquitectura Navegador/Servidor y proporcionar una plataforma para desarrollar aplicaciones del lado del servidor utilizando tecnología Java que sea independiente, portátil y multiuso. -Usuario, seguro y basado en una plataforma estándar de nivel empresarial para simplificar el desarrollo, la gestión y la implementación de aplicaciones empresariales. J2EE es un estándar, no un producto listo para usar.
Cada desarrollador de plataforma ha desarrollado diferentes servidores de aplicaciones J2EE de acuerdo con las especificaciones J2EE. El servidor de aplicaciones J2EE es una plataforma de implementación para aplicaciones J2EE de nivel empresarial. Dado que todos siguen la especificación J2EE, las aplicaciones de nivel empresarial desarrolladas con tecnología J2EE se pueden implementar en varios servidores de aplicaciones J2EE.
Para promover y estandarizar el uso de J2EE para construir una arquitectura de aplicaciones de nivel empresarial, Sun también sugirió un modelo de diseño de aplicaciones J2EE: J2EE Blueprints. J2EE Blueprints proporciona la arquitectura, los patrones de diseño y los códigos relacionados para implementar aplicaciones J2EE de nivel empresarial. Al aplicar el modelo de sistema descrito por J2EE Blueprints, el complejo trabajo de diseñar aplicaciones de nivel empresarial se puede simplificar parcialmente. Los planos J2EE son los principios básicos para que los desarrolladores diseñen y optimicen componentes J2EE. También proporcionan estrategias guía para la división funcional del trabajo en torno al trabajo de desarrollo para ayudar a los desarrolladores y diseñadores de aplicaciones a asignar racionalmente los recursos técnicos.
J2EE forma diferentes partes de una aplicación completa de nivel empresarial en diferentes contenedores (Cada contenedor contiene varios componentes (estos componentes deben implementarse en el contenedor correspondiente al mismo tiempo). Puede utilizar varios servicios/API J2EE. Los contenedores J2EE incluyen:
◆ Contenedor web El contenedor del lado del servidor incluye dos componentes, JSP y Servlet. JSP y Servlet son extensiones funcionales del servidor web, que aceptan solicitudes web y devuelven páginas web dinámicas. Los componentes del contenedor web pueden utilizar componentes del contenedor EJB para completar una lógica empresarial compleja.
◆ Contenedor EJB Contenedor del lado del servidor, el componente incluido es EJB (Enterprise JavaBeans), que es uno de los núcleos de J2EE y se utiliza principalmente para la implementación de la lógica empresarial del lado del servidor. La especificación EJB define un marco para desarrollar e implementar lógica empresarial distribuida para simplificar el desarrollo de aplicaciones de nivel empresarial y facilitar la escalabilidad, portabilidad, procesamiento de transacciones distribuidas, multiusuario y seguridad.
◆ Contenedor de Applet Contenedor de cliente, el componente incluido es Applet. Applet es un cliente liviano integrado en el navegador. En términos generales, solo se usa cuando los datos o la interfaz de la aplicación no se pueden representar completamente mediante una página web. Applet es un medio para reemplazar páginas web. Solo podemos usar J2SE para desarrollar Applets. No podemos usar varios servicios y API de J2EE.
◆ Contenedor de cliente de aplicación El contenedor de cliente contiene el componente Cliente de aplicación. Application Client es un cliente más pesado que Applet y puede utilizar la mayoría de los servicios y API de J2EE.
A través de estos cuatro contenedores, J2EE puede implementar de manera flexible la arquitectura de aplicaciones de nivel empresarial descrita anteriormente.
En la parte Vista, J2EE proporciona tres medios: JSP (o Servlet), Applet y Cliente de aplicaciones en el contenedor web, que pueden realizar respectivamente la representación de datos para navegadores y la representación de datos para aplicaciones de escritorio. El Servlet en el contenedor web es el medio principal para realizar el control del proceso de negocio de la parte del Controlador, mientras que el EJB está dirigido principalmente a la implementación de la lógica empresarial de la parte del Modelo. En cuanto a conectarse con diversos recursos empresariales y aplicaciones de nivel empresarial, se basa en varios servicios y API de J2EE.
Entre los diversos servicios y API de J2EE, JDBC y JCA se utilizan para conectar recursos empresariales (varios sistemas de información empresarial y bases de datos, etc.), mientras que JAX-RPC, JAXR y SAAJ se utilizan para implementar Web. Servicios y soporte Básico para conexiones de Servicios Web.
Varios componentes de J2EE
Detallaremos los distintos componentes, servicios y API de J2EE con más detalle para ver cómo utilizarlos al desarrollar diferentes tipos de aplicaciones de nivel empresarial. Cómo utilizar y combinar de manera flexible diferentes componentes y servicios según sus diferentes necesidades y objetivos.
·Servlet
Servlet es una tecnología CGI en la plataforma Java. Los servlets se ejecutan en el lado del servidor y generan páginas web dinámicamente. Los servlets Java son más eficientes y fáciles de usar que el CGI tradicional y muchas otras tecnologías similares a CGI. Para Servlet, las solicitudes repetidas no darán lugar a múltiples reimpresiones del mismo programa. Depende de subprocesos para admitir el acceso simultáneo.
·JSP
JSP (Java Server Page) es una tecnología que implementa codificación mixta de HTML estático ordinario y salida de página dinámica. Desde este punto de vista, es muy similar a Microsoft ASP, PHP y otras tecnologías. Con la separación del contenido formal y la apariencia, la tarea de producción de páginas web se puede dividir más fácilmente entre diseñadores y programadores de páginas, y se puede sintetizar fácilmente a través de JSP. En tiempo de ejecución, JSP se convertirá primero en Servlet y se compilará y ejecutará en forma de Servlet. Por lo tanto, su eficiencia y funciones no son diferentes de las de Servlet, y también es muy eficiente.
·EJB
EJB define un conjunto de componentes reutilizables: Enterprise Beans. Los desarrolladores pueden utilizar estos componentes para crear aplicaciones distribuidas como bloques de construcción. Al ensamblar componentes, todos los Enterprise Beans deben configurarse en el servidor EJB (los servidores de aplicaciones J2EE generales como Weblogic y WebSphere son servidores EJB). Como puente entre el contenedor y la plataforma de bajo nivel, el servidor EJB administra el contenedor EJB y le proporciona al contenedor la capacidad de acceder a los servicios del sistema. Todas las instancias EJB se ejecutan en contenedores EJB. El contenedor EJB proporciona servicios a nivel de sistema y controla el ciclo de vida de EJB. El contenedor EJB gestiona aspectos técnicos como seguridad, conexión remota, gestión del ciclo de vida y gestión de transacciones para sus desarrolladores, simplificando el desarrollo de la lógica empresarial. Hay tres tipos de Enterprise Beans definidos en EJB:
◆ Beans de sesión
◆ Beans de entidad
◆ Beans controlados por mensajes
· JDBC
La API JDBC (Java Database Connectivity, Java Database Connection) es una interfaz de acceso a bases de datos SQL (Structured Query Language, lenguaje de consulta estructurado) estándar, que permite a los desarrolladores de bases de datos escribir aplicaciones de bases de datos utilizando la API Java estándar. La API JDBC se utiliza principalmente para conectarse a la base de datos y llamar directamente a comandos SQL para ejecutar varias declaraciones SQL. Puede utilizar la API JDBC para ejecutar sentencias SQL generales, sentencias SQL dinámicas y procedimientos almacenados con parámetros IN y OUT. JDBC en Java es equivalente a ODBC (Open Database Connectivity) en la plataforma Microsoft.
·JMS
JMS (Java Message Service, Java Message Service) es un conjunto de interfaces de aplicaciones Java que proporcionan servicios para crear, enviar, recibir y leer mensajes. La API JMS define un conjunto de interfaces de programación de aplicaciones públicas y la sintaxis correspondiente, lo que permite que las aplicaciones Java se comuniquen con varios middleware de mensajes, incluidos IBM MQ-Series, Microsoft MSMQ y Java puro SonicMQ. Al utilizar la API JMS, los desarrolladores no necesitan dominar el uso de diferentes productos de mensajería y también pueden utilizar la API JMS unificada para manipular varios middleware de mensajería. Al utilizar JMS, se puede maximizar la portabilidad de las aplicaciones de mensajería. JMS admite tanto la comunicación de mensajes punto a punto como la comunicación de mensajes de publicación/suscripción.
·JNDI
Dado que los componentes de la aplicación J2EE generalmente se distribuyen en diferentes máquinas, se necesita un mecanismo para facilitar que los usuarios del cliente de componentes encuentren y hagan referencia a componentes y recursos. En el sistema J2EE, JNDI (Java Naming and Directory Interface) se utiliza para localizar varios objetos, incluidos EJB, controladores de bases de datos, fuentes de datos JDBC y conexiones de mensajes. La API JNDI proporciona una interfaz unificada para que las aplicaciones completen operaciones de directorio estándar, como buscar y localizar objetos a través de propiedades de objetos. Dado que JNDI es independiente de los protocolos de directorio, las aplicaciones también pueden utilizar JNDI para acceder a varios servicios de directorio específicos, como LDAP, NDS y DNS.
·JTA
JTA (Java Transaction API) proporciona una interfaz estándar para procesar transacciones en J2EE. Admite el inicio, la reversión y el envío de transacciones. Al mismo tiempo, en la plataforma J2EE general, siempre se proporciona un JTS (Java Transaction Service) como servicio de procesamiento de transacciones estándar. Los desarrolladores pueden usar JTA para usar JTS.
·JCA
JCA (J2EE Connector Architecture) es parte de la arquitectura J2EE y proporciona a los desarrolladores un conjunto de herramientas para conectar varios sistemas de información empresarial (EIS, incluidos ERP, SCM, CRM, etc.), para los desarrolladores de EIS, solo necesitan desarrollar un conjunto de adaptadores de conexión EIS basados en JCA, y los desarrolladores pueden conectarlos y usarlos en cualquier servidor de aplicaciones J2EE. La implementación del adaptador de conexión basado en JCA debe involucrar componentes de servicio como administración de transacciones, administración de seguridad y administración de conexiones en J2EE.
·JMX
El predecesor de JMX (Java Management Extensions) es JMAPI. JMX se dedica a resolver problemas de gestión de sistemas distribuidos. JMX es una colección de interfaces de programación de aplicaciones, objetos extensibles y métodos que pueden desarrollar aplicaciones de administración orientadas a servicios, redes y sistemas perfectamente integrados en varias plataformas de sistemas operativos, arquitecturas de sistemas y protocolos de transmisión de red heterogéneos. JMX es un entorno completo de desarrollo de aplicaciones de administración de redes. También proporciona una lista completa de funciones que los fabricantes deben recopilar, un formulario de lista de recursos que se puede generar, una interfaz gráfica de usuario para acceder a llamadas a procedimientos remotos entre hosts; y una base de datos.
·JAAS
JAAS (Servicio de autenticación y autorización de Java) implementa una versión Java del marco estándar del Módulo de autenticación conectable (PAM). JAAS se puede utilizar para autenticar usuarios y determinar de forma fiable y segura quién está ejecutando el código Java.
Al mismo tiempo, JAAS también puede implementar un control de acceso basado en usuarios autorizando a los usuarios.
·JACC
JACC (Contrato de Proveedor de Servicios de Autorización Java para Contenedores) define un acuerdo de conexión entre el servidor de aplicaciones J2EE y un servidor de autenticación de autorización específico para integrar varios servidores de autenticación conectados. Productos J2EE.
·JAX-RPC
Al utilizar JAX-RPC (Java API para RPC basado en XML), las clases Java o aplicaciones Java existentes se pueden volver a empaquetar y usar como publicación web en el formulario de Servicios. JAX-RPC proporciona una API para codificar y decodificar parámetros RPC (entrada/salida), lo que permite a los desarrolladores utilizar fácilmente mensajes SOAP para completar llamadas RPC. De manera similar, para aquellas aplicaciones comerciales que usan EJB (Enterprise JavaBeans), también se puede usar JAX-RPC para empaquetarlo en un servicio web, y la interfaz WSDL de este servicio web es consistente con el método EJB original. JAX-RPC empaqueta el despliegue y la implementación de servicios web para los usuarios. Para los desarrolladores de servicios web, SOAP/WSDL se vuelve transparente, lo que ayuda a acelerar el ciclo de desarrollo de los servicios web.
·JAXR
JAXR (API Java para Registros XML) proporciona una API para interactuar con múltiples tipos de servicios de registro. JAXR ejecuta el cliente para acceder a servicios web que son compatibles con la especificación JAXR. Los servicios web aquí son servicios de registro. En términos generales, los servicios de registro siempre se ejecutan en forma de Servicios Web. JAXR admite tres tipos de servicios de registro: Proveedor conectable JAXR, Proveedor JAXR específico del registro y Proveedor puente JAXR (admite Registro UDDI y Registro/Repositorio ebXML, etc.).
·SAAJ
SAAJ (SOAP con API Attachemnts para Java) es una mejora de JAX-RPC que proporciona soporte para la manipulación de mensajes SOAP de bajo nivel.
Ejemplo de aplicación empresarial
A continuación, asumimos la implementación J2EE de una aplicación empresarial para comprender la aplicación de varios componentes y servicios. Supongamos que el objeto de la aplicación es el sistema de ventas de un fabricante/minorista de productos informáticos. Este sistema de ventas puede publicar información del producto a través de su propio sitio web y también puede transmitir catálogos de productos al mercado de comercialización de productos informáticos. El sistema de ventas puede aceptar pedidos en línea (desde su propio sitio web o desde el mercado de comercialización de productos informáticos) y luego transferirlos al sistema de gestión interno de la empresa para el procesamiento de seguimiento relacionado.
Consulte la Figura 3. Esta aplicación empresarial se puede diseñar de esta manera. El núcleo de esta aplicación empresarial son las dos lógicas comerciales de gestión del catálogo de productos y gestión de pedidos de productos, que se implementan mediante EJB y se implementan en un contenedor EJB. Dado que el catálogo de productos y la información de pedidos deben conservarse, se utiliza JDBC para conectarse a la base de datos y JTA para completar la transacción de acceso a la base de datos.
Figura 3 Ejemplo de aplicación J2EE
Luego utilice JSP/Servlet para realizar el rendimiento web de la aplicación: navegación por catálogos de productos en línea y pedidos en línea. Para enviar el catálogo de productos a un mercado comercial específico, se utiliza JMS para implementar la transmisión asincrónica del catálogo de productos basada en mensajes. Para permitir que más mercados comerciales externos integren catálogos de productos y servicios de pedidos, es necesario utilizar la tecnología de servicios web para empaquetar la implementación de la lógica empresarial.
Dado que la gestión de pedidos de productos debe ser manejada por empleados internos de la empresa, es necesario integrar el sistema de usuario interno de la empresa y los servicios de control de acceso para facilitar el uso de los empleados. Utilice JACC para integrar los servicios de control de acceso interno y utilice JNDI para integrar a los usuarios internos. directorios y utilizar JAAS Realizar control de acceso. Dado que las transacciones de pedido de productos desencadenarán operaciones posteriores relacionadas con el sistema ERP empresarial (incluidos almacenamiento, finanzas, producción, etc.), es necesario utilizar JCA para conectarse al ERP empresarial.
Finalmente, para integrar esta aplicación en el sistema general de administración de la empresa, se construyó un cliente de administración utilizando Application Client (implementado en la misma máquina con otras aplicaciones de administración de aplicaciones empresariales) y a través de JMX. Administre esta aplicación empresarial.