+ All Categories
Home > Documents > temario de java

temario de java

Date post: 21-Dec-2015
Category:
Upload: vanessa-dominguez
View: 80 times
Download: 6 times
Share this document with a friend
Description:
contenido de los temas mas imporantantes de java
Popular Tags:
29
Página 1 de 29 Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V. Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470. Tel. 55 35 66 54 Temario. Módulo 1. Programación. 1. ¿Qué es un programa? 2. Sistema operativo. 2.1. ¿Qué es un proceso? 3. ¿Qué es un lenguaje de programación? 3.1. ¿Qué es JAVA? 4. Editores, Compiladores, e Intérpretes. 4.1. Lenguaje interpretado Vs. lenguaje compilado. 4.2. Lenguaje fuertemente tipados Vs. lenguajes no tipados. 5. Lenguaje C++ Vs. lenguaje JAVA. 6. Características de lenguaje de programación JAVA. 6.1. Orientado a objetos. 6.2. Distribuido. 6.3. Interpretado y compilado a la vez. 6.4. Robusto. 6.5. Seguro. 6.6. Indiferente a la arquitectura. 6.7. Portable. 6.8. Alto rendimiento. 6.9. Multihilo. 6.10. Dinámico. 7. Pasado, presente y futuro de JAVA. 8. Los padres de la criatura. 8.1. James Gosling. 8.2. Bill Murray. 9. JAVA está en todas partes. 10. ¿Por qué aprender JAVA? 11. ¿JAVA, es fácil de aprender? 12. JAVA en el mundo empresarial. 13. ¿JAVA standard edition Vs. JAVA enterprise edition? 14. Arquitectura JAVA Standard Edition. 15. ¿Que es un API en JAVA? 15.1. Principales APIs en JAVA. 16. Introducción a las interfaces gráficas de usuario. 16.1. ¿Es el fin de los applets? 16.2. Bailando con Swing. 16.2.1. Alternativa swing con griffon. 16.2.2. Look and feel en aplicaciones de escritorio. 16.2.3. Front-end Vs. Back-end. 16.2.4. ¿y JAVA FX? 17. Versiones de JAVA. 17.1. Viejitas pero NO tan bonitas. 17.1.1. Cronología de versiones del lenguaje. 18. La versión JAVA 1.7 18.1. Novedades en la versión 7. 18.2. Novedades en la versión 8. 19. Plataforma JAVA Vs. Plataforma .NET. 20. Arquitectura JAVA Enterprise Edition.
Transcript
Page 1: temario de java

Página 1 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470. Tel. 55 35 66 54

Temario.

Módulo 1. Programación. 1. ¿Qué es un programa? 2. Sistema operativo.

2.1. ¿Qué es un proceso? 3. ¿Qué es un lenguaje de programación?

3.1. ¿Qué es JAVA? 4. Editores, Compiladores, e Intérpretes.

4.1. Lenguaje interpretado Vs. lenguaje compilado. 4.2. Lenguaje fuertemente tipados Vs. lenguajes no tipados.

5. Lenguaje C++ Vs. lenguaje JAVA. 6. Características de lenguaje de programación JAVA.

6.1. Orientado a objetos. 6.2. Distribuido. 6.3. Interpretado y compilado a la vez. 6.4. Robusto. 6.5. Seguro. 6.6. Indiferente a la arquitectura. 6.7. Portable. 6.8. Alto rendimiento. 6.9. Multihilo. 6.10. Dinámico.

7. Pasado, presente y futuro de JAVA. 8. Los padres de la criatura.

8.1. James Gosling. 8.2. Bill Murray.

9. JAVA está en todas partes. 10. ¿Por qué aprender JAVA? 11. ¿JAVA, es fácil de aprender? 12. JAVA en el mundo empresarial. 13. ¿JAVA standard edition Vs. JAVA enterprise edition? 14. Arquitectura JAVA Standard Edition. 15. ¿Que es un API en JAVA?

15.1. Principales APIs en JAVA. 16. Introducción a las interfaces gráficas de usuario.

16.1. ¿Es el fin de los applets? 16.2. Bailando con Swing.

16.2.1. Alternativa swing con griffon. 16.2.2. Look and feel en aplicaciones de escritorio. 16.2.3. Front-end Vs. Back-end. 16.2.4. ¿y JAVA FX?

17. Versiones de JAVA. 17.1. Viejitas pero NO tan bonitas.

17.1.1. Cronología de versiones del lenguaje. 18. La versión JAVA 1.7

18.1. Novedades en la versión 7. 18.2. Novedades en la versión 8.

19. Plataforma JAVA Vs. Plataforma .NET. 20. Arquitectura JAVA Enterprise Edition.

Page 2: temario de java

Página 2 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

21. Prontuario de términos. JAVA, API, Applet, JavaScript, JQuery, ExtJS, JEE, JSE, JVM, JRE, JDK, JAR, WAR, EAR,

JSP, EJB, JavaBean, Framework, Patrón de diseño, DDT, IDE, Contenedor, Servidor de aplicaciones, UML, RUP, Prueba unitaria, JCP, JNLP, JNDI, Socket, RMI, Thread, Classloader, Closure, etc.

22. Instalando y configurando ambiente de desarrollo básico. 22.1. JDK 1.7 y JDK 8.

22.1.1. Instalando y configurando el JDK 1.7. / JDK 8 22.1.1.1. Variables de entorno.

22.1.1.1.1. PATH. 22.1.1.1.2. CLASSPATH. 22.1.1.1.3. JAVA_HOME.

22.1.1.2. Desmenuzando el JDK. 22.1.1.2.1. Herramientas y directorios.

22.1.1.2.1.1. Herramientas principales. 22.1.1.2.1.1.1. javac. 22.1.1.2.1.1.2. java. 22.1.1.2.1.1.3. jdb. 22.1.1.2.1.1.4. jar. 22.1.1.2.1.1.5. javap. 22.1.1.2.1.1.6. javah. 22.1.1.2.1.1.7. javadoc.

22.1.1.2.1.2. Directorios. 22.1.1.2.1.2.1. bin. 22.1.1.2.1.2.2. demo. 22.1.1.2.1.2.3. include. 22.1.1.2.1.2.4. sample. 22.1.1.2.1.2.5. jre. 22.1.1.2.1.2.6. lib.

22.2. Eclipse / NetBeans. 22.2.1. Configurando características de arranque y variables.

22.3. Ant y Maven. 22.4. MySQL. 22.5. Web Logic o Glassfish Application Server. 22.6. Tomcat. 22.7. JUnit.

22.7.1. Pruebas Unitarias y TDD. 22.7.2. Escalabilidad y desempeño. 22.7.3. ¿Por qué es difícil escribir código de calidad? 22.7.4. Test-driven Development (TDD).

22.7.4.1. Beneficios. 22.7.4.2. Argumentos en contra TDD.

22.7.4.2.1. Testing. 22.7.4.2.1.1. Objetos Mock. 22.7.4.2.1.2. Mockito. 22.7.4.2.1.3. httpUnit.

22.8. Control de Versiones: 22.8.1.1. CVS. 22.8.1.2. SVN. 22.8.1.3. Diferencias entre CVS y SVN. 22.8.1.4. ¿Qué es GitHub?

23. Proceso de compilación y ejecución de un programa JAVA. 24. ¿Qué es la JAVA Virtual Machine?

24.1. Tiempo de vida de una Java Virtual Machine. 25. Entendiendo y comprendiendo la JAVA Virtual Machine.

Page 3: temario de java

Página 3 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

26. Arquitectura de la JAVA Virtual Machine.

