Programación de servicios y procesos

Programación de servicios y procesos

  • Author: Sánchez Campos, Alberto
  • Publisher: Rama Editorial
  • Serie: Ciclos Formativos
  • ISBN: 9788499643915
  • Place of publication:  Madrid , Spain
  • Year of publication: 2013
  • Pages: 204
La presente obra está dirigida a los estudiantes del Módulo Profesional Programación de Servicios y Procesos de Grado Superior, en concreto para el Ciclo Formativo Programación de Aplicaciones Multiplataforma. Los contenidos incluidos en este libro abarcan los conceptos básicos del funcionamiento de los sistemas para aprovechar los nuevos avances en los ordenadores, tanto en lo relativo a la ejecución de diferentes programas y tareas como en la comunicación a través de la Red, todo ello utilizando diferentes métodos y servicios a la vez que se asegura el nivel de seguridad necesario. En este sentido, se muestran los conceptos de concurrencia y paralelismo. También se enseña a familiarizarse con la programación de múltiples procesos e hilos, entendiendo sus principios y formas de aplicación para obtener un mejor rendimiento del sistema para poder crear aplicaciones que optimicen los tiempos de respuesta para el usuario. De la misma forma, se explica el concepto de computación distribuida y cómo se puede aprovechar la comunicación entre aplicaciones y ordenadores a través de la Red para programar soluciones a problemas complejos. Además, debido al entorno de conexión, se explican los conceptos de seguridad de la información y se enseña a habituarse a la programación de aplicaciones que realicen una comunicación segura. Los capítulos incluyen actividades y ejemplos con el propósito de facilitar la asimilación de los contenidos tratados. Así mismo, se incorporan test de conocimientos y ejercicios propuestos con la finalidad de comprobar que los objetivos de cada capítulo se han asimilado correctamente. Además, reúne los recursos necesarios para incrementar la didáctica del libro, tales como un glosario con los términos informáticos necesarios, bibliografía y documentos para ampliación de los conocimientos.
  • PORTADA
    • Créditos
    • Portada autor
    • Material Adicional
    • Dedicatoria
    • ÍNDICE
    • INTRODUCCIÓN
    • CAPÍTULO 1. PROGRAMACIÓN DE PROCESOS
      • 1.1 CONCEPTOS BÁSICOS
      • 1.2 PROGRAMACIÓN CONCURRENTE
      • 1.3 FUNCIONAMIENTO BÁSICO DEL SISTEMA OPERATIVO
      • 1.4 PROCESOS
        • 1.4.1 Estado de un proceso
        • 1.4.2 Colas de procesos
        • 1.4.3 Planificación de procesos
        • 1.4.4 Cambio de contexto
      • 1.5 GESTIÓN DE PROCESOS
        • 1.5.1 Árbol de procesos
        • 1.5.2 Operaciones básicas con procesos
          • 1.5.2.1 Creación de procesos (operación create)
          • 1.5.2.2 Terminación de procesos (operación destroy)
      • 1.6 COMUNICACIÓN DE PROCESOS
      • 1.7 SINCRONIZACIÓN DE PROCESOS
        • 1.7.1 Espera de procesos (operación Wait)
      • 1.8 PROGRAMACIÓN MULTIPROCESO
        • 1.8.1 Clase Proces
      • 1.9 CASO PRÁCTICO
      • RESUMEN DEL CAPÍTULO
      • EJERCICIOS PROPUESTOS
      • TEST DE CONOCIMIENTOS
    • CAPÍTULO 2. PROGRAMACIÓN DE HILOS
      • 2.1 CONCEPTOS BÁSICOS
      • 2.2 RECURSOS COMPARTIDOS POR HILOS
      • 2.3 ESTADOS DE UN HILO
      • 2.4 GESTIÓN DE HILOS
        • 2.4.1 Operaciones básicas
          • 2.4.1.1 Creación y arranque de hilos (operación create)
          • 2.4.1.2 Espera de hilos (operaciones join y sleep)
            • 2..4.1.2.1 Interrupción
          • 2.4.1.3 Clase Thread
        • 2.4.2 Planificación de hilos
      • 2.5 SINCRONIZACIÓN DE HILOS
        • 2.5.1 Problemas de sincronización
          • 2.5.1.1 Condición de carrera
          • 2.5.1.2 Inconsistencia de memoria
          • 2.5.1.3 Inanición
          • 2.5.1.4 Interbloqueo
          • 2.5.1.5 Bloqueo activo
        • 2.5.2 Mecanismos de sincronización
          • 2.5.2.1 Condiciones de Bernstein
          • 2.5.2.2 Operación atómica
          • 2.5.2.3 Sección crítica
          • 2.5.2.4 Semáforos
            • 2.5.2.4.1 Clase Semaphore
          • 2.5.2.5 Monitores
            • 2.5.2.5.1 Métodos sincronizados
            • 2.5.2.5.2 Sentencias sincronizadas
          • 2.5.2.6 Condiciones
            • 2.5.2.6.1 Clase Object
      • 2.6 PROGRAMACIÓN DE APLICACIONES MULTIHILO
      • 2.7 CASO PRÁCTICO
      • RESUMEN DEL CAPÍTULO
      • EJERCICIOS PROPUESTOS
      • TEST DE CONOCIMIENTOS
    • CAPÍTULO 3. PROGRAMACIÓN DE COMUNICACIONES EN RED
      • 3.1 CONCEPTOS BÁSICOS: COMUNICACIÓN ENTRE APLICACIONES
        • 3.1.1 Computación distribuida
        • 3.1.2 Comunicación entre aplicaciones
          • 3.1.2.1 Mensaje
          • 3.1.2.2 Emisor
          • 3.1.2.3 Receptor
          • 3.1.2.4 Paquete
          • 3.1.2.5 Canal de comunicación
          • 3.1.2.6 Protocolo de comunicaciones
      • 3.2 PROTOCOLOS DE COMUNICACIONES: IP, TCP, UDP
        • 3.2.1 Pila de protocolos IP
          • 3.2.1.1 Nivel de red
          • 3.2.1.2 Nivel de Internet
          • 3.2.1.3 Nivel de transporte
          • 3.2.1.4 Nivel de aplicación
          • 3.2.1.5 Funcionamiento de la pila de protocolos
        • 3.2.2 Protocolo TCP
          • 3.2.2.1 Protocolos orientados a conexión
        • 3.2.3 Protocolo UDP
      • 3.3 SOCKETS
        • 3.3.1 Fundamentos
          • 3.3.1.1 Direcciones y puertos
          • 3.3.1.2 Tipos de sockets
            • 3.3.1.2.1 Sockets stream
            • 3.3.1.2.2 Sockets datagram
        • 3.3.2 Programación con sockets
          • 3.3.2.1 La clase Socket
          • 3.3.2.2 La clase ServerSocket
          • 3.3.2.3 La clase DatagramSocket
      • 3.4 MODELOS DE COMUNICACIONES
        • 3.4.1 Modelo cliente/servidor
          • 3.4.1.1 Comparativa con sockets stream
        • 3.4.2 Modelo de comunicación en grupo
          • 3.4.2.1 Comunicación en grupo, sockets multicast y bibliotecas de comunicación
        • 3.4.3 Modelos híbridos y redes peer-to-peer (P2P)
          • 3.4.3.1 Limitaciones de los modelos fundamentales
          • 3.4.3.2 Redes peer-to-peer (P2P)
      • RESUMEN DEL CAPÍTULO
      • EJERCICIOS PROPUESTOS
      • TEST DE CONOCIMIENTOS
    • CAPÍTULO 4. GENERACIÓN DE SERVICIOS EN RED
      • 4.1 SERVICIOS
        • 4.1.1 Concepto de servicio
        • 4.1.2 Servicios en red
        • 4.1.3 Servicios de nivel de aplicación
      • 4.2 PROGRAMACIÓN DE APLICACIONES CLIENTE Y SERVIDOR
        • 4.2.1 Funciones del servidor
        • 4.2.2 Tecnología de comunicaciones
        • 4.2.3 Definición del protocolo de nivel de aplicación
          • 4.2.3.1 Protocolos, sesión y estado
        • 4.2.4 Implementación
          • 4.2.4.1 Utilización de hilos en aplicaciones cliente/servidor
      • 4.3 PROTOCOLOS ESTÁNDAR DE NIVEL DE APLICACIÓN
        • 4.3.1 Telnet
        • 4.3.2 SSH (Secure Shell)
        • 4.3.3 FTP (File Transfer Protocol)
        • 4.3.4 HTTP (Hypertext Transfer Protocol)
          • 4.3.4.1 Sesiones, recursos y peticiones HTTP
          • 4.3.4.2 Códigos de estado
        • 4.3.5 POP3 (Post Office Protocol, versión 3)
        • 4.3.6 SMTP (Simple Mail Transfer Protocol)
        • 4.3.7 Otros protocolos de nivel de aplicación importantes
      • 4.4 TÉCNICAS AVANZADAS DE PROGRAMACIÓN DE APLICACIONES DISTRIBUIDAS
        • 4.4.1 Invocación de métodos remotos
          • 4.4.1.1 Objeto servidor
          • 4.4.1.2 Objeto cliente
          • 4.4.1.3 Método invocado
          • 4.4.1.4 Valor del retorno
          • 4.4.1.5 Infraestructura de comunicaciones para la invocación de métodos remotos
          • 4.4.1.6 Invocación de métodos remotos: proceso detallado
          • 4.4.1.7 Programación de aplicaciones cliente/servidor basadas en invocación de métodos remotos
            • 4.4.1.7.1 Interfaz remota
            • 4.4.1.7.2 Implementación del objeto servidor
          • 4.4.1.8 Implementación del objeto cliente
          • 4.4.1.9 Invocación de métodos remotos y otros modelos de comunicaciones
        • 4.4.2 Servicios web
          • 4.4.2.1 Servicios web SOAP
          • 4.4.2.2 Servicios web REST
      • 4.5 CASO PRÁCTICO
      • RESUMEN DEL CAPÍTULO
      • EJERCICIOS PROPUESTOS
      • TEST DE CONOCIMIENTOS
    • CAPÍTULO 5. UTILIZACIÓN DE TÉCNICAS DE PROGRAMACIÓN SEGURA
      • 5.1 CONCEPTOS BÁSICOS
        • 5.1.1 Aplicaciones de la criptografía
        • 5.1.2 Historia de la criptografía
      • 5.2 CARACTERÍSTICAS DE LOS SERVICIOS DE SEGURIDAD
        • 5.2.1 Estructura de un sistema secreto
        • 5.2.2 Herramientas de programación básicas para el cifrado
          • 5.2.2.1 Interfaz Key
          • 5.2.2.2 Interfaz KeySpec
            • 5.2.2.2.1 Generadores y factorías de claves
          • 5.2.2.3 Clase Cipher
      • 5.3 MODELO DE CLAVE PRIVADA
        • 5.3.1 Algoritmos de cifrado simétrico
          • 5.3.1.1 Algoritmo DES
          • 5.3.1.2 Algoritmo AES
        • 5.3.2 Programación de cifrado simétrico
        • 5.3.3 Resumen de información (función hash)
          • 5.3.3.1 Programación de resúmenes (HASHES)
          • 5.3.3.2 Clase MessageDigest
      • 5.4 MODELO DE CLAVE PÚBLICA
        • 5.4.1 Algoritmo RSA
        • 5.4.2 Programación de cifrado asimétrico
          • 5.4.2.1 Clase KeyPair
          • 5.4.2.2 Clase KeyPairGenerator
          • 5.4.2.3 Clase KeyFactory
        • 5.4.3 Firma digital
          • 5.4.3.1 Programación de firmado digital
          • 5.4.3.2 Certificados digitales
          • 5.4.3.3 Servicios en red seguros: protocolos SSL, TLS y SSH
            • 5.4.3.3.1 Programación con Sockets seguros
          • 5.4.3.4 Autoridades de certificación
      • 5.5 CONTROL DE ACCESO
      • 5.6 CASO PRÁCTICO
      • RESUMEN DEL CAPÍTULO
      • EJERCICIOS PROPUESTOS
      • TEST DE CONOCIMIENTOS
    • ÍNDICE ALFABÉTICO
  • CONTRAPORTADA

SUBSCRIBE TO OUR NEWSLETTER

By subscribing, you accept our Privacy Policy