Download Desarrollo de sistemas con tecnología JAVA

Document related concepts
no text concepts found
Transcript
ÁREA: DIPLOMADOS
Desarrollo de sistemas con tecnología JAVA
PRESENTACIÓN
La mayoría de los negocios y empresas requieren sistemas que funcionen en un entorno
distribuido de trabajo e independiente de plataforma o sistema operativo y, que además,
cuenten con las siguientes características: interacción con bases de datos, conectividad entre
aplicaciones, tiempo mínimo de respuesta a los diferentes clientes del sistema y acceso vía
Web a los servicios que proporciona el sistema. En el mercado existen muy pocas tecnologías
que cubren estas necesidades, tal es el caso de .NET y Java Enterprise Edition (JEE).
Una aplicación Web es un sistema informático que los usuarios utilizan accediendo a uno o más
servidores Web. Las aplicaciones Web son populares debido a la practicidad del navegador
Web como cliente ligero. La capacidad para actualizar y mantener aplicaciones Web sin
distribuir e instalar software en miles de potenciales clientes es otra razón de su popularidad.
Aplicaciones como los webmails, weblogs, tiendas en línea, sistemas de e-learning o sistemas
de inventarios son ejemplos bien conocidos de aplicaciones Web.
Este diplomado se enfoca a la plataforma JEE debido a que Java es un lenguaje ampliamente
utilizado en diferentes ámbitos del desarrollo de software además de ser una tecnología
independiente de la plataforma y que ha demostrado su confiabilidad al ser utilizada en
sistemas bancarios, militares e inclusive en la NASA.
Adicionalmente se cuenta con herramientas de desarrollo robustas de uso libre con diferentes
niveles de productividad que simplifican muchos de los procedimientos necesarios para
desarrollar y desplegar aplicaciones de tipo empresarial. JEE está formada por un gran número
de tecnologías diferentes y una especificación que indica cómo deben trabajar estas
tecnologías conjuntamente.
OBJETIVO GENERAL
El participante desarrollará e implementará aplicaciones Web en una arquitectura multicapa
utilizando la tecnología distribuida de Java.
DIRIGIDO A
Profesionales de las carreras de informática, ingeniería en computación o afín, interesados en
desarrollar e implementar sistemas computacionales con tecnologías de Java. Se requiere
haber acreditado o demostrar conocimientos equivalentes a los cursos de Introducción a la
programación, Creación de páginas web con XHTML e Introducción al diseño de bases de
datos.
NIVEL:
Especializado
DURACIÓN:
240 horas
ORGANIZACIÓN:
MÓDULO
1
2
3
4
5
6
7
Metodologías de análisis y desarrollo de sistemas orientadas a
objetos
Programación orientada a objetos con Java
Bases de datos con JDBC
Java para aplicaciones de escritorio
Uso de XML en la creación de interfaces web e intercambio de
información.
Componentes Java para aplicaciones web
Enterprise Java Beans
TOTAL
REQUISITOS ACADÉMICOS
100% de créditos de la licenciatura.
DURACION TOTAL
30
45
30
30
20
45
40
240
Módulo 1. Metodologías de análisis y desarrollo de
sistemas orientadas a objetos
PRESENTACIÓN
Las metodologías de desarrollo de software son un conjunto de procedimientos, técnicas y
ayudas a la documentación para el desarrollo de productos de software. Las técnicas indican
cómo debe ser realizada una actividad técnica determinada e identificada en la metodología.
Las metodologías de desarrollo de software combinan el empleo de modelos o
representaciones gráficas junto con el empleo de procedimientos detallados. Este módulo se
enfoca a la enseñanza de técnicas y herramientas para el diseño y planeación de software, las
cuales contribuyen en una mejora en la calidad del software.
PERFIL DE INGRESO
Se requiere haber acreditado o demostrar conocimientos equivalentes al curso Introducción a la
programación.
OBJETIVO
El participante aplicará los principios probados, técnicas, lenguajes y herramientas para la
creación y mantenimiento del software que satisfaga las necesidades de los usuarios,
identificando el proceso de desarrollo o ciclo de vida del software. Además empleará RUP
(Proceso Racional Unificado) y UML (Lenguaje Unificado de Modelado), para el análisis,
implementación y documentación de sistemas orientados a objetos.
TEMARIO
1. METODOLOGÍAS DE DESARROLLO
1.1 Ciclo de vida del desarrollo del software.
1.2 Metodologías de desarrollo de sistemas.
1.2.1 Proceso en cascada.
1.2.2 Proceso iterativo.
1.2.3 Proceso Iconix.
1.2.4 Proceso abierto.
1.2.5 Programación extrema.
2. RATIONAL UNIFIED PROCESS (RUP)
2.1 Objetos.
2.2 Roles.
2.3 Actividades.
2.4 Disciplinas.
2.5 Ciclo de trabajo.
2.6 Iteraciones.
2.7 Fases.
2.8 RUP como un Framework de procesos.
3. UML
3.1 Introducción.
3.2 Características de UML.
3.3 Historia.
4. TIPOS DE DIAGRAMAS EN UML
4.1 Diagramas de caso de uso.
4.2 Diagramas de clase.
4.3 Diagramas de interacción.
4.3.1 Diagramas de secuencia.
4.3.2 Diagramas de colaboración.
4.4 Diagramas de estado.
4.5 Diagramas de actividad.
4.6 Diagramas físicos.
4.6.1 Diagramas de componentes.
4.6.2 Diagramas de despliegue.
PERFIL DE EGRESO
Los conocimientos adquiridos permitirán al participante utilizar la formalización de desarrollo de
software que le permitirán afrontar problemas de administración, calidad, productividad y
mantenimiento de software.
DURACIÓN
30 horas
BIBLIOGRAFÍA