26.1. Cargador de Clases - Classloader. 26.1.1. ¿Cómo se cargan las clases? 26.1.2. Haciendo nuestro cargador de clases. 26.1.3. API Reflection.

26.2. Verificador de Bytecode. 26.3. Garbage Collector.

26.3.1. System.gc(). 26.4. Security Manager. 26.5. Execute Engine.

27. Organización de la JAVA Virtual Machine. 27.1. Class area.

27.1.1. Method area. 27.1.2. Constantes. 27.1.3. Runtime Constant Pool.

27.2. JAVA Stack. 27.2.1. Frame. 27.2.2. Stack. 27.2.3. PC.

27.3. Heap. 27.3.1. Parámetros de configuración.

27.3.1.1. -Xms. 27.3.1.2. -Xmx. 27.3.1.3. -Xmn.

27.3.2. Jconsole. 27.3.3. Java VisualVM. 27.3.4. Eden Space. 27.3.5. Survivor Space.

27.4. PermGen Space. 27.5. Native method stacks.

27.5.1. Native Area. 27.6. Que es un Bytecode.

27.6.1. Bytecode Vs. MSIL de Microsoft. 27.7. JAVA Runtime Environment. 27.8. Cambios en la JVM Java 8. 27.9. Administración de memoria en JAVA.

27.9.1. Goteos de memoria. 27.9.2. Heap. 27.9.3. Garbage Collection.

27.10. Lenguajes “alternativos” para la JAVA Virtual Machine. 27.10.1. Groovy. 27.10.2. Scala. 27.10.3. Clojure. 27.10.4. JRuby. 27.10.5. Jython.

27.11. Otras máquinas virtuales. 27.11.1. JRockit. 27.11.2. OpenJDK.

28. Aprendiendo a conocer el lenguaje. 29. Ejecución y compilación. 30. Entendiendo y comprendiendo el proceso de ejecución de un programa en JAVA. 31. Entendiendo y comprendiendo el proceso de compilación de un programa en JAVA. 32. Opciones de compilación.

Page 4: temario de java

Página 4 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

33. Opciones de compilación cruzada. 34. Visualizando proceso de ejecución de un programa en JAVA mediante software. 35. Program Animation/Visualization tool – Jeliot. 36. Compilador JIT. 37. Mi primera taza de café.

37.1. Estructura: Partes de un programa en JAVA. 37.2. Creación de archivo de código.

37.2.1. Archivo punto JAVA. 37.3. Buenas prácticas de programación.

38. Técnicas de abstracción de datos. 39. Diagramas de Flujo. 40. Mi primera taza de café.

40.1. Para no perder la costumbre. Hola Mundo. 41. ¿Aprender a programar? 42. Algoritmos. 43. Seudo código. 44. Debugeando una aplicación con el IDE Eclipse.

44.1. Puntos de ruptura. 45. Performance Vs diseño de la aplicación. 46. El concepto de paquete en JAVA.

46.1. La sentencia package. 46.2. Estructura de directorios en la definición de paquetes. 46.3. Como diseñar paquetes. 46.4. La sentencia import. 46.5. import implícito Vs. import explícito. 46.6. La palabra clave static.

46.6.1. La sentencia static import. 47. Corriendo nuestra primera aplicación JAVA

47.1. El método main(). 48. Entrada y salidas

48.1. La poderosa línea de comando. 48.2. La clase java.io.Console. 48.3. La clase java.util.Scanner. 48.4. El paquete java.util.

49. Elementos del lenguaje de programación en JAVA. 49.1. ¿Qué es una gramática? 49.2. ¿Qué es una sintaxis? 49.3. Letras, dígitos y otros. 49.4. Espacios en blanco. 49.5. Caracteres especiales y signos de puntuación. 49.6. Secuencias de escape. 49.7. Comentarios. 49.8. Simple línea de comentario. 49.9. Comentarios multilínea.

50. Un código bien documentado es un programador feliz. 51. La API JAVA doc.

51.1. Aprendiendo a comentar correctamente nuestro código. 51.2. Buenas prácticas. 51.3. Notaciones y estándares. 51.4. Tags.

51.4.1. @author. 51.4.2. @author. 51.4.3. @deprecated.

Page 5: temario de java

Página 5 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

51.4.4. @param. 51.4.5. @see. 51.4.6. @since. 51.4.7. @return.

52. Generando documentación. 52.1. Comando Javadoc. 52.2. El paquete com.sun.javadoc. 52.3. La Interface Taglet.

53. Variables. 54. ¿Qué es una variable? 55. ¿Por qué se llaman variables? 56. Nombrando variables.

56.1. Unicode. 57. Identificadores en JAVA.

57.1. Es necesario mencionarlo: palabras reservadas en JAVA. 58. Declarando variables correctamente. 59. Inicializando variables: ¿Dónde? ¿Cómo? ¿Cuándo? 60. Inicialización dinámica. 61. Ciclo de vida de una variable en JAVA. 62. Las variables y la JAVA Virtual Machine. 63. Ámbito de una variable. 64. Modificadores de acceso de variables.

64.1. Modificador private. 64.2. Modificador protected. 64.3. Modificador public. 64.4. Modificador default.

65. Constantes en JAVA. 65.1. La palabra reservada: final. 65.2. ¿Qué es una constante?

66. Variables tipo static. 67. Literales en JAVA. 68. ¿Qué es un literal?

68.1. Literales enteros. 68.2. Literales reales. 68.3. Literales de un solo carácter. 68.4. Literales de cadenas de caracteres. 68.5. Literal Vs. Constante. 68.6. Evaluando expresiones en JAVA

69. Operadores. 69.1. Operadores de incremento y decremento. 69.2. Operadores de asignación. 69.3. Operadores de igualdad y comparación. 69.4. Operadores lógicos. 69.5. Operador de negación. 69.6. Operadores de precedencia.

70. Datos en JAVA. 71. Tipos de datos simples. 72. Tipos de datos primitivos en JAVA.

72.1. double. 72.2. int. 72.3. byte. 72.4. short. 72.5. long. 72.6. char.

Page 6: temario de java

Página 6 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

72.7. float.

73. Tipo de dato boolean. 74. Operadores de comparación. 75. Clases envoltorio. 76. Clases envoltorio Vs. datos primitivos.

76.1. Double Vs. double. 76.2. Integer Vs. int. 76.3. Long Vs. long. 76.4. Float Vs. float. 76.5. BigDecimal Vs. Float Vs. Double. 76.6. BigInteger. 76.7. ¿Cuándo usarlos?

77. Autoboxing y Autocasting. 78. Tipos primitivos Vs. tipos referenciados. 79. Expresiones regulares. 80. Estructuras de control.

80.1. Sentencia if. 80.2. Sentencia if-else. 80.3. Sentencia if anidada. 80.4. Sentencia switch. 80.5. if Vs. switch.

81. Loops. 81.1. for. 81.2. collection for. 81.3. while. 81.4. do-while.

82. La sentencia: continue. 83. La sentencia: break. 84. Funciones matemáticas y constantes.

84.1. El paquete java.math. 85. Definiendo métodos correctamente en JAVA.

85.1. Modificadores de acceso en métodos. 85.2. ¿Qué son los closures?

86. Declarando métodos correctamente en JAVA. 87. Sobreescritura de métodos. 88. Sobrecarga de métodos. 89. Constructores en Java,

89.1. El operador this. 89.2. El operador super.

90. Entendiendo los métodos estáticos. 91. El bloque static. 92. API Introspección en JAVA. 93. Paso por valor Vs. paso por referencia. 94. ¿Cómo pasan exactamente los valores en JAVA? 95. Arreglos y Strings. 96. Arreglos unidimensionales. 97. Arreglos multidimensionales. 98. Ordenamiento.

