Vous êtes sur la page 1sur 29

Pgina 1 de 29

Temario.
Mdulo 1. Programacin.
1. Qu es un programa?
2. Sistema operativo.
2.1. Qu es un proceso?
3. Qu es un lenguaje de programacin?
3.1. Qu es JAVA?
4. Editores, Compiladores, e Intrpretes.
4.1. Lenguaje interpretado Vs. lenguaje compilado.
4.2. Lenguaje fuertemente tipados Vs. lenguajes no tipados.
5. Lenguaje C++ Vs. lenguaje JAVA.
6. Caractersticas de lenguaje de programacin 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.
Dinmico.
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 fcil 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. Introduccin a las interfaces grficas 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. Cronologa de versiones del lenguaje.
18. La versin JAVA 1.7
18.1.
Novedades en la versin 7.
18.2.
Novedades en la versin 8.
19. Plataforma JAVA Vs. Plataforma .NET.
20. Arquitectura JAVA Enterprise Edition.

Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.


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

Pgina 2 de 29
21. Prontuario de trminos. JAVA, API, Applet, JavaScript, JQuery, ExtJS, JEE, JSE, JVM, JRE, JDK, JAR, WAR, EAR,
JSP, EJB, JavaBean, Framework, Patrn de diseo, 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 bsico.
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 caractersticas 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 desempeo.
22.7.3. Por qu es difcil escribir cdigo 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 compilacin y ejecucin 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.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 3 de 29
26. Arquitectura de la JAVA Virtual Machine.
26.1.
Cargador de Clases - Classloader.
26.1.1. Cmo 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. Organizacin 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. Parmetros de configuracin.
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.
Administracin 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 mquinas virtuales.
27.11.1.
JRockit.
27.11.2.
OpenJDK.
28. Aprendiendo a conocer el lenguaje.
29. Ejecucin y compilacin.
30. Entendiendo y comprendiendo el proceso de ejecucin de un programa en JAVA.
31. Entendiendo y comprendiendo el proceso de compilacin de un programa en JAVA.
32. Opciones de compilacin.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 4 de 29
33.
34.
35.
36.
37.

38.
39.
40.
41.
42.
43.
44.
45.
46.

47.
48.

49.

50.
51.

Opciones de compilacin cruzada.


Visualizando proceso de ejecucin de un programa en JAVA mediante software.
Program Animation/Visualization tool Jeliot.
Compilador JIT.
Mi primera taza de caf.
37.1.
Estructura: Partes de un programa en JAVA.
37.2.
Creacin de archivo de cdigo.
37.2.1. Archivo punto JAVA.
37.3.
Buenas prcticas de programacin.
Tcnicas de abstraccin de datos.
Diagramas de Flujo.
Mi primera taza de caf.
40.1.
Para no perder la costumbre. Hola Mundo.
Aprender a programar?
Algoritmos.
Seudo cdigo.
Debugeando una aplicacin con el IDE Eclipse.
44.1.
Puntos de ruptura.
Performance Vs diseo de la aplicacin.
El concepto de paquete en JAVA.
46.1.
La sentencia package.
46.2.
Estructura de directorios en la definicin de paquetes.
46.3.
Como disear paquetes.
46.4.
La sentencia import.
46.5.
import implcito Vs. import explcito.
46.6.
La palabra clave static.
46.6.1. La sentencia static import.
Corriendo nuestra primera aplicacin JAVA
47.1.
El mtodo main().
Entrada y salidas
48.1.
La poderosa lnea de comando.
48.2.
La clase java.io.Console.
48.3.
La clase java.util.Scanner.
48.4.
El paquete java.util.
Elementos del lenguaje de programacin en JAVA.
49.1.
Qu es una gramtica?
49.2.
Qu es una sintaxis?
49.3.
Letras, dgitos y otros.
49.4.
Espacios en blanco.
49.5.
Caracteres especiales y signos de puntuacin.
49.6.
Secuencias de escape.
49.7.
Comentarios.
49.8.
Simple lnea de comentario.
49.9.
Comentarios multilnea.
Un cdigo bien documentado es un programador feliz.
La API JAVA doc.
51.1.
Aprendiendo a comentar correctamente nuestro cdigo.
51.2.
Buenas prcticas.
51.3.
Notaciones y estndares.
51.4.
Tags.
51.4.1. @author.
51.4.2. @author.
51.4.3. @deprecated.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 5 de 29