KROLL Per, KRUCHTEN. The Rational Unified Process Made Easy: A Practitioner's
Guide to Rational Unified. Philippe Editorial Addison-Wesley Professional

PILONE Dan, PITMAN. UML 2.0 in a Nutshell. NeilEditorial O'Reilly. 2da Edición, 2005

UML Distilled: A Brief Guide to the Standard Object Modeling Language. Editorial
Addison-Wesley Professional. 3ra Edición, 2003

T. ROFF Jason. UML: A Beginner's Guide. Editorial McGraw-Hill
Módulo 2. Programación orientada a objetos con Java
PRESENTACIÓN
Java se creó como parte de un proyecto para el desarrollo de software para aplicaciones de un
amplio rango de dispositivos embebidos. La meta era diseñar un lenguaje orientado a objetos,
interpretado, robusto, seguro, muti-hilo, dinámico, independiente de plataforma y portable. Hoy
día Java es un lenguaje de propósito general orientado a objetos, que sigue encontrando
nuevos escenarios de aplicación, tales como, sistemas distribuidos, aplicaciones de escrito,
sistemas web, dispositivos móviles, tarjetas inteligentes o dispositivos electrodomésticos.
PERFIL DE INGRESO
El módulo está dirigido a personas interesadas en aprender el Lenguaje de Programación Java
para el desarrollo de aplicaciones de escritorio utilizando el paradigma de programación
orientada a objetos. Se requiere haber acreditado o demostrar conocimientos equivalentes al
curso Introducción a la programación.
OBJETIVO
El participante identificará los principales conceptos del paradigma de la programación
orientada a objetos y aplicará los conceptos básicos del lenguaje de programación Java
realizando aplicaciones de consola, así mismo, abordará el estudio de otras facetas de Java
como es el desarrollo de aplicaciones avanzadas con interfaces gráficas o de aplicaciones para
Internet.
TEMARIO
1. ELEMENTOS BÁSICOS DE LA PROGRAMACIÓN ESTRUCTURADA.
1.1. Tipos de datos primitivos.
1.1.1. Numéricos.
1.1.2. Caracter.
1.1.3. Lógicos o booleanos (falso, verdadero).
1.2. Palabras reservadas.
1.3. Variables.
1.4. Constantes.
1.5. Expresiones.
1.5.1. Operadores y operandos.
1.5.1.1. Operadores unarios.
1.5.1.2. Operadores binarios.
1.5.1.3. Operadores especiales.
1.6. Jerarquía de operadores.
1.6.1. Precedencia de operadores.
1.6.2. Reglas de evaluación de expresiones.
1.7. Operadores aritméticos.
1.8. Operadores relacionales.
1.9. Operadores lógicos o booleanos (and, or, not, xor).
1.10.
Comentarios
2. ESTRUCTURAS DE CONTROL.
2.1. Estructuras condicionales.
2.1.1. If.
2.1.2. Switch.
2.2. Estructuras cíclicas.
2.2.1. For.
2.2.2. While.
2.2.3. Do while.
2.2.4. Break y continue.
3. ARREGLOS DE DATOS.
3.1. Arreglos unidimensionales.
3.2. Arreglos bidimensionales.
4. FUNCIONES.
4.1. Concepto de función en programación.
4.2. Llamada o invocación a una función.
4.3. Parámetros.
4.3.1. Parámetros por valor.
4.3.2. Parámetros por referencia.
4.4. Valor de retorno.
5. INTRODUCCIÓN A JAVA
5.1 Historia del lenguaje.
5.2 Panorama actual y tipos de ediciones del lenguaje.
5.3 Elementos que integran Java SE.
5.4 Tipos de programas en Java SE
5.4.1 Aplicaciones de consola
5.4.2 Applets
5.5 Estructura de un programa de tipo aplicación en Java.
6. ELEMENTOS BÁSICOS DEL LENGUAJE
6.1 Comentarios
6.2 Identificadores
6.3 Palabras reservadas.
6.4 Tipos de datos en Java.
6.5 Secuencias de escape de carácter.
6.6 Sentencias y expresiones.
6.7 Operadores.
6.7.1 Jerarquía de operadores.
6.7.2 Operadores aritméticos.
6.7.3 Operadores relacionales.
6.7.4 Operadores booleanos.
6.7.5 Operadores de manipulación de bits.
6.7.6 Conversión de tipo de datos
6.7.7 Promoción y conversión de expresiones
7. CLASES Y OBJETOS
7.1 Estructura de una clase
7.1.1 Sentencia Package.
7.1.2 Sentencia import
7.2 Miembros de una clase.
7.3 Constructores y creación de objetos.
7.3.1 Asignación y organización de la memoria
7.4 Niveles de acceso para una clase.
7.5 Niveles de acceso para un miembro.
7.6 Recursividad.
7.7 Métodos sobrecargados.
8. PAQUETES
8.1 Definición y uso de paquetes.
8.2 Uso del API de programación.
8.3 Paquete java.lang
8.3.1 Clase String.
8.3.2 Clase StringBuffer.
8.3.3 Clase Math.
8.4 Paquete java.util
8.4.1 Arrays.
8.4.2 Creación y uso de arrays.
8.4.3 Arrays multidimensionales.
8.4.4 Clase Arrays.
8.5 Reflexión.
9. HERENCIA Y POLIMORFISMO
9.1 Herencia.
9.2 Uso de la palabra reservada extends
9.3 Uso de la palabra reservada this.
9.4 Uso de la palabra reservado super.
9.5 Creación y destrucción de objetos en una jerarquía de herencia.
9.6 Redefinición de miembros.
9.7 Clases finales.
9.8 Clases abstractas.
9.9 Polimorfismo.
9.10 Interfaces.
9.11 Clases internas.
9.12 Clases Anónimas.
9.13 Aserciones.
10.
MANEJO DE EXCEPCIONES
10.1 Modelo del manejo de excepciones.
10.2 Cláusula finally.
10.3 Encadenamiento de excepciones.
10.4 Generación de excepciones propias.
11.
FLUJOS
11.1 Paquete java.io.
11.2 Tipos de flujos.
11.3 Flujos de acceso a archivos.
11.4 Clase File.
11.5 Clase FileOutputStream.
11.6 Clase DataOutputStream.
11.7 Clase DataInputStream.
PERFIL DE EGRESO
Los conocimientos adquiridos permitirán al participante aplicar los elementos y estructura que
integran el lenguaje de programación Java y comprender la creación de programas en Java
utilizando el paradigma de la programación orientada a objetos. Será capaz de construir
aplicaciones de consola.
DURACIÓN
45 horas
BIBLIOGRAFÍA