98.1. Ordenamiento bubble. 98.2. Ordenamiento merge. 98.3. Ordenamiento quick. 98.4. Ordenamiento heap.

99. El paquete java.lang.

Page 7: temario de java

Página 7 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

100. La clase java.lang.String.

100.1. ¿Qué es un String? 100.2. ¿Dónde viven los Strings? 100.3. Concatenando Strings. 100.4. El método toString(). 100.5. Sobrescribiendo el método toString(). 100.6. La clase StringBuilder. 100.7. La clase StringBuffer. 100.8. La clase StringWriter. 100.9. Operaciones. 100.10. String Vs. StringBuilder Vs. StringBuffer vs StringWriter. 100.11. La Clase ArrayList.

101. Expresiones regulares. 101.1. Clase Pattern. 101.2. Clase Matcher.

102. Objetos inmutables. 102.1. Patrón inmutable. 102.2. Características.

103. La Interface CharSequence. 104. Fechas y horas en Java. 105. Manipulación de Bits.

105.1. Operaciones a nivel de bits. 105.2. Corrimiento de bits. 105.3. La clase BitSet. 105.4. Operadores:

105.4.1. &,|, ^, <<, >>, >>>, ~ 106. Programación Orientada a Objetos. 107. ¿Qué es un paradigma? 108. ¿Qué es la programación orientada a objetos? 109. Características de la programación orientada a objetos. 110. Objetos y el mundo real. 111. Programación estructurada Vs. programación orientada a objetos. 112. Otros paradigmas. 113. Java será funcional y Orientado a Objetos. 114. Introducción: Patrones de diseño. 115. ¿Qué es un patrón?

115.1. ¿Qué es un anti patrón? 115.2. Patrones GRASP. 115.3. Patrones GOF.

116. Entendiendo y comprendiendo el concepto de clase como patrón de diseño. 117. Técnicas de abstracción de datos. 118. Estructura de una clase en JAVA. 119. Implementación de concepto de clase en JAVA. 120. Diagramación UML.

120.1. Integrando UML en Eclipse IDE. 120.1.1. Diagramas de clases. 120.1.2. Diagrama de secuencia. 120.1.3. Diagrama de colaboración.

121. Concepto de alta cohesión 122. Concepto de bajo acoplamiento. 123. Composición.

123.1. Diagrama de composición en UML. 124. Agregación.

Page 8: temario de java

Página 8 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

124.1. Diagrama de agregación en UML.

125. Composición Vs. agregación. 126. Clases y Objetos en Java. 127. Tipos de datos de referencia.

127.1. Objetos. 127.1.1. La Clase Object.

127.1.1.1. El método toString(). 127.1.1.2. El método equals(). 127.1.1.3. El método hashCode(). 127.1.1.4. El método clone().

127.2. La clase Class. 127.3. Encapsulamiento. 127.4. Definiendo clases en JAVA.

127.4.1. Anatomía de una clase. 127.5. ¿Qué son los objetos en JAVA? 127.6. Inicialización y constructores. 127.7. Construcción de Objetos.

127.7.1. El operador new en JAVA. 127.7.2. Midiendo el tamaño de nuestros objetos.

127.7.3. API Instrumentation.

127.7.3.1. memoryangent.jar 127.8. Comparando objetos. 127.9. Relaciones.

127.9.1. “Is a”. 127.9.2. “Has a”.

127.10. Constructores y sobrecarga de constructores. 127.11. Clases internas.

127.11.1. Clases estáticas. 127.12. Clases anónimas 127.13. Clases abstractas. 127.14. Clase finales. 127.15. Clases mutables e inmutables.

128. El patrón de diseño Singleton. 128.1. ¿Existen los singletons en Java?

129. Herencia entre clases. 129.1. Super clases. 129.2. Sub clases.

130. Generalización de clases. 131. Especialización de clases. 132. Composición Vs. herencia. 133. El método isInstance(). 134. La palabra reservada instanceOf. 135. El método getClass(). 136. Reutilización de código. 137. Interfaces. 138. ¿Qué es una interface?

138.1. El concepto de interface como patrón de diseño. 138.2. Herencia múltiple. 138.3. Problemas asociados con al herencia múltiple.

139. Herencia múltiple usando interfaces. 139.1. Atributos en una interface 139.2. Métodos en una interface. 139.3. Heredando interfaces.

Page 9: temario de java

Página 9 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

139.4. Limitaciones de las interfaces.

140. ¿Cuándo usar interfaces? 141. ¿Cuándo usar clases abstractas? 142. Interfaces Vs. Clases abstractas. 143. El patrón Strategy. 144. El patrón Observer. 145. Polimorfismo.

145.1. ¿Qué es el polimorfismo? 145.1.1. Enlace dinámico. 145.1.2. Enlace estático.

146. Acoplamiento. 147. Métodos polimórficos. 148. Tipos de retorno covariantes. 149. Introducción a la arquitectura JAVA Beans.

149.1. El patrón DTO. 149.2. El patrón VO. 149.3. El patrón TO. 149.4. ¿Son lo mismo?

150. Manejo de archivos en JAVA. 150.1. Entendiendo los Streams. 150.2. Flujos de datos en JAVA. 150.3. Archivos y directorios.

150.3.1. Lectura y escritura de Archivos con Java. 150.4. Archivos binarios Vs. archivos de texto. 150.5. La Clase PrintWriter. 150.6. Clases para manejo de Archivos Binarios.

150.6.1. La Clase InputStream. 150.6.1.1. La Clase FileInputStream. 150.6.1.2. La Clase ObjectInputStream. 150.6.1.3. La Clase FilterInputStream.

150.6.1.3.1. La Clase FilterInputStream. 150.6.1.3.2. La Clase DataInputStream. 150.6.1.3.3. La Clase BufferedInputStream.

150.6.2. La Clase OutputStream. 150.6.2.1. La Clase FileOutputStream. 150.6.2.2. La Clase ObjectOutputStream. 150.6.2.3. La Clase FilterOutputStream.

150.6.2.3.1. La Clase DataOutStream. 150.6.2.3.2. La Clase BufferedOutputStream.

150.7. Abriendo archivos para acceso secuencial. 150.7.1. Flujo de bytes.

150.7.1.1. La Clase FileOutputStream. 150.7.1.2. La Clase FileInputStream.

150.7.2. La Clase File. 150.7.3. Flujo de caracteres.

150.7.3.1. La Clase FileWriter. 150.7.3.2. La Clase FileReader.

150.8. PrintWriter Vs. FileWriter. 150.9. PrintWriter Vs. BufferedWriter. 150.10. Acceso aleatorio de archivos.

151. Recursión en Java. 151.1. Recursión Vs. Iteración. 151.2. Recursión directa Vs. Recursión indirecta. 151.3. El clásico: Torres de hanoi.

Page 10: temario de java

Página 10 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

152. ¿Qué es la serialización?

152.1. Serialización de objetos en Java. 152.2. ¿Para qué usamos la serialización en JAVA? 152.3. ¿Serializar Clases u Objetos? 152.4. La Interface Serializable.

152.4.1. Excepción NotSerializableException. 152.4.2. Tipo de dato transient. 152.4.3. El famoso serialVersionUID.

152.5. Concepto de deserialización en JAVA. 152.6. La interface Externalizable. 152.7. Serializando arreglos.

153. Excepciones 153.1. ¿Qué es una excepción? 153.2. ¿Para qué sirve una excepción?

153.2.1. Manejo de excepciones en Java. 153.2.1.1. La Clase Throwable. 153.2.1.2. La Clase Error. 153.2.1.3. La Clase Exception.

