250 likes | 436 Views
ACI - 843 401 Taller de JAVA II. Presentación del curso. Juan José Aranda Aboy. Doctor en Ciencias Técnicas. 1976 – 2001 : Investigador Titular del Instituto Central de Investigación Digital (ICID) y
E N D
ACI - 843 401Taller de JAVA II Presentación del curso
Juan José Aranda Aboy Doctor en Ciencias Técnicas 1976 – 2001:Investigador Titular del Instituto Central de Investigación Digital (ICID) y ProfesorTitular del Instituto SuperiorPolitécnico “José Antonio Echevarría”, CUBA. 2003 – 2004: Profesor e Investigador Titular grado 5 de la Universidad de Valparaiso, CHILE 1998 – 2005: Profesor Titular de la Universidad Iberoamericana Ciencia y Tecnología, CHILE 2006 - : Profesor de la Universidad de Las Américas, CHILE • Asesor y Consultor en desarrollo de servidores sobre LINUX para ISPs. • Asesor y Consultor en Ingeniería Biomédica: Proceso de Imágenes y Señales Biomédicas. • Hizo el doctorado en Procesamiento de Imágenes Digitales(PID). • Fue Coordinador Nacional del grupo cubano de trabajo en PID desde su creación en 1994 hasta1999. • Ha impartido cursos de pre y postgrado en varias universidades. • Ha dictado conferencias en universidades, empresas y organismos de la ex URSS, Perú, Argentina yChile. • Miembro del Tribunal Nacional de Grados Científicos en Ciencias Técnicas de Cuba entre 1997 y2001. • Autor principal o coautor de varios artículos sobre PID y otras aplicaciones de la Computación. • Premio del Centro Regional para la Enseñanza de la Informática, España, 1983, por el libro“Introducción a la Computación” . • Medalla “30 Aniversario de la IraComputadora Cubana”. • Haparticipado como ponente en múltiples eventos cubanos e internacionales.
Contenidos del curso • Introducción a J2EE • Catálogo de Patrones de Diseño J2EE. I.- Capa de Presentación II: Capas de Negocio y de Integración • Beans (Básico) • JavaBeans Enterprise • Integración de XML y los JavaBeans • Desarrollo de Aplicaciones Web con JSP y XML • Invocación Remota de Métodos (RMI) • Introducción a los Servicios Web en Java • Introducción a la Tecnología JavaServer Faces • Integración de JSF, Spring e Hibernate para crear una Aplicación Web del Mundo Real • Programación de juegos para móviles con J2ME • Introducción a la tecnología AJAX
Objetivos del taller Desarrollar las habilidades de programación que permitan obtener aplicaciones en JAVA con elevado nivel de calidad tanto para una estación de trabajo como para la Web, manejando las tecnologías del servidor (Servlets y JSP) y el desarrollo de servicios Web para SOAP, así como las posibilidades de empleo de plataformas móviles (J2ME) y la extensión asincrónica (AJAX)
Requisitos previos (deseados) • Conocer alguno de los lenguajes de programación: JAVA, PASCAL, C y/o C++, Visual Basic, etc. • Poder realizar marcado HTML. Deseado conocimientos sobre DHTML, CSS y XML. • Conocer alguno de los lenguajes para la programación Web en el servidor: JSP, PHP, ASP, etc.; así como tener nociones de CGI. • Conocer el lenguaje unificado de modelación (UML) • Manejo de Bases de Datos mediante un SGBD como MySQL, PostgreSQL, ORACLE, MSSQL, etc.
Metodología Docente • Clases tradicionales mediante presentaciones • Sesiones de laboratorio para el desarrollo de aplicaciones
Actividades de evaluación Descripción Peso CATEDRA 1 - CATEDRA 1 (R) 25/100 CATEDRA 2 - CATEDRA 2 (R) 25/100 Control semanal! 15/100 EXAMEN - EXAMEN (R) 35/100 ! Lectura de temas seleccionados, avances obtenidos en la programación, etc.
Temas estudiados en Taller Java I ACI 840 Clase_001 ¿Qué es JAVA? Clase_002 Javascript Clase_003 Applets Clase_004 Instrucciones de Control parte 1 Clase_005 Instrucciones de Control parte 2 Clase_006 Programación Orientada a Objetos Clase_007 Métodos Clase_007 Arreglos Clase_007 Programación Basada en Objetos Clase_008 Herencia Clase_008 Polimorfismo Clase_009 Cadenas y caracteres
Temas … (2) Clase_010 Gráficos y Java 2D Clase_010 GUI parte 1 Clase_010 GUI parte 2 Clase_011 Manejo de Excepciones Clase_011 Manejo de múltiples hilos Clase_012 Archivos y Flujos Clase_012 Redes Clase_012 Multimedia Clase_013 Estructuras de Datos Clase_013 Paquetes de Utilería Clase_013 Colecciones Clase_014 Conectividad de BD Clase_014 Introducción a los Servlets Clase_014 Introducción a Java Server Pages
Introducción a J2EE • Introducción • Un Sencillo Bean de Sesión • Añadir un Bean de Entidad • Comunicaciones entre Beans • Tecnología JavaServer Pages™ (JSP) • Tecnología JavaBeans • Añadir eXtensible Markup Language (XML) • Añadir JDBC Presenta la programación de aplicaciones J2EE, y el SDK J2EE mostrando como escribir una sencilla y pequeña aplicación Enterprise multi-capa que consiste en una página HTML, un servlet y un Bean de sesión.
Catálogo de Patrones de Diseño J2EEI.- Capa de Presentación • Introducción a los Patrones • Plantilla de Patrón • Intercepting Filter • Front Controller • View Helper • Composite View • Service to Worker • Dispatcher View Muestra que objetivo cumplen los patrones, así como sus ventajas para desarrollo de aplicaciones.
Catálogo de Patrones de Diseño J2EEII: Capas de Negocio y de Integración • Busisness Delegate • Service Locator • Session Facade • Transfer Object • Transfer Object Assembler • Value List Handler • Composite Entity • Data Access Object • Service Activator Profundiza el estudio de patrones para desarrollo de aplicaciones multicapas en negocios.
Beans (Básico) • JavaBeans, Componentes en la Plataforma Java • Conceptos Sobre los JavaBeans • Contenido del BDK • Utilizar BeanBox • Arrancar y Utilizar BeanBox • Los Menús de BeanBox • Utilizar BeanBox para Generar Applets • Escribir un Bean Sencillo • Propiedades Sencillas • Propiedades Compartidas • Propiedades Restringidas • Propiedades Indexadas • Manipular Eventos en el BeanBox • El Interface BeanInfo • Personalización de Beans • Persistencia de un Bean • Nuevas Características de JavaBeans Los JavaBeans traen la tecnología de componentes a la Plataforma Java. Se puede utilizar el API JavaBeans para escribir clases Java, conocidas como Beans, que se pueden manipular visualmente con herramientas visuales.
JavaBeans Enterprise • JavaBeans Enterprise • Fundamentos de la Tecnología JavaBeans Enterprise • Introducción • Tecnología de JavaBeans Enterprise • Beans Enterprise del Tipo Entidad • Beans Enterprise del Tipo Sesión • Soluciones a la Tecnología de Despliegue de JavaBeans Enterprise • Clientes de JavaBeans Enterprise • Pasos para Construir un Bean de Sesión sin Estado • Sumario de JavaBeans Enterprise Como escribir componentes Java del lado del servidor usando el modelo de componentes JavaBeans Enterprise y cómo instalarlos o desarrollarlos en un contenedor de JavaBeans Enterprise.
Integración de XML y los JavaBeans • Hacer JavaBeans Móviles e interoperables con XML • Convertir Automáticamente JavaBeans en Documentos XML • Integrar el Paquete XMLBeans en el Corazón Java XML, siglas para Extensible Markup Language es una tecnología de desarrollo rápido que está bien adaptada para el uso con JavaBeans -- y complementa agradablemente la filosofía Java de escribe-una-vez, ejecuta-en-cualquier-parte que ha dado al mundo una movilidad sin precedentes en la red. Se describe sólo una posible aplicación de XML: haciendo los JavaBeans móviles e interoperables representándolos como documentos XML.
Desarrollo de Aplicaciones Web con JSP y XML • Parte I, Conocer JSP • Parte II: JSP con XML en Mente • Introducción a XML • XML contra HTML • Presentar Documentos XML • Generar XML desde JSP • Generar XML desde JSP y JavaBeans • Convertir XML a Objetos del Lado del Servidor • El Entorno de Software • API Simple para XML (SAX) • Document Object Model (DOM) • Transformar XML • Parte III: Desarrollar Etiquetas JSP Personalizadas • Parte IV: Usar los Servicios de J2EE desde JSP • Parte V: Crear una Aplicación Web de E-Mail usando Librerías de Etiquetas JSP Java es el lenguaje de programación ganador para utilizar con XML. La mayoría de los analizadores de sintaxis de XML se escriben en Java, y proporciona una colección comprensiva de APIs Java pensada específicamente para construir aplicaciones basadas en XML. La tecnología JavaServer Pages (JSP) tiene acceso a todo esto puesto que puede utilizar todo el poder de la plataforma Java para acceder a objetos del lenguaje de programación para analizar y transformar documentos XML. JSP se ha diseñado con XML en mente; podemos escribir una página JSP como un documento XML!
Invocación Remota de Métodos (RMI) • Trabajar con RMI • Introducción a las Aplicaciones RMI • Escribir un Servidor RMI • Diseñar un Interface Remoto • Implementar un Interface Remoto • Crear un Programa Cliente • Compilar el Ejemplo • Ejecutar el Ejemplo • Una Nota sobre la Seguridad • Arrancar el Servidor • Arrancar el Cliente Las aplicaciones RMI normalmente comprenden dos programas separados: un servidor y un cliente. Una aplicación servidor típica crea un montón de objetos remotos, hace accesibles unas referencias a dichos objetos remotos, y espera a que los clientes llamen a estos métodos u objetos remotos. Una aplicación cliente típica obtiene una referencia remota de uno o más objetos remotos en el servidor y llama a sus métodos. RMI proporciona el mecanismo por el que se comunican y se pasan información del cliente al servidor y viceversa. Cuando es una aplicación algunas veces nos referimos a ella como Aplicación de Objetos Distribuidos.
Introducción a los Servicios Web en Java • Crear Servicio • SOAP en Profundidad • Seguridad • Integración con J2EE • Interoperabilidad de los Servicios Web • Seguridad en los Servicios Web con Firma Simple Un Servicio Web es un componente software con las siguientes características: • Es accesible a través del interface SOAP (Simple Object Access Protocol). • Su interface se describe en un documento WSDL (Web Service Description Language).
Introducción a la Tecnología JavaServer Faces • La Tecnología JavaServer Faces • ¿Qué es una Aplicación JavaServer Faces? • Roles del Equipo de Programación • Una Sencilla Aplicación JavaServer Faces • El Ciclo de Vida de una Página JavaServer Faces • Modelo de Componentes de Interface de Usuario • Modelo de Navegación • Creación del Bean Controlado • Configuración de la Aplicación La tecnología JavaServer Faces (JSF) es un marco de trabajo de interfaces de usuario del lado de servidor para aplicaciones Web basadas en tecnología Java Sus principales componentes son: • Un API y una implementación de referencia para: representar componentes UI y manejar su estado; manejo de eventos, validación del lado del servidor y conversión de datos; definir la navegación entre páginas; soportar internacionalización y accesibilidad; y proporcionar extensibilidad para todas estas características. • Una librería de etiquetas JavaServer Pages (JSP) personalizadas para dibujar componentes UI dentro de una página JSP.
Integración de JSF, Spring e Hibernate para crear una Aplicación Web del Mundo Real • Introducción • Requerimientos Funcionales de la Aplicación de Ejemplo • Diseño de la Arquitectura de Alto nivel • Implementación • Conclusión La tecnología JSF, por diseño, es particularmente útil con aplicaciones basadas en la arquitectura MVC (Model-View-Controller). Se muestra cómo integrarla con otros marcos de trabajo, específicamente, Spring e Hibernate, cómo crear un sistema de catálogo de productos online: aplicación Web JCatalog. Usando el ejemplo, se cubren todas las fases del diseño de una aplicación Web, incluyendo el descubrimiento de los requerimientos del negocio, el análisis, la selección de tecnologías, la arquitectura de alto nivel, y el diseño a nivel de la implementación. Se discuten las ventajas y desventajas de las tecnologías utilizadas en JCatalog y se demuestran aproximaciones para diseñar algunos de los aspectos clave de la aplicación.
Programación de juegos para móviles con J2ME • Introducción • Primer MIDlet • La interfaz de usuario de alto nivel • La interfaz gráfica de bajo nivel • Un Universo en tu móvil • Enemigos, disparos y explosiones • Sonidos • Almacenamiento. RMS • Comunicaciones • Código Fuente • Bibliografía y Enlaces Esta clase trata sobre como programar juegos para estos dispositivos utilizando J2ME. La especificación MIDP (Movile Information Device Profile), define los requerimientos mínimos para poder ejecutar programas J2ME. La versión 2.0. ofrece una API adecuada para la programación de juegos.
AJAX • Introducción • Fundamentos y herramientas de desarrollo • Entornos de trabajo y kits de herramientas • Fundamentos de JavaScript • Dojo Toolkits • JSON • Direct Web Remoting (DWR) • Google Web Toolkit • JavaServer Faces e Integración con AJAX • jMaki • Web Application Frameworks y AJAX • CSS y buenas prácticas con JavaScript El últmo grito de la moda … Una herramienta maravillosa para reducir tráfico en la red!
Bibliografía • Internet • Textos en la biblioteca • CD con documentos recopilados y otros materiales del profesor
Internet • Introducción a J2EE • Catálogo de Patrones de Diseño J2EE. I.- Capa de Presentación • Catálogo de Patrones de Diseño J2EE. II: Capas de Negocio y de Integración • Beans (Básico) • JavaBeans Enterprise • Integración de XML y los JavaBeans • Desarrollo de Aplicaciones Web con JSP y XML • Invocación Remota de Métodos (RMI) • Introducción a los Servicios Web en Java • Introducción a la Tecnología JavaServer Faces • Integración de JSF, Spring e Hibernate para crear una Aplicación Web del Mundo Real • Programación de juegos para móviles con J2ME • AJAX (en inglés)
Textos en la biblioteca • “Servlets y Javaserver pages”, Hall, Marty. Código de biblioteca: 7959 • “Java 2 Iniciación y referencia”Sanchez Allende, Jesus; y otros. Código de biblioteca : 17620 • “Introducción a la programación con Java TM”, Arnow, David M. Código de biblioteca : 9142 • “Programación concurrente en Java: Principios y patrones de diseño”, Lea, Doug. Código de biblioteca: 9146