52.

53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.

65.

66.
67.
68.

69.

70.
71.
72.

51.4.4. @param.
51.4.5. @see.
51.4.6. @since.
51.4.7. @return.
Generando documentacin.
52.1.
Comando Javadoc.
52.2.
El paquete com.sun.javadoc.
52.3.
La Interface Taglet.
Variables.
Qu es una variable?
Por qu se llaman variables?
Nombrando variables.
56.1.
Unicode.
Identificadores en JAVA.
57.1.
Es necesario mencionarlo: palabras reservadas en JAVA.
Declarando variables correctamente.
Inicializando variables: Dnde? Cmo? Cundo?
Inicializacin dinmica.
Ciclo de vida de una variable en JAVA.
Las variables y la JAVA Virtual Machine.
mbito de una variable.
Modificadores de acceso de variables.
64.1.
Modificador private.
64.2.
Modificador protected.
64.3.
Modificador public.
64.4.
Modificador default.
Constantes en JAVA.
65.1.
La palabra reservada: final.
65.2.
Qu es una constante?
Variables tipo static.
Literales en JAVA.
Qu es un literal?
68.1.
Literales enteros.
68.2.
Literales reales.
68.3.
Literales de un solo carcter.
68.4.
Literales de cadenas de caracteres.
68.5.
Literal Vs. Constante.
68.6.
Evaluando expresiones en JAVA
Operadores.
69.1.
Operadores de incremento y decremento.
69.2.
Operadores de asignacin.
69.3.
Operadores de igualdad y comparacin.
69.4.
Operadores lgicos.
69.5.
Operador de negacin.
69.6.
Operadores de precedencia.
Datos en JAVA.
Tipos de datos simples.
Tipos de datos primitivos en JAVA.
72.1.
double.
72.2.
int.
72.3.
byte.
72.4.
short.
72.5.
long.
72.6.
char.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 6 de 29
73.
74.
75.
76.

77.
78.
79.
80.

81.

82.
83.
84.
85.

86.
87.
88.
89.

90.
91.
92.
93.
94.
95.
96.
97.
98.

99.

