1. Arquitectura
    1. JavaEE es una especificación
    2. Diagrama
    3. Servidores de aplicaciones
      1. Application Server
        1. Web Container
          1. Tomcat
        2. EJB Container
          1. Servidores
          2. Open Source
          3. GlassFish
          4. JBoss
          5. Geronimo
          6. Comerciales
          7. IBM WebSphere Application Server
          8. Oracle WebLogic
          9. SAP Netweaver
      2. Artefactos
        1. jar
          1. Java Archive
        2. war
          1. Web Archive
          2. Puede incluir varios jars
          3. Se despliega en un contenedor web o application server
        3. ear
          1. Enterprise Archive
          2. Puede incluir varios wars y jars
          3. Se despliega en un application server
      3. Despliegue de aplicaciones
  2. Web
    1. Introducción
      1. Introducción a la arquitectura Web
        1. Aplicación web
          1. Acceso mediante un browser
          2. Internet
          3. Intranet
        2. Ventajas
          1. Actualización inmediata
          2. Multiplataforma
          3. Portable
          4. Alta disponibilidad
        3. Desventajas
          1. Menos funcionalidad que aplicaciones Desktop
          2. Requiere de conexión a Internet
        4. HTTP
          1. Hyper Text Transfer Protocol
          2. Protocolo de comunicación
          3. Desarrollado por el consorcio W3C y la IETF
          4. Esquema request-response
          5. Sin estado
          6. Uso de cookies
          7. Tipos de request
          8. GET
          9. POST
        5. HTML
          1. Hyper Text Markup Language
          2. Le dice al browser como mostrar el contenido
          3. Tags
          4. <!-- -->
          5. <html>
          6. <head>
          7. <title>
          8. <body>
          9. <h1>
          10. <a>
          11. <br>
          12. <form>
          13. <input>
          14. type="text"
          15. type="password"
          16. type="submit"
      2. Estructura de la aplicación web
        1. Estructura de directorios
        2. Descriptor web.xml
    2. Patrón MVC
      1. Introducción
        1. Separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos
        2. Elementos
          1. Model
          2. View
          3. Controller
      2. Diagrama
      3. Frameworks MVC
        1. Características comunes
        2. Frameworks
          1. Struts
          2. JSF
          3. Spring MVC
    3. Servlets y JSP
      1. Servlets
        1. Clase Java que se ejecuta dentro del Web Container
        2. Servlet API
          1. HttpServlet
          2. HttpServletRequest
          3. getParameter()
          4. getParameterValues()
          5. getParameterNames()
          6. HttpServletResponse
          7. getWriter()
          8. getOutputStream()
        3. Jerarquía de clases
          1. Diagrama Servlet API
        4. Ciclo de vida
          1. init
          2. service
          3. doGet
          4. doPost
          5. destroy
          6. Diagrama de ciclo de vida
        5. Session Tracking
          1. Formas
          2. Cookies
          3. URL Rewriting
          4. Hidden Fields
          5. HttpSession
          6. setAttribute()
          7. getAttribute()
          8. invalidate()
          9. Session timeout
          10. Configuración en el web.xml
      2. JSP
        1. Introducción
          1. Java Server Pages
          2. JSP compiler
          3. Convierte el JSP en un Servlet
        2. Versiones
          1. JSP 1.0
          2. JSP 1.2
          3. JSP 2.0
          4. JSP EL
          5. JSP 2.1
          6. JavaEE 5
        3. Sintaxis
          1. Scripting
          2. Comment
          3. <%-- This is a JSP comment --%>
          4. Expression
          5. <?= expression ?>
          6. <%= new java.util.Date()%>
          7. Scriptlet
          8. <% // Any java source code here %>
          9. Declaration
          10. <%! int x = 10; %>
          11. Variables implícitas
          12. request
          13. HttpServletRequest
          14. response
          15. HttpServletResponse
          16. session
          17. HttpSession
          18. config
          19. ServletConfig
          20. out
          21. JspWriter
          22. application
          23. pageContext
          24. page
          25. exception
          26. Directive
          27. include
          28. file
          29. taglib
          30. uri
          31. prefix
          32. page
          33. import
          34. session
          35. contentType
          36. buffer
          37. errorPage
          38. isErrorPage
          39. JSP EL
          40. Acceso a variables
          41. Acceso a beans
          42. Acceso a colecciones
          43. Action
          44. Custom tags
      3. JavaBeans
        1. Estándar de JavaBeans
        2. Métodos get/set
        3. Constructor sin argumentos
    4. AJAX
      1. Introducción
        1. Asynchronous JavaScript and XML
        2. No es una tecnología en sí misma
        3. Técnica de desarrollo web para crear aplicaciones RIA
        4. Comunicación asíncrona
          1. JavaScript
          2. XMLHttpRequest
      2. Ventajas
        1. Realizar cambios sobre las páginas sin recargarlas
        2. Aumenta
          1. Intereactividad
          2. Velocidad
          3. Usabilidad
      3. Tecnologías
        1. XHTML y CSS: Para una presentación basada en estándares.
        2. DOM: para la manipulación de la presentación.
        3. XML, XSLT, JSON: Para el intercambio y manipulación de datos
        4. Javascript (XMLHttpRequest): intercambio asíncrono de información y para integrar las demás tecnologías
      4. Librerías AJAX
        1. DOJO Toolkit
          1. http://dojotoolkit.com/
        2. Script.aculo.us
          1. http://script.aculo.us/
        3. Yahoo UI Widgets
          1. http://developer.yahoo.com/yui/
        4. Google Web Toolkit - Google Code
          1. http://code.google.com/webtoolkit/
        5. Prototype
          1. http://prototype.conio.net/
  3. EJB
    1. Introducción
      1. Enterprise Java Beans
      2. Modelo de componentes distribuido
      3. Enterprise JavaBeans != JavaBeans
      4. Características
        1. Comunicación remota
          1. CORBA
          2. RMI/IIOP
        2. Transacciones
          1. JTA
        3. Control de la concurrencia
        4. Eventos
          1. JMS
        5. Servicios de nombres y de directorio
          1. JNDI
        6. Ubicación de componentes
          1. JNDI
        7. Seguridad
          1. JCE
          2. JAAS
      5. Versiones
        1. EJB 1.0
          1. Especificación original
        2. EJB 1.1
          1. La primera incluida dentro de J2EE
        3. EJB 2.0
          1. J2EE 1.3
          2. JSR 19
          3. Interfaces Locales
          4. Message-Driven beans
        4. EJB 2.1
          1. J2EE 1.4
          2. JSR 153
        5. EJB 3.0
          1. JavaEE 5
          2. JSR 220
          3. Anotaciones
        6. EJB 3.1
          1. JSR 318
    2. Tipos
      1. Session Bean
        1. Stateful
        2. Stateless
      2. Entity Bean
        1. CMP
        2. BMP
      3. Message Driven Bean
  4. Web Services
    1. JAX-RPC
    2. JAX-WS