El objetivo del curso es la adquisición de aptitudes directamente apliclables al desarrollo de sistemas de información avanzados. Para ello se estudiarán tanto entornos, herramientas, tecnologías y arquitecturas, como los mecanismos de gestión y protección de la información.
PROGRAMA
- Web avanzado: conceptos e implicaciones (20 horas).
- Preliminares.
- Necesidad del curso y aspectos organizativos del mismo.
- Conceptos avanzados.
- Informática Social.
- Conceptos fundamentales del Web.
- Web 2.0 y su Software
- Aplicaciones del Web 2.0
- Interoperabilidad.
- Plataformas.
- Arquitecturas orientadas a servicios (SOA).
- Estandares y Normalización.
- Tecnologías
- Planificación de proyectos.
- Herramientas y entornos de desarrollo.
- Tecnologías de cliente y servidor.
- Informática Social.
- Implicaciones.
- Organizativas
- Dirección tecnológica. Infraestructura, estrategia y políticas.
- Implicaciones para la organización.
- Aplicaciones prácticas.
- Seguridad
- Legalidad, garantía y control.
- Activos de Información.
- Organizativas
- Preliminares.
- Activos de información: gestión, protección y control (15h).
- Introducción.
- Dimensiones de la seguridad de la información.
- Disponibilidad.
- Integridad.
- Confidencialidad.
- Análisis sistemático de riesgos.
- Activos.
- Amenazas.
- Riesgo.
- Tratamiento del riesgo en la programación web avanzada.
- Establecimiento de salvaguardas.
- Asunción de un riesgo residual.
- Normas y recomendaciones de seguridad.
- La protección de los datos personales.
- La família de normas ISO 27000.
- Herramientas y nuevos entornos de desarrollo: Wiki, Subversion, Eclipse, Trac (20h).
- Documentación.
- Wiki.
- DocBook.
- Control de versiones.
- Subversion: Instalación, configuración y uso.
- Entornos de desarrollo integrados.
- Eclipse.
- Netbeans.
- eXtremme Programming: Técnicas de desarrollo ágil de proyectos.
- Construcción de software con Ant.
- Pruebas unitarias con JUnit.
- Pruebas unitarias web avanzadas con JWebUnit o Selenium.
- Documentación.
- Tecnologías base de cliente: Cliente rico (50h).
- Tecnologías base.
- HTML/XHTML. Futuras funcionalidades disponibles en XHTML 2.0.
- CSS. Estilos, maquetación con CSS y funcionalidades disponibles en CSS3.
- Familia de tecnologias XML.
- Información: XML y XML Namespaces.
- Presentación: XSL y Formatting objects.
- Estructura: DTD XML Schema.
- Búsqueda: XPath, XQuery.
- JavaScript.
- Sintaxis.
- Orientación a objetos
- El Document Object Model (DOM).
- Herramientas de desarrollo y depuración: Firebug.
- XForms
- Gráficos: SVG y Canvas.
- Consideraciones en la implantación de las tecnologías de cliente rico en los navegadores actuales.
- Quirks mode Vs. Standard mode.
- El box model.
- Compatibilidad.
- Cliente rico.
- Conceptos básicos.
- Frameworks y Toolkits AJAX:.
- Prototype, OpenRico, Scriptaculous y JQuery.
- Dojo.
- GWT.
- Qooxdoo y Eclipse RAP.
- OpenLaszlo y Flex.
- Apollo y JavaFX.
- Tecnologías base.
- Tecnologías de servidor. PHP. Java (80h).
- PHP.
- Preparación del entorno: Apache, PHP, MySQL.
- Instalación de componentes.
- Configuración básica de un servidor apache.
- Directivas básicas.
- Módulos.
- Hosts virtuales.
- Reescritura de URLs.
- Configuración de PHP.
- Configuración de MySQL.
- El lenguaje PHP
- Introducción.
- El lenguaje.
- Sintaxis
- Tipos de datos.
- Expresiones y operadores.
- Estructuras de control.
- Funciones, clases, objetos.
- PCRE.
- Interacción con el web.
- Variables predefinidas.
- Forms y XForms.
- Subida de ficheros.
- Quoting.
- Sesiones.
- Safe mode.
- Acceso a base de datos.
- Fundamentos.
- Ejemplos.
- Librerías, PEAR, PECL.
- Problemas comunes.
- Concurrencia.
- Portabilidad.
- Internacionalización.
- Distribución.
- Depuración.
- Código cerrado.
- Ejemplos típicos.
- Autenticación.
- Almacenamiento de imágenes.
- Preparación del entorno: Apache, PHP, MySQL.
- Java
- Introducción.
- Introducción y sintaxis.
- Tipos de datos.
- Estructuras de control.
- Clases en Java. Heréncia e Interfaces.
- Packages.
- Excepciones en Java.
- Entrada/Salida y clases útiles.
- Aspectos avanzados.
- Applets e interfaces gráficas de usuario con Swing/AWT.
- Threads.
- Programación de Sockets.
- Politicas de seguridad Java.
- Java y XML.
- Validación de documentos mediante DTD y XML schema.
- Uso del interfaz SAX y DOM.
- Transformaciones XSL.
- Tecnologias java sobre XML.
- J2EE 5.0.
- Servidores de aplicaciones Java.
- Conceptos generales.
- Formatos de despliegue de aplicaciones.
- Configuración de la conexión a base de datos. Tipos de conexión. Pooling. Datasources.
- Instalación y administración de un servidor de aplicaciones: Tomcat y JBoss.
- Conectividad con bases de datos: JDBC.
- Servlets, JSP (JavaServer Pages) y JSTL (JavaServer Pages Standard Tag Library).
- Web Services con JAX-WS.
- JAXB. Mapeo entre XML Schema y clases Java.
- Mapeo objeto relacional con Hibernate.
- Enterprise Java Beans. EJB 3.0.
- Modelo de persistencia JPA.
- HyperJAXB. Integración de JAXB con Hibernate/EJB3.
- Servidores de aplicaciones Java.
- Introducción.
- PHP.
- Seguridad en entornos web (15h).
- Errores comunes en programación web.
- Uso de GET y POST, variables globales, comprobaciones.
- Saneamiento de variables de formularios.
- XSS o Cross Site Scripting.
- CSRF o Cross Site Request Forgeries. (Caso webmail uji).
- Control sobre cookies.
- SQL Injections. Básicos/Avanzados/Blind.
- Métodos de autenticación
- Basados en passwords (usuario + pwd, tipo CHAP, etc …).
- No basados en password (X509).
- Técnicas de evasión de ataques.
- Captchas, tipos de ataques.
- Controles anti-spam, ofuscación Javascript.
- Errores comunes en programación web.
- Arquitecturas orientadas a servicios (20h).
- Conceptos generales.
- Introducción a los Servicios Web.
- SOA: Arquitecturas orientadas a servicios.
- Servicios Web.
- Tipos de Servicios Web.
- Llamadas a procedimientos remotos con XML-RPC.
- WSDL: Web Service Definition Language.
- SOAP: Simple Object Access Protocol.
- REST Web Services.
- UDDI: Universal Description, Discovery and Integration.
- Estándares relacionados.
- Web Services Management and Monitoring.
- Web Services Security.
- Web Services Interoperability.
- Orquestación de Servicios Web.
- BPEL: Business Process Execution Language.
- Conceptos generales.
METODOLOGÍA
El curso comenzará en noviembre y se realizará de forma no presencial a través del Aula virtual. Se calcula que deben dedicarse al menos 4 horas semanales al estudio y 4 horas más para el trabajo individual tutorizado, considerando un número aproximado de 30 semanas. El curso se divide en módulos y en cada módulo se realizan ejercicios de evaluación continuada. A lo largo de cada modulo se desarrollará un ejemplo y se realizaran ejercicios de ampliación y mejora. La superación del curso requerirá de la presentación de un proyecto final ligado a uno o más módulos
EVALUACIÓN
Cada módulo presenta unos ejercicios de realización obligatoria. Se requiere la confección de un proyecto final de curso que deberá llevar a lapráctica tecnologías de servidor y de cliente rico.
Información: http://cursowebavanzado.uji.es/
Related posts:


Deja tu comentario