BARKER Jacquie. Beginning Java Objects: From Concepts To Code. Editorial Apress.
2da edición, 2005

Core Series Sun Microsystems Core Java 2, Volume I Fundamentals. Editorial Prentice
Hall 7a edición 2004

HORSTMANN Cay S. Big Java. Editorial John Wiley. & Sons. 2da edición, 2006.

HORSTMANN Cay S. Java Concepts. Editorial Wiley. 4ta edición, 2005

HORTON Ivor. Beginning Java 2 JDK 5 Edition. Editorial Wrox. 5a edición, 2004

HUBBARD John R. Schaum's Outline of Programming with Java. Editorial McGraw-Hill
2da edición, 2004

Rogers CADENHEAD, Laura LEMAY. Sams Teach Yourself Java 6 in 21 Days. Editorial
Sams. 2007 ISBN-10: 0672329433

Sánchez Allende, Jesús y otros. Programación en Java 2. Serie Schaum. Editorial
McGraw-Hill / Interamericana de España S.A. U. 1ra. edición, 2005.

SIERRA Katherine, BATES Bert. SCJP Sun Certified Programmer for Java 5 Study
Guide. Editorial McGraw-Hill Osborne Media. 1ra edición, 2005

WEISS Mark Allen. Data Structures and Problem Solving Using Java. Editorial Addison
Wesley; 3ra edición, 2005

