Académique Documents
Professionnel Documents
Culture Documents
J2EE
1. Funciona en conjunto con J2SE. 2. Escribe una vez corre en cualquier lugar. 3. Se ha convertido en un estandar en servidores de aplicacion.
Actualidad
1. Desarrollos actuales son transaccionales y distribuidos. 2. Enfasis en rapides-seguridad-estabilidad en aplicaciones de servidor. 3. Aplicaciones Enterprise deben Disenadas, Construidas, producidad con menos costo y tiempo, y con menos recursos que en el pasado.
J2EE provee
1. Enfoque basado en componentes para: Disenar Desarrollar Ensamblar Deployment (instalacion/administracion) 2. Un modelo multicapa y distribuido 3. Componentes reusables 4. Un modelo de seguridad unificado 5. Control de transacciones flexible 6. Soporte para servicios web integrados con protocolos abiertos tales como XML 7. Libertar para adquirir componentes y productos independientes de vendedores especificos
Ejemplo
- Componentes Client Tier se ejecutan en la maquina cliente. - Componentes del Web Tier se ejecutan en un servidor J2EE. - Business Tier se ejecutan en un servidor J2EE. - Componentes en EIS tier corren en servidores Empresariales (Sistemas de informacin de la empresa).
Componentes J2EE
Aplicaciones J2EE estan compuestas de componentes. Un componente es una unidad funcional autocontenida, que es tiene sus propios archivos y es capaz de comunicarse con otros componentes y que puede ser ensamblada en una aplicacion J2EE.
Clientes J2EE
Tipo de componentes Clientes J2EE Web Client Web Browser (permite el desplige de los contenidos enviados desde el servidor desde la capa Web Tier). Tipos de contenido procesado: Paginas Web Paginas Web con XML Applets Application Client
WebClient
Generalmente llamados thin client o clientes livianos. No ejecutan consultas de base de datos, no tienen reglas complejas de negocio, no se conectan con aplicaciones y sistemas pre-existentes. Las procesos muy pesados son enviados a los EJB en el server mejorando la seguridad, velocidad, servicios y disponibilidad usando los beneficios de J2EE.
Applets
Una pagina web generada desde el Web Tier puede contener applets. Son pequenas aplicaciones java que se ejecutan en la maquina virtual de java instalada en el browser (como plugin). Necesitan un policy file o archivo de politicas de seguridad o firmas digitales para asegurar que el applet proviene de un proveedor seguro y no sea un caballo de troya, pudiendo de esta forma accesar los recursos del cliente cuando sea necesario.
Applications Client
Aplicaciones de consola Aplicaciones GUI Se utilizan cuando el usuario requiere interfaces graficas poderosas y complejas. Construidas en Swing (componentes graficos mas complejos y pesados, ejemplo:tree, jtable) o Awt(componentes graficos mas simple y livianos, podriamos decir nativos). Swing se basa en AWT. Pueden accesar directamente Enterprise Beans que corren en la Bussinnes Tier.
JavaBeans
Las capas Server y Cliente tambien pueden incluir componentes basados en la tecnologia JavaBeans para manejar el flujo de datos entre la aplicacion cliente o applet y los componentes ejecutandose en un servidor J2EE o entre componentes del servidor y una base de datos. Un JavaBean podria capturar una entrada de usuario y enviarla a un EJB en el Bussiness Tier para procesamiento. JavaBeans NO SON considerados parte de la especificacion J2EE.
- Cliente liviano: la mayor cantidad de carga al server, mas facil de distribuir, instalar, administrar. - Cliente denso: mas funcionalidad en el cliente, el usuario final percibe una mejor experiencia en la usabilidad y tiempos de respuesta.
EIS Tier
Enterprise information System Tier. Infraestructura de negocios tales como ERP. Procesamiento de transacciones en un mainframe. Sistemas de base de datos. Otros sistemas de la empresa, generalmente de tecnologia mas antigua.
Contenedores J2EE
Normalmente las aplicaciones thin-client multicapas son dificiles de construir por que: Implican codigo complicado para administrar transacciones y manejo de estados. Multihilos. Pooling de recursos. Otros detalles complejos de bajo nivel. Una aplicacion J2EE permite organizar esta complejidad construyendo componentes reusables. Ademas el contenedor J2EE se preocupa de tener servicios y contenedores para hospedar diferentes tipos de componentes. Esto permite orientarse a la logica de negocio mas que a los problemas tecnicos subyacentes.
Servicios Contenedores
Los contenedores son la interface entre el componente y la funcionalidad de bajo nivel de la plataforma especifica que da soporte al componente. Antes que una aplicacion J2EE puede ser ejecutada, los diferentes componentes Web, EJB y applicaciones clientes deben ser ensambladas en un modulo J2EE e instaladas (deployment) en un contenedor.
Proceso de ensamblado
Implica especificar seteos del contenedor para cada componente que esta siendo ensamblado y para la aplicacion J2EE propiamente tal. Los seteos del contenedor permiten customizar el soporte proveido por el servidor J2EE tales como: Seguridad. Administracion de transacciones. Java Naming and Interfaces (JNDI) Conectividad remota.
Contenedores
Como la arquitectura J2EE provee servicios configurables, esto permite que los componentes de una misma aplicacion J2EE se comporten de forma diferentes segun hayan sidos configuradas en el deployment de la aplicacion. Por ejemplo: Un EJB que tienen cierto nivel de seguridad en un nivel productivo, puede tener otro nivel de seguridad en otro ambiente productivo. El contenedor tambien adminstra servicios no configurables tales como el ciclo de vida de un servlet, pooling de conecciones a base de datos y persistencia de datos entre otros. Aunque la persistencia de datos no es un servicios configurable la arquitectura permite que el desarrollador redefina la persistencia administrada por el contenedor para tener un control mas fino de la persistencia mediante codigo en el EJB. Por ejemplo en el EJB se podrian implementar metodos para realizar procesos de busqueda implementando de este modo un cache.
Tipos de contenedores
* J2EE Server: Ejecutable de un producto que cumple con los estandares de J2EE. - Contenedor de EJB. - Contenedor Web. - Contenedor de Aplicaciones Clientes. - Contenedor de applets (representado por el browser y el plugin de la JVM).
O Servicios Web orientados a documentos, conteniendo datos del servicio hacia atras y adelante. Con las API de XML no se necesita programacion de bajo nivel para procesar los datos que se envian mediante esta tecnologia. Ademas mediante XML se puede transmitir: Audio. Video. Mapas. Archivos de programa. Documentos de productividad de oficina y otros.
XML
Estandar basado en texto para representar datos. Es apropiado para cualquier plataforma. Es Extensible. Cuando distintas entidades comparten datos por medio de XML, cada una de ella es libre para expresar su informacion mediante sus propios tags o usar hojas de estilos XML para poder visualizar dichos datos de diferente forma. Ejemplo: un servicio web que produce un esquema XML con listas de precios. Cada receptor de dicho XML puede procesar con hojas de estilo esa data y obtener diferentes resultados de visualizacion. Una compania podria rescatar los datos y procesarlos para publicarlos en una pagina web. Otra compania podria tomar el precio del producto para hacer una presentacin de marketing. Otra compania podria procesar los datos para uso propio.
Empaquetamiento
Una aplicacion J2EE es entregada en un archivo .EAR (Enterprise Archive). Que no es mas que un archivo estandar java .JAR (Java Archive). Usando archivos .EAR es posible ensamblar multiples componentes para generar diferentes aplicaciones J2EE. No se necesita codigo extra. Un .EAR contiene Modulos J2EE y Deployments Descriptors (varios).
Deployment Descriptor
Es un documento .xml. Describe las sentencias de despliege (instalacion) de la aplicacion, un modulo o un componente. Puede ser modificado sin cambiar el codigo fuente. El servidor J2EE lee el Deployment Descriptor y hace actuar al componente segun dichas declaraciones. Hay dos tipos: J2EE Para configurar deployment setting en una aplicacion J2EE Runtime Para configurar parametros de implementaciones especificas. Por ejemplo en el Sun server 8 almacena: Raiz de una aplicacion web. Mapear nombres de aplicacion a recursos del servidor. Parametros especificos el cache del server.
Runtime Deployment Descriptor - Archivos sun-moduletype.xml - Se ubican en el mismo directorio del descriptor del J2EE. Module - Un modulo J2EE consiste de varios componentes del mismo tipo de contenedor y un Descriptor de instalacion de componentes de ese tipo. Module Deployment Descriptor - Declara atributos involucrados en una transaccin. - Autorizaciones de seguridad para un EJB. - Un modulo sin un MDD se denomina un mdulo Stand-Alone
Roles de desarrollo
Los modulos reusables permiten dividir el desarrollo de aplicaciones y el proceso de instalacion en diferentes roles que diferentes personas o companias pueden realizar en diferentes partes del proceso. Los primeros dos roles implican Compradores de Productos J2EE e Instaladores de Productos J2EE. Despues que el producto J2EE fue comprado e instalado... Los componentes deben ser desarrollador por proveedores de componentes de aplicacion. Ensamblados por Ensambladores de aplicaciones. Instalados por Aplication Deployers. En una empresa grande estos roles pueden ser ejecutados por diferentes individuos o equipos. El esquema funciona por que los roles previos generan archivos que son tomados como una entrada por el siguiente rol. No todos los roles son ejecutados por personas diferentes, especialmente en empresas pequeas.
Proveedores de Herramientas
Compania o persona que desarrolla, ensambla y empaqueta herramientas usadas por proveedores de componentes, ensambladores y deployers.
Especifica el Deployment Descriptor. Empaqueta los archivos .class, .jsp, .html y el Deployment Descriptor en un .WAR
Application Assembler
Compania o persona que recibe los modulos desde diferentes proveedores y los ensambla en un archivos .EAR. Puede editar los deployment descriptor en forma manual o con herramientas. Ensambla EJB .WAR y .JAR en un .EAR. Especifica el deployment descriptor para la aplicacion J2EE.
API en J2EE
- Disponibilidad de API 1.4 para cada tipo de contenedor. - En adelante un sumario de tecnologias y J2SE API que con usadas en aplicaciones J2EE.
JavaMail API
Consiste de dos partes: Interfaces a nivel de aplicacion para que estas puedan enviar mail. Interfaces de proveedor de servicios, que permite a las aplicaciones enviar mail por internet.
Dos nuevas tecnologias que permiten desarrollar interfaces para aplicaciones J2EE JavaServer Pages Standard Tag Library (JSTL) JavaServer Faces Ambas estan disponibles en el SUN Application Server 8 Mejoras a EJB QL y Message Driver Beans
Alcance
Tecnologias de XML y desarrollo de componentes y webservices Java API para procesamiento XML (JAXP) Java API para XML-RPC (JAX-RPC) SOAP con Attachments para Java (SAAJ) Java API para Registros XML (JAXR) Tecnologias de la capa Web Para desarrollar la interface de una aplicacin J2EE Para desarrollar aplicaciones StandAlone Java Servlets JavaServer Pages (JSP) JavaServer Pages Standard Tag Library (JSTL) JavaServer Pages Internocializacin y locacin de Applicaciones Web Enterprise Java Beans para desarrollar logica de negocio de una aplicacion J2EE Session Beans Entity Beans Message-Driver-Beans Enterprise Java Beans Query Lenguaje EJB QL Servicios de Sistema usados por todos los componentes y tecnologias J2EE Transacciones Conecciones a recursos Seguridad Servicio de Mensajes de Java
URL's
http://java.sun.com/docs/books/tutorial/index.html http://java.sun.com/docs/books/tutorial/jdbc/index.html http://java.sun.com/docs/books/tutorial/security1.2/index.html http://java.sun.com/docs/books/tutorial/javabeans/index.html http://java.sun.com/javaee/index.jsp http://java.sun.com/j2ee/learning/tutorial/index.html http://java.sun.com/j2ee/1.4/download.html#sdk http://java.sun.com/reference/blueprints/index.html http://java.sun.com/blueprints/guidelines/index.html http://java.sun.com/blueprints/patterns/index.html http://developers.sun.com/prodtech/javatools/jscreator/index.jsp