Desarrollar aplicaciones multiproceso y multihilo empleando librerías y técnicas de programación específicas.
Desarrollar aplicaciones capaces de ofrecer servicios en red empleando mecanismos de comunicación.
Aplicar técnicas y procedimientos relacionados con la seguridad en sistemas, servicios y aplicaciones, cumpliendo el plan de seguridad.
Todos los capítulos incluyen, además, explicaciones teóricas, ejemplos prácticos y actividades para guiar al alumno en su aprendizaje. Tabla de ilustraciones Convenciones usadas en este libro BLOQUE I. HILOS Y PROCESOS CAPÍTULO 1. Hilos y procesos 1. Introducción 2. Definición 3. Estados de un proceso 4. Similitudes y diferencias entre hilos y procesos 5. Conceptos básicos sobre hilos 6. La clase Thread 7. Ejemplo de intercalación de tareas 8. Primer programa con hilos 9. Técnicas de programación 9.1. Ejecución de un nuevo hilo 9.2. Ejecución en paralelo Actividades CAPÍTULO 2. Programación concurrente y distribuida 1. Programas concurrentes 1.1. Programación paralela 1.2. Aplicaciones de la programación concurrente 1.3. Ventajas de la programación concurrente 2. Diferencias entre sistemas distribuidos y paralelos Actividades CAPÍTULO 3. Sincronización y prioridad 1. Sincronización y prioridad 1.1. Sincronización de Threads: monitores 1.2. Sincronización de Threads: semáforos 1.3. Prioridades de hilos Actividades BLOQUE II. HTML5 WEBWORKERS CAPÍTULO 4. Introducción a Web Workers 1. Justificación 2. Definición 3. ¿Cuándo utilizar los Web Workers? 4. Creación de un worker 5. Concurrencia en JavaScript 6. Comunicación con Web Workers 7. El entorno del worker 8. Funciones disponibles para Web Workers 9. Soporte de navegadores 10. Cargar secuencias de comandos externas 11. Llamadas a servicios externos Actividades BLOQUE III. COMUNICACIÓN CLIENTE-SERVIDOR MEDIANTE SOCKETS CAPÍTULO 5. Comunicación cliente-servidor mediante sockets 1. Introducción a los sockets 1.1. Definición 1.2. Sockets vs. aplicaciones web 1.3. Propiedades 1.4. Aplicaciones 2. Arquitectura cliente servidor 3. Programación en red 3.1. Servidores y clientes 3.2. Puertos 4. Sockets 4.1. Cliente y servidor dentro de la misma red 4.2. Cliente y servidor en redes diferentes 4.3. Servidor para múltiples clientes 5. Manejo de URLs para creación de Sockets 6. Servidor web 7. Cliente-servidor FTP Actividades BLOQUE IV. INTRODUCCIÓN A HTML5 WEBSOCKETS CAPÍTULO 6. Introducción a HTML5 WebSockets 1. Introducción 2. Definición del estándar HTML5 3. Componentes de HTML5 4. Introducción a WebSocket 4.1. El problema: conexiones de baja latencia 4.2. Demos con WebSocket 4.3. El protocolo WebSocket 4.4. Uso y compatibilidad de WebSockets actualmente 4.5. Funcionamiento del protocolo 4.6. Inspeccionando el tráfico de WebSocket 4.7. API de WebSocket 4.8. Establecer una conexión 4.9. Eventos en WebSockets 4.10. Comunicación con el servidor 4.11. Ejemplo 1: cliente básico con funcionalidad 4.12. Ejemplo 2: HTML5 media con WebSocket 4.13. Ejemplo 3: añadiendo GUI al cliente 5. WebSocket Server 5.1. Node.js 5.2. Ejemplo 5: consola JavaScript 5.3. Ejemplo 6: WebSockets con socket.io Actividades CAPÍTULO 7. Desarrollo mediante la aplicación de protocolos 1. Construyendo un chat sobre WebSocket con XMPP 1.1. XMPP 1.2. Clientes 2. Conexión mediante WebSockets, colas y STOMP 3. VNC y el protocolo FRB Actividades CAPÍTULO 8. Seguridad 1. Comunicaciones seguras 2. Un servidor web seguro 3. Cliente/servidor TLS Actividades BIBLIOGRAFÍA