ZUKOWSKI John. Java 6 Platform Revealed. Editorial Apress 2006
Módulo 3. Bases de datos con JDBC
PRESENTACIÓN
Hoy en día muchas aplicaciones utilizan bases de datos para almacenar y recuperar
información de muy variado tipo. La tecnología JDBC permite desarrollar aplicaciones que
utilicen bases de datos. JDBC proporciona al desarrollador de bases de datos una capa de
abstracción por encima de cualquier gestor de base de datos particular y de su interfaz de
programación correspondiente. Mediante esta tecnología, las aplicaciones son independientes
de cualquier gestor concreto y su interoperabilidad es mayor. En este módulo se presentan los
mecanismos para establecer conexiones con un gestor de base de datos así como el manejo
de operaciones en éste.
PERFIL DE INGRESO
Se requiere haber acreditado o demostrar conocimientos equivalentes a los cursos de
Introducción al diseño de bases de datos y de Programación orientada a objetos con Java.
OBJETIVO
El participante desarrollará aplicaciones que interactúen con un manejador de base de datos
utilizando la tecnología Java JDBC.
TEMARIO
1. INTRODUCCIÓN A LAS BASES DE DATOS.
1.1. Definiciones y conceptos.
1.2. Necesidad y ventajas de las bases de datos.
2. CONCEPTOS ASOCIADOS A LAS BASES DE DATOS.
2.1. Redundancia.
2.2. Consistencia.
2.3. Integridad.
2.4. Seguridad.
2.5. Independencia lógica de los datos.
2.6. Independencia física de los datos.
3. MODELO RELACIONAL.
3.1. Elementos del modelo relacional.
3.1.1. Relación/Tabla.
3.1.2. Tupla/Renglón.
3.1.3. Atributo/Columna.
3.1.4. Cardinalidad.
3.1.5. Constraints.
3.1.5.1. Integridad de la entidad (PK).
3.1.5.2. Integridad referencial (FK).
3.1.5.3. Manejo de Valores nulos (Null/Not Null).
3.1.5.4. Valores únicos (UNIQUE).
3.1.6. Valores por omisión (DEFAULT).
3.2. Índices.
4. MODELADO LÓGICO DE UNA BASE DE DATOS.
4.1. Normalización.
4.1.1. Primera forma normal.
4.1.2. Segunda forma normal.
5.
6.
7.
8.
4.1.3. Tercera forma normal.
4.2. Diagrama Entidad-Relación.
CREACIÓN DE BASES DE DATOS Y TABLAS (DDL).
USO DE BASE DE DATOS MYSQL.
6.1. Introducción al lenguaje estructurado de consultas (SQL).
6.2. Tipos de Lenguaje SQL (DDL, DML, DCL).
6.3. Inserción, actualización y eliminación de la información.
6.4. Selección de la información.
Integración de bases de datos con el lenguaje de programación Java.
7.1. API JDBC.
7.2. Origen de datos.
7.3. Creación de un programa Java con JDBC.
7.3.1. Creación y manejo de un objeto Connection.
7.3.2. Creación y manejo de un objeto Statement.
7.3.3. Creación y manejo de objetos ResultSet.
7.3.4. Gestión de excepciones y recursos en JDBC.
7.4. Creación y manejo de objetos PreparedStatement..
JDBC AVANZAD O
8.1. Pool de conexiones.
8.2. Procedimientos almacenados.
8.3. Creación y manejo de objetos Callable Statement.
8.4. Manejo de transacciones.
8.4.1. Manejo de transacción en la base de datos.
8.4.2. Manejo de transacción por medio de JDBC.
PERFIL DE EGRESO
Los conocimientos adquiridos permitirán al participante utilizar el API JDBC para la conectividad
entre aplicaciones Java y un amplio rango de manejadores de bases de datos.
DURACIÓN
30 horas
BIBLIOGRAFÍA

Beginning Java Databases: JDBC, SQL, J2EE, EJB, JSP, XML. Editorial Wrox Press

JEPSON Brian. Java Database Programming. Editorial Wiley

MATTHEWS Mark, COLE Jim, D. GRADECKI. MySQL and Java Developer's Guide.
Joseph Editorial Wiley

REESE George. Database Programming with JDBC and Java. Editorial O'Reilly. 2da
Edición, 2000

REESE George. Java Database Best Practices. Editorial O'Reilly

SPERKO Richard. Java Persistence for Relational Databases. Editorial Apress