153.3. Tipos de Excepciones. 153.4. La clase Exception y el operador instanceOf. 153.5. Detección y manejo de una excepción.

153.5.1. El bloque try. 153.5.2. El bloque catch. 153.5.3. El bloque finally. 153.5.4. La traza de la pila.

153.5.4.1. El método printStackTrace. 153.5.4.2. Regeneración y encadenamiento de Excepciones.

153.6. La sentencia throw. 153.7. La cláusula throws. 153.8. Precondiciones y post condiciones. 153.9. Excepciones y Aserciones. 153.10. Errores en tiempo de ejecución. 153.11. Creando nuestras propias excepciones. 153.12. Errores lógicos. 153.13. Técnicas en el manejo de excepciones.

153.13.1. Terminar el programa. 153.13.2. Corregir y continuar. 153.13.3. Logs. 153.13.4. Cuando usar y cuando no usar excepciones. 153.13.5. Excepciones comunes en el manejo de archivos. 153.13.6. Técnicas de debugeo.

154. Técnicas de programación. 155. Buenas Prácticas de Programación en JAVA. 156. Introducción patrón MVC.

156.1. Modelo Vista Controlador. 156.2. Arquitectura cliente servidor.

157. Patrón Service Locator. 158. Proyecto. Construcción de un framework basado en patrones de diseño. 159. Evitando ser un programador COPY/PASTE.

159.1. Saber usar la documentación de JAVA. 160. Reingeniería Vs. Refactoring. 161. ¿Por qué son importantes las arquitecturas?

Page 11: temario de java

Página 11 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

Módulo 2. Desarrollo. 1. Anotaciones en Java. 2. ¿Qué son las anotaciones?

2.1. Tipos de anotaciones. 2.1.1. @Override. 2.1.2. @Deprecated. 2.1.3. @SuppressWarnings. 2.1.4. @SafeVarargs. 2.1.5. @Inherited. 2.1.6. @Documented.

2.2. Meta Anotaciones. 2.2.1. @SuppressWarnings.

2.2.1.1. @Target. 2.2.1.2. @Retention.

2.3. Definiendo nuestras anotaciones. 2.3.1. @Interface. 2.3.2. @Stub.

3. Internacionalización. 3.1. I18n: Ejemplo básico. 3.2. Aspectos a internacionalizar. 3.3. Texto y datos intercalados. 3.4. Ejemplo con MessageFormat. 3.5. Formato de fechas y horas. 3.6. Fechas y horas. Ejemplo. 3.7. Patrones para fechas y horas.

3.7.1. La Clase Locale. 3.7.2. La Clase TimeZone. 3.7.3. La Clase DateFormat. 3.7.4. La Clase DateFormatSymbols.

3.8. Ejemplo de formato. 3.9. Formato de números. 3.10. Patrones para números. 3.11. Reglas de ordenación.

4. Ejecución de programas no Java. 4.1. Ejecución de programas no Java 4.2. Interfaz Nativa de Java. 4.3. Compilación del programa C. 4.4. Ejecución de programas en C Sharp.

4.4.1. Paso de parámetros. 4.5. Acceso al objeto principal. Campos 4.6. Acceso al objeto principal. Métodos 4.7. Manejo de excepciones

5. Generics en JAVA. 5.1. Downcasting Vs. Generics. 5.2. La excepción ClassCastException. 5.3. ¿Qué son y para qué sirven? 5.4. Implementación y tiempo de compilación. 5.5. Definiendo Generics en Clases e Interfaces. 5.6. Nomenclatura.

5.6.1. E,T,K,V. 5.7. Tipos de argumentos en Generics.

5.7.1. “Concrete type”.

Page 12: temario de java

Página 12 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

5.7.2. “Concrete parameterized”. 5.7.3. “Array”. 5.7.4. “Type parameter”. 5.7.5. “Wildcard”.

5.8. Definiendo Generics en métodos. 5.8.1. Parametrizando métodos.

5.9. Sobrecargando métodos genéricos. 5.10. Arreglos y Generics.

6. Tipos Enum. 7. Clases tipo Enum. 8. ¿Qué es un Framework? 9. El Framework de colecciones JAVA. 10. Patrón de diseño Iterator. 11. Patrón de diseño Factoría. 12. Patrón de diseño Factoría Abstracta. 13. Entendiendo el framework de colecciones.

13.1. Arquitectura. 13.1.1. Core de interfaces. 13.1.2. Clases. 13.1.3. Utilerías.

14. Listas, Pilas y Colas. 15. Interface Cloneable y Serializable. 16. El paquete java.util. 17. Colecciones principales de objetos.

17.1. Sets. 17.2. Maps. 17.3. Sequences.

18. El loop for-each. 19. Iterator.

19.1. La interface Iterator. 19.1.1. Métodos principales.

19.1.1.1. hasNext(). 19.1.1.2. next().

20. Collection. 20.1. La interface Collection. 20.2. Clase AbstractCollection.

21. Tipos de colecciones principales de objetos en JAVA. 21.1. Sets.

21.1.1. Interface TreeSet. 21.1.1.1. AbstractSet. 21.1.1.2. HashSet. 21.1.1.3. LinkedHashSet.

21.2. Lists. 21.2.1. Las clases ArrayList y LinkedList.

21.2.1.1.1. Ordenamiento de listas. 21.2.1.1.1.1.1. Métodos estáticos.

21.2.2. Desempeño de entre Sets y Lists. 21.2.3. Maps.

21.2.3.1.1. HashMap. 21.2.3.1.2. LinkedHashMap. 21.2.3.1.3. TreeMap.

22. Comparable Vs. Comparator. 23. Comparación entre Collection e Iterator. 24. Algoritmos eficientes.

Page 13: temario de java

Página 13 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

25. Árboles binarios en Java. 26. Patrón de diseño Fachada. 27. Patrón de diseño Proxy. 28. Patrón de diseño Bridge. 29. Patrón de diseño Adapter. 30. Patrón de diseño Command. 31. Continuación de nuestro framework con patrones de diseño. 32. Threads en JAVA 33. Breve historia de la concurrencia.

33.1. Los Threads no son objetos. 33.2. Entendiendo y comprendiendo los hilos en JAVA. 33.3. Procesos. 33.4. Semáforos.

34. Hilos y concurrencia. 35. Clásico: Productor consumidor 36. ¿Por qué usar hilos? 37. Creando hilos en JAVA. 38. Modelo de memoria en Java. 39. Thread Safety.

39.1. Operaciones atómicas. 39.2. La palabra reservada synchronized.

40. Retomando Concepto de inmutabilidad. 41. La Clase Thread.

41.1. Elementos de la clase Thread. 42. Ciclo de vida de un Thread en JAVA.

42.1. Estados y prioridades. 43. La clase Object,

43.1. El método wait(). 43.2. El método notify(). 43.3. El método notifyAll().

44. Iniciando Threads en JAVA. 44.1. Método run(). 44.2. Método start(). 44.3. Método isAlive().

45. Terminando Threads en JAVA. 46. Pausando, suspendiendo y resumiendo threads en JAVA. 47. La Interface Runnable. 48. Interface Runnable Vs. Clase Thread. 49. ¿Cuándo usar la Clase Thread? 50. ¿Cuándo usar la Interface Runnable? 51. Sincronización de hilos en JAVA. 52. Operaciones atómicas. 53. El identificador volatile. 54. Condición race.

54.1. ¿Cuándo se presenta? 55. Locks.

55.1. Ámbito. 55.2. La Interface Lock.

56. Sincronización de métodos Vs. Sincronización de bloques. 57. Deadlock. 58. Método wait(). 59. Método notify(). 60. Método notifyAll(). 61. El paquete java.util.Concurrent.

