PROGRAMACION DE SERVICIOS Y PROCESOS - 3ª Edición
  • PROGRAMACION DE SERVICIOS Y PROCESOS - 3ª Edición

PROGRAMACION DE SERVICIOS Y PROCESOS - 3ª Edición

29,23 € - 5% 30,77 € impuestos incl

Disponibilidad de 3 a 7 días aproximadamente

Código 11707
9788419034915
Agregar a favoritos

Mª jesús Ramos Martín

Septiembre de 2018       Páginas: 344       3ª edición

Código 7785      ISBN/EAN: 9788417289317

CONTENIDO: Este libro sigue los contenidos expuestos en el módulo de Programación de servicios y procesos perteneciente al título de Técnico Superior en Desarrollo de Aplicaciones Multiplataforma (Real Decreto 405/2023, de 29 de mayo).

Está dividido en 5 capítulos que se corresponden con los contenidos del título. El libro tiene una orientación práctica; se exponen los contenidos teóricos seguidos de ejemplos y actividades diseñadas para facilitar la comprensión de los mismos. Se parte de los conocimientos previos que el alumno ha adquirido en el primer curso en el módulo profesional de Programación.

En el primer capítulo se estudian los procesos bajo Linux usando el lenguaje C. Se estudiarán diferentes funciones para crear y ejecutar procesos y mecanismos sencillos para comunicar y sincronizar procesos. Se estudian los conceptos básicos de la programación concurrente, paralela y distribuida.

En el segundo capítulo se estudia la utilización de hilos en Java, con ellos el alumno aprenderá a crear programas que realicen varias tareas simultáneamente. A continuación, en el capítulo tres, se profundiza en el manejo de sockets TCP y UDP, que facilitan la comunicación entre aplicaciones cliente y servidor a través de una red. Además, se combinará el uso de sockets con hilos para construir soluciones cliente-servidor multihilo.

En el capítulo cuatro, se empleará la biblioteca Apache Commons Net™ de Java para desarrollar programas cliente capaces de comunicarse con servidores FTP, SMTP y POP3, tanto locales como remotos. Además, se hará uso del paquete jakarta.mail para el envío y la consulta de correos electrónicos. También se abordará la creación de servicios web REST mediante el uso del framework Spring Boot.

Finalmente, en el capítulo cinco se explorarán diversas técnicas para desarrollar aplicaciones seguras con Java. Se analizarán las bibliotecas JCA (Java Cryptography Architecture) y JSSE (Java Secure Socket Extension) para implementar funciones de cifrado y comunicaciones seguras. Además, se utilizará Spring Security para integrar mecanismos de autenticación y autorización en nuestras aplicaciones. También aprenderemos a emplear el protocolo de autorización OAuth 2.0, que permite a nuestra aplicación acceder a recursos protegidos en nombre del usuario, sin requerir el uso directo de sus credenciales.

Desde el sitio web https://sites.google.com/site/programacionserviciosyprocesos se pueden descargar los ejemplos de cada capítulo.

INDICE EXTRACTADO:

Capítulo 1. Programación multiproceso
1.1. Introducción

1.2. Procesos y sistema operativo

1.2.1. Estados de un proceso
1.2.2. Control de procesos en Linux
1.2.3. Creación de procesos con Java
1.3. Programación concurrente
1.3.1. Programa y proceso
1.3.2. Características
1.3.3. Programas concurrentes
1.3.4. Problemas inherentes a la programación concurrente
1.3.5. Programación concurrente con Java
1.4. Programación paralela y distribuida
1.4.1. Programación paralela
1.4.2. Programación distribuida
Comprueba tu aprendizaje


Capítulo 2. Programación multihilo
2.1. Introducción

2.2. Qué son los hilos
2.3. Clases para la creación de hilos

2.3.1. La clase THREAD
2.3.2. La interfaz RUNNABLE
2.4. Estados de un hilo
2.4.1. wait() y notify()
2.5. Crear, arrancar, suspender y parar hilos
2.5.1. Suspensión de un hilo
2.5.2. Parada de un hilo
2.6. Gestión de prioridades

2.7. Comunicación y sincronización de hilos

