introduccion java ee
Post on 08-Jan-2016
28 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
Introduccin Java EE
Mdulo 1 / parte 1
Curso: "Java EE Avanzado" 2014
Todos los logos y marcas utilizados en este documento, estn registrados y pertenecen a sus respectivos dueos.
MATERIAL ADQUIRIDO POR EDUARDO KLAGGES SAZO | Introduccin Java EE 1
-
Curso: "Java EE Avanzado" 2014 Introduccin
Java Platform, Enterprise Edition o Java EE (anteriormente conocido como Java 2
Platform, Enterprise Edition o J2EE hasta la versin 1.4), es una plataforma de
programacin para desarrollar y ejecutar software de aplicaciones empresariales con
arquitectura de N capas distribuida, basndose ampliamente en componentes de
software seguros, modulares, extensibles y reutilizables ejecutndose sobre un servidor
de aplicaciones.
| Introduccin Java EE 2
-
Curso: "Java EE Avanzado" 2010 La plataforma Java EE est definida por una especificacin. Similar a otras
especificaciones del Java Community Process, Java EE es tambin considerada
informalmente como un estndar debido a que los suministradores deben cumplir
ciertos requisitos de conformidad para declarar que sus productos son conformes a
Java EE, no obstante sin un estndar de ISO o ECMA.
Java EE incluye varias especificaciones de API, tales como JDBC, RMI, e-
mail, JMS, Servicios Web, XML, etc y define cmo coordinarlos. Java EE
tambin configura algunas especificaciones nicas para Java EE para
componentes.
Estas incluyen Enterprise JavaBeans, Servlets, Portlets (siguiendo la
especificacin de Portlets Java), Java Server Pages (jsp) y varias tecnologas
de servicios web (Web Services).
Esto permite al desarrollador crear una Aplicacin de Empresa portable entre
plataformas y escalable, a la vez que integrable con tecnologas anteriores.
Otros beneficios aadidos son, por ejemplo, que el servidor de aplicaciones
puede manejar transacciones, la seguridad, escalabilidad, concurrencia y
gestin de los componentes desplegados, significando que los
desarrolladores pueden concentrarse ms en la lgica de negocio de los
componentes en lugar de en tareas de mantenimiento de bajo nivel.
| Introduccin Java EE 3
-
Curso: "Java EE Avanzado" 2014
Historia y evolucin de Java EE.
La especificacin original J2EE fue desarrollada por Sun Microsystems.
Comenzando con J2EE 1.3, la especificacin fue desarrollada bajo el Java
Community Process. JSR 58 especifica J2EE 1.3 y JSR 151 especifica J2EE
1.4.
El SDK de J2EE 1.3 fue liberado inicialmente como beta en Abril de 2001. La
beta del SDK de J2EE 1.4 fue liberada por Sun en Diciembre de 2002.
La especificacin Java EE 5 fue desarrollada bajo el JSR 244 y la liberacin final
fue hecha el 11 de Mayo de 2006.
La especificacin Java EE 6 fue desarrollada bajo el JSR 316 y la liberacin final
fue hecha el 10 de Diciembre de 2009.
| Introduccin Java EE 4
-
J2SE 1.4 (improved)
JAX-RPC (new)
Web Service
J2EE Management
J2EE Deployment
JMX 1.1
JMS 1.1
JTA 1.0
Servlet 2.4
JSP 2.0
EJB 2.1
JAXR
Connector 1.5
JACC
JAXP 1.2
JavaMail 1.3
JAF 1.0
JAX-WS 2.0 & JSR
181
Java Persistence
EJB 3.0
JAXB 2.0
JavaSever Faces 1.2
new to Platform
JSP 2.1 Unification
w/ JSF 1.2
StAX Pull Parser
new to Platform
JAX-RS 1.1
Bean
Validation 1.0
DI 1.0
CDI 1.0
Managed
Beans 1.0
EJB 3.1
JPA 2.0
Servlet 3.0
JSF 2.0
Connectors 1.6
Interceptors
1.1
JAX-WS 2.2
JSR-109 1.3
JSP 2.2
EL 2.2
JSR-250 1.1
JACC 1.4
JASPIC 1.0
Curso: "Java EE Avanzado" 2014 J2EE 1.4 APIs y Tecnologa implementada
Java EE 5
Java EE 6
| Introduccin Java EE 5
-
Curso: "Java EE Avanzado" 2014
| Introduccin Java EE 6
-
Curso: "Java EE Avanzado" 2014
Arquitectura Multicapa de Java EE.
La plataforma JEE implica una forma de implementar y desplegar aplicaciones
empresariales. La plataforma se ha abierto a numerosos fabricantes de software para
conseguir satisfacer una amplia variedad de requisitos empresariales. La arquitectura
JEE implica un modelo de aplicaciones distribuidas en diversas capas o niveles (tier).
La capa cliente admite diversas tipos de clientes (HTML, Applet, aplicaciones Java,
etc.).
La capa intermedia (middle tier) contiene subcapas (el contenedor web y el contenedor
EJB). La tercera capa dentro de esta visin sinttica es la de de aplicaciones 'backend'
como ERP, EIS, bases de datos, etc. Como se puede ver un concepto clave de la
arquitectura es el de contenedor, que dicho de forma genrica no es ms que un
entorno de ejecucin estandarizado que ofrece unos servicios por medio de
componentes. Los componentes externos al contenedor tienen una forma estndar de
acceder a los servicios de dicho contenedor, con independencia del fabricante.
| Introduccin Java EE 7
-
Curso: "Java EE Avanzado" 2014
En la arquitectura JEE se contemplan cuatro capas, en funcin del tipo de servicio y
contenedores:
Capa de cliente, tambin conocida como capa de presentacin o de
aplicacin. Nos encontramos con componentes Java (applets o aplicaciones) y
no-Java (HTML, JavaScript, etc.).
Capa Web. Intermediario entre el cliente y otras capas. Sus componentes
principales son los Servlets y las Jsp. Aunque componentes de capa cliente
(applets o aplicaciones) pueden acceder directamente a la capa EJB, lo normal
es que Los Servlets/Jsp pueden llamar a los EJB.
Capa Enterprise JavaBeans. Permite a mltiples aplicaciones tener acceso de
forma concurrente a datos y lgica de negocio. Los EJB se encuentran en un
servidor EJB, que no es ms que un servidor de objetos distribuidos. Un EJB
puede conectarse a cualquier capa, aunque su misin esencial es conectarse
con los sistemas de informacin empresarial (un gestor de base de datos, ERP,
etc.)
MATERIAL ADQUIRIDO POR EDUARDO A KLAGGES SAZO| Introduccin Java EE 8
-
Curso: "Java EE Avanzado" 2014 Capa de sistemas de informacin empresarial.
La visin de la arquitectura es un esquema lgico, no fsico. Cuando hablamos de
capas nos referimos sobre todo a servicios diferentes (que pueden estar fsicamente
dentro de la misma mquina e incluso compartir servidor de aplicaciones y JVM).
| Introduccin Java EE 9
-
Ventajas de Java EE.
Curso: "Java EE Avanzado" 2014 Las razones que empujan a la creacin de la plataforma JEE:
Programacin eficiente. Para conseguir productividad es importante que los
equipos de desarrollo tengan una forma estndar de construir mltiples
aplicaciones en diversas capas (cliente, servidor web, etc.). En cada capa
necesitaremos diversas herramientas, por ejemplo en la capa cliente tenemos
applets, aplicaciones Java, etc. En la capa web tenemos servlets, pginas JSP,
etc. Con JEE tenemos una tecnologa estndar, un nico modelo de
aplicaciones, que incluye diversas herramientas; en contraposicin al
desarrollo tradicional con HTML, Javascript, CGI, servidor web, etc. Que
implicaba numerosos modelos para la creacin de contenidos dinmicos, con los
lgicos inconvenientes para la integracin.
Extensibilidad frente a la demanda del negocio. En un contexto de
crecimiento de nmero de usuarios es precisa la gestin de recursos, como
conexiones a bases de datos, transacciones o balanceo de carga. Adems los
equipos de desarrollo deben aplicar un estndar que les permita abstraerse de la
implementacin del servidor, con aplicaciones que puedan ejecutarse en
mltiples servidores, desde un simple servidor hasta una arquitectura de alta
disponibilidad y balanceo de carga entre diversas mquinas.
Integracin. Los equipos de ingeniera precisan estndares que favorezcan la
integracin entre diversas capas de software.
| Introduccin Java EE 10
-
Herramientas Java EE.
Curso: "Java EE Avanzado" 2014
Uno de los beneficios de Java EE como plataforma es que es posible empezar con
poco o ningn coste. La implementacin Java EE de Sun Microsystems puede ser
descargada gratuitamente, y hay muchas herramientas, de cdigo abierto, disponibles
para extender la plataforma o para simplificar el desarrollo.
Ejemplos de herramientas de desarrollo Java de cdigo abierto de terceras partes son:
NetBeans IDE, un IDE basado en Java
La plataforma Eclipse, un IDE basado en Java
Jedit, de cdigo abierto, un IDE basado en Java
Apache Software Foundation Apache Ant, una herramienta de construccin
automtica
Apache Software Foundation Apache Maven, una herramienta de construccin
automtica y gestin de dependencias
JUnit, un framework para Pruebas de unidad automatizadas
| Introduccin Java EE 11
-
Curso: "Java EE Avanzado" 2014 Apache Software Foundation Apache Tomcat, un contenedor web de
Servlet/JSP
Jetty, un servidor web y un contenedor web Servlet/JSP
Struts2, un Framework para desarrollar aplicaciones web EE conforme al modelo
MVC
Spring, un Framework para desarrollar aplicaciones web EE conforme al modelo
MVC
JDeveloper, un IDE basado en Java y desarrollado por Oracle
JBuilder, desarrollado por Borland
JavaServer Faces, un framework para desarrollar aplicaciones web EE
conforme al modelo MVC, desarrollado por Sun
JBoss, un servidor de aplicaciones de Red Hat
Glass Fish, un servidor de aplicaciones desarrollado por Sun
| Introduccin Java EE 12
-
Servidores de Aplicacin.
Curso: "Java EE Avanzado" 2014 Se denomina servidor de aplicaciones a un servidor en una red de computadores que
ejecuta ciertas aplicaciones.
Usualmente se trata de un dispositivo de software que proporciona servicios de
aplicacin a las computadoras cliente. Un servidor de aplicaciones generalmente
gestiona la mayor parte (o la totalidad) de las funciones de lgica de negocio y de
acceso a los datos de la aplicacin. Los principales beneficios de la aplicacin de la
tecnologa de servidores de aplicacin son la centralizacin y la disminucin de la
complejidad en el desarrollo de aplicaciones. Si bien el trmino es aplicable a todas las
plataformas de software, hoy en da el trmino servidor de aplicaciones se ha
convertido en sinnimo de la plataforma J2EE de Sun Microsystems.
Servidores de Aplicaciones Java EE5 y 6 certificados
GlassFish, un servidor de aplicaciones de cdigo abierto de Sun
JBoss, un servidor de aplicaciones de cdigo abierto de JBoss Inc. (adquirida
por Red Hat en Abril del 2006)
OpenEJB, Open Source Enterprise Java Beans (EJB) Container System and
Server
Servidor de Aplicaciones SAP NetWeaver, Java EE 5 Edition de SAP
Geronimo, un servidor de aplicaciones de cdigo abierto de Apache
JOnAS, un servidor de aplicaciones de cdigo abierto de OW2 Consortium -
ObjectWeb
Sun Java System Web Server
Sun Java System Application Server
IBM WebSphere Application Server (WAS), un servidor de aplicaciones
altamente escalable, completamente conforme a J2EE de IBM
Servidor de Aplicaciones WebLogic de BEA Systems
| Introduccin Java EE 13
-
Curso: "Java EE Avanzado" 2014 Tecnologa EJB
Los Enterprise JavaBeans (tambin conocidos por sus siglas EJB) son una de las API
que forman parte del estndar de construccin de aplicaciones empresariales J2EE
(ahora JEE 5.0) de Oracle Corporation (inicialmente desarrollado por Sun
Microsystems). Su especificacin detalla cmo los servidores de aplicaciones proveen
objetos desde el lado del servidor que son, precisamente, los EJB:
Comunicacin remota utilizando CORBA
Transacciones
Control de la concurrencia
Eventos utilizando JMS (Java messaging service)
Servicios de nombres y de directorio
Seguridad
Ubicacin de componentes en un servidor de aplicaciones.
La especificacin de EJB define los papeles jugados por el contenedor de EJB y los
EJB, adems de disponer los EJB en un contenedor.
MATERIAL ADQUIRIDO POR EDUARDO A KLAGGES SAZO | Introduccin Java EE 14
-
JRE.
JDK.
NetBeans - IDE.
Glassfish Sevidor de Aplicaciones
Curso: "Java EE Avanzado" 2014 Cmo obtener e instalar el software.
Se puede descargar de manera gratuita desde el sitio oficial de sun. La mayora de los
navegadores web ofrecen la opcin de instalarlo como plugin.
Se puede descargar gratuitamente desde el sitio oficial de sun http://java.sun.com/
javase/downloads/widget/jdk6.jsp , hay distribuciones que incluyen NetBeans.
Se puede descargar desde el sitio oficial de NetBeans (www.netbeans.org ) o desde el
sitio de sun microsystems.
Se puede descargar desde el sitio oficial https://glassfish.dev.java.net/ , pero tambin
viene incluido dentro de NetBeans en la versin Java (se recomienda sta ltima).
| Introduccin Java EE 15
-
Modelo de aplicacin Java EE.
Curso: "Java EE Avanzado" 2014 Contenedores.
La arquitectura de un servidor de aplicaciones incluye una serie de subsistemas:
Servidor HTTP (tambin denominado servidor Web o servidor de pginas). Un
ejemplo, el servidor Apache.
Contenedor de aplicaciones, contenedor Servlet/JSP o contenedor Web. Un
ejemplo, Tomcat (que incluye el servicio anterior sobre pginas)
Contenedor Enterprise Java Beans, que contiene aplicativos Java de
interaccin con bases de datos o sistemas empresariales. Un ejemplo es JBoss
que contiene a los anteriores (servidor de pginas web y contenedor de
aplicaciones web).
Pero conviene empezar por el principio, es decir, el lenguaje bsico de interconexin: el
protocolo HTTP. Es un protocolo de aplicacin, generalmente implementado sobre TCP/
IP. Es un protocolo sin estado basado en solicitudes (request) y respuestas (response),
que usa por defecto el puerto 8080:
"Basado en peticiones y respuestas": significa que el cliente (por ejemplo un
navegador) inicia siempre la conexin (por ejemplo, para pedir una pgina). No
hay posibilidad de que el servidor realice una llamada de respuesta al cliente
(retro llamada). El servidor ofrece la respuesta (la pgina) y cierra la conexin.
En la siguiente peticin del cliente se abre una conexin y el ciclo vuelve e
empezar: el servidor devuelve el recurso y cierra conexin.
"Sin estado": el servidor cierra la conexin una vez realizada la respuesta. No se
mantienen los datos asociados a la conexin. Ms adelante veremos que hay
una forma de persistencia de datos asociada a la "sesin".
| Introduccin Java EE 16
-
Curso: "Java EE Avanzado" 2014 Qu ocurre cuando un navegador invoca una aplicacin?
El cliente (el navegador) no invoca directamente el contenedor de aplicaciones, sino
que llama al servidor web por medio de HTTP. El servidor web se interpone en la
solicitud o invocacin; siendo el servidor web el responsable de trasladar la solicitud al
contenedor de aplicaciones.
La solicitud llega el servidor de pginas web, que tiene que descifrar si el recurso
solicitado es un recurso esttico o una aplicacin. Si es una aplicacin delega la
solicitud en el contenedor web (contenedor Servlet/JSP).
El contenedor web gestiona la localizacin y ejecucin de Servlets y JSP, que no son
ms que pequeos programas. El contenedor web o contenedor Servlet/JSP recibe la
solicitud.
Su mquina Java (JVM) invoca al objeto Servlet/JSP, por tanto nos encontramos ante
un tipo de aplicaciones que se ejecutan en el servidor, no en el cliente. No conviene
olvidar que un Servlet o un JSP no es ms que una clase Java.
| Introduccin Java EE 17
-
Tipos de Contenedores.
Curso: "Java EE Avanzado" 2014 Lo ms interesante en este sentido es que:
La JVM (generalmente) no crea una instancia de la clase por cada solicitud, sino
que con una nica instancia de un Servlet/JSP se da servicio a mltiples
solicitudes HTTP. Esto hace que el consumo de recursos sea pequeo en
comparacin con otras opciones, como el uso de CGIs, en donde cada solicitud
se resuelve en un proceso.
Para cada solicitud se genera un hilo (thread) para resolverla (pero con una
nica instancia de la clase, como hemos dicho).
Los contenedores J2EE proporcionan acceso a los servicios subyacentes del entorno
del Servidor J2EE mediante contenedores para diferentes tipos de componentes.
Tradicionalmente, los desarrolladores de aplicaciones tenan que escribir cdigo para el
manejo de transacciones, manejo del estado, multi-hilos, almacenamiento de recursos,
etc. Ahora el contenedor J2EE proporciona estos servicios permitiendo que te puedas
concentrar en resolver los problemas de negocio.
Los contenedores son el interface entre un componente y la funcionalidad de bajo nivel
especfica de la plataforma que soporta el componente. Por ejemplo, antes de poder
ejecutar un componente Web, un enterprise java bean (EJB) o un componente de una
aplicacin cliente, debe ensamblarse dentro de una aplicacin J2EE y desplegarse
dentro de su contenedor.
El proceso de ensamble implica especificar las configuraciones del servidor para cada
componente de la aplicacin J2EE y para la propia aplicacin J2EE. Estas
configuraciones personalizan el soporte subyacente proporcionado por el servidor
J2EE, que incluye servicios como JNI, JNDI, seguridad, control de transacciones, etc.
| Introduccin Java EE 18
-
Curso: "Java EE Avanzado" 2014 El servidor J2EE proporciona contenedores para Enterprise JavaBeans (EJB) y para
componentes Web. El contenedor EJB maneja la ejecucin de los beans enterprise de
las aplicaciones J2EE, mientras que el contenedor Web maneja la ejecucin de las
pginas JSP y los componentes servlets de la aplicacin J2EE.
Otros contenedores distintos a estos son el contenedor de aplicaciones clientes y el
contenedor de applets, que no son parte del servidor J2EE porque residen en la
mquina del cliente:
Un contenedor de aplicaciones cliente maneja la ejecucin de los componentes de la
aplicacin cliente mientras que un contenedor de Applets maneja la ejecucin de los
applets. Normalmente estn en el JRE (Java Runtime Environment) y el navegador
Web compatible con Java, respectivamente.
| Introduccin Java EE 19
-
Servlets.
Curso: "Java EE Avanzado" 2014Componente Web.
Los servlets son objetos que corren dentro del contexto de un contenedor de servlets
(ej: Tomcat) y extienden su funcionalidad. Tambin podran correr dentro de un servidor
de aplicaciones (ej: OC4J Oracle) que adems de contenedor para servlet tendr
contenedor para objetos ms avanzados como son los EJB (Tomcat slo es un
contenedor de servlets).
La palabra servlet deriva de otra anterior, applet, que se refera a pequeos programas
escritos en Java que se ejecutan en el contexto de un navegador web. Por
contraposicin, un servlet es un programa que se ejecuta en un servidor.
El uso ms comn de los servlets es generar pginas web de forma dinmica a partir
de los parmetros de la peticin que enve el navegador web.
| Introduccin Java EE 20
-
Servidores con contenedores Web.
Curso: "Java EE Avanzado" 2014Entonces los servlets son objetos Java los cuales extienden de la funcionalidad de un
Sevidor Http, con contenido dinmico, mucho mejor alternativas a las antiguas
tecnologas como los CGI, NSAPI, ISAPI, etc.
Eficiente
Plataforma y servidor independiente
Session management
Java-based
Todo servidor de aplicaciones JEE contiene un contenedor Web, sin embargo existen
algunos servidores que slo contienen implementada esta parte de la plataforma.
Jetty es un ejemplo de ello, sin embargo el ms usado es Tomcat (tambin llamado
Jakarta Tomcat o Apache Tomcat), el cual funciona como un contenedor de servlets
desarrollado bajo el proyecto Jakarta en la Apache Software Foundation. Tomcat
implementa las especificaciones de los servlets y de JavaServer Pages (JSP) de Sun
Microsystems.
| Introduccin Java EE 21
-
Curso: "Java EE Avanzado" 2014En Resumen
J2EE es la plataforma de eleccin para el desarrollo y despliegue de n-capas, basado
en la Web, en transacciones y componente de aplicaciones empresariales como los
EJB y diversos Frameworks como Spring y Struts:
J2EE es una arquitectura basada en estndares
J2EE es toda la comunidad
J2EE evoluciona de acuerdo a las necesidades de la industria
Enva tus consultas a los foros! Aqu es cuando debes sacarte todas las dudas haciendo consultas en los foros correspondientes
| Introduccin Java EE 22
top related