Page 14: temario de java

Página 14 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

62. Threads Pools.

62.1. La Clase ThreadLocal. 62.2. La Clase ThreadPoolExecutor.

63. La interface Callable. 64. La Interface Future. 65. El fork-join framework. 66. ThreadSafe y Colecciones.

66.1. Colecciones sincronizadas. 67. Anotaciones.

67.1. @GuardedBy. 67.2. @Immutable. 67.3. @ThreadSafe. 67.4. @NotThreadSafe.

68. JDBC. 69. Herramientas para Hibernate. 70. Spring Roo. 71. Java Beans y eventos. 72. Repositorios de datos. 73. Modelo relacional de datos. 74. Modelo entidad relación. 75. Identificando llaves. 76. Normalización de bases de datos. 77. Arquitectura y componentes JDBC. 78. JDBC DataSource. 79. Como trabaja JDBC.

79.1. Estableciendo la conexión. 79.1.1. Drivers.

79.1.1.1. Tipos de Driver. 79.1.1.1.1. Tipo 1. “JDBC-ODBC Bridge” 79.1.1.1.2. Tipo 2. “Native-API-Partly-Java” 79.1.1.1.3. Tipo 3. “JDBC-Net-All-Java” 79.1.1.1.4. Tipo 4. “Native-Protocol-All-Java”

79.2. Abriendo conexiones. 79.2.1. DriverManager. 79.2.2. DataSource. 79.2.3. DriverManager Vs. DataSource. 79.2.4. JDBC URL.

80. Connector MySQL. 81. SQL.

81.1. Ejecutando sentencia SQL. 81.2. SQL Básico.

81.2.1. Sentencia INSERT. 81.2.2. Sentencia SELECT. 81.2.3. Sentencia DELETE. 81.2.4. Sentencia UPDATE.

82. Ejecutando sentencias. 82.1. Usando el objeto Statement. 82.2. Usando el objeto PreparedStatement. 82.3. Usando el objeto CallableStatement. 82.4. Un poco más de métodos de ejecución.

83. Procesando resultados. 83.1. La Interface ResultSet.

83.1.1. ResultSet Object. 83.2. Usando la Interfaces JDBC MetaData.

Page 15: temario de java

Página 15 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

83.2.1. Interface ResultSetMetaData. 83.2.2. Interface DatabaseMetaData. 83.2.3. Interface ParameterMetaData.

84. Cerrando conexiones y sentencias. 85. Arquitectura de dos capas. 86. Arquitectura de tres capas. 87. Introducción a ORM. 88. Object Databases (ODBMS). 89. Java Data Objects (JDO). 90. Transacciones.

90.1. Spring / JPA / Hibernate. 90.2. Rollback. 90.3. Commit.

91. Introducción a JNDI. 91.1. Ventajas y desventajas. 91.2. javax.sql: Soporte JNDI.

92. DataSource. 93. Pool de Conexiones. 94. Struts 2 / Tiles. 95. Manejo de Sesiones en Struts2. 96. Generando un aplicación web con Struts2. 97. Jquery para Struts2.

Page 16: temario de java

Página 16 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

Módulo 3. Desarrollo Web.

1. ¿Qué hace un desarrollador Web Java? 1.1. Roles.

2. ¿Qué es JEE? 3. Arquitectura JEE.

3.1. Componentes. 3.2. Versiones de JEE.

3.2.1. Java EE 5. 3.2.2. Java EE 6. 3.2.3. Java EE 7. 3.2.4. ¿Cuál es la diferencia?. 3.2.5. ¿Vale la pena aprender todas?

3.3. Arquitectura JEE: Beneficios. 4. Arquitectura cliente-servidor. 5. Stack de protocolos de red. 6. Arquitectura MVC.

6.1. Ventajas y desventajas. 7. ¿Qué es un protocolo?

7.1. Protocolo http. 7.2. URL, URI, etc.

8. Entendiendo el protocolo HTTP. 8.1. Protocolo HTTP.

8.1.1. Head. 8.1.2. Get. 8.1.3. Post. 8.1.4. Put. 8.1.5. Delete. 8.1.6. Trace. 8.1.7. Options. 8.1.8. Connect.

9. Servidor de aplicaciones. 9.1. BEA Weblogic y Glassfish.

9.1.1. Configurando BEA Weblogic. 9.1.2. Configurando Glassfish.

10. Contenedor Web. 10.1. Apache Tomcat

10.1.1. Configurando Apache Tomcat. 11. Entendiendo y comprendiendo los “Web Containers”. 12. Entendiendo y comprendiendo los “Application Servers”. 13. Aplicaciones Front-end. 14. Patrones para el desarrollo de aplicaciones Web. 15. Capa de presentación.

15.1. Patrón Front Controller. 15.2. Patrón View Helper. 15.3. Patrón Composite View. 15.4. Patrón Service to Worker. 15.5. Patrón Dispatcher View.

16. Aplicaciones Web. 16.1. Componentes de una aplicación Web. 16.2. Ciclo de vida de una aplicación Web. 16.3. Tipos de aplicaciones WEB. 16.4. ¿Programación o diseño?

Page 17: temario de java

Página 17 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

16.5. Propósito de las aplicaciones Web. 16.6. Organización de una aplicación Web en Java.

16.6.1. Estructura de directorios y archivos. 16.6.2. Tipos de archivos.

16.7. Portabilidad. 16.8. Separación de capas. 16.9. Soporte a Base de Datos. 16.10. Implementado la lógica de negocio. 16.11. Implementado la capa de presentación.

17. Empaquetando nuestra aplicación. 18. Ant, Maven. Maven 2.

18.1. Archivos JAR. Anatomía. 18.2. Archivos WAR. Anatomía. 18.3. Archivos EAR. Anatomía

19. Deployando nuestra aplicación. 19.1. Hot Deploy con IDE Eclipse.

20. Herramientas para el desarrollo Web. 21. Construyendo una aplicación Web.

21.1. Debugeando remotamente nuestra aplicación. 22. El archivo WEB.xml.

22.1. Estructura. 22.2. Mapeando Servlets. 22.3. Definiendo filtros. 22.4. Especificando páginas de inicio. 22.5. Manejo de páginas de error. 22.6. Seguridad.

22.6.1. Autenticación 22.6.2. Configurando Weblogic para usar SSL. 22.6.3. Certificados.

23. Utilerías. 23.1. Log4j. 23.2. Las Apache Commons. 23.3. Frameworks javascript.

23.3.1. Jquery. 23.3.2. MooTools. 23.3.3. Ext JS. 23.3.4. Java Script del lado del cliente.

23.3.4.1. node.js 23.3.5. Java Script del lado del servidor. 23.3.6. Rhino. Interprete de JS para Java.

24. ¿Qué es un Servlet? 25. ¿Están muertos los CGIs? 26. Especificación Servlets.

26.1. Especificación 2.5. 26.2. Especificación 3.0.

27. Arquitectura de los Servlets. 28. El paquete javax.servlet. 29. Peticiones y Respuestas. 30. Estructura de un Servlet.

30.1. La Clase GenericServlet. 30.2. La Clase HttpServlet. 30.3. La Interface HttpServletRequest. 30.4. La Interface HttpServletResponse.

31. Ventajas y desventajas de los servlets.

Page 18: temario de java

Página 18 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

32. Ciclo de vida de un Servlet.

32.1. El Método service(). 32.2. El Método doGet(). 32.3. El Método doPost(). 32.4. El Método init(). 32.5. Tipo de inicialización. 32.6. Método destroy().

33. ¿Cuándo y por qué usar Servlets? 34. Configuración de Servlets.