72.7.
float.
Tipo de dato boolean.
Operadores de comparacin.
Clases envoltorio.
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.
Cundo usarlos?
Autoboxing y Autocasting.
Tipos primitivos Vs. tipos referenciados.
Expresiones regulares.
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.
Loops.
81.1.
for.
81.2.
collection for.
81.3.
while.
81.4.
do-while.
La sentencia: continue.
La sentencia: break.
Funciones matemticas y constantes.
84.1.
El paquete java.math.
Definiendo mtodos correctamente en JAVA.
85.1.
Modificadores de acceso en mtodos.
85.2.
Qu son los closures?
Declarando mtodos correctamente en JAVA.
Sobreescritura de mtodos.
Sobrecarga de mtodos.
Constructores en Java,
89.1.
El operador this.
89.2.
El operador super.
Entendiendo los mtodos estticos.
El bloque static.
API Introspeccin en JAVA.
Paso por valor Vs. paso por referencia.
Cmo pasan exactamente los valores en JAVA?
Arreglos y Strings.
Arreglos unidimensionales.
Arreglos multidimensionales.
Ordenamiento.
98.1.
Ordenamiento bubble.
98.2.
Ordenamiento merge.
98.3.
Ordenamiento quick.
98.4.
Ordenamiento heap.
El paquete java.lang.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 7 de 29
100.
La clase java.lang.String.
100.1.
Qu es un String?
100.2.
Dnde viven los Strings?
100.3.
Concatenando Strings.
100.4.
El mtodo toString().
100.5.
Sobrescribiendo el mtodo 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.
Patrn inmutable.
102.2.
Caractersticas.
103.
La Interface CharSequence.
104.
Fechas y horas en Java.
105.
Manipulacin 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.
Programacin Orientada a Objetos.
107.
Qu es un paradigma?
108.
Qu es la programacin orientada a objetos?
109.
Caractersticas de la programacin orientada a objetos.
110.
Objetos y el mundo real.
111.
Programacin estructurada Vs. programacin orientada a objetos.
112.
Otros paradigmas.
113.
Java ser funcional y Orientado a Objetos.
114.
Introduccin: Patrones de diseo.
115.
Qu es un patrn?
115.1.
Qu es un anti patrn?
115.2.
Patrones GRASP.
115.3.
Patrones GOF.
116.
Entendiendo y comprendiendo el concepto de clase como patrn de diseo.
117.
Tcnicas de abstraccin de datos.
118.
Estructura de una clase en JAVA.
119.
Implementacin de concepto de clase en JAVA.
120.
Diagramacin 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 colaboracin.
121.
Concepto de alta cohesin
122.
Concepto de bajo acoplamiento.
123.
Composicin.
123.1.
Diagrama de composicin en UML.
124.
Agregacin.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 8 de 29
124.1.
Diagrama de agregacin en UML.
125.
Composicin Vs. agregacin.
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 mtodo toString().
127.1.1.2. El mtodo equals().
127.1.1.3. El mtodo hashCode().
127.1.1.4. El mtodo clone().
127.2.
La clase Class.
127.3.
Encapsulamiento.
127.4.
Definiendo clases en JAVA.
127.4.1.
Anatoma de una clase.
127.5.
Qu son los objetos en JAVA?
127.6.
Inicializacin y constructores.
127.7.
Construccin de Objetos.
127.7.1.
El operador new en JAVA.
127.7.2.
Midiendo el tamao 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 estticas.
127.12.
Clases annimas
127.13.
Clases abstractas.
127.14.
Clase finales.
127.15.
Clases mutables e inmutables.
128.
El patrn de diseo Singleton.
128.1.
Existen los singletons en Java?
129.
Herencia entre clases.
129.1.
Super clases.
129.2.
Sub clases.
130.
Generalizacin de clases.
131.
Especializacin de clases.
132.
Composicin Vs. herencia.
133.
El mtodo isInstance().
134.
La palabra reservada instanceOf.
135.
El mtodo getClass().
136.
Reutilizacin de cdigo.
137.
Interfaces.
138.
Qu es una interface?
138.1.
El concepto de interface como patrn de diseo.
138.2.
Herencia mltiple.
138.3.
Problemas asociados con al herencia mltiple.
139.
Herencia mltiple usando interfaces.
139.1.
Atributos en una interface
139.2.
Mtodos en una interface.
139.3.
Heredando interfaces.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 9 de 29
139.4.
Limitaciones de las interfaces.
140.
Cundo usar interfaces?
141.
Cundo usar clases abstractas?
142.
Interfaces Vs. Clases abstractas.
143.
El patrn Strategy.
144.
El patrn Observer.
145.
Polimorfismo.
145.1.
Qu es el polimorfismo?
145.1.1.
Enlace dinmico.
145.1.2.
Enlace esttico.
146.
Acoplamiento.
147.
Mtodos polimrficos.
148.
Tipos de retorno covariantes.
149.
Introduccin a la arquitectura JAVA Beans.
149.1.
El patrn DTO.
149.2.
El patrn VO.
149.3.
El patrn 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.
Recursin en Java.
151.1.
Recursin Vs. Iteracin.
151.2.
Recursin directa Vs. Recursin indirecta.
151.3.
El clsico: Torres de hanoi.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 10 de 29
152.
Qu es la serializacin?
152.1.
Serializacin de objetos en Java.
152.2.
Para qu usamos la serializacin en JAVA?
152.3.
Serializar Clases u Objetos?
152.4.
La Interface Serializable.
152.4.1.
Excepcin NotSerializableException.
152.4.2.
Tipo de dato transient.
152.4.3.
El famoso serialVersionUID.
152.5.
Concepto de deserializacin en JAVA.
152.6.
La interface Externalizable.
152.7.
Serializando arreglos.
153.
Excepciones
153.1.
Qu es una excepcin?
153.2.
Para qu sirve una excepcin?
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.
Deteccin y manejo de una excepcin.
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 mtodo printStackTrace.
153.5.4.2. Regeneracin y encadenamiento de Excepciones.
153.6.
La sentencia throw.
153.7.
La clusula throws.
153.8.
Precondiciones y post condiciones.
153.9.
Excepciones y Aserciones.
153.10.
Errores en tiempo de ejecucin.
153.11.
Creando nuestras propias excepciones.
153.12.
Errores lgicos.
153.13.
Tcnicas 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.
Tcnicas de debugeo.
154.
Tcnicas de programacin.
155.
Buenas Prcticas de Programacin en JAVA.
156.
Introduccin patrn MVC.
156.1.
Modelo Vista Controlador.
156.2.
Arquitectura cliente servidor.
157.
Patrn Service Locator.
158.
Proyecto. Construccin de un framework basado en patrones de diseo.
159.
Evitando ser un programador COPY/PASTE.
159.1.
Saber usar la documentacin de JAVA.
160.
Reingeniera Vs. Refactoring.
161.
Por qu son importantes las arquitecturas?

Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.


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

