Gi Nt AL

Desarrollo Web avanzado.

Página de los directores.

José Pascual Gumbau y Manuel Mollar

Contenido.

  1. Introducción.
  2. Contacto.
  3. Información oficial.
  4. Horario y metodología.
  5. Temario.
  6. Temas.

Introducción.

Cartel del curso La rápida evolución de la programación web requiere continua formación de los profesionales y un complemento al aprendizaje en los estudios superiores. Conscientes del interés del estado actual del web, presentamos este curso con el ánimo de que sea formativo y útil.

Contacto.

Los interesados en el curso, por favor, rellenen este formulario. Les iremos informando de cualquier cambio o actualización. La matrícula comienza el 15 de octubre y finaliza el el 30 de Octubre. Desafortunadamente debe realizarse en persona en el Centro de Postgrado. Si alguien no puede acudir a matricularse, que contacte con nosotros.

Información oficial.

El precio es de 1.200 euros. La información oficial se encuentra en la web de la UJI.

Horario y metodología.

El curso comenzará el 16 de noviembre y se realizará los viernes por la tarde, en el laboratorio TD1011AL en horario aproximado de 17 a 20 horas, que puede modificarse por interés colectivo durante el curso. Se calcula que deben dedicarse al menos 4 horas más semanales para el trabajo individual. Considerando un número aproximado de 30 semanas, el curso de 240 horas tendrá 96 horas presenciales y 144 no presenciales. 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.

Se dispone de un aula virtual para interacción con los profesores. El calendario inicial del curso es éste.

Temario.

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