34.1. La interface ServletConfig. 34.2. La interface ServletContext.

35. Compilando, instalando e invocando un Servlet. 36. Generando HTML y CSS.

36.1. Fundamentos de HTML y CSS 36.2. Corrigiendo vicios. 36.3. ¿XHTML y HTML 5?

37. La interface SingleThreadModel. 38. La interface RequestDispatcher. 39. La carpeta WEB-INF

39.1. La carpeta classes. 39.2. La carpeta lib. 39.3. Descriptor o Web.xml.

39.3.1. Etiquetas y elementos. 40. Filtros, Eventos y Listeners. 41. Manejo de peticiones desde formulario.

41.1. Repoblado de datos. 42. Encabezados HTTP Request. 43. Formato HTTP Response.

43.1. Códigos de estado. 43.2. Encabezados.

44. Session Tracking. 45. Manejo de cookies.

45.1. Galletas mal horneadas. 46. Thread Safe Servlets. 47. Desarrollando aplicaciones Web seguras. 48. Administración de sesiones. 49. Java Server Pages. 50. Java Server Pages y XML. 51. Arquitectura de las JSPs.

51.1. Modelo 1 – Arquitectura. 51.2. Modelo 2 – Arquitectura.

52. Ventajas y desventajas. 52.1. Ciclo de vida de una JSP.

53. Ámbito de las JSPs. 54. Modelos de programación.

54.1. “Simple model”. 54.2. “Forward delegation model”. 54.3. “Include delegation model”. 54.4. “Decoupled model”.

55. Delegando funciones: 55.1. El modelo. 55.2. La vista. 55.3. El controlador.

56. ¿Cuándo y por qué usar JSPs?

Page 19: temario de java

Página 19 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

57. Diferencias entre Servlets y JSPs. 58. Sintaxis y Semántica.

58.1. Declaraciones. 58.2. Directivas. 58.3. Expresiones. 58.4. Comentarios. 58.5. Los JSP scriptlets.

59. Atributos. 59.1. Atributo import. 59.2. Atributo contentType. 59.3. Atributo isThreadSafe. 59.4. Atributo session. 59.5. Atributo buffer. 59.6. Atributo autoflush. 59.7. Atributo extends. 59.8. Atributo info. 59.9. Atributo errorPage. 59.10. Atributo isErrorPage. 59.11. Atributo language.

60. Lenguaje de expresión unificado. 61. Arquitectura java beans.

61.1. Enfrijoladas. 61.1.1. ¿Qué son los java beans? 61.1.2. Propiedades de un bean. 61.1.3. Creando un java bean. 61.1.4. Usos de los java beans. 61.1.5. java beans Vs EJBs.

62. Patrón de diseño. 62.1. Transfer Object.

63. Patrón de diseño. 63.1. Factory. 63.2. Bean Factory

64. Contexto de una aplicación Web. 65. Errores y excepciones

65.1. Servlets y JSPs. 65.2. Manipulando Errores en las JAVA Server Pages.

65.2.1. “Forwarding Errors”. 65.3. Incluyendo otros archivos en la generación de Java Server Pages. 65.4. Incluyendo archivos en tiempo de compilación. 65.5. Incluyendo archivos en tiempo de ejecución. 65.6. Procesando formularios de datos. 65.7. Control de navegación con JAVA Server Pages. 65.8. Estado de mantenimiento. 65.9. Uso de mejores prácticas en el desarrollo de JAVA Server Pages.

66. Administrador de sesiones y subprocesos. 66.1. Seguimiento de sesiones. 66.2. La API de sesión. 66.3. Administración de subprocesos. 66.4. Modelos de subproceso de Servlets. 66.5. Aplicaciones multihilo. 66.6. HTTP y estados de sesión. 66.7. Estado de persistencia.

67. ¿Qué es JSTL? 67.1. c:out

Page 20: temario de java

Página 20 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

67.2. c:forEach 67.3. c:forTokens 67.4. c:if 67.5. c:choose 67.6. c:set 67.7. c:remove 67.8. c:import 67.9. c:url 67.10. c:param 67.11. c:redirect 67.12. c:catch

68. JSTL y EL. 69. JSTL vs Scriptlets. 70. Tags personalizados. 71. JSP Vs. JSF. 72. Introducción JAVA Server Faces.

72.1. JSF Vs. JSP 72.2. JSTL Vs. JSP

73. Conectividad con base de datos 74. Inyección de recursos. 75. Patrones de diseño para JDBC. 76. El Patrón de diseño DAO Factory. 77. El Patrón DAO.

77.1. BOs y DAOs 77.2. Persistencia transparente. 77.3. Pequeñas cuestiones.

78. SQL Scripts. 79. Transacciones.

79.1. Métodos de transacciones. 79.2. Control de concurrencia.

80. DataSource y JNDI API. 81. Pool de Conexiones 82. Problemas con JDBC. 83. JSPs y XML 84. ¿Qué es XML?

84.1. sax. 84.2. stax. 84.3. jdom4j.

85. ¿Es el fin del XML? 86. Ventajas y desventajas del uso del XML. 87. JSON y XML. 88. Definición de documentos XML.

88.1. XML bien formado. 88.2. XML Sintácticamente correcto. 88.3. Descriptores de datos. 88.4. Schemas.

89. JSON y AJAX. 90. Validaciones. 91. XSL y SOAP. 92. XSLT. 93. Otros Frameworks. 94. Lógica de negocio. 95. Patrones de diseño.

95.1. Capa de negocio.

Page 21: temario de java

Página 21 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

95.1.1. ServiceLocator. 95.1.2. Business Delegate. 95.1.3. Session Facade.

96. Spring. 96.1. Inversión de Control. 96.2. Inyección de dependencias.

96.2.1. ¿Una noche de primavera? 96.2.2. ¿Qué es Spring y para qué sirve?

96.2.2.1. Filosofía. 96.2.2.2. Tecnología no invasiva. 96.2.2.3. Configuración.

96.3. Cronología. 96.3.1.1. Versiones de Spring. 96.3.1.2. Lo nuevo en Spring 3.0.

96.3.1.2.1. Spring Expression Language (SpEL). 96.3.1.2.2. Componentes basados en anotaciones.

96.4. Características de Spring. 96.5. ¿Qué es un POJO? 96.6. Programación orientada a aspectos.

96.6.1. POA con Spring. 96.6.1.1. AspectJ.

96.6.2. ¿Alternativas? 96.6.2.1. EJBs Vs. Spring. 96.6.2.2. Frameworks. 96.6.2.3. Patrones de diseño. 96.6.2.4. Lenguajes dinámicos.

97. Arquitectura de aplicaciones con Spring. 97.1. Arquitectura Spring

97.1.1. Spring Core. 97.1.2. Spring DAO. 97.1.3. Spring ORM. 97.1.4. Spring MVC.

97.1.4.1. Beneficios Spring Web MVC. 97.2. Spring Expression Language (SpEL).

98. Configuración de Contenedor. 98.1. Configurando Spring en Eclipse IDE. 98.2. Configuración de Archivos Spring.

98.2.1. bean.xml. 99. Creación y Configuración de Beans. 100. Bean Factory.

100.1. Ciclo de vida. 101. Instanciación. 102. Spring Bean Factory.

102.1. XmlBeanFactory. 103. ¿Cuándo usar Bean Factory? 104. ¿Cableando frijoles? 105. Patrón de Inyección de dependencia en Spring. 106. Dependencias.

106.1. Tipos de inyección. 106.1.1. Inyección por constructor. 106.1.2. Inyección por “setter”. 106.1.3. Inyección por constructor Vs “setter”. 106.1.4. Inyección de referencias de objetos.

