25
2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

Embed Size (px)

Citation preview

Page 1: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

1

ACI - 843 401Taller de JAVA II

Presentación del curso

Page 2: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

2

1976 – 2001: Investigador Titular del Instituto Central de Investigación Digital (ICID) y Profesor Titular del Instituto Superior Politécnico “José Antonio Echevarría”, CUBA.2003 – 2004: Profesor e Investigador Titular grado 5 de la Universidad de Valparaiso, CHILE1998 – 2005: Profesor Titular de la Universidad Iberoamericana Ciencia y Tecnología, CHILE2006 - : 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 DigitalProcesamiento de Imágenes Digitaleses (PID). Fue Coordinador NacionalFue Coordinador Nacional del grupo cubano de trabajo en PID desde su creación en 1994 hasta 1999. Ha impartido cursos de pre y postgradocursos de pre y postgrado en varias universidades. Ha dictado conferenciasconferencias en universidades, empresas y organismos de la ex URSS, Perú, Argentina y Chile. Miembro del Tribunal Nacional de Grados CientíficosMiembro del Tribunal Nacional de Grados Científicos en Ciencias Técnicas de Cuba entre 1997 y 2001. AutorAutor 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áticaPremio 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 Ira Computadora Cubana”. Ha participado como ponente en múltiples eventos cubanos e internacionales.

Doctor en Ciencias Técnicas

Juan José Aranda Aboy

Page 3: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

3

Contenidos del curso1. Introducción a J2EE 2. Catálogo de Patrones de Diseño J2EE.

I.- Capa de Presentación II: Capas de Negocio y de Integración

3. Beans (Básico) 4. JavaBeans Enterprise 5. Integración de XML y los JavaBeans 6. Desarrollo de Aplicaciones Web con JSP y XML 7. Invocación Remota de Métodos (RMI) 8. Introducción a los Servicios Web en Java 9. Introducción a la Tecnología JavaServer Faces 10. Integración de JSF, Spring e Hibernate para crear una

Aplicación Web del Mundo Real 11. Programación de juegos para móviles con J2ME 12. Introducción a la tecnología AJAX

Page 4: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

4

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)

Page 5: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

5

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.

Page 6: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

6

Metodología Docente

• Clases tradicionales mediante presentaciones• Sesiones de laboratorio para el desarrollo de

aplicaciones

Page 7: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

7

Actividades de evaluación

Descripción PesoCATEDRA 1 - CATEDRA 1 (R) 25/100CATEDRA 2 - CATEDRA 2 (R) 25/100Control semanal! 15/100EXAMEN - EXAMEN (R) 35/100

! Lectura de temas seleccionados, avances obtenidos en la programación, etc.

Page 8: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

8Temas estudiados en Taller Java I ACI 840

Clase_001 ¿Qué es JAVA?Clase_002 JavascriptClase_003 AppletsClase_004 Instrucciones de Control parte 1Clase_005 Instrucciones de Control parte 2Clase_006 Programación Orientada a ObjetosClase_007 MétodosClase_007 ArreglosClase_007 Programación Basada en ObjetosClase_008 HerenciaClase_008 PolimorfismoClase_009 Cadenas y caracteres

Page 9: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

9

Temas … (2)

Clase_010 Gráficos y Java 2DClase_010 GUI parte 1Clase_010 GUI parte 2Clase_011 Manejo de ExcepcionesClase_011 Manejo de múltiples hilosClase_012 Archivos y FlujosClase_012 RedesClase_012 MultimediaClase_013 Estructuras de DatosClase_013 Paquetes de UtileríaClase_013 ColeccionesClase_014 Conectividad de BDClase_014 Introducción a los ServletsClase_014 Introducción a Java Server Pages

Page 10: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

10

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.

Page 11: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

11Catá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.

Page 12: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

12Catá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.

Page 13: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

13

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.

Page 14: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

14

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.

Page 15: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

15

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.

Page 16: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

16Desarrollo 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!

Page 17: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

17

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.

Page 18: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

18Introducció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).

Page 19: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

19Introducció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.

Page 20: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

20Integració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.

Page 21: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

21Programació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.

Page 22: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

22

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!

Page 23: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

23

Bibliografía

• Internet• Textos en la biblioteca• CD con documentos recopilados y otros materiales

del profesor

Page 24: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

24

Internet1. Introducción a J2EE 2. Catálogo de Patrones de Diseño J2EE. I.- Capa de Presentación 3. Catálogo de Patrones de Diseño J2EE. II: Capas de Negocio y de

Integración

4. Beans (Básico) 5. JavaBeans Enterprise 6. Integración de XML y los JavaBeans 7. Desarrollo de Aplicaciones Web con JSP y XML 8. Invocación Remota de Métodos (RMI) 9. Introducción a los Servicios Web en Java 10.Introducción a la Tecnología JavaServer Faces 11.Integración de JSF, Spring e Hibernate para crear una Aplicación

Web del Mundo Real 12.Programación de juegos para móviles con J2ME 13.AJAX (en inglés)

Page 25: 2006 Dr. Juan José Aranda Aboy. 1 ACI - 843 401 Taller de JAVA II Presentación del curso

2006 Dr. Juan José Aranda Aboy.

25

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