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