Jee Frameworks

25
JEE FRAMEWORKS INSTRUCTOR(A): YANETH MEJIA RENDON

description

la presentación muestra lo referente a programación java enterprise edition

Transcript of Jee Frameworks

JEE FRAMEWORKSINSTRUCTOR(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 ejecuta ciertas aplicaciones.

N capas distribuidas

Estilo de programación para separar los diferentes aspectos del desarrollo, tales como las cuestiones de presentación, lógica de negocio, mecanismos de almacenamiento, etc.

Desde la aparición de los motores de base de datos existen dos "niveles" perfectamente definidos.

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.

EJEMPLO: Herramienta para grabar los programas de televisión emitidos.

Este componente tiene un sistema de almacenamiento, para "guardar" las instrucciones en tiempo real del programa en particular.

Existe una porción de lógica de negocio, 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

Necesidad de "intercambiar" partes de la aplicación, 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, la capa de presentación interactúa con la capa de lógica de negoción. Desde la filosofía de arquitectura en capas, esto significa que la capa de lógica de negocios presenta una "interfaz" para brindar servicios a la capa de presentación.

En el otro nivel donde se encuentra una capa encargada de los datos. Esta capa no se muestra como un "paquete” dado que se trata de un motor de base de datos.

Lo importante: las capas inferiores brindan servicios a las capas superiores (independiente del nivel en que se encuentren).

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

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, 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 

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 

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

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, evitándose el trabajo de programar todo desde el principio

tales como JDBC, RMI, e-mail, JMS, Servicios Web, XML, etc y define cómo coordinarlos.

Estas incluyen Enterprise JavaBeans,servlets, portlets (siguiendo la especificación de Portlets Java), JavaServer Pages y varias tecnologías de servicios web

Por ejemplo, "Hola Mundo" sobre la pantalla en diferentes niveles de abstracción:

Haciendo todo el trabajo desde el principio: Escribir en papel, letras con espacios "H, o, l, a, M, u, n, d, o".

Crea una matriz con la sucesión de letras.

Se escribe la información de la matriz en la memoria intermedia ("buffer") de pantalla.

Mediante la instrucción la tarjeta gráfica se muestra información en la pantalla.

Por medio de un sistema operativo para hacer parte del trabajo: Selecciona una fuente tipográfica.

S.O. dibuja el texto "Hola Mundo" usando la fuente cargada.

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, Chrome, Opera, Safari, Midori, Iceweasel, Web o Internet Explorer pueda representarlo en el monitor.

QUE PERMITEN LAS API?

Crear una Aplicación de Empresa portable entre plataformas y escalable, a la vez que integrable con tecnologías anteriores.

El servidor de aplicaciones puede manejar transacciones, la seguridad, escalabilidad, concurrencia y gestión de los componentes desplegados.

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.

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, XML, entre otros.

Similar a PHP, pero usa el lenguaje de programación Java.

Servidor Web

Para desplegar y correr JavaServer Pages, se requiere un servidor web compatible con contenedores servlet como Apache Tomcat o Jetty.

Jetty -> servidor HTTP 100% basado en Java y un contenedor de Servlets escrito en Java. Proyecto de software libre bajo la licencia Apache 2.0. Mas utilizado para Eclipse.

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.

Esto permite separar en niveles las aplicaciones web, dejando la parte encargada de generar el documento HTML en el archivo JSP.

Otra ventaja es que JSP hereda la portabilidad de Java, y es posible ejecutar las aplicaciones en múltiples plataformas sin cambios. Es común incluso que los desarrolladores trabajen en una plataforma y que la aplicación termine siendo ejecutada en otra.

JSPs y servlets

los JSPs y servlets se ejecutan en una máquina virtual Java, se pueden usar en cualquier tipo de ordenador, siempre que exista una máquina virtual Java para él.

Cada servlet se ejecuta en su propio hilo, es decir, en su propio contexto; pero no se comienza a ejecutar cada vez que recibe una petición, sino que persiste de una petición a la siguiente, de forma que no se pierde tiempo en invocarlo (cargar programa +intérprete).

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, por ejemplo.

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, no necesariamente la funcionalidad que proveen sus métodos

PASO DE SERVLET A JSP

Las JSPs son una forma alternativa de crear servlets.

El código JSP se traduce a código de servlet Java la primera vez que se le invoca.

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.

JSP puede ser visto como una abstracción de alto nivel de los servlets Java.

Las JavaServer Pages son traducidas a servlets en tiempo real; cada servlet es guardado en caché y reusado hasta que la JSP original es modificada.