Pgina 11 de 29

Mdulo 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. Internacionalizacin.
3.1. I18n: Ejemplo bsico.
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 nmeros.
3.10.
Patrones para nmeros.
3.11.
Reglas de ordenacin.
4. Ejecucin de programas no Java.
4.1. Ejecucin de programas no Java
4.2. Interfaz Nativa de Java.
4.3. Compilacin del programa C.
4.4. Ejecucin de programas en C Sharp.
4.4.1.Paso de parmetros.
4.5. Acceso al objeto principal. Campos
4.6. Acceso al objeto principal. Mtodos
4.7. Manejo de excepciones
5. Generics en JAVA.
5.1. Downcasting Vs. Generics.
5.2. La excepcin ClassCastException.
5.3. Qu son y para qu sirven?
5.4. Implementacin y tiempo de compilacin.
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.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 12 de 29

6.
7.
8.
9.
10.
11.
12.
13.

14.
15.
16.
17.

18.
19.

20.

21.

22.
23.
24.

5.7.2.Concrete parameterized.
5.7.3.Array.
5.7.4.Type parameter.
5.7.5.Wildcard.
5.8. Definiendo Generics en mtodos.
5.8.1.Parametrizando mtodos.
5.9. Sobrecargando mtodos genricos.
5.10.
Arreglos y Generics.
Tipos Enum.
Clases tipo Enum.
Qu es un Framework?
El Framework de colecciones JAVA.
Patrn de diseo Iterator.
Patrn de diseo Factora.
Patrn de diseo Factora Abstracta.
Entendiendo el framework de colecciones.
13.1.
Arquitectura.
13.1.1. Core de interfaces.
13.1.2. Clases.
13.1.3. Utileras.
Listas, Pilas y Colas.
Interface Cloneable y Serializable.
El paquete java.util.
Colecciones principales de objetos.
17.1.
Sets.
17.2.
Maps.
17.3.
Sequences.
El loop for-each.
Iterator.
19.1.
La interface Iterator.
19.1.1. Mtodos principales.
19.1.1.1. hasNext().
19.1.1.2. next().
Collection.
20.1.
La interface Collection.
20.2.
Clase AbstractCollection.
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. Mtodos estticos.
21.2.2. Desempeo 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.
Comparable Vs. Comparator.
Comparacin entre Collection e Iterator.
Algoritmos eficientes.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 13 de 29
25.
26.
27.
28.
29.
30.
31.
32.
33.

34.
35.
36.
37.
38.
39.

40.
41.
42.
43.

44.

45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.

56.
57.
58.
59.
60.
61.

rboles binarios en Java.


