Upload
marcos-jara
View
819
Download
1
Embed Size (px)
Citation preview
JEE – Aplicaciones CorporativasJava Enterprise Edition
Disertante: Lic. Marcos Jarahttp://www.marcosjara.com
Temario
• Parte I – Nociones básicas sobre JEE
• Parte II – Conceptos Técnicos Básicos
• Parte III – Sesión Práctica
Parte INociones Básicas Nociones Básicas
sobre JEE
Porqué JEE y no J2EE?
• Se llamaba J2EE o Java 2 Platform, Enterprise
Edition hasta la versión 1.4 del Java.
• A partir de la versión 1.5 o Java 5, se lo
denomina como JEE o Java Enterprise
Edition.Edition.
• En algunos libros puede encontrarse J5EE.
• Cómo estamos usando el Java 6, entonces
aplicamos JEE.
Qué es JEE?
• Es una plataforma de programación, parte
de la Plataforma Java—para desarrollar y
ejecutar software de aplicaciones con
arquitectura de N niveles y distribuida. (Wikipedia)
• Java EE es también considerada como una
especificación, debido a que los
suministradores deben cumplir ciertos
requisitos para declarar que sus productos
son conformes a Java EE
En resumen… JEE..
• Es una Plataforma de Programación de
Java
• Permite una arquitectura distribuida por N
niveles
• Se basa en componentes modulares • Se basa en componentes modulares
• Se considera como un estándar
• Fue desarrollada por Sun Microsystems
• Simplifica el desarrollo de las aplicaciones
corporativas
Que son Aplicaciones Corporativas?
• Son aplicaciones de gran complejidad. Por ejemplo,
aplicaciones que trabajan a nivel mundial, ej.: los
clientes de correo web, sistemas de compras on-
line tipo Amazon.com
• Manejan mucha cantidad de información.
• Permite el acceso de miles de usuarios de forma • Permite el acceso de miles de usuarios de forma
simultánea.
• Requieren un alto grado de seguridad en la
aplicación
• Pueden ser escalables a lo largo del tiempo
Cuando usar JEE?
• Cuando se detecta que la complejidad del
software pertenece a una aplicación
corporativa.
• Cuando el cliente puede pagar por ello.• Cuando el cliente puede pagar por ello.
• Cuando el cliente pueda disponibilizar el
hardware necesario para correr dichas
aplicaciones.
Por que no adoptar JEE siempre como
Plataforma única de desarrollo?
• Por que el sistema requiere una buena planificación,
generalmente va asociada a un estándar de proceso de
desarrollo, por ej.: RUP.
• Por que la construcción lleva más tiempo que en un
sistema normal, además de la planificación.sistema normal, además de la planificación.
• Por que el desarrollo requiere de recursos altamente
especializados, generalmente master o posgraduados.
• Por que requiere hardware preparado para soportar el
servidor de aplicaciones y APIs.
Pero no todo es negativo…
• Es que es posible empezar con poco o
ningún coste de licencias.
• La implementación Java EE de Sun
Microsystems puede ser descargada
gratuitamente.gratuitamente.
• Existen muchas herramientas de código
abierto disponibles para extender la
plataforma o para simplificar el desarrollo.
Parte IIConceptos Técnicos Conceptos Técnicos
de JEE
Qué incluye JEE p/aplicaciones Corporativas?
Java EE incluye varias especificaciones de API, tales como :
• JDBC
• RMI
• JMS
• XML,
• Servicios Web y define cómo coordinarlos.
Java EE también configura algunas especificaciones para
componentes. Estas incluyen:
• Enterprise JavaBeans,
• Servlets
• Portlets
• JavaServer Pages y varias tecnologías de servicios web.
Todo esto permite al desarrollador crear una Aplicación Corporativa.
Qué es un Servidor de Aplicación JEE?
• Es una aplicación capaz de ejecutar las
aplicaciones escritas en JEE, entre los
cuales generalmente se encuentran los:
� EJBs - Enterprise JavaBeans
Los servlets o páginas JSPs� Los servlets o páginas JSPs
Cuáles son los beneficios de un servidor de
aplicaciones de JEE?• Proporciona servicios de aplicación a las computadoras
clientes.
• Servidor en una red de computadoras que ejecuta
ciertas aplicaciones
• Centraliza y disminuye la complejidad en el desarrollo
de aplicaciones.
• Gestiona acceso a los datos de la aplicación
• Gestiona funciones de lógica de negocio.
• Gestiona el pool de conexiones de forma automática
Servidores de aplicaciones JEE certificados
• GlassFish (servidor de aplicaciones de código
abierto de Sun)
• Servidor de Aplicaciones SAP NetWeaver, Java EE 5
Edition de SAP
• JEUS 6 (Servidor de aplicaciones específico de Linux • JEUS 6 (Servidor de aplicaciones específico de Linux
de TmaxSoft)
• JBoss AS (Servidor de la compañía RedHat)
• Tomcat (Servidor WEB de Apache)
Herramientas de desarrollo Java para JEE
• NetBeans IDE (IDE basado en java)
• Eclipse (IDE basado en java)
• Struts (framework para desarrollar aplicaciones • Struts (framework para desarrollar aplicaciones
Web EE conforme al modelo MVC)
• Hibernate (framework de persistencia de negocios
utilizado por EJB 3.0)
Aplicaciones distribuidas en nivelesdistribuidas en niveles
Aplicaciones distribuidas multinivel
• Lógica de aplicación dividida en componentes
• Capa de presentación Web/Windows/Celular,
etc.
•Capa de negocio (lógica de negocios)•Capa de negocio (lógica de negocios)
•Acceso a datos
• Los distintos componentes pueden ser
instalados en distintas maquinas.
Aplicaciones distribuidas multinivel
Seguridad en aplicaciones j2ee
• Restricciones de seguridad definidas a tiempo de
despliegue
• Protege a los desarrolladores de implementar
medidas de seguridad
• Provee un logueo estándar• Provee un logueo estándar
• La misma aplicación trabaja en distintos entornos
de seguridad sin cambiar su código fuente
componentes de java ee
• Es una unidad de software auto-contenida y
funcional
• Esta ensamblada en una aplicación java ee con sus
respectivas clases y archivosrespectivas clases y archivos
• Se comunica con otros componentes
componentes de java ee
• Applets corren en el cliente
• Servlets/jsp/jsf/java beans corren en el servidor
• Componentes empresariales JavaBeans que corren
en servidoren servidor
Clientes Java EE
Cliente Web:
• Paginas Web dinámicas conteniendo varios tipos de
lenguajes de markup (html, XML, etc.)
• Un buscador Web el cual presenta las paginas
recibidas desde el servidorrecibidas desde el servidor
Cliente de aplicación
Componente web
Componentes de negocio
Gracias!