106.2. Declarando beans.

Page 22: temario de java

Página 22 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

106.3. Propiedades de los beans. 106.4. Configuración.

106.4.1. Referencia a otros beans. 106.4.2. Colecciones.

106.4.2.1. Listas y Arreglos. 106.4.2.2. Sets. 106.4.2.3. Maps. 106.4.2.4. Properties.

106.4.3. Beans internos. 106.4.4. Valores nulos.

106.5. Configuración por anotaciones. 106.5.1. @Autowired. 106.5.2. @Inject. 106.5.3. @Resource. 106.5.4. @PostConstruct. 106.5.5. @PreDestroy.

107. Auto cableado en Spring. 107.1. Tipos.

107.1.1. byName. 107.1.2. byType. 107.1.3. constructor. 107.1.4. autodetect. 107.1.5. por defecto.

108. Hasta donde llegan los frijoles (Scope). 108.1. Singleton. 108.2. Prototype. 108.3. Request. 108.4. Session. 108.5. Global-Session. 108.6. Retrollamadas (Callbacks).

108.6.1. Ciclo de vida. 108.7. Inicialización. 108.8. Destrucción.

109. Inicialización de beans. 109.1. Interfaces. 109.2. ID.

110. Beans heredados. 111. Beans abstractos. 112. Inyección de métodos.

112.1. Interfaz MethodReplacer. 112.2. Inyección “getter”.

113. Propiedades personalizadas. 113.1. Interfaz PropertyEditor.

114. El contenedor ApplicationContext. 114.1. Ciclo de vida. 114.2. ClassPathXmlApplicationContext. 114.3. FileSystemXmlApplicationContext. 114.4. XmlWebApplicationContext.

114.4.1. Eventos. (Application Events). 114.4.2. Genericos.

115. ApplicationContext Vs. Bean Factory. 116. Patrones de Diseño y Spring.

116.1. Capa de presentación. 116.1.1. Front Controller.

Page 23: temario de java

Página 23 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

116.1.2. Application Controller. 116.1.3. Page Controller. 116.1.4. Context Object.

117. Spring Tag Library. 118. Spring MVC.

118.1. Introducción. 118.2. Arquitectura General. 118.3. Paradigma MVC.

118.3.1. Modelo. 118.3.2. Vista. 118.3.3. Controlador.

118.4. AbstractController. 118.5. DispatcherServlet. 118.6. FrontController.

118.6.1. WebApplicationContext. 118.7. Controladores. 118.8. Vistas. 118.9. Handler Mappings.

118.9.1. BeanNameUrlHandlerMapping. 118.9.2. SimpleUrlHandlerMapping. 118.9.3. CommonsPathMapUrlHandlerMapping.

118.10. Handling Requests. 118.10.1. HandlerExecutionChain. 118.10.2. Interceptores. 118.10.3. WebContentInterceptor.

119. Interceptores. 120. Transacciones con Spring.

120.1. Tipos de transacciones. 120.2. Anotación @Transactional. 120.3. Propagación de transacciones.

121. Introducción a Spring JDBC Framework. 122. Hibernate y Spring. 123. ¿Qué es Hibernate? 124. Shampoo para POJOs. 125. ¿Por qué Hibernate? 126. Herramientas, instalación y configuración.

126.1. Archivo de configuración Hibernate. 126.2. JPA configuración.

127. Entendiendo la persistencia de objeto/relación. 128. ¿Qué significa persistir? 129. Capas de persistencia. 130. Persistiendo múltiples objetos. 131. ORM: “Object Relational Mapping”. 132. Mapeo de documentos. 133. Mi primera clase persistente. 134. Modelos de domino y “metadata”. 135. Anotaciones con Hibernate.

135.1. @Entity. 135.2. @Table. 135.3. @Id. 135.4. @GeneratedValue. 135.5. @Basic. 135.6. @Lob. 135.7. @Transient.

Page 24: temario de java

Página 24 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

135.8. @Column.

136. Mapeo o “Mapping”. 136.1. Asociaciones.

136.1.1. one-to-one. 136.1.2. many to one. 136.1.3. one-to-many. 136.1.4. many-to-many.

137. Hibernate y Spring. 138. Web Services: SOA / REST

138.1. Implementando Web Services. 139. Validaciones y pruebas unitarias. 140. Spring Security. 141. Monitoreo y Controladores. 142. JSFs vs JSPs.

Page 25: temario de java

Página 25 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

Módulo 4. Arquitectura. 1. Arquitectura de software.

1.1. Buena y mala arquitectura. 1.2. Alta disponibilidad. 1.3. ¿Licuados de metodologías de desarrollo? 1.4. Análisis de requerimientos. 1.5. Escalabilidad. 1.6. Análisis de los procesos de negocio. 1.7. Diseño y definición de soluciones. 1.8. Construcción de arquitecturas base. 1.9. Implementación de casos de uso. 1.10. Diseño y ejecución de pruebas (unitarias, integración, prueba de stress, etc.) 1.11. Administración de la configuración de un proyecto. 1.12. ¿Cómo ser un buen líder de proyecto?

2. Latencia. 3. Throughput. 4. Alta disponibilidad. 5. Balanceo de carga. 6. Patrones de arquitectura. 7. ¿Por qué las arquitecturas son importantes? 8. Atributos de calidad. 9. Java Management Extensions (JMX). 10. Hibernate 3.

10.1. Cache de Segundo Nivel con Hibernate. 10.2. Patrones de sesión con Hibernate. 10.3. ORM Avanzado.

10.3.1. Objetos embebidos. 10.3.2. Llaves compuestas. 10.3.3. Elementos de Mapeo Avanzados. 10.3.4. Tablas Múltiples.

11. JMS. 11.1. Estilos de mensaje soportados por JMS. 11.2. Entendiendo y comprendiendo JMS. 11.3. Programas punto a punto. 11.4. Publicador subscriptor. 11.5. Productores. 11.6. Consumidores. 11.7. Transacciones Distribuidas. 11.8. Mensajería.

11.8.1. Síncrona. 11.8.2. Asíncrona. 11.8.3. Concurrente.

11.9. JMS y Multi-threading. 11.10. Seguridad y JMS. 11.11. La interface Message.

12. Spring Vs. EJBs. 13. Spring y EJBs. 14. Enterprise Java Beans. 15. Los EJBs. ¿Semillas poderosas o engorrosas?

15.1. EJB 3 15.1.1. Consideraciones.

15.2. Versiones de EJBs y estado de uso. 16. Arquitectura de los Enterprise Java Beans.

Page 26: temario de java

Página 26 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

16.1. Componentes de una arquitectura EJB. 16.2. Características de los EJBs.

17. Tipos de EJBs. 17.1. Session beans.

17.1.1. Stateful Session Beans. 17.1.2. Stateless Session Beans. 17.1.3. Singleton Session Beans.

17.2. Message-driven beans. 17.3. Entities. 17.4. Java Persistence API.

18. Roles y responsabilidades: ¿Quién se encarga de qué? 18.1. El Enterprise Bean Provider. 18.2. El Application Assembler. 18.3. El EJB Server Provider. 18.4. El EJB Container Provider. 18.5. El EJB Deployer. 18.6. El System Administrator.

19. JNDI. 19.1. Tipos de Clientes JEE.

19.1.1. Clientes Web. 19.1.2. Clientes EJB. 19.1.3. Clientes EIS.

20. ¿Cuándo usar JNDI? 21. JNDI Tree. 22. JNDI Initial Context. 23. Spring HTTP Invoker, Hessian, Burlap. 24. WebSockets. 25. Anotaciones Vs. Descriptores.