Patrn de diseo Fachada.
Patrn de diseo Proxy.
Patrn de diseo Bridge.
Patrn de diseo Adapter.
Patrn de diseo Command.
Continuacin de nuestro framework con patrones de diseo.
Threads en JAVA
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.
Semforos.
Hilos y concurrencia.
Clsico: Productor consumidor
Por qu usar hilos?
Creando hilos en JAVA.
Modelo de memoria en Java.
Thread Safety.
39.1.
Operaciones atmicas.
39.2.
La palabra reservada synchronized.
Retomando Concepto de inmutabilidad.
La Clase Thread.
41.1.
Elementos de la clase Thread.
Ciclo de vida de un Thread en JAVA.
42.1.
Estados y prioridades.
La clase Object,
43.1.
El mtodo wait().
43.2.
El mtodo notify().
43.3.
El mtodo notifyAll().
Iniciando Threads en JAVA.
44.1.
Mtodo run().
44.2.
Mtodo start().
44.3.
Mtodo isAlive().
Terminando Threads en JAVA.
Pausando, suspendiendo y resumiendo threads en JAVA.
La Interface Runnable.
Interface Runnable Vs. Clase Thread.
Cundo usar la Clase Thread?
Cundo usar la Interface Runnable?
Sincronizacin de hilos en JAVA.
Operaciones atmicas.
El identificador volatile.
Condicin race.
54.1.
Cundo se presenta?
Locks.
55.1.
mbito.
55.2.
La Interface Lock.
Sincronizacin de mtodos Vs. Sincronizacin de bloques.
Deadlock.
Mtodo wait().
Mtodo notify().
Mtodo notifyAll().
El paquete java.util.Concurrent.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 14 de 29
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 relacin.
75. Identificando llaves.
76. Normalizacin de bases de datos.
77. Arquitectura y componentes JDBC.
78. JDBC DataSource.
79. Como trabaja JDBC.
79.1.
Estableciendo la conexin.
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 Bsico.
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 ms de mtodos de ejecucin.
83. Procesando resultados.
83.1.
La Interface ResultSet.
83.1.1. ResultSet Object.
83.2.
Usando la Interfaces JDBC MetaData.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 15 de 29

84.
85.
86.
87.
88.
89.
90.

91.

92.
93.
94.
95.
96.
97.

83.2.1. Interface ResultSetMetaData.


83.2.2. Interface DatabaseMetaData.
83.2.3. Interface ParameterMetaData.
Cerrando conexiones y sentencias.
Arquitectura de dos capas.
Arquitectura de tres capas.
Introduccin a ORM.
Object Databases (ODBMS).
Java Data Objects (JDO).
Transacciones.
90.1.
Spring / JPA / Hibernate.
90.2.
Rollback.
90.3.
Commit.
Introduccin a JNDI.
91.1.
Ventajas y desventajas.
91.2.
javax.sql: Soporte JNDI.
DataSource.
Pool de Conexiones.
Struts 2 / Tiles.
Manejo de Sesiones en Struts2.
Generando un aplicacin web con Struts2.
Jquery para Struts2.

Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.


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

Pgina 16 de 29

Mdulo 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.Cul 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 presentacin.
15.1.
Patrn Front Controller.
15.2.
Patrn View Helper.
15.3.
Patrn Composite View.
15.4.
Patrn Service to Worker.
15.5.
Patrn Dispatcher View.
16. Aplicaciones Web.
16.1.
Componentes de una aplicacin Web.
16.2.
Ciclo de vida de una aplicacin Web.
16.3.
Tipos de aplicaciones WEB.
16.4.
Programacin o diseo?
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 17 de 29

17.
18.

19.
20.
21.
22.

23.

24.
25.
26.

27.
28.
29.
30.

31.

