JEE FRAMEWORKS

INSTRUCTOR(A): YANETH MEJIA RENDON

Java Platform, Enterprise
Edition o Java EE

Java 2 Platform, Enterprise Edition o J2EE hasta la versión 1.4;
traducido informalmente como Java Empresarial

Plataforma de programación, para desarrollar y ejecutar software
en el lenguaje de programación Java.

Permite utilizar arquitecturas de N capas distribuidas y se ejecuta
sobre un servidor de aplicaciones.

Servidor en
una red de computadores que
aplicaciones.

ejecuta

ciertas 

tales como las cuestiones de presentación. mecanismos de almacenamiento. etc.  El término capa se utiliza para referenciar a las distintas "partes" en que una aplicación se divide desde un punto de vista lógico. mientras que "nivel" corresponde a la forma física en que se organiza una aplicación. .  Desde la aparición de los motores de base de datos existen dos "niveles" perfectamente definidos. lógica de negocio.N capas distribuidas  Estilo de programación para separar los diferentes aspectos del desarrollo.

 Existe una porción de lógica de negocio. para "guardar" las instrucciones en tiempo real del programa en particular.  Este componente tiene un sistema de almacenamiento. pasos necesarios para capturar el programa de televisión y grabarlo  Finalmente hay una interfaz de usuario que permite a las personas ver y editar las instrucciones de grabación .EJEMPLO: Herramienta para grabar los programas de televisión emitidos.

 Necesidad de "intercambiar" partes de la aplicación. la capa de presentación interactúa con la capa de lógica de negoción.  En el otro nivel donde se encuentra una capa encargada de los datos.  Lo importante: las capas inferiores brindan servicios a las capas superiores (independiente del nivel en que se encuentren). sin tener que modificar el resto de la aplicación es lo que impulsa el desarrollo en capas ---->  Hay 2 niveles y en el primero de ellos diferenciamos 2 capas. esto significa que la capa de lógica de negocios presenta una "interfaz" para brindar servicios a la capa de presentación. Esta capa no se muestra como un "paquete” dado que se trata de un motor de base de datos. Desde la filosofía de arquitectura en capas. .

servicio Web (en inglés Web service)  Colección de protocolos y estándares que sirven para intercambiar datos entre aplicaciones.  • Accesible desde cualquier aplicación  • Por cualquier lenguaje de programación  • Desde cualquier plataforma  • Usando estándares abiertos  .

