Qué tengo hasta ahora?
- Conozco de Bases de Datos, normalización, SQL, … Además utilizé Fox y Clipper hace mucho tiempo.
- Se programar con Java, JSP, Servlets, HTML, CSS, un poco de JScript y otros lenguajes como c, asm, c++, lisp, modula, prolog, VB, VBA, … , que su aporte a este proyecto no es tan directo.
- He programado principalmente aplicaciones de escritorio y pequeñas páginas con HTML, JSP y Servlets.
- Utilizo Netbeans como IDE, aunque he utilizado otros hace tiempo decidí quedarme con Netbeans, solo por gusto.
Dicho esto, empecemos…
Inevitable Teoría
Aunque a muchos de los que nos gusta programar hemos desarrollado una gran capacidad para inferir la parte teórica o las reglas con tan solo revisar código, realmente no es la idea. Iré mezclando Teoría y Código, para dejar bien sentado lo que voy avanzando. Aunque me temo que ésta primera parte será básicamente teoría, extractos de lo más importante o indispensable.
Qué quiero hacer?
Una aplicación Web que implique la mayoría de los elementos que quiero aprender y que básicamente me permita manejar una pequeña Base de Datos en Internet. Realmente esto suena muy sencillo, no debería haber ningún problema dado mis conocimientos y mi experiencia. Jeje.
Una primer aproximación sería utilizar JSP con JDBC.
- Utilizar un clase Java plana, que lea y parse un archivo .xml con los datos de la conexión, cargue los datos en variables privadas (atributos) de la clase, cree la Cadena de conexión a la base de datos, …
- En un JSP utilizar la clase conexión para solicitar la cadena de conexión a la bd, crear una consulta sql y ejecutarla contra la base de datos.
- Dentro de un Ciclo (for o while) recorrer el resultado de la Consulta imprimiendo renglón a renglón, pero AGREGANDO al final BOTONES HTML para MODIFICAR o BORRAR, ..
Ahora bien, sé que todo eso tiene un precio, no sé cual es y eso pretendo investigar, empezando enseguida.
Después de haber revisado mucha información voy a tratar de estructurar lo que he ido descubriendo…
La Plataforma Java 2 Enterprise Edition J2EE
J2EE es una especificación que quienes crean software Enterprise, deben cumplir. No es un producto.
Pero es solo una de tres partes de la plataforma Java 2:
- J2ME: Edición Micro, para dispositivos móviles.
- J2SE: Edición Estándar, es la que normalmente usamos con la Máquina Virtual de Java, ejecutar aplicaciones, programar, etc.
- J2EE: Edición Empresarial, plataforma para Clases Enterprise del lado del servidor.
Construida sobre J2SE, agrega una serie de tecnologías entre las cuales encontramos:
- Enterprise Java Beans (EJB)
- Java Remote Method Invocation (RMI-IIOP)
- Java Naming and Directory Interface (JNDI)
- Java Messaging Services (JMS)
- Java Servlets
- Java Pages (JSP)
- Java Mail
- Java API for XML Parsing (JAPX)
- Java Authentication and Authorization Service (JAAS)
EJB está basado en Java RMI-IIOP y JNDI, y esta compuesto de:
- La Entreprise Bean Class
- La Remote Interface
- El EJB Object
- El Local Object
- La Home Interfase
- El Home Object
- El Deployment Descriptor
- El Ejb-jar
La Arquitectura de EJB esta compuesta de 3 elementos principales:
- Componentes: Enterprise EJB
- Contenedor: Contiene los Componentes y les ofrece una serie de Servicios en tiempo de Ejecución.
- Servidor: Contiene al Contenedor a la vez que le ofrece una serie de Servicios a nivel de Sistema.
- Session Beans: Representan Procesos.
- Entity Beans: Una Entidad (registro) de la Base de Datos.
- Message-Driven Beans: Manejan Mensajes vía el Java Messaging Service (JMS).
Ejemplo...

Fig.1
La función principal de un EJB es atender la llamada del Cliente (Aplicación, otro Bean), pero el Cliente en realidad no llama directamente al EJB, sino Interfaces (Session y Entity Beans) o JMS (Message-Driven Beans) que muestran algunos métodos implementados en la clase Bean.
Puede parecer un poco extraño agregar una capa más entre el Cliente y el EJB, pero hay una razón muy importante, Los Servicios que el EJBContainer/Server ofrece. De modo que para poder ofrecer dichos servicios el EJBContainer proporciona dos clases derivadas de dos interfaces que implementan las interfaces del Bean: Interfaz de Componente e Interfaz Home.
El EJBObject es una instancia de la interfaz de Componente generada a través del HomeObject, la fig.1 muestra un ejemplo de interacción.
Links:
Links que valen la pena revisar. Algunos traen al final una lista de recursos relacionados.
JavaWord : A beginner's guide to Enterprise JavaBeans
JavaWorld : Write a Session Bean (Step by Step)
Sun: Enterprise JavaBeans Technology
No hay comentarios :
Publicar un comentario