16.5.
Propsito de las aplicaciones Web.
16.6.
Organizacin de una aplicacin Web en Java.
16.6.1. Estructura de directorios y archivos.
16.6.2. Tipos de archivos.
16.7.
Portabilidad.
16.8.
Separacin de capas.
16.9.
Soporte a Base de Datos.
16.10.
Implementado la lgica de negocio.
16.11.
Implementado la capa de presentacin.
Empaquetando nuestra aplicacin.
Ant, Maven. Maven 2.
18.1.
Archivos JAR. Anatoma.
18.2.
Archivos WAR. Anatoma.
18.3.
Archivos EAR. Anatoma
Deployando nuestra aplicacin.
19.1.
Hot Deploy con IDE Eclipse.
Herramientas para el desarrollo Web.
Construyendo una aplicacin Web.
21.1.
Debugeando remotamente nuestra aplicacin.
El archivo WEB.xml.
22.1.
Estructura.
22.2.
Mapeando Servlets.
22.3.
Definiendo filtros.
22.4.
Especificando pginas de inicio.
22.5.
Manejo de pginas de error.
22.6.
Seguridad.
22.6.1. Autenticacin
22.6.2. Configurando Weblogic para usar SSL.
22.6.3. Certificados.
Utileras.
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.
Qu es un Servlet?
Estn muertos los CGIs?
Especificacin Servlets.
26.1.
Especificacin 2.5.
26.2.
Especificacin 3.0.
Arquitectura de los Servlets.
El paquete javax.servlet.
Peticiones y Respuestas.
Estructura de un Servlet.
30.1.
La Clase GenericServlet.
30.2.
La Clase HttpServlet.
30.3.
La Interface HttpServletRequest.
30.4.
La Interface HttpServletResponse.
Ventajas y desventajas de los servlets.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 18 de 29
32. Ciclo de vida de un Servlet.
32.1.
El Mtodo service().
32.2.
El Mtodo doGet().
32.3.
El Mtodo doPost().
32.4.
El Mtodo init().
32.5.
Tipo de inicializacin.
32.6.
Mtodo destroy().
33. Cundo y por qu usar Servlets?
34. Configuracin 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.
Cdigos 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. Administracin 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 programacin.
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. Cundo y por qu usar JSPs?
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 19 de 29
57. Diferencias entre Servlets y JSPs.
58. Sintaxis y Semntica.
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 expresin 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. Patrn de diseo.
62.1.
Transfer Object.
63. Patrn de diseo.
63.1.
Factory.
63.2.
Bean Factory
64. Contexto de una aplicacin 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 generacin de Java Server Pages.
65.4.
Incluyendo archivos en tiempo de compilacin.
65.5.
Incluyendo archivos en tiempo de ejecucin.
65.6.
Procesando formularios de datos.
65.7.
Control de navegacin con JAVA Server Pages.
65.8.
Estado de mantenimiento.
65.9.
Uso de mejores prcticas en el desarrollo de JAVA Server Pages.
66. Administrador de sesiones y subprocesos.
66.1.
Seguimiento de sesiones.
66.2.
La API de sesin.
66.3.
Administracin de subprocesos.
66.4.
Modelos de subproceso de Servlets.
66.5.
Aplicaciones multihilo.
66.6.
HTTP y estados de sesin.
66.7.
Estado de persistencia.
67. Qu es JSTL?
67.1.
c:out
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 20 de 29

68.
69.
70.
71.
72.

73.
74.
75.
76.
77.

78.
79.

80.
81.
82.
83.
84.

85.
86.
87.
88.

89.
90.
91.
92.
93.
94.
95.

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
JSTL y EL.
JSTL vs Scriptlets.
Tags personalizados.
JSP Vs. JSF.
Introduccin JAVA Server Faces.
72.1.
JSF Vs. JSP
72.2.
JSTL Vs. JSP
Conectividad con base de datos
Inyeccin de recursos.
Patrones de diseo para JDBC.
El Patrn de diseo DAO Factory.
El Patrn DAO.
77.1.
BOs y DAOs
77.2.
Persistencia transparente.
77.3.
Pequeas cuestiones.
SQL Scripts.
Transacciones.
79.1.
Mtodos de transacciones.
79.2.
Control de concurrencia.
DataSource y JNDI API.
Pool de Conexiones
Problemas con JDBC.
JSPs y XML
Qu es XML?
84.1.
sax.
84.2.
stax.
84.3.
jdom4j.
Es el fin del XML?
Ventajas y desventajas del uso del XML.
JSON y XML.
Definicin de documentos XML.
88.1.
XML bien formado.
88.2.
XML Sintcticamente correcto.
88.3.
Descriptores de datos.
88.4.
Schemas.
JSON y AJAX.
Validaciones.
XSL y SOAP.
XSLT.
Otros Frameworks.
Lgica de negocio.
Patrones de diseo.
95.1.
Capa de negocio.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 21 de 29
95.1.1. ServiceLocator.
95.1.2. Business Delegate.
95.1.3. Session Facade.
96. Spring.
96.1.
Inversin de Control.
96.2.
Inyeccin de dependencias.
96.2.1. Una noche de primavera?
96.2.2. Qu es Spring y para qu sirve?
96.2.2.1. Filosofa.
96.2.2.2. Tecnologa no invasiva.
96.2.2.3. Configuracin.
96.3.
Cronologa.
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.
Caractersticas de Spring.
96.5.
Qu es un POJO?
96.6.
Programacin 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 diseo.
96.6.2.4. Lenguajes dinmicos.
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. Configuracin de Contenedor.
98.1.
Configurando Spring en Eclipse IDE.
98.2.
Configuracin de Archivos Spring.
98.2.1. bean.xml.
99. Creacin y Configuracin de Beans.
100.
Bean Factory.
100.1.
Ciclo de vida.
101.
Instanciacin.
102.
Spring Bean Factory.
102.1.
XmlBeanFactory.
103.
Cundo usar Bean Factory?
104.
Cableando frijoles?
105.
Patrn de Inyeccin de dependencia en Spring.
106.
Dependencias.
106.1.
Tipos de inyeccin.
106.1.1.
Inyeccin por constructor.
106.1.2.
Inyeccin por setter.
106.1.3.
Inyeccin por constructor Vs setter.
106.1.4.
Inyeccin de referencias de objetos.
106.2.
Declarando beans.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 22 de 29
106.3.
Propiedades de los beans.
106.4.
Configuracin.
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.
Configuracin 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.
Inicializacin.
108.8.
Destruccin.
109.
Inicializacin de beans.
109.1.
Interfaces.
109.2.
ID.
110.
Beans heredados.
111.
Beans abstractos.
112.
Inyeccin de mtodos.
112.1.
Interfaz MethodReplacer.
112.2.
Inyeccin 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 Diseo y Spring.
116.1.
Capa de presentacin.
116.1.1.
Front Controller.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 23 de 29
116.1.2.
Application Controller.
116.1.3.
Page Controller.
116.1.4.
Context Object.
117.
Spring Tag Library.
118.
Spring MVC.
118.1.
Introduccin.
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.
Anotacin @Transactional.
120.3.
Propagacin de transacciones.
121.
Introduccin a Spring JDBC Framework.
122.
Hibernate y Spring.
123.
Qu es Hibernate?
124.
Shampoo para POJOs.
125.
Por qu Hibernate?
126.
Herramientas, instalacin y configuracin.
126.1.
Archivo de configuracin Hibernate.
126.2.
JPA configuracin.
127.
Entendiendo la persistencia de objeto/relacin.
128.
Qu significa persistir?
129.
Capas de persistencia.
130.
Persistiendo mltiples 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.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 24 de 29
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.

Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.


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

