OBJETIVOSProporcionar al alumno los conocimientos necesarios para el Desarrollo de Aplicaciones en Java, manejando las herramientas de programación y entornos integrados de Desarrollo sobre Plataformas Unix/Linux y Windows
CONOCIMIENTOS MÍNIMOS RECOMENDADOS
Para garantizar el normal seguimiento del curso, se recomienda tener conocimientos mínimos de programación.
DURACIÓNEl Curso Superior programación Java tiene una duración de 140 horas presenciales.
MATERIAL DEL CURSO· El curso incluye el libro
“PROGRAMACIÓN EN JAVA SERVER CON J2EE” (Subrahmanyam Allanaraju, Cedric Beust, John Davies; Ed. Anaya multimedia.)
TEMARIOMODULO 1.- PROGRAMACIÓN EN JAVA1. Introducción a JavaEl lenguaje de programación Java
Entorno de desarrollo de Java 2
Desarrollo de programas en Java
Estructura de un programa
Comentarios
Identificadores
Variables
Tipos primitivos
Literales
Operadores
Expresiones
Expresiones aritmético-lógicas
Conversión de tipo
2. Programación orientada a objetosClases y Objetos
Atributos e invocación de métodos
Referencia null
Ciclo de vida de un objeto
Criterios para definir clases
Atributos
Definición de atributos
Métodos
Definición de métodos
Invocación de un método
Funcionamiento de un método
Parámetros y argumentos
Paso de parámetros
Valor de retorno
Lanzamiento de excepciones
Autorreferencia this
Variables locales
Ámbito de variables
Sobrecarga
Criterios para definir métodos
Constructores
3. ClasesElementos de clase (static)
Ámbito de clase
Derechos de acceso
Encapsulación
Paquetes
Clases internas
Clases locales y clases anónimas
Clases predefinidas
4. Estructuras de control de flujoEstructuras de control
Estructuras de selección
Estructuras de repetición
Estructuras de control de excepciones
Anidamiento de estructuras
Estructuras de selección
Estructura if
Estructura if-else
Operador condicional
Estructuras if-else anidadas
Estructuras switch
Estructuras de repetición
Estructura while
Estructura do-while
Estructura for
Uso de las estructuras de repetición
Estructuras de salto
Sentencia break
Sentencia continue
Uso de break y continue
Manejo de Excepciones
Recursividad
5. Extensión de clasesComposición
Herencia
Compatibilidad de tipos
Jerarquía de herencia
Ámbitos y visibilidad
Reescritura
Constructores
Polimorfismo
Herencia forzada
Implementaciones parciales
Criterios de diseño
6. Estructuras de almacenamientoArrays
Arrays multidimensionales
Uso de los arrays
Búsqueda y ordenación en arrays
Ordenación por inserción
Ordenación por inserción directa
Ordenación por selección
Ordenación rápida
Vectores
7. Entrada y salidaConcepto de flujo en Java
Tipos de flujos
Leer y escribir en un archivo
Leer y escribir en memoria
Filtros
Entrada desde teclado
La clase File
Manejo de archivos de acceso aleatorio
Lectura y escritura de objetos
8. Manejo de fechas y númerosFormato de números
Formato de fechas
La clase Calendar
9. InterfacesDefinición de interfaces
Uso de interfaces
Jerarquía de clases interface
Criterios de diseño
La interfaz Iterator
Uso de Iterator
Implementación de Iterator
10. Interfaces gráficas con SWINGCreación de una interfaz gráfica
Los elementos de una interfaz gráfica como objetos
Tratamiento de eventos
El modelo de delegación
Eventos, objetos fuente y objetos oyente
Jerarquía y tipos de eventos
Clases adaptadoras de eventos
Eventos y componentes gráficos
11. Construcción de una interfaz gráfica SWING Ventanas
Contenedores
Componentes gráficos en Java
Diseño y creación de la interfaz gráfica
Presentación y descripción general de SWING
Componentes gráficos
Clases básicas
Contenedores de alto nivel
Cuadros de diálogo estándar
Contenedores intermedios
Componentes atómicos
Otras clases gráficas de Swing
Administradores de posición o diseño (layout managers)
Conceptos básicos
FlowLayout
BorderLayout
GridLayout
CardLayout
BoxLayout
GridBagLayout
12. Creación y manipulación de gráficosUso del lienzo
Creación de gráficos
Manejo de los colores
13. APPLETSCiclo de vida de una applet
Creación de una applet
Las clases: Applet y JApplet
HTML, XHTML y las applets: la marca <APPLET>
Seguridad de las Applets
14. Programación concurrente mediante hilosCreación y ejecución de un hilo
Estados de un hilo
Hilos de tipo demonio
Prioridades de los hilos
Métodos importantes de la clase java.lang.Thread
Grupos de hilos
Sincronización de hilos
15. Conexión con bases de datosCreación de una base de datos
Obtención de un origen de datos
Conexión con el controlador puente JDBC-ODBC
Conexión con el origen de datos
Creación de un objeto de sentencias SQL
Creación, eliminación e inserción de registros
Consultas en la base de datos
MODULO 2.- DESARROLLO DE COMPONENTES WEB JAVA J2EE1. Introducción al Lenguaje JavaAnálisis y diseño orientado a objetos.
Introducción al desarrollo y testeo de clases.
Variables.
Objetos y reutilización.
Operadores y estructuras de decisión.
Estructuras de repetición.
Métodos.
Encapsulación y constructores.
Arrays.
Herencia.
2. Programación con JavaProgramación orientada a objetos.
Identificadores, palabras clave y tipos.
Expresiones y control de flujo.
Arrays.
Diseño de clases.
Funcionalidades avanzadas de las clases.
Excepciones.
Aplicaciones basadas en texto.
Construcción de interfaces gráficos.
Gestión de eventos.
Aplicaciones basadas en interfaces gráficos.
Hilos.
Streams de entrada y salida avanzados.
Programación en red.
3. Introducción a J2EEIntroducción al concepto de plataforma de desarrollo empresarial y alternativas a J2EE (Corba, .Net, Lamp, etc).
Características de las aplicaciones empresariales.
Modelo multicapa de desarrollo J2EE.
Componentes y servicios disponibles en la plataforma J2EE.
Proveedores de servicios J2EE.
Terminología.
4. Conectividad con Bases de Datos (JDBC) Introducción a JDBC.
Procedimiento de conexión y acceso a datos JDBC.
Tipos de conectores JDBC.
Instalación de JDBC.
El diseño cliente/servidor a 2 y a 3 niveles.
El API de JDBC.
Controladores JDBC.
Trabajo con sentencias precompiladas y procedimientos almacenados.
Transacciones.
El paquete javax.sql.
5. Desarrollo de componentes WEB con tecnología Java (Servlets y JSP)Introducción a tecnologías web de desarrollo de aplicaciones.
Desarrollo de un servlet sencillo.
Desarrollo de una aplicación utilizando un descriptor de despliegue.
Configuración de servlets.
Compartición de recursos utilizando contextos.
Desarrollo de aplicaciones web utilizando el patrón MVC y la gestión de sesiones.
Gestión de errores en las aplicaciones web.
Configuración de la seguridad en las aplicaciones web.
Consideraciones sobre la concurrencia en las aplicaciones web.
Integración de aplicaciones web con bases de datos.
Desarrollo de JSP.
Desarrollo de aplicaciones web con el modelo de arquitectura 1 y 2.
Construcción de componentes de presentación web reutilizables.
Desarrollo de páginas JSP con etiquetas a medida.
Desarrollo de una etiqueta a medida.
Integración de aplicaciones web con Enterprise JavaBeans.
6. Introducción a UML y Patrones de Diseño Evolución de las metodologías de desarrollo: necesidad del UML.
Introducción a los diagramas UML.
Diagramas.
Herramientas de mercado.
Patrones de diseño.
7. Introducción a XML
¿Qué es XML? Aplicaciones y usos en Internet.
Sintaxis del XML
Estándares asociados a XML
Esquemas XML
Fundamentos de DOM y SAX
8. Desarrollo de Componentes EJB Construcción de aplicaciones con tecnología J2EE.
Uso de la comunicación de objetos distribuidos.
Uso de la tecnología J2EE y los EJB.
Creación y testeo de componentes EJB de sesión.
Uso de transacciones.
JDBC y las resource factories.
Los componentes EJB de entidad.
Creación de componentes BMP y CMP de entidad.
Creación de componentes EJB gestionados por mensaje.
Uso de clientes J2EE.
Creación de servlets.
Introducción a la tecnología JSP.
Los elementos JSP.
Opciones de diseño multicapa en aplicaciones Web.
9. Fundamentos sobre Servicios WEB Definición, finalidad y ventajas de los servicios Web frente a otras tecnologías.
La arquitectura de Servicios Web
Estudio de los estándares de la arquitectura de servicios Web: SOAP, WSDL y UDDI
Principales aspectos de la seguridad en los servicios Web
La posición de los principales fabricantes Software
10. Desarrollo de Servicios WEb con J2EE API´S J2EE para la creación de aplicaciones basadas en servicios Web: JAXRPC, SAAJ, JAXR,...
Implementación de un servicio web con Java Web Service Developer Pack.
Desarrollo de una aplicación cliente Java.
Publicación y búsqueda de un servicio Web J2EE
Herramientas avanzadas para la creación de servicios Web. WebLogic WorkShop, ...
MÓDULO 3.- DESARROLLADOR DE COMPONENTES DE NEGOCIO ARQUITECTO J2EE1. Examinar componentes EJBDescribir interfases de cliente en los componentes EJB.
Compare EJB component types
Describir las características básicas de la sesión beans.
Describir las características básicas de una entidad beans.
Describir el siclo de vida de una sesión y una entidad beans.
Describir metodos de callback por sesión y entidad beans.
2. Empacando y distribuyendo componentes EJB.Examinar el proceso de empacado y distribución de las aplicaciones bean.
Crear los archivos de componentes EJB (EJB JAR).
Crear archivos de cliente de aplicacioes preliminares (initial client JAR)
Crear el archivo de aplicaciones distribuible (EAR)
Distribuir aplicaciones con tecnología J2EE
Examinar tareas específicas de distribución.
3. Introducir una aplicación AuctionDescribir una aplicación Auction
Definir el dominio de objetos de la aplicación Auction
Describir la implementación del modelo para el sistema suction
4. Implementar EJB 2.0 en Container-Managed Persistence (CMP)Modelo de negocios.
Implementar EJB 2.0 CMP
Describir los ejemplos de código de CMP
5. Implementar Container-Managed Relationsips (CMR)Modelo de relaciones de negocios en el data model
Modelo de relaciones de negocios en el object model
Define Relaciones.
Implementa uno-a-uno CMR.
Implemente varios-a-varios CMR.
Cambio de entidades de compañero CMR.
6. Usar el lenguaje EJB Query (EJB QL)Implementa métodos finder.
Implementa métodos Enterprise bean Select.
Implementa métodos home.
Escribe preguntas utilizando EJB QL
7. Desarrolla aplicaciones J2EE utilizando messaging.Describe los papeles de los participantes en el sistema JMS API
messaging.
Escribe un productor de mensaje.
Escribe un escuchador asincrónico de mensajes.
Escribe un escuchador sincrónico de mensajes
Enlista las capacidades y limitaciones de la sesión, entidad y messagedriven
en messaging beans.
8. Desarrollando Message-Driven BeansDescribe las propiedades y ciclos de vida de message-driven beans.
Crea un JMS message-driven bean.
Crea un no-JMS message-driven bean
9. Implementa transacciones.Describe las tareas de demarcación de transacciones.
Implementa Container-Managed Transactions (CMT)
Programación que interactúa con una transacción CMT de salida.
Implementa Bean-Managed Transactions (BMT)
Aplica transacciones a mensajería.
10. Excepciones Handling.Introduce excepciones en aplicaciones J2EE.
Describe una ruta de excepción en un ambiente de aplicación J2EE.
Describe una excepción handling en un contenedor EJB.
Entregar excepciones en el método empresarial bean
Entregar en el código beans del cliente.
Repasa tareas específicas relacionadas con excepciones handling en las
aplicaciones con tecnología EJB.
Usando servicios de timer.
Crear una notificación de un regreso de llamada.
Procesar una notificación de un regreso de llamada.
Manejar objetos timer.
11. Implementación de seguridad.Entender la arquitectura de seguridad J2EE.
Autentificar al llamante.
Examinar las estrategias de autorización J2EE.
Usar autorización declarativa.
Usar autorización programada.
Examinar las responsabilidades del repartidor.
Integrando con los sistemas Legacy.
Examinar requerimientos para los módulos de conectividad EIS.
Compara implementaciones alternativas con los módulos de conectividad
EIS
Describe la arquitectura de la tecnología de J2EE connector.
Utiliza la interface de Common Client (CCI) e interface API
Utiliza un adaptador de recursos message-driven bean.
Describe la interoperabilidad entre la tecnología EJB y los protocolos
Common Object Request Broker Architecture (CORBA).
Implementando interfaces Web Service Endpoint.
Examina el modelo de implementación del servicio web enterprise bean.
Implementa servicios web utilizando sesiones bean sin estado.
Usando las mejores prácticas de EJB Technology.
Define mejores prácticas y enuncia los beneficios de usar las mejores
prácticas de EJB Technology.
Selecciona y aplica patrones conocidos al diseño aplicativo J2EE