TAHAGHOGHI Seyed M.M., WILLIAMS Hugh. Learning MySQL. Editorila O'Reilly
Módulo 4.Java para aplicaciones de escritorio
PRESENTACIÓN
La interfaz de usuario es la parte del programa que permite a éste interactuar con el usuario.
Dichas interfaces pueden adoptar muchas formas, que van desde la simple línea de comandos
hasta las interfaces gráficas que proporcionan las aplicaciones más modernas. Java ofrece
tecnologías para poder desarrollar aplicaciones potentes, flexibles y vistosas con la posibilidad
de creación de interfaces de usuario a través de las JFC. En este módulo también se presentan
temas que son el fundamento para el desarrollo con bases de datos y aplicaciones distribuidas.
PERFIL DE INGRESO
Se requiere haber acreditado o demostrar conocimientos equivalentes a los cursos de
Introducción a la programación y Programación orientada a objetos con Java.
OBJETIVO
El participante reconocerá los conceptos de programación Multithread, programación en redes,
programación genérica, el framework de colecciones Java y creará Interfaces Graficas de
Usuario utilizando Swing.
TEMARIO
1. INTERFACES GRÁFICAS CON JAVA
1.1 Introducción al JFC y Swing
1.2 Componentes
1.2.1 Etiquetas
1.2.2 Botones
1.2.3 Campos y áreas de texto
1.2.4 Cuadros de lista
1.2.5 Cuadros de diálogo
1.2.6 Menús
1.3 Contenedores
1.3.1 Frames y Paneles
1.3.2 Frames internos
1.3.3 Administradores de diseño y distribución (Layouts)
1.3.4 Controles
1.4 Eventos
1.4.1 Introducción al manejo de eventos
1.4.2 Escuchadores de eventos soportados por componentes Swing
1.4.3 Implementación de escuchadores de eventos
1.4.4 API Listener
1.5 Empaquetado de aplicaciones
2. PROGRAMACIÓN GENÉRICA
2.1 Introducción.
2.2 Declarando clases e interfaces genéricas
2.3 Métodos y constructores genéricos.
2.4 Tipos comodín
2.5 Tipos en bruto y borrado de tipo
2.6 Código genérico y máquina virtual.
2.7 Restricciones y limitaciones.
2.8 Reglas de la herencia para tipos genéricos.
3. COLECCIONES
3.1 Colecciones del Java Collection.
3.1.1 Interfaz Collection.
3.1.2 Interfaz Set.
3.1.3 Interfaz List.
3.1.4 Interfaz Queue.
3.1.5 Interfaz Map
3.2 Clase Enumeration.
3.3 Clase Iterator.
3.4 Algoritmos polimórficos de la clase Collections.
3.4.1 Algoritmo sort.
3.4.2 Algoritmo shuffle.
3.4.3 Algoritmos reverse, fill, copy, max y min.
3.4.4 Algoritmo bynarySearch.
4. PROGRAMACIÓN CONCURRENTE
4.1 La clase Thread
4.2 La interface Runnable
4.3 Creado de tareas e hilos
4.4 Ciclo de vida de un hilo
4.5 Métodos y constructores de la clase Thread
4.6 Pools de hilos
4.7 Terminando hilos
4.8 GUI y el hilo Event Dispatcher
4.9 Condiciones de carrera
4.10Sincronización
4.10.1 Bloqueos, Interface Lock y la clase ReentrantLock
4.10.2 Métodos look y unlook
4.10.3 Evitando estancamientos
4.10.4 Objetos condicionales
4.10.5 Métodos sincronizados y objeto bloqueados
4.10.6 Las interfaces Lock y Condition
4.10.7 La palabra reservada Synchronized
5. REDES
5.1 Conceptos básicos de redes
5.2 Protocolo TCP/IP
5.3 Protocolo UDP
5.4 Puertos
5.5 Dirección IP
5.6 Aplicaciones cliente/servidor
5.7 Interacción entre cliente/servidor mediante conexiones de socket de flujo.
5.7.1 El Socket
5.7.2 Un sencillo cliente/servidor en Java
5.7.3 Serialización de objetos
5.7.4 Implementación de un servidor multithread
5.7.5 Enviar y recibir bytes
5.8 Interacción entre cliente/servidor sin conexión mediante datagramas.
PERFIL DE EGRESO
Los conocimientos adquiridos permitirán al participante construir interfaces de usuario a través
del uso de las JFC y conocerá las clases relacionadas con el trabajo de hilos, redes y el
framework de colecciones Java.
DURACIÓN
30 horas
BIBLIOGRAFÍA

BAILEY Duane . Java Structures: Data Structures in Java for the Principled Programmer
Editorial McGraw-Hill Science/Engineering/Math. 2da edición, 2002

COLLINS William Data Structures and the Java Collections Framework . Editorial
McGraw-Hill Science/Engineering/Math 2da edición, 2004

ELLIOTT James, ECKSTEIN Robert, LOY Marc, WOOD David, COLE Brian Java Swing.
Editorial O'Reilly. 2da edición, 2002

GOLDSTEIN Mitch Hardcore JFC: Conquering the Swing Architecture Editorial
Cambridge University Press

GUOJIE Jackwind Li Professional Java Native Interfaces with SWT/JFace Editorial Wrox

WIENER Richard, J. PINSON Lewis. Fundamentals of OOP and Data Structures in Java.
Editorial Cambridge University Press
Módulo 5. Uso de XML en la creación de interfaces
web e intercambio de información
PRESENTACIÓN
Actualmente XML es utilizado en diferentes tecnologías Web y en arquitecturas de integración
de aplicaciones SOA (Service Oriented Architecture) basadas en Web Services. XML debe ser
entendido no sólo como lenguaje en sí mismo, sino como el conjunto de tecnologías que giran a
su alrededor.
XML provee la capacidad de transformar los datos en información, ello es posible a través de un
simple programa que capture los datos incluidos en un documento y los transforme en
información para posteriormente ser utilizada. Este módulo está enfocado a analizar
documentos XML utilizando diferentes APIs de Java, así como el conocer los procedimientos y
pasos a seguir para la transformación de documentos XML.
PERFIL DE INGRESO
Se requiere haber acreditado o demostrar conocimientos equivalentes a los cursos de Creación
de páginas web con XHTML y Programación orientada a objetos con Java.
OBJETIVO
El participante conocerá las especificaciones de XML y elementos de los APIs que proporciona
Java para XML.
TEMARIO
1. ORIGEN DEL XML
1.1 Definición de XML.
1.2 Estructuración y sintaxis
1.3 Estructuración de contenidos XML
2. FUNDAMENTOS DE XML
2.1 Creación de un archivo XML.
2.2 Creación de archivos DTD (Document Type Definition).
2.3 XML Schema
3. CONSTRUYENDO DOCUMENTOS VÁLIDOS
3.1 Validación
4. DESPLIEGUE DE INFORMACIÓN
4.1 CSS
4.2 XLS
4.3 XLST
4.4 XPATH
5. Modelos DOM
5.1 Nodos
5.2 Elementos DOM
5.3 Trabajando con nodos
6. Java y XML
6.1 JDOM
6.2 JAXP
6.3 JAX – RPC
PERFIL DE EGRESO
Los conocimientos adquiridos permitirán al participante utilizar el lenguaje XML, etiquetas,
instrucciones de procesamiento y las diferentes tecnologías que giran a su alrededor para el
manejo de datos y procesamiento de información utilizando el lenguaje de programación Java y
las distintas APIs del lenguaje que permiten trabajar con XML.
DURACIÓN
20 horas
BIBLIOGRAFÍA

