Download Desarrollo bajo Plataforma Java EE

Document related concepts
no text concepts found
Transcript
Departamento de Ingeniería en
Sistemas de Información
Universidad Tecnológica Nacional – FRC
DIPLOMATURA SUPERIOR en
“Desarrollo bajo Plataforma Java EE”
1. PROPUESTA CURRICULAR
1.a) OBJETIVOS
El curso "Desarrollo bajo Plataforma Java EE" ofrece a los estudiantes el conocimiento necesario
para construir e implantar aplicaciones empresariales que cumplan con las especificaciones de los
estándares de la tecnología de la Plataforma Java.
Los componentes empresariales presentados en este curso son: tecnología Java, Enterprise Java
Beans (EJB), APIs de Persistencia Java, servlets y tecnología Java Server Pages (JSP), servicios
web.
1.b) OBJETIVOS ESPECIFICOS
•
•
Los estudiantes obtendrán la experiencia a través de prácticas orientadas a construir
desarrollos con algunas de las tecnologías empresariales JEE (Java Enterprise Edition).
Las prácticas serán orientadas a:
o Conocer la utilización del lenguaje Java
o Utilizar clientes de tecnología Java y Web para acceder a los servicios empresariales
basados en tecnología Java usando Servlets y páginas creadas con JSP.
o Conocer los componentes EJB y proveer front-end para los componentes de entidad
usando APIs de persistencia.
1.c) CONDICIONES DE ADMISION
•
•
•
•
•
•
•
•
Profesionales universitarios de carreras tecnológicas.
Graduados de tecnicaturas superiores universitarias.
Graduados de Institutos Superiores en carreras vinculadas con las Tecnologías
Informáticas.
Desarrolladores de Aplicaciones, tanto del ámbito privado como estatal.
Arquitectos de software, tanto del ámbito privado como estatal.
Experiencia en lenguajes orientados a objetos (conocimientos básicos de Java
preferentemente).
Conocimientos de desarrollo de Aplicaciones Web en general.
Conocimientos sobre teoría de bases de datos relacionales y SQL.
La aceptación de postulantes será evaluada por el Comité Académico del Programa, previo
estudio de los antecedentes del postulante que acredite su trayectoria en el desempeño laboral
relacionado al desarrollo de Aplicaciones empresariales. Asimismo, el Comité Académico se
Departamento de Ingeniería en
Sistemas de Información
reserva el derecho de admitir a trámite, por vía de excepción, aspirantes que no reúnan los
requisitos generales.
1.d) CARGA HORARIA TOTAL
La Diplomatura se estructura de la siguiente manera:
Diplomatura: Desarrollo de Aplicaciones bajo Plataforma
Java EE
Módulo 1: Nivelación de conceptos de
desarrollo (*)
32 horas
Módulo 2: Java Básico
32 horas
Módulo 3: Servlets / JSP
36 horas
Módulo 4: EJB
36 horas
Módulo 5: Persistencia
32 horas
Módulo 6: Mensajería y Web Services
32 horas
Trabajo Final Integrador (**)
TOTAL 200 horas
Todos los módulos tendrán una carga presencial (en el aula y en el laboratorio) y la
obligación de realizar tareas prácticas en forma semipresencial.
(*) El módulo Nivelación de conceptos de desarrollo es un módulo transversal que se
dictará en varias diplomaturas de desarrollo de software vigentes.
(**) El trabajo Final integrador será definido por los docentes a cargo de cada módulo.
1.e) MODULOS
1. Módulo 1: Nivelación de conceptos de desarrollo
1.1. Introducción a los sistemas Web y Nivelación
1.2. Sistemas Web - Breve reseña histórica
1.3. El modelo Request Response
1.4. Servidores Web
1.4.1. Conceptos básicos de servidores web
1.4.2. Web Servers
1.4.2.1.Apache
1.4.2.1.1. Fundamentos básicos Apache Server
1.4.2.2.Tomcat
1.4.2.2.1. Fundamentos básicos Tomcat Server
1.4.2.3.Jboss
1.4.2.3.1. Fundamentos Básicos de JBoss Server
1.4.2.4.Internet Information Server
1.4.2.4.1. Fundamentos Básicos de IIS
1.5. Implementación de Patrones de Diseño
1.5.1. Fundamentos Básicos de patrones de diseño
Departamento de Ingeniería en
Sistemas de Información
1.5.1.1.Singleton Pattern
1.5.1.1.1. Concepto e Implementación
1.5.1.2.Factory Pattern
1.5.1.2.1. Concepto e Implementación
1.5.1.3.Abstract Factory Pattern
1.5.1.3.1. Concepto e Implementación
1.5.1.4.Builder Pattern
1.5.1.4.1. Concepto e Implementación
1.5.1.5.Facade Pattern
1.5.1.5.1. Concepto e Implementación
1.6. HTML
1.6.1. Formateo básico
1.6.1.1.Formato de párrafo
1.6.2. Caracteres especiales
1.6.2.1.Caracteres extendidos en HTML
1.6.2.2.Caracteres de control
1.6.3. Links
1.6.3.1.La etiqueta <A>
1.6.3.2.Las URLs
1.6.3.3.Anclas
1.6.4. Imágenes
1.6.4.1.Imágenes y enlaces
1.6.4.2.Alineación respecto al texto
1.6.5. Formularios
1.6.5.1.Cajas de texto
1.6.5.2.Opciones
1.6.5.3.Botones del formulario
1.6.5.4.Otros elementos
1.6.6. Controles avanzados para formularios
1.6.6.1.Botones
1.6.6.2.Etiquetas
1.6.6.3.Agrupación de elementos
1.6.6.4.Desactivación de elementos
1.6.7. Tablas
1.6.7.1.Definir tablas
1.6.7.2.Definir las filas
1.6.7.3.Definir las celdas
1.6.8. Frames
1.6.8.1.Etiqueta <FRAMESET>
1.6.8.2.Etiqueta <FRAME>
1.6.8.3.Acceso a otros marcos
1.6.9. Hojas de estilo
1.6.9.1.Clases
1.6.9.2.Etiquetas <SPAN> y <DIV>
1.6.9.3.Propiedades de bloque
1.6.9.4.Propiedades de tipo de letra
Departamento de Ingeniería en
Sistemas de Información
1.6.9.5.Propiedades de formato del texto
1.6.9.6.Propiedades de color y fondo
1.6.9.7.Propiedades de clasificación
1.7. SQL
1.7.1. Creación de tablas
1.7.2. Inserción (INSERT)
1.7.3. Actualización (UPDATE)
1.7.4. Borrado (DELETE)
1.7.5. Inserción y Actualización Masiva
1.7.6. Consultas
1.7.6.1.Consultas Simples
1.7.6.2.Consultas Multitabla
1.7.6.3.Consultas Sumarizadas
1.7.6.4.Subconsultas
1.7.6.5.Subconsultas Avanzadas
1.7.7. Modificación de Estructuras (ALTER)
1.7.8. Restricciones (CONSTRAINTS)
2.
Módulo 2: Java Básico:
2.1. Conceptos Básicos sobre Java, objetos, clases, instancias, atributos, propiedades y métodos.
2.2. JDK
2.3. Librerías con Clases predefinidas
2.4. Clases: Public, final, abstract, Extends, Implements
2.5. Interfases
2.6. Declaración de atributos: private, protected, public, static, final, transient y volatile
2.7. Tipos: básicos, Literales, Arreglos
2.8. Declaración de Métodos
2.9. Declaración de variables locales
2.10. Asignaciones
2.11. Operadores y precedencia de operadores en Java
2.12. Estructuras de control
2.12.1. if … [ else]
2.12.2. switch…case…brake…default
2.12.3. while
2.12.4. do…while
2.12.5. for
2.13. Métodos constructores
2.14. Herencia
2.15. Polimorfismo
2.16. Sobrecarga de métodos
2.17. Paquetes y librerías
2.18. Clases predefinidas Math, Character y String
2.19. Métodos estáticos
2.20. Vectores y matrices
2.21. Métodos estáticos de conversión
2.22. Identificadores especiales
Departamento de Ingeniería en
Sistemas de Información
2.22.1. null
2.22.2. this
2.22.3. super
2.23. Elementos estáticos
2.24. Estructurar Código usando Clases
2.25. La Clase Class
2.26. Operador instanceof
2.27. Clase Object
2.28. Excepciones
2.28.1. try...catch...finally
2.28.2. Clase Exception
2.28.3. Capturar excepciones
2.28.4. Funcionamiento del catch
3.
Abstractas e Interfaces
Módulo 3: Servlets / JSP
3.1. Servlets
3.1.1. Introducción a los Servlet
3.1.2. Arquitectura de la aplicación servlet
3.1.3. Ciclo de vida del Servlet
3.1.4. Contenedor de Servlet, Tomcat
3.1.5. Creación del primer Servlet
3.1.6. Diseño del componente de la vista
3.1.7. Desarrollo del Servlet
3.1.8. Configuración y despliegue
3.2. Gestión de Sesiones
3.2.1. Necesidad de de la gestión de sesiones
3.2.2. Campos ocultos en formularios
3.2.3. Cookies
3.2.4. Objetos en el ámbito de la sesión
3.3. Eventos de Session y Application
3.3.1. Listener de los eventos de aplicación
3.3.2. Listener de los eventos de sesión
3.4. Uso de filtros en aplicaciones Web
3.4.1. Descripción del ciclo de vida de una aplicación
3.4.2. Descripción del Filter API
3.4.3. Desarrollo de una clase para el filtro
3.4.4. Configuración de web.xml
3.5. Desarrollo de páginas JSP
3.5.1. Introducción a la tecnología JSP
3.5.2. Elementos de scripting
3.5.3. Directiva page
3.5.4. Standard tags
3.5.5. Creación de la primera pagina JSP
3.5.6. Diseño de la página
3.5.7. Desarrollo de la página
Departamento de Ingeniería en
Sistemas de Información
3.5.8. Diferencias en
el despliegue con los Serlvets
Desarrollo de JavaBeans
3.6.1. Introducción a los JavaBeans
3.6.2. Acceso a los beans desde la página JSP
3.6.3. Acceso a las propiedades del Bean
3.7. JSP CustomTags
3.7.1. Roles en el desarrollo de una aplicación web
3.7.2. Necesidad de los CustomTags
3.7.3. Desarrollo de una página JSP utilizado CustomTags
3.8. Acceso a Bases de Datos con JDBC
3.8.1. Introducción a la arquitectura JDBC
3.8.2. Creación de la conexión a la base de datos
3.6.
4.
Módulo 4: EJB
4.1. Modelo de Componentes EJB
4.1.1. Describir el rol de los componentes EJB en una aplicación Java EE.
4.1.2. Describir el modelo de componentes EJB.
4.1.3. Identificar la terminología apropiada para usar cuando se discuten los componentes
EJB y sus elementos.
4.2. Implementación de los Beans de Sesión EJB 3.0
4.2.1. Comparar comportamiento con estado y sin estado.
4.2.2. Describir las características operacionales de un bean de sesión sin estado.
4.2.3. Describir las características operacionales de un bean de sesión con estado.
4.2.4. Crear beans de sesión.
4.2.5. Empaquetar e implantar beans de sesión.
4.2.6. Crear un cliente de un bean de sesión.
5.
Módulo 5: Persistencia
5.1. La API de Persistencia Java (JPA)
5.1.1. Acceso a Base de Datos JDBC:
5.1.1.1. Drivers JDBC (niveles de drivers).
5.1.1.2. Instalación y uso de un driver JDBC.
5.1.1.3. Transacciones. Fuentes de datos (DataSource, etc.).
5.1.1.4. Sentencias preparadas.
5.1.2. JPA
5.1.2.1. Describir el rol de Java Persistence API (JPA) en una aplicación Java EE.
5.1.2.2. Describir los fundamentos de Object Relational Mapping.
5.1.2.3. Describir los elementos y entorno de un componente Entity.
5.1.2.4. Describir el ciclo de vida y las características operacionales de los componentes
Entity.
5.2. Implementación de una Política Transaccional
5.2.1. Describir la semántica de transacciones.
Departamento de Ingeniería en
Sistemas de Información
5.2.2. Comparar el alcance de las transacciones declarativas y programáticas.
5.2.3. Usar la API Java Transaction (JTA) para trabajar con transacciones en forma
programática.
5.2.4. Implementar una política transaccional gestionada por el contenedor.
5.2.5. Soportar locking optimística con el versionado de componentes entidad.
5.2.6. Predecir el efecto del alcance de una transacción en el rendimiento de una
5.2.7. Describir el efecto de las excepciones en el estado de la transacción.
aplicación.
Nota: A definir por el docente si se incorporará el dictado de Hibernate como Framework
de persistencia.
6.
Módulo 6: Mensajería y Web Services
6.1. Desarrollo de Aplicaciones Java EE Usando Mensajería
6.1.1. Describir la tecnología JMS.
6.1.2. Crear un productor de mensajes en una cola.
6.1.3. Crear un consumidor de mensajes asincrónico.
6.1.4. Crear un consumidor de mensajes sincrónico.
6.1.5. Listar las capacidades y limitaciones de los componentes EJB como clientes de
mensajería.
6.2. Desarrollo de Message-Driven Beans
6.2.1. Describir las propiedades y el ciclo de vida de los message-driven beans.
6.2.2. Crear un message-driven bean JMS.
6.2.3. Crear manejadores de eventos del ciclo de vida para un message-driven bean JMS.
6.3. Modelo de Servicios Web
6.3.1. Describir el rol de los servicios web.
6.3.2. Listar las especificaciones usadas para que los servicios web sean independientes de la
plataforma.
6.3.3. Describir las API Java usadas para el procesamiento de documentos XML y los
servicios web.
6.4. SOA breve introducción
6.4.1. Arquitectura orientada a servicios (SOA).
6.4.2. Web Services: definición y tecnologías.(XML, SOAP, UDDI, WSDL) utilizadas para
su implementación.
6.4.3. Estructura de un mensaje WSDL.
Nota: Los temarios propuestos en cada uno de los módulos pueden ser variados levemente por los
docentes a cargo del dictado de los mismos dependiendo las necesidades buscadas por el grupo y
los conocimientos previos que poseen los asistentes.
Departamento de Ingeniería en
Sistemas de Información
2. PROPUESTA ORGANIZATIVA
2.a) MODALIDAD DE DIRECCION ACADEMICA
Coordinador Académico:
• Ing. Adalberto Barac
Plantel Docente:
• Ing. Adalberto Barac
• Ing. Pablo Vaca
• Ing. Federico Aguirre
2.b) FECHA DE INICIO: 27 de abril de 2009.
2.c) HORARIO DE CURSADO: 18:30 a 22:30 hs / Sábados: 09:00 a 13:00 hs.
2.d) ELEMENTOS NECESARIOS PARA EL DESARROLLO DE LOS PRACTICOS
Laboratorio de Ing. en Sistemas de Información con equipos que permitan ejecutar JDK,
Eclipse, Tomcat y Jboss.
2.c) BIBLIOGRAFÍA
Java EE APIs & Docs
• URL: http://java.sun.com/javaee/reference/
• URL: http://java.sun.com/javaee/5/docs/api/
• URL: http://java.sun.com/j2ee/1.4/docs/api/
• URL: http://java.sun.com/javaee/5/docs/firstcup/doc/firstcup.pdf
• URL: http://java.sun.com/javaee/5/docs/tutorial/doc/
Java EE Technologies at a Glance
• URL: http://java.sun.com/javaee/technologies/index.jsp
Thinking in Java 4th Edition:
• Prentice Hall PTR; 4 edition
•
ISBN-10: 0131872486
•
ISBN-13: 978-0131872486
Enterprise JavaBeans 3.0 (5th Edition):
• Publisher: O'Reilly Media, Inc.; 5 edition
•
ISBN-10: 059600978X
•
ISBN-13: 978-0596009786
Advanced JavaServer Pages
• Prentice Hall PTR; 4 edition
•
ISBN-10: 0131872486
Departamento de Ingeniería en
Sistemas de Información
•
ISBN-13: 978-0131872486
Professional JSP 2nd Edition
• Publisher: Wrox Press; 2 edition
•
ISBN-10: 1861004958
•
ISBN-13: 978-1861004956