Protocolos conocidos   • XML: Es el formato estándar para los datos que se vayan a intercambiar.  • WS-Security: Protocolo de seguridad aceptado como estándar por OASIS.  • HTTP. la convergencia y la adopción de los estándares de comercio electrónico y servicios web) .  • UDDI: Protocolo para publicar la información de los servicios Web.  • WSDL: Es el lenguaje de la interfaz pública para los servicios Web.  • SOAP o XML-RPC: Protocolos sobre los que se establece el intercambio. (Consorcio internacional sin fines de lucro que orienta el desarrollo. o SMTP: los datos en XML también pueden enviarse de una aplicación a otra mediante protocolos normales ya bien conocidos. FTP.

permiten acceder a cualquier sistema conectado a la red (http usa el puerto 80)   Permiten el uso de servicios integrados cambiando el de varias compañías y varios software  .Ventajas de los servicios Web   Aportan interoperabilidad entre aplicaciones de software   Los servicios Web fomentan los estándares y protocolos basados en texto (más humanos y accesibles)   Al apoyarse en HTTP.

Razones para el uso de servicios Web   La principal razón para usar servicios Web es que se basan en HTTP sobre TCP en el puerto 80   Buena interfaz para acceder a servicios y funcionalidades de otros ordenadores en la red   Gran independencia y flexibilidad entre aplicación y servicio  .

TIPOS DE ARQUITECTURAS EN TECNOLOGÍAS CLIENTE-SERVIDOR  .

Aplicaciones mono-capa:   Tanto los datos de aplicación como la interfaz como la lógica de modelo residen en una misma identidad  .

El cliente aún puede integrar parte de la funcionalidad del sistema. . Se separan 2 de las tres capas.

Aplicaciones de 3 capas.   Creamos un cliente “tonto” que carece de toda lógica de negocio y apenas ofrece alguna funcionalidad más que la de visión y petición de datos .

Las diferentes capas suelen ser:  – Capa 1 : Cliente de aplicación  • Ejemplos: Set-top box. navegador Web   – Capa 2 : Servidor de Aplicaciones  • Ejemplo: Servidor Tomcat con servlet’s   – Capa 3 : Servidor de Datos  • Ejemplo: Base de datos. . servidor SMTP (enviar correos electrónicos).

API de Java EE  Java EE tiene varias especificaciones de API (Interfaz de programación de aplicaciones):  los programadores se benefician de las ventajas de la API haciendo uso de su funcionalidad. XML. portlets (siguiendo la especificación de Portlets Java). e-mail. etc y define cómo coordinarlos.  Estas incluyen Enterprise JavaBeans. Servicios Web.servlets. evitándose el trabajo de programar todo desde el principio  tales como JDBC. JavaServer Pages y varias tecnologías de servicios web . RMI. JMS.

letras con espacios "H. Web o  Internet Explorer pueda representarlo en el monitor. a. l.O. Safari.  S. M. dibuja el texto "Hola Mundo" usando la fuente cargada.Por ejemplo. o. n. Usando una aplicación (que a su vez usa el sistema operativo) para realizar la mayor parte del trabajo:  Escribe un documento HTML con las palabras "Hola Mundo" para que un  navegador Web como Firefox. Midori. "Hola Mundo" sobre la pantalla en diferentes niveles de abstracción:    Haciendo todo el trabajo desde el principio:  Escribir en papel. Por medio de un sistema operativo para hacer parte del trabajo:  Selecciona una fuente tipográfica. . d. Iceweasel.  Mediante la instrucción la tarjeta gráfica se muestra información en la pantalla. u.  Se escribe la información de la matriz en la memoria intermedia ("buffer") de pantalla. o". Opera.  Crea una matriz con la sucesión de letras. Chrome.

 Los desarrolladores pueden concentrarse más en la lógica de negocio de los componentes en lugar de en tareas de mantenimiento de bajo nivel. concurrencia y gestión de los componentes desplegados. a la vez que integrable con tecnologías anteriores.QUE PERMITEN LAS API?  Crear una Aplicación de Empresa portable entre plataformas y escalable. la seguridad.  El servidor de aplicaciones puede manejar transacciones. . escalabilidad.

ESTRUCTURA DE UNA APLICACIÓN WEB .

EJEMPLO CALCULADORA .

JavaServer Pages (JSP) Ayuda a los desarrolladores de software a crear páginas web dinámicas basadas en HTML. entre otros. pero usa el lenguaje de programación Java. . XML. Similar a PHP.

.0.  Jetty -> servidor HTTP 100% basado en Java y un contenedor de  Servlets escrito en Java. Proyecto de software libre bajo la licencia Apache 2.Servidor Web  Para desplegar y correr JavaServer Pages. se requiere un servidor web compatible con contenedores servlet como Apache Tomcat  o Jetty. Mas utilizado para Eclipse.

.  Esto permite separar en niveles las aplicaciones web.La principal ventaja de JSP  Lenguaje Java de propósito general que excede el mundo web y que es apto para crear clases que manejen lógica de negocio y acceso a datos de una manera prolija. dejando la parte encargada de generar el documento HTML en el archivo JSP. Es común incluso que los desarrolladores trabajen en una plataforma y que la aplicación termine siendo ejecutada en otra.  Otra ventaja es que JSP hereda la portabilidad de Java. y es posible ejecutar las aplicaciones en múltiples plataformas sin cambios.

de forma que no se pierde tiempo en invocarlo (cargar programa + intérprete). en su propio contexto.  Su persistencia le permite también hacer una serie de cosas de forma más eficiente: conexión a bases de datos y manejo de sesiones.  Cada servlet se ejecuta en su propio hilo. siempre que exista una máquina virtual Java para él. pero no se comienza a ejecutar cada vez que recibe una petición. se pueden usar en cualquier tipo de ordenador. sino que persiste de una petición a la siguiente.JSPs y servlets  los JSPs y servlets se ejecutan en una máquina virtual Java. por ejemplo. . es decir.

no necesariamente la funcionalidad que proveen sus métodos .Que es la Persistencia?  Acción de preservar la información de un objeto de forma permanente (guardar)  Pero a su vez también se refiere a poder recuperar la información del mismo (leer) para que pueda ser nuevamente utilizada.  En la mayoría de los casos son los valores que contienen los atributos en ese momento.

PASO DE SERVLET A JSP  Las JSPs son una forma alternativa de crear servlets.  JSP puede ser visto como una abstracción de alto nivel de los servlets Java. cada servlet es guardado en caché y reusado hasta que la JSP original es modificada.  El código JSP se traduce a código de servlet Java la primera vez que se le invoca.  Las JavaServer Pages son traducidas a servlets en tiempo real.  En adelante es el código del nuevo servlet el que se ejecuta produciendo como salida el código HTML que compone la página web de respuesta. .