25.1. Ventajas y desventajas. 26. Nuestro primer EJB.

26.1. La anotación @EJB. 26.2. Desarrollando un Session Bean: Encapsulando la lógica de negocio.

26.2.1. Anatomía de un Session Bean. 26.2.1.1. Tipos de Session Bean.

26.2.1.1.1. ¿Cuándo usar session bean? 26.2.1.2. Tiempo de vida de un session bean.

27. Creando un cliente Session Bean. 27.1. Stateless Session Bean.

27.1.1. Anotación @Stateless. 27.1.2. Creación de un Stateless Session Bean. 27.1.3. Interfaces locales e interfaces remotas. 27.1.4. Anotaciones: Interface de negocio:

27.1.4.1. @Remote. 27.1.4.2. @Local.

27.1.5. ¿Y El archivo ejb-jar.xml? 27.1.6. Inyección de dependencias. 27.1.7. Métodos CallBack.

27.1.7.1. @PostConstruct. 27.1.7.2. @PreDestroy.

27.1.8. Interceptores en EJBs. 27.1.8.1. Conceptos AOP. 27.1.8.2. @AroundInvoke. 27.1.8.3. @Interceptors. 27.1.8.4. @Interceptor.

Page 27: temario de java

Página 27 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

27.2. Stateful Session Bean.

27.2.1. ¿Qué es un Stateful Session Bean? 27.2.2. Creación de un Stateful Session Bean. 27.2.3. Anotación @Stateful. 27.2.4. Anotaciones: Interface de negocio.

27.2.4.1. @Remote. 27.2.4.2. @Local.

27.2.5. Deployment de un “Stateful Session Bean”. 27.2.6. Mecanismos de “Swapping” 27.2.7. Consideraciones de desempeño. 27.2.8. Métodos CallBack.

27.2.8.1. @PostConstruct. 27.2.8.2. @PreDestroy. 27.2.8.3. @PrePassivate. 27.2.8.4. @PostActivate.

27.2.9. Destruyendo un stateful session bean. 27.3. Diferencias entre stateless y stateful session beans. 27.4. Deployando los session beans. 27.5. Compilando y ejecutando nuestros clientes. 27.6. Entities o entities beans.

27.6.1. EntityManager Interface. 27.7. ¿Qué es un Entity? 27.8. Entities Vs. Session Beans. 27.9. La anotación @Entity. 27.10. El archivo persistence.xml. 27.11. ORM.

27.11.1. Anotaciones de persistencia. 27.11.2. Estados. 27.11.3. Mapeos.

27.11.3.1. Tipos. 27.11.4. Relaciones. 27.11.5. Entity Manager. 27.11.6. Hibernate y EJBs.

27.12. Creando un singleton bean. 27.13. Usando múltiples singleton beans. 27.14. Administración de concurrencias. 27.15. La anotación @ConcurrencyManagement. 27.16. Accesando un EJB desde una JSP.

28. Invocación de EJBs usando JNDI. 29. Transacciones en JEE. 30. ¿Qué es una transacción?

30.1. API JTA. 30.2. Transacciones distribuidas. 30.3. Core ACID.

30.3.1. Atomicidad. 30.3.2. Consistencia. 30.3.3. Aislamiento. 30.3.4. Durabilidad.

31. Actores de la transacción en el contenedor. 32. Diferenciadores de los EJBs. 33. Propagación de Transacciones. 34. Propiedades Transaccionales. 35. Manejo de la Transacción de manera sencilla. 36. Anotaciones:

Page 28: temario de java

Página 28 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

36.1. @TransactionManagement. 36.2. @TransactionAttribute. 36.3. Atributos de interacción:

36.3.1. REQUIRED 36.3.2. REQUIRES_NEW 36.3.3. SUPPORTS 36.3.4. MANDATORY 36.3.5. NOT_SUPPORTED 36.3.6. NEVER

37. Manejo de errores. 37.1. Excepciones de sistema. 37.2. Excepciones de aplicación. 37.3. @ApplicationException.

38. Interface SessionSynchronization con session beans. 39. Tipos de arquitectura. 40. ¿Por qué es importante la arquitectura? 41. Arquitecturas orientadas a atributos de calidad. 42. El futuro de la comunicación Cliente Servidor. 43. El rol del arquitecto de software.

43.1. Delegando funciones. 44. Metodologías en el desarrollo de Software. 45. Más patrones de Diseño. 46. Java Testing y diseño.

46.1. Criterios para el buen desempeño de una aplicación WEB. 47. Integración de aplicaciones.

47.1. ESBs. 47.2. Web Services. 47.3. Message Driver bean y JMS.

48. Refactoring de aplicaciones. 49. Aplicaciones legadas. 50. Catálogo de Patrones JEE.

50.1. Malas prácticas en las capa de presentación. 50.2. Malas prácticas en la capa de negocio.

51. Seguridad en JEE y Weblogic Server. 52. Amenazas de Seguridad. 53. Soluciones de JEE. 54. Autentificación.

54.1. SSO. 55. Escenarios de Autentificación. 56. Autentificación de la Capa Web. 57. Autentificación de EJB. 58. Autorización. 59. Mecanismos de Integridad. 60. Mecanismos de Encriptamiento. 61. Mecanismos de Auditoria. 62. WLS Security Realms. 63. Técnicas de performance. 64. Diseño y desempeño de las aplicaciones empresariales. 65. Pools en bases de datos

65.1. Performance. 66. Herramientas para medir el desempeño de una aplicación 67. Análisis 68. Caché y de Servidores de aplicaciones. 69. Spring y EJBs.

Page 29: temario de java

Página 29 de 29

Tecnologías Avanzadas y de la Información, Grupo XITA Bros S.A. de C.V.

Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtémoc, C.P. 06470.

Tel. 55 35 66 54

70. Arquitectura EJBs. 71. Contexto e Inyección de Dependencias en JEE. 72. Spring y EJBs. 73. Implementando EJBs con Spring. 74. Web Services. 75. ¿Qué es un Web Service? 76. Web Services.

76.1. Arquitectura de los Web Services. 76.2. Servlets y JSPs en Web Services. 76.3. Esquema A2A – Application to application. 76.4. Esquema B2B – Business to business. 76.5. Web Services APIs.

77. Tipos de Web Services. 78. Ventajas y desventajas de los Web Services. 79. RESTful Services. 80. JAX-WS 2.0 Web Services. 81. Alternativas Web Services.

81.1. Axis 2. 81.2. Spring WS.

82. Creación, Publicación y Testing. 83. Session Tracking en Web Services. 84. Web Services y bases de datos. 85. Arquitectura orientada a servicios (SOA).

85.1. SOA con XML. 86. SOAP y WSDL.

86.1. Anotación @WebResult. 86.2. Estructura de SOAP.

86.2.1. SOAP Namespaces. 86.2.2. SOAP Headers. 86.2.3. SOAP Body.

86.3. Apache SOAP. 86.4. Estructura de WSDL.

86.4.1. Elementos: “definitions”, “types” y “import”. 86.4.2. WSDL y JAVA. 86.4.3. WSDL Abstract Interface. 86.4.4. Patrones de intercambio de mensajes.

87. UDDI. 87.1. Estructura: “businessEntity”. 87.2. Estructura: “businessService”. 87.3. Estructura: “binding Template”.

88. Web Services con Spring. 89. Spring-WS. 90. Servidor y Cliente. 91. Web.xml. 92. Accesando un EJB desde un Web Service (JAX-WS) 93. Accesando un EJB desde un Web Service (JAX-RS) 94. Administración de aplicaciones. 95. Guía de seguridad para aplicaciones Web. 96. Comida de fin de diplomado.


Recommended