Pgina 25 de 29

Mdulo 4. Arquitectura.
1. Arquitectura de software.
1.1. Buena y mala arquitectura.
1.2. Alta disponibilidad.
1.3. Licuados de metodologas de desarrollo?
1.4. Anlisis de requerimientos.
1.5. Escalabilidad.
1.6. Anlisis de los procesos de negocio.
1.7. Diseo y definicin de soluciones.
1.8. Construccin de arquitecturas base.
1.9. Implementacin de casos de uso.
1.10.
Diseo y ejecucin de pruebas (unitarias, integracin, prueba de stress, etc.)
1.11.
Administracin de la configuracin de un proyecto.
1.12.
Cmo ser un buen lder 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 sesin 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 Mltiples.
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.
Mensajera.
11.8.1. Sncrona.
11.8.2. Asncrona.
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.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 26 de 29

17.

18.

19.

20.
21.
22.
23.
24.
25.
26.

27.

16.1.
Componentes de una arquitectura EJB.
16.2.
Caractersticas de los EJBs.
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.
Roles y responsabilidades: Quin 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.
JNDI.
19.1.
Tipos de Clientes JEE.
19.1.1. Clientes Web.
19.1.2. Clientes EJB.
19.1.3. Clientes EIS.
Cundo usar JNDI?
JNDI Tree.
JNDI Initial Context.
Spring HTTP Invoker, Hessian, Burlap.
WebSockets.
Anotaciones Vs. Descriptores.
25.1.
Ventajas y desventajas.
Nuestro primer EJB.
26.1.
La anotacin @EJB.
26.2.
Desarrollando un Session Bean: Encapsulando la lgica de negocio.
26.2.1. Anatoma de un Session Bean.
26.2.1.1. Tipos de Session Bean.
26.2.1.1.1.
Cundo usar session bean?
26.2.1.2. Tiempo de vida de un session bean.
Creando un cliente Session Bean.
27.1.
Stateless Session Bean.
27.1.1. Anotacin @Stateless.
27.1.2. Creacin 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. Inyeccin de dependencias.
27.1.7. Mtodos 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.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 27 de 29

28.
29.
30.

31.
32.
33.
34.
35.
36.

27.2.
Stateful Session Bean.
27.2.1. Qu es un Stateful Session Bean?
27.2.2. Creacin de un Stateful Session Bean.
27.2.3. Anotacin @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 desempeo.
27.2.8. Mtodos 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 anotacin @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 mltiples singleton beans.
27.14.
Administracin de concurrencias.
27.15.
La anotacin @ConcurrencyManagement.
27.16.
Accesando un EJB desde una JSP.
Invocacin de EJBs usando JNDI.
Transacciones en JEE.
Qu es una transaccin?
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.
Actores de la transaccin en el contenedor.
Diferenciadores de los EJBs.
Propagacin de Transacciones.
Propiedades Transaccionales.
Manejo de la Transaccin de manera sencilla.
Anotaciones:
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 28 de 29

37.

38.
39.
40.
41.
42.
43.
44.
45.
46.
47.

48.
49.
50.

51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.

36.1.
@TransactionManagement.
36.2.
@TransactionAttribute.
36.3.
Atributos de interaccin:
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
Manejo de errores.
37.1.
Excepciones de sistema.
37.2.
Excepciones de aplicacin.
37.3.
@ApplicationException.
Interface SessionSynchronization con session beans.
Tipos de arquitectura.
Por qu es importante la arquitectura?
Arquitecturas orientadas a atributos de calidad.
El futuro de la comunicacin Cliente Servidor.
El rol del arquitecto de software.
43.1.
Delegando funciones.
Metodologas en el desarrollo de Software.
Ms patrones de Diseo.
Java Testing y diseo.
46.1.
Criterios para el buen desempeo de una aplicacin WEB.
Integracin de aplicaciones.
47.1.
ESBs.
47.2.
Web Services.
47.3.
Message Driver bean y JMS.
Refactoring de aplicaciones.
Aplicaciones legadas.
Catlogo de Patrones JEE.
50.1.
Malas prcticas en las capa de presentacin.
50.2.
Malas prcticas en la capa de negocio.
Seguridad en JEE y Weblogic Server.
Amenazas de Seguridad.
Soluciones de JEE.
Autentificacin.
54.1.
SSO.
Escenarios de Autentificacin.
Autentificacin de la Capa Web.
Autentificacin de EJB.
Autorizacin.
Mecanismos de Integridad.
Mecanismos de Encriptamiento.
Mecanismos de Auditoria.
WLS Security Realms.
Tcnicas de performance.
Diseo y desempeo de las aplicaciones empresariales.
Pools en bases de datos
65.1.
Performance.
Herramientas para medir el desempeo de una aplicacin
Anlisis
Cach y de Servidores de aplicaciones.
Spring y EJBs.
Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.
Ribera de San Cosme 22, Despacho. 204, Col. San Rafael, Del. Cuauhtmoc, C.P. 06470.
Tel. 55 35 66 54

Pgina 29 de 29
70.
71.
72.
73.
74.
75.
76.

77.
78.
79.
80.
81.

82.
83.
84.
85.
86.

87.

88.
89.
90.
91.
92.
93.
94.
95.
96.

Arquitectura EJBs.
Contexto e Inyeccin de Dependencias en JEE.
Spring y EJBs.
Implementando EJBs con Spring.
Web Services.
Qu es un Web Service?
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.
Tipos de Web Services.
Ventajas y desventajas de los Web Services.
RESTful Services.
JAX-WS 2.0 Web Services.
Alternativas Web Services.
81.1.
Axis 2.
81.2.
Spring WS.
Creacin, Publicacin y Testing.
Session Tracking en Web Services.
Web Services y bases de datos.
Arquitectura orientada a servicios (SOA).
85.1.
SOA con XML.
SOAP y WSDL.
86.1.
Anotacin @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.
UDDI.
87.1.
Estructura: businessEntity.
87.2.
Estructura: businessService.
87.3.
Estructura: binding Template.
Web Services con Spring.
Spring-WS.
Servidor y Cliente.
Web.xml.
Accesando un EJB desde un Web Service (JAX-WS)
Accesando un EJB desde un Web Service (JAX-RS)
Administracin de aplicaciones.
Gua de seguridad para aplicaciones Web.
Comida de fin de diplomado.

Tecnologas Avanzadas y de la Informacin, Grupo XITA Bros S.A. de C.V.


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

Vous aimerez peut-être aussi