2.7.1. Bloques sincronizados
2.7.2. Métodos sincronizados
2.7.3. El modelo productor-consumidor
2.8. Programación de aplicaciones multihilo

2.9. Utilidades del paquete java.util.concurrent

2.9.1. Ejecutores y Pool de hilos
2.9.2. Introducción a tipos atómicos
2.9.3. Callable y Future
2.9.4. Future y Futuretask
2.9.5. Hilos usando expresiones anónimas y expresiones lambda
Comprueba tu aprendizaje


Capítulo 3. Programación de comunicaciones en red
3.1. Introducción

3.2. Comunicación entre aplicaciones. Modelos
3.3. Clases Java para comunicaciones en red

3.3.1. Los puertos
3.3.2. La clase InetAddress
3.3.3. La clase URL
3.3.4. La clase URLConnection
3.4. Qué son los sockets
3.4.1. Funcionamiento en general de un socket
3.5. Tipos de sockets
3.5.1. Sockets orientados a conexión
3.5.2. Sockets no orientados a conexión
3.6. Clases para sockets TCP
3.6.1. Gestión de sockets TCP
3.7. Clases para sockets UDP
3.7.1. Gestión de sockets UDP
3.7.2. MulticastSocket
3.8. Envío de objetos a través de sockets
3.8.1. Objetos en sockets TCP
3.8.2. Objetos en sockets UDP
3.9. Conexión de múltiples clientes. Hilos
3.9.1. Hilos compartiendo objetos
3.9.2. Creación de un chat
Comprueba tu aprendizaje


Capítulo 4. Generación de servicios en red
4.1. Introducción

4.2. Protocolos estándar de comunicación en red

4.3. Comunicación con un servidor FTP
4.3.1. Java para comunicar con un servidor FTP
4.3.2. Subir ficheros al servidor
4.3.3. Descargar ficheros del servidor
4.4. Comunicación con un servidor SMTP
4.4.1. Instalación de un servidor de correo electrónico
4.4.2. Uso de telnet para comunicar con el servidor SMTP
4.4.3. Cliente SMTP usando la librería Apache Commons
4.4.4. Acceso a los mensajes del servidor SMTP
4.5. Cliente SMTP usando el paquete jakarta.mail
4.5.1. Enviar correos con ficheros adjuntos
4.5.2. Acceso a los mensajes de correo
4.6. Servicios web
4.6.1. Tipos de servicios web
4.6.2. Qué es una API REST
4.6.3. Spring boot para crear APIs REST
4.6.4. Creación de una API REST
4.6.5. Herramientas para probar y monitorear la API REST
4.6.6. Consumir una API REST en Java
4.6.7. API REST CRUD con acceso a Base de datos
Comprueba tu aprendizaje


Capítulo 5. Técnicas de programación segura
5.1. Introducción

5.2. Prácticas de Programación segura
5.3. Técnicas de seguridad. Visión general

5.3.1. Criptografía
5.3.2. Certificados Digitales
5.3.3. Control de acceso
5.3.4. Aplicaciones de la Criptografía
5.4. Seguridad en el entorno Java

5.5. Criptografía con Java

5.5.1. Resúmenes de mensajes. Función Hash
5.5.2. Generando y verificando firmas digitales. Cifrado asimétrico
5.5.3. Herramientas para firmar ficheros
5.5.4. Encriptación con clave secreta. Cifrado simétrico
5.5.5. Encriptar y desencriptar con clave pública. Cifrado asimétrico
5.5.6. Encriptar y desencriptar flujos de datos
5.6. Comunicaciones seguras con Java. JSSE
5.6.1. Autenticación unidireccional TLS
5.6.2. Autenticación mutua TLS (mTLS)
5.6.3. Propiedades JSSE
5.7. Política de seguridad. Roles

5.8. Mecanismos de control de acceso. Spring Security

5.8.1. Control de acceso básico
5.8.2. Usando Roles
5.8.3. Autenticación mediante una tabla de usuarios en la base de datos
5.8.4. Autenticación mediante OAuth 2
Comprueba tu aprendizaje


Bibliografía

También le puede interesar