AHMED Kal , ANCHA Sudhir, CIOROIANU Andrei, COUSINS Jay, CROSBIE Jeremy.
Professional Java XML. Editorial Wrox

HAROLD, Elliotte Rusty Processing XML with Java: A Guide to SAX, DOM, JDOM,
JAXP, and TrAX Editorial Addison-Wesley Professional. 1ra edición, 2002

HAROLD Elliotte Rusty. XML 1.1 Bible. Editorial Wiley. 3ra Edición, 2004

HUNTER David, RAFTER Jeff. Beginning XML Editorial Wrox 4ta edición, 2007

MCLAUGHLIN Brett, EDELSON. Java and XML. Justin Editorial O'Reilly. 3ra Edición,
2006

RAY Erik. Learning XML, Second Edition. Editorial O'Reilly. 2da edición, 2003
Módulo 6. Componentes Java para aplicaciones web
PRESENTACIÓN
El desarrollo de aplicaciones web dinámicas son hoy día sumamente demandadas. Java ofrece
las tecnologías Servlets y JSP (Java Server Pages) como una extensión del lenguaje para la
web. Los Servlets son programas Java que se ejecutan en un servidor web y son muy
populares para la construcción de aplicaciones interactivas. Los Servlets y JSPs ofrecen los
mismos beneficios del lenguaje Java como la portabilidad, la reusabilidad y el manejo de
excepciones.
PERFIL DE INGRESO
Se requiere haber acreditado o demostrar conocimientos equivalentes al curso de
Programación orientada a objetos con Java y Bases de Datos con JDBC.
OBJETIVO
El participante examinará los componentes de JEE más frecuentemente utilizadas en la
programación de aplicaciones web como los SERVLETs, JSPs, etiquetas JSTL, servidores de
aplicaciones, seguridad declarativa, gestión de sesiones, acceso a bases de datos mediante
JDBC y el framework Struts para producir aplicaciones en entornos web.
TEMARIO
1. DISEÑANDO APLICACIONES JEE
1.1 Diseño en capas.
1.2 Modelo de objetos.
1.3 Modelo de datos.
2. INTRODUCCIÓN AL PROTOCOLO HTTP
2.1 Definición de HTTP.
2.2 Principales cabeceras de HTTP.
2.3 Métodos HTTP.
3. XHTML.
3.1 Estructura básica de un documento XHTML.
3.2 Etiquetas básicas.
3.3 Uso de ligas.
3.4 Manejo de imágenes.
3.5 Uso de tablas para el despliegue de la información.
3.6 Utilización de formularios para interactuar con el usuario.
4. CONFIGURACIÓN DEL SERVIDOR TOMCAT
4.1 Creación de un contexto.
4.2 Despliegue de un contexto.
5. INTRODUCCIÓN A LOS SERVLETS
5.1 Definición de Servlet.
5.2 Contenedor web.
5.3 Ciclo de vida del servlet.
5.3.1 Método init().
5.3.2 Método service().
5.3.3 Método destroy().
5.3.4 Método doGet().
5.3.5 Método doPost().
5.4 Métodos de la interfaz HttpServletRequest.
6. ELEMENTOS DE JSP
6.1 Conceptos de JSP.
6.2 Ciclo de vida de las JSPs.
6.3 Sintaxis y semántica de JSP.
6.4 Expresiones y scriplets.
6.5 Declaraciones.
6.6 Directivas de página.
6.7 Objetos implícitos en las JSP.
6.7.1 Request.
6.7.2 Response.
6.7.3 pageContext.
6.7.4 Session.
6.7.5 Application.
6.7.6 Out.
6.7.7 Config
6.7.8 Page.
6.7.9 Exception.
7. JAVABEANS
7.1 Descripción de los JavaBeans.
7.2 Uso de los JavaBeans en JSP.
7.3 Propiedades y manejo de los beans
8. JSP Y LOS FORMULARIOS HTML
8.1 Creación de formularios HTML.
8.2 Lectura de parámetros en una petición.
8.3 Manejo de envió de información (manejo de errores, filtrado de caracteres).
9. ACCESO A BASE DE DATOS CON JDBC
9.1 Interacción con base de datos en aplicaciones de servidor web.
9.2 Pool de conexiones.
9.3 Transacciones.
10. JSP y XML
10.1Simple API for XML (SAX).
11. SESIONES
11.1Creación de sesiones.
11.2Guardar y recuperar objetos a partir de sesiones.
11.3Destrucción de sesiones.
12. ARQUITECTURA DEL MODELO-VISTA-CONTROLADOR
12.1Introducción a MVC.
12.2Ventajas.
12.3Introducción a los patrones de diseño.
12.4Definición de framework.
12.5Struts Framework.
12.5.1 Introducción (Modelo 1, Aplicación del MVC, Beneficios de Struts).
12.5.2 El Modelo 2 y Struts.
12.5.3 Action Forms.
12.5.4 Validación de Información.
12.5.5 Manejo de Mensajes e Internacionalización.
12.5.6 Aplicaciones Seguras con Struts.
PERFIL DE EGRESO
Los conocimientos adquiridos permitirán al participante utilizar las tecnologías Web Java para
construir aplicaciones Web interactivas con bases de datos a través del uso de distintas APIs
Java, así como implementar y desplegar aplicaciones empresariales, basadas en el modelo
multicapa de desarrollo JEE.
DURACIÓN
45 horas
BIBLIOGRAFÍA

AHMED Khawar Zaman, E. UMRYSH. Developing Enterprise Java Applications with
J2EE and UML. Cary Addison-Wesley Professional

BERGSTEN Hans. JavaServer Pages. Editorial O'Reilly. 3ra edición, 2003

BROGDEN William B. Java Developer's Guide to Servlets and JSP. Editorial Sybex Inc.

CAVANESS Chuck. Programming Jakarta Struts. Editorial O'Reilly. 2da edición, 2004

CHOPRA Vivek, BAKORE Amit, EAVES Jon. Professional Apache Tomcat 5. Editorial
Wrox

GRAHAM Steve, DAVIS Doug, SIMEONOV. Building Web Services with Java: Making
Sense of XML, SOAP, WSDL, and UDDI. Simeon EDITORIAL SAMS;. 2da edición, 2004

HALL Marty, BROWN Larry, CHAIKINYaakov. Core Servlets and Javaserver Pages:
Core Technologies. Editorial Prentice Hall. 2da edición, 2007

HARBOURNE-THOMAS Andrew, DALTON Sam, BROWN Simon. Professional Java
Servlets 2.3 Editorial Peer Information //wrox

HUNTER Jason, Java Servlet Programming. Editorial O'Reilly .2da edición, 2001

HUSTED Ted, DUMOULIN Cedric, FRANCISCUS George. Struts in Action: Building
Web Applications with the Leading Java Framework. Editorial Manning Publications

ZHUK Jeff . Integration-Ready Architecture and Design: Software Engineering with XML,
Java, .NET, Wireless, Speech, and Knowledge Technologies. Editorial Cambridge
University Press,2004
Módulo 7. Enterprise Java Beans
PRESENTACIÓN
Dentro de la especificación JEE, la lógica de negocio que resuelve o reúne las necesidades de
un caso particular como actividades bancarias, ventas o finanzas es manejada por los Java
Enterprise Beans (EJB), los cuales son componentes que se ejecutan en un servidor JEE,
concretamente en el contenedor EJB del mismo, y que contienen las reglas de negocio. Este
módulo va enfocado a conocer los diferentes tipos de EJBs que existen en la especificación
JEE, así como el uso de tecnologías alternas para el manejo de la lógica del negocio y la
persistencia de datos.
PERFIL DE INGRESO
Se requiere que el participante tenga conocimientos equivalentes a los cursos Programación
orientada a objetos con Java, Desarrollo de aplicaciones web en Java, Introducción al diseño de
bases de datos y Análisis y diseño de sistemas.
OBJETIVO
El participante construirá aplicaciones robustas, reutilizables y distribuidas integrando una
aplicación EJB con diversas APIs Java, asimismo identificará los conceptos fundamentales y
tipos de EJBs (Enterprise Java Beans).
TEMARIO
1. INTRODUCCIÓN A LA TECNOLOGÍA EJB
1.1 Descripción de la arquitectura Enterprise Java Bean.
1.2 Contenedor EJB.
1.3 Tipos de Enterprise Java Beans.
1.3.1 Session Beans.
1.3.2 Entity Beans.
1.3.3 Message-Driven Beans.
2. INSTALACIÓN Y CONFIGURACIÓN DE JBOSS
2.1 Introducción a JBOSS.
2.2 Instalación del servidor de aplicaciones JBOSS.
2.3 Configuración del servidor de aplicaciones.
3. DESARROLLO DE SESSION BEANS
3.1 Stateless Session Bean.
3.2 Ciclo de vida de un Stateless Session Bean.
3.3 Caso de estudio de un Stateless Session Bean.
3.4 Stateful Session Bean.
3.5 Ciclo de vida de un Stateful Session Bean.
3.6 Caso de estudio de un Stateful Session Bean.
4. JAVA PERSISTENCE API (JPA)
4.1 Introducción
4.2 Entity Beans
4.2.1 Fields and properties
4.2.2 Primary Key
4.2.3 Relationship
4.2.4 Entity Manager
4.3 Unit persistence
4.4 Caso de estudio
5. DESARROLLO DE MESSAGE-DRIVEN BEANS
5.1 JMS y Message-Driven Beans.
5.2 Ciclo de vida de un Message-Driven Bean.
5.3 Caso de estudio.
6. CONSTRUCCIÓN DE UN WEB SERVICES CON JAX-WS
6.1 Introducción.
6.2 Web Services y JAX-WS.
6.3 Creación de un servicio web y un cliente con JAX-WS.
7. TECNOLOGÍAS COMPLEMENTARIAS
7.1 Java Mail API.
7.2 Creación de servicios REST
7.3 Arquitecturas JEE
7.3.1 Framework Spring MVC
7.3.2 Separación lógica
PERFIL DE EGRESO
Los conocimientos adquiridos permitirán al participante desarrollar aplicaciones distribuidas
sobre la plataforma Java a través de patrones de diseño y/o frameworks de desarrollo.
DURACIÓN
40 horas
BIBLIOGRAFÍA

ALUR Deepak, MALKS Dan, CRUPI John. Core J2EE Patterns: Best Practices and
Design Strategies. Editorial Prentice Hall. 2da edición, 2003

BAUER Christian, KING Gavin. Hibernate in Action. Editorial Manning Publications

BELL John T., LAMBROS James, NG Stan. J2EE Open Source Toolkit: Building an
Enterprise Platform with Open Source Tools. Editorial Wiley, 2003

BROEMMER Darren. J2EE Best Practices: Java Design Patterns, Automation, and
Performance. Editorial Wiley

BURKE Bill, MONSON-HAEFEL Richard. Enterprise JavaBeans 3.0 Editorial O'Reilly.
5ta edición, 2006

JOHNSON Rod, HOELLER Juergen, ARENDSEN Alef. Professional Java Development
with the Spring Framework. Editorial Wrox

KEITH Mike, SCHINCARIOL Merrick. Pro EJB 3: Java Persistence API. Editorial Apress

MARRS Tom, DAVIS Scott. JBoss at Work: A Practical Guide. Editorial O'Reilly

MONSON-HAEFEL
Professional

NEWCOMER Eric. Understanding Web Services: XML, WSDL, SOAP, and UDDI.
Editorial Addison-Wesley Professional

POLGAR Jana, BRAM Robert Mark, POLGAR Anton. Building and Managing EnterpriseWide Portals. Editorial Idea Group Publishing

WALLS Craig BREIDENBACH Ryan. Spring in Action. Editorial Manning Publications.
2da edición, 2007
Richard.
J2EE
Web
Services
.
Editorial
Addison-Wesley
METODOLOGÍA
Para el desarrollo de este Diplomado, se han considerado criterios pedagógicos teóricoprácticos que promuevan la participación, interacción, el aprendizaje en grupo, la comunicación
y el manejo directo de las herramientas de cómputo.
Se le asignará una cuenta de usuario en un servidor, esta cuenta tiene acceso a los servicios
de Shell de Linux y alojamiento de páginas web, que podrá utilizar durante el periodo del
diplomado como herramienta de apoyo.
Esta cuenta tendrá una vigencia desde el inicio del diplomado hasta dos semanas después de
haber concluido el diplomado para la realización de su proyecto y prácticas.
Los módulos que lo integran fueron planteados de acuerdo al grado de complejidad de los
temas y, en consecuencia, de las propias herramientas de software. Se contará con los
servidores de aplicaciones adecuados para cada módulo.
El participante tendrá a su cargo el desarrollo de un proyecto individual mismo que irá
complementando a lo largo del diplomado y el cual será evaluado como parte de la calificación
en cada módulo.
REQUISITOS DE ACREDITACIÓN
1) Se otorgará diploma sólo a quien acredite todos y cada uno de los módulos que integran el
Diplomado.
2) Para acreditar cada módulo es necesario tener una calificación mínima de 8 (ocho) y tener
el 80% de asistencia.
3) Para la evaluación de cada uno de los módulos se tomarán en cuenta los siguientes
aspectos:
Participación 10%
Prácticas 30%
Evaluación final 30%
Avance de proyecto personal 30%
NOTA: a partir del módulo 2, el participante deberá entregar el avance de su proyecto como
es requisito de acreditación para cada módulo.
PROYECTO INDIVIDUAL:
La elaboración del proyecto individual del diplomado, se inicia desde el módulo 1, donde el
participante empleará los conocimientos adquiridos (POO, XML, bases de datos, diseño de
sistemas, etc.) en el desarrollo de una aplicación Web cliente servidor, utilizando las
tecnologías JSP y Servlets. Haciendo uso del framework Struts para aplicar el patrón MVC.
Al finalizar el módulo 7, el participante empleará todos los conocimientos adquiridos durante
el diplomado a través de la extensión en el desarrollo de su aplicación multicapa que
involucre las tecnologías J2EE: JSP, Servlets, EJBs. De tal forma que pueda aplicar estas
tecnologías en cada una de las etapas que involucra el desarrollo de un sistema
empresarial, así como el uso de patrones de Diseño J2EE y/o un framework de desarrollo.
CONOCIMIENTOS PREVIOS EN CÓMPUTO



Conocimientos equivalentes al curso Introducción a la programación.
Conocimientos equivalentes al curso Introducción al diseño de bases de datos.
Conocimientos equivalentes al curso Creación de páginas web con XHTML.
RESPONSABLES ACADÉMICOS:
Ing. Nidia Cendejas Cervantes
Ing. Sergio A. Alva Arguinzoniz
Febrero 2015