1. Arquitecturas, lenguajes, herramientas y protocolos para utilización en Internet
🎯 Idea clave
- Las arquitecturas en Internet se basan en modelos de capas como TCP/IP, que permiten la interoperabilidad entre sistemas heterogéneos.
- Los lenguajes de programación en el SAS priorizan estándares abiertos y tecnologías alineadas con normativas de interoperabilidad.
- Las herramientas para gestión de contenidos en administraciones públicas suelen ser CMS de código abierto como Drupal o WordPress.
- Los protocolos definen reglas de comunicación, siendo HTTP/HTTPS, TCP/IP y DNS fundamentales para servicios web.
- La elección tecnológica en el SAS está condicionada por marcos normativos como el Esquema Nacional de Interoperabilidad.
- La accesibilidad y seguridad son requisitos legales en los servicios digitales del SAS, integrados en arquitecturas y protocolos.
📚 Desarrollo
Modelo de capas. La arquitectura de Internet se estructura en capas según modelos como TCP/IP, donde cada nivel proporciona servicios al superior sin exponer detalles de implementación. En el SAS, esta organización permite que servicios como portales de salud o sistemas de cita previa funcionen sobre protocolos estandarizados, garantizando interoperabilidad entre aplicaciones clínicas y administrativas.
Lenguajes predominantes. En el Servicio Andaluz de Salud, los lenguajes más utilizados son Java para aplicaciones de servidor, C# en entornos Microsoft, Python para análisis de datos y automatización, y JavaScript/TypeScript para interfaces web. Estos lenguajes se integran en arquitecturas corporativas que priorizan estándares abiertos, conforme al Esquema Nacional de Interoperabilidad y al Esquema Nacional de Seguridad.
Herramientas de gestión de contenidos. Las administraciones públicas, incluido el SAS, emplean CMS de código abierto como Drupal para portales complejos y WordPress para sitios informativos menores. Drupal destaca por su flexibilidad, control granular de permisos y soporte para taxonomías avanzadas, mientras que WordPress ofrece facilidad de uso y un amplio ecosistema de plugins. Ambos se alinean con los principios de reutilización y estándares abiertos promovidos por la Ley 40/2015.
Protocolos de comunicación. Los protocolos son esenciales para la comunicación entre sistemas, definiendo formatos de mensaje, secuencias de intercambio y mecanismos de corrección de errores. En el SAS, protocolos como HTTP/HTTPS (para transferencia web), TCP (transmisión fiable) e IP (encaminamiento) son la base de servicios como ClicSalud+ o la App Salud Andalucía. DNS resuelve nombres de dominio, mientras que TLS garantiza la seguridad en las comunicaciones.
Integración con sistemas corporativos. Los servicios digitales del SAS, como la consulta de historia clínica o la gestión de citas, no operan de forma aislada. Se integran con sistemas como Diraya mediante APIs REST o SOAP, utilizando protocolos como OAuth 2.0 para autenticación federada. Esta arquitectura distribuida permite la propagación inmediata de datos entre aplicaciones, cumpliendo con requisitos de interoperabilidad y seguridad.
Requisitos legales y técnicos. La normativa exige que los servicios digitales del SAS cumplan con accesibilidad WCAG 2.1 AA y seguridad en la transmisión de datos. Esto se refleja en el uso de HTML5 para interfaces, HTTPS para comunicaciones seguras y certificados digitales para autenticación. La infraestructura digital del SAS incluye componentes como cache web, CDN y proxy inverso para garantizar rendimiento y disponibilidad.
Gobernanza y autogestión. Los portales del SAS siguen un modelo de plantillas modulares y autogestión de contenidos, donde cada unidad mantiene sus datos dentro de un marco homogéneo. Esto facilita la actualización de información sin perder coherencia en diseño o estructura, alineándose con estrategias de modernización digital que priorizan usabilidad y accesibilidad.
🧩 Elementos esenciales
- TCP/IP: Modelo de capas que estructura la comunicación en Internet, con protocolos como IP (encaminamiento) y TCP (transmisión fiable).
- HTTP/HTTPS: Protocolos de aplicación para transferencia de hipertexto, con HTTPS añadiendo cifrado TLS para seguridad.
- DNS: Protocolo que resuelve nombres de dominio a direcciones IP, esencial para la navegación web.
- Drupal: CMS de código abierto recomendado para portales complejos en administraciones públicas, con soporte para taxonomías avanzadas.
- WordPress: CMS de código abierto para sitios informativos menores, con editor de bloques Gutenberg y amplio ecosistema de plugins.
- Java/JavaScript: Lenguajes predominantes en el SAS, Java para backend y JavaScript para interfaces web modernas.
- REST/SOAP: Protocolos para intercambio de datos entre aplicaciones, integrando sistemas como Diraya en el SAS.
- OAuth 2.0: Protocolo para autenticación y autorización federada, utilizado en servicios digitales del SAS.
- HTML5: Lenguaje de especificación para interfaces web, con APIs como Web Storage o WebSockets para funcionalidades avanzadas.
- Accesibilidad WCAG 2.1 AA: Requisito legal para servicios digitales del SAS, garantizando inclusión para todos los usuarios.
- Certificados digitales: Mecanismo de autenticación y cifrado en comunicaciones, obligatorio en servicios públicos en línea.
- Infraestructura digital común: Arquitectura del SAS que incluye cache, CDN y proxy inverso para optimizar rendimiento y seguridad.
🧠 Recuerda
- La arquitectura en capas TCP/IP permite la interoperabilidad entre sistemas heterogéneos.
- Los lenguajes en el SAS se eligen en función de arquitecturas corporativas y normativas de interoperabilidad.
- Drupal y WordPress son los CMS más utilizados en administraciones públicas por su alineación con estándares abiertos.
- HTTP/HTTPS, TCP/IP y DNS son protocolos fundamentales para servicios web en el SAS.
- La accesibilidad y seguridad son requisitos legales en los servicios digitales del SAS.
- Los servicios del SAS se integran con sistemas corporativos mediante APIs REST/SOAP y autenticación OAuth 2.0.
- HTML5 y certificados digitales son clave para cumplir con normativas de accesibilidad y seguridad.
- La infraestructura digital del SAS prioriza rendimiento, usabilidad y homogeneización de contenidos.
2. Lenguaje de especificación HTML: versiones y características
🎯 Idea clave
- HTML es el lenguaje de marcado estándar para la creación de documentos y aplicaciones web.
- HTML5 representa un cambio de paradigma al integrar sintaxis, APIs y modelos de procesamiento en una plataforma completa.
- Los principios de diseño de HTML5 priorizan compatibilidad retroactiva, accesibilidad y reducción de dependencias externas.
- HTML5 introduce elementos semánticos que mejoran la estructura y el significado del contenido web.
- La versión HTML5 elimina la necesidad de plugins externos para funcionalidades multimedia y avanzadas.
- HTML5 se mantiene como Living Standard, con actualizaciones continuas alineadas entre WHATWG y W3C.
📚 Desarrollo
Definición y alcance. HTML (HyperText Markup Language) es el lenguaje de marcado fundamental para la creación de documentos y aplicaciones web. Su función principal es definir la estructura y el significado semántico del contenido mediante etiquetas, permitiendo que navegadores y otros agentes interpreten y presenten la información de manera coherente. HTML5, como versión de referencia, no se limita a ampliar el catálogo de etiquetas, sino que se consolida como una plataforma integral de desarrollo web.
Evolución hacia HTML5. La versión HTML5, publicada como recomendación del W3C en octubre de 2014 y revisada en 2017, supuso una transformación radical respecto a versiones anteriores como HTML 4.01 o XHTML 1.0. A diferencia de sus predecesores, HTML5 no solo estandariza la sintaxis del marcado, sino que también incorpora APIs de JavaScript, modelos de procesamiento de documentos (DOM) y mecanismos de comunicación, creando un ecosistema unificado para el desarrollo web moderno.
Principios de diseño. Los principios que guían HTML5, recogidos en el documento de diseño del WHATWG, incluyen la compatibilidad retroactiva, que garantiza que documentos creados con versiones anteriores sigan funcionando sin modificaciones. Otro principio clave es la separación entre contenido y presentación, facilitando la accesibilidad y el mantenimiento. Además, HTML5 prioriza al usuario sobre los autores y a los navegadores sobre las especificaciones, promoviendo implementaciones prácticas y consistentes.
Elementos semánticos. Una de las innovaciones más significativas de HTML5 es la introducción de elementos semánticos como <header>, <footer>, <nav>, <article>, <section>, <aside> y <main>. Estos elementos permiten estructurar los documentos con un significado claro, más allá de la mera organización visual. Esta semántica mejora la accesibilidad para usuarios con discapacidades, optimiza la indexación por motores de búsqueda y facilita el mantenimiento del código.
Formularios y validación. HTML5 revolucionó la creación de formularios con la incorporación de nuevos tipos de <input>, como date, email, range, number y tel. Estos tipos no solo mejoran la experiencia del usuario al adaptar los controles de entrada a los datos solicitados, sino que también permiten la validación nativa de datos sin necesidad de recurrir a JavaScript. Esto simplifica el desarrollo y reduce la dependencia de código externo para tareas básicas.
Multimedia nativa. Antes de HTML5, la incorporación de contenido multimedia en páginas web requería el uso de plugins externos como Flash o Silverlight. HTML5 eliminó esta dependencia con la introducción de los elementos <video> y <audio>, que permiten la reproducción de contenido multimedia de forma nativa en los navegadores. Esto no solo mejora la compatibilidad y el rendimiento, sino que también reduce los riesgos de seguridad asociados a los plugins obsoletos.
APIs avanzadas. HTML5 integra un conjunto de APIs de JavaScript que amplían significativamente las capacidades de las aplicaciones web. Entre estas destacan la Geolocation API, que permite acceder a la ubicación del usuario; Web Storage, que ofrece mecanismos de almacenamiento local como localStorage y sessionStorage; y Web Workers, que permiten ejecutar scripts en segundo plano sin bloquear la interfaz de usuario. Otras APIs relevantes incluyen WebSocket para comunicación bidireccional en tiempo real y Service Workers para la creación de Progressive Web Apps (PWA).
Gráficos y animaciones. HTML5 introdujo herramientas poderosas para la creación de gráficos y animaciones directamente en el navegador. El elemento <canvas> permite el dibujo programático de gráficos 2D y 3D mediante JavaScript, mientras que SVG (Scalable Vector Graphics) facilita la inclusión de gráficos vectoriales escalables directamente en el marcado HTML. Estas funcionalidades eliminan la necesidad de plugins externos y ofrecen un control preciso sobre la presentación visual del contenido.
🧩 Elementos esenciales
- HTML5 como plataforma: No solo es un lenguaje de marcado, sino una plataforma completa que incluye sintaxis, APIs y modelos de procesamiento.
- Compatibilidad retroactiva: Los documentos creados con versiones anteriores de HTML siguen siendo válidos en HTML5.
- Elementos semánticos:
<header>, <footer>, <nav>, <article>, <section>, <aside> y <main> mejoran la estructura y accesibilidad.
- Formularios mejorados: Nuevos tipos de
<input> como date, email y number permiten validación nativa sin JavaScript.
- Multimedia nativa: Los elementos
<video> y <audio> eliminan la necesidad de plugins externos como Flash.
- Canvas y SVG:
<canvas> para gráficos programáticos y SVG para gráficos vectoriales escalables.
- APIs JavaScript: Geolocation, Web Storage, Web Workers, WebSocket y Service Workers amplían las capacidades de las aplicaciones web.
- Living Standard: HTML5 se mantiene como un estándar vivo, con actualizaciones continuas coordinadas entre WHATWG y W3C.
- Accesibilidad: Los principios de diseño de HTML5 priorizan la accesibilidad desde la base del desarrollo.
- Reducción de plugins: HTML5 minimiza la dependencia de plugins externos para funcionalidades avanzadas.
🧠 Recuerda
- HTML es el lenguaje base para la creación de documentos y aplicaciones web.
- HTML5 no es solo una actualización de etiquetas, sino una plataforma integral de desarrollo.
- Los elementos semánticos de HTML5 mejoran la estructura, accesibilidad e indexación del contenido.
- HTML5 permite la validación nativa de formularios sin necesidad de JavaScript.
- La multimedia en HTML5 es nativa, eliminando la dependencia de plugins externos.
- Las APIs de HTML5 amplían las capacidades de las aplicaciones web sin recurrir a soluciones externas.
- HTML5 se mantiene como un estándar vivo, con actualizaciones continuas y coordinadas.
- La compatibilidad retroactiva garantiza que documentos antiguos sigan funcionando en navegadores modernos.
- La separación entre contenido y presentación es un principio clave de HTML5.
- HTML5 prioriza al usuario y a los navegadores sobre las especificaciones teóricas.
3. El protocolo HTTP: versiones y características
🎯 Idea clave
- HTTP es el protocolo de la capa de aplicación que sustenta la comunicación en la World Wide Web mediante un modelo petición-respuesta sin estado.
- Las versiones de HTTP comparten la misma semántica pero difieren en sintaxis, transporte y eficiencia.
- HTTP/1.1 introdujo conexiones persistentes y caché, mejorando el rendimiento respecto a HTTP/1.0.
- HTTP/2 optimizó la transferencia mediante multiplexación, compresión de cabeceras y server push.
- HTTP/3 utiliza QUIC sobre UDP para eliminar el bloqueo de cabeza de línea y mejorar el rendimiento en redes inestables.
- HTTPS, basado en TLS, garantiza confidencialidad, autenticación e integridad en las comunicaciones web.
📚 Desarrollo
Definición y modelo básico. HTTP (HyperText Transfer Protocol) es el protocolo estándar de la capa de aplicación para la transferencia de datos en la web. Opera bajo un modelo petición-respuesta sin estado, donde el cliente (generalmente un navegador) envía una solicitud al servidor, que devuelve el recurso solicitado o un código de error. Este modelo simplifica la implementación pero requiere mecanismos adicionales para gestionar sesiones y estados [1].
Estructura de mensajes. Tanto las peticiones como las respuestas HTTP siguen una estructura común: una línea inicial (con método, URI y versión en peticiones; código de estado y versión en respuestas), cabeceras que contienen metadatos, una línea en blanco y, opcionalmente, un cuerpo con los datos. Las cabeceras, como Host, Content-Type o Authorization, permiten negociar formatos, autenticación y otras funcionalidades [3].
Métodos principales. Los métodos HTTP definen la acción a realizar sobre un recurso. GET solicita datos sin modificar el servidor, mientras que POST envía información para crear o procesar recursos. PUT reemplaza un recurso existente, PATCH lo modifica parcialmente, y DELETE lo elimina. HEAD y OPTIONS son métodos seguros que no alteran el estado del servidor y se usan para obtener metadatos o información sobre las capacidades del recurso [4].
Códigos de estado. Las respuestas HTTP incluyen códigos numéricos que indican el resultado de la petición. Los códigos 2xx (como 200 OK o 201 Created) señalan éxito, los 3xx (301 Moved Permanently, 302 Found) redirecciones, los 4xx (404 Not Found, 403 Forbidden) errores del cliente, y los 5xx (500 Internal Server Error, 503 Service Unavailable) errores del servidor. Estos códigos son esenciales para el diagnóstico y la gestión de errores en aplicaciones web [2].
HTTP/1.1: la versión dominante. HTTP/1.1, definido inicialmente en el RFC 2616 y actualizado en los RFC 7230-7235, introdujo mejoras clave como conexiones persistentes (keep-alive), que permiten reutilizar una misma conexión TCP para múltiples peticiones, reduciendo la latencia. También incorporó mecanismos de caché más robustos y la obligatoriedad del encabezado Host, que facilita la virtualización de servidores [1].
HTTP/2: eficiencia y multiplexación. HTTP/2, estandarizado en el RFC 7540, supuso un salto cualitativo en rendimiento. Utiliza multiplexación para enviar múltiples peticiones y respuestas en paralelo sobre una única conexión TCP, eliminando la serialización de HTTP/1.1. Incorpora compresión de cabeceras mediante HPACK y permite al servidor enviar recursos proactivamente (server push), anticipándose a las necesidades del cliente. Estas mejoras reducen significativamente la latencia y optimizan el uso del ancho de banda [1].
HTTP/3: QUIC y UDP. HTTP/3, definido en el RFC 9114, abandona TCP como capa de transporte y adopta QUIC sobre UDP. QUIC resuelve el problema del bloqueo de cabeza de línea (head-of-line blocking) inherente a TCP, mejorando el rendimiento en redes con pérdida de paquetes. Además, integra TLS 1.3 de forma nativa, acelerando el establecimiento de conexiones seguras. Esta versión es especialmente relevante para entornos con alta latencia o inestabilidad de red [1].
HTTPS y seguridad. HTTPS (HTTP Secure) es la versión cifrada de HTTP, que utiliza TLS para garantizar confidencialidad, autenticación e integridad. TLS cifra la comunicación, autentica el servidor mediante certificados digitales X.509 y protege contra manipulaciones. Desde 2018, los navegadores marcan los sitios HTTP como "No seguros", y el Esquema Nacional de Seguridad exige HTTPS para todos los servicios web de las administraciones públicas [3].
🧩 Elementos esenciales
- HTTP/1.0: Primera versión estandarizada (RFC 1945), con conexiones efímeras y sin mecanismos avanzados de caché.
- HTTP/1.1: Versión dominante durante años, con conexiones persistentes, caché mejorada y obligatoriedad del encabezado
Host.
- HTTP/2: Introduce multiplexación, compresión de cabeceras (HPACK) y server push para optimizar el rendimiento.
- HTTP/3: Utiliza QUIC sobre UDP, eliminando el bloqueo de cabeza de línea y mejorando la eficiencia en redes inestables.
- Métodos HTTP:
GET (solicitud de recursos), POST (envío de datos), PUT (reemplazo), PATCH (modificación parcial), DELETE (eliminación), HEAD (metadatos) y OPTIONS (capacidades).
- Códigos de estado: 1xx (información), 2xx (éxito), 3xx (redirección), 4xx (error del cliente), 5xx (error del servidor).
- Cabeceras HTTP: Metadatos como
Host, Content-Type, Authorization, Cache-Control o ETag que controlan el comportamiento de peticiones y respuestas.
- HTTPS: HTTP sobre TLS, garantizando confidencialidad, autenticación e integridad mediante certificados digitales.
- Idempotencia: Propiedad de métodos como
GET, PUT o DELETE, donde ejecutar la misma petición varias veces produce el mismo resultado.
- Seguridad: Métodos como
GET y HEAD son seguros porque no modifican el estado del servidor, a diferencia de POST o PUT.
🧠 Recuerda
- HTTP es un protocolo sin estado, lo que simplifica su implementación pero requiere mecanismos externos para gestionar sesiones.
- Las versiones de HTTP comparten semántica pero difieren en transporte y eficiencia.
- HTTP/1.1 introdujo conexiones persistentes y mejoras en caché, optimizando el rendimiento respecto a HTTP/1.0.
- HTTP/2 revolucionó el protocolo con multiplexación, compresión de cabeceras y server push.
- HTTP/3 utiliza QUIC sobre UDP para resolver limitaciones de TCP y mejorar el rendimiento en redes inestables.
- Los métodos HTTP definen la acción sobre un recurso, siendo
GET seguro e idempotente, y POST no idempotente.
- Los códigos de estado HTTP son clave para diagnosticar errores y gestionar respuestas.
- HTTPS es obligatorio en entornos públicos y administrativos para garantizar seguridad y cumplimiento normativo.
- Las cabeceras HTTP permiten negociar formatos, autenticación, caché y otras funcionalidades esenciales.
- La evolución de HTTP refleja la adaptación a las necesidades de rendimiento, seguridad y escalabilidad de la web moderna.
4. Lenguaje XML
🎯 Idea clave
- XML es un lenguaje de marcado extensible definido por el W3C para representar información estructurada en texto plano.
- Su objetivo principal es expresar la estructura lógica y jerarquía de los datos, no su presentación visual.
- XML es un metalenguaje que permite crear vocabularios personalizados para dominios específicos, como el sanitario.
- Se utiliza ampliamente en el intercambio de datos entre sistemas heterogéneos, especialmente en el ámbito sanitario.
- En el SAS, XML es la base de estándares como HL7 v3, CDA y SOAP para la interoperabilidad de sistemas.
- Los documentos XML deben ser bien formados y pueden validarse mediante esquemas como DTD o XML Schema.
📚 Desarrollo
Definición y naturaleza. XML (eXtensible Markup Language) es un lenguaje de marcado desarrollado por el W3C para almacenar y transportar datos estructurados de forma legible tanto por humanos como por máquinas. A diferencia de HTML, que tiene un conjunto fijo de etiquetas con semántica predefinida, XML permite definir etiquetas propias adaptadas a cada dominio de aplicación. Esta flexibilidad lo convierte en un estándar universal para el intercambio de datos entre sistemas heterogéneos.
Metalenguaje y extensibilidad. XML es un metalenguaje, lo que significa que no proporciona un repertorio cerrado de etiquetas, sino un conjunto de reglas para crear vocabularios propios. Cada ámbito puede definir sus elementos, atributos y relaciones, siempre que respete la sintaxis del lenguaje y, en su caso, las reglas de validación adoptadas. Esta característica es fundamental en entornos como el sanitario, donde se requieren estructuras de datos complejas y específicas.
Aplicación en el ámbito sanitario. En el Servicio Andaluz de Salud (SAS), XML es la base de estándares de interoperabilidad críticos. HL7 v3 y CDA (Clinical Document Architecture) utilizan XML para estructurar documentos clínicos electrónicos, como informes de alta, recetas o resultados de laboratorio. Estos estándares permiten el intercambio de información clínica entre niveles asistenciales, garantizando la continuidad asistencial. Además, el protocolo SOAP, basado en XML, se emplea en integraciones de sistemas legados del SAS.
Tecnologías asociadas. XML no opera de forma aislada, sino que se complementa con tecnologías como DTD y XML Schema (XSD), que definen la estructura válida de un documento. XPath permite navegar y seleccionar nodos en un árbol XML, mientras que XSLT se utiliza para transformar documentos XML en otros formatos, como HTML o texto plano. Estas herramientas son esenciales para procesar y manipular datos en sistemas sanitarios, donde la precisión y la estandarización son prioritarias.
Validación y bien formado. Un documento XML debe ser bien formado, es decir, debe cumplir las reglas sintácticas básicas del lenguaje, como el uso correcto de etiquetas de apertura y cierre, anidamiento adecuado y atributos entre comillas. Además, puede ser válido si se ajusta a un esquema definido mediante DTD o XML Schema. La validación garantiza que los datos cumplen con las reglas específicas del dominio, lo que es crucial en entornos sanitarios para evitar errores en la transmisión de información clínica.
Comparación con otros formatos. Aunque JSON ha ganado popularidad en aplicaciones web por su simplicidad y menor verbosidad, XML mantiene una presencia importante en sistemas empresariales y en la interoperabilidad administrativa. En el ámbito sanitario, su capacidad para representar estructuras complejas y su integración con estándares como HL7 lo hacen insustituible en muchos escenarios. El SAS, por ejemplo, sigue utilizando XML en sistemas críticos como la Historia de Salud Digital de Andalucía (HSDA).
Relevancia en el SAS. El SAS emplea XML en múltiples sistemas de información, como el módulo de prescripción electrónica Receta XXI o los sistemas de gestión de urgencias. La Dirección General de Sistemas de Información Sanitaria (DGSIS) y las unidades de seguridad del SAS supervisan la implementación de estos estándares para garantizar la confidencialidad, integridad y disponibilidad de los datos. La adopción de XML en estos sistemas refleja su importancia en la gestión de datos de salud, una categoría especial según el RGPD.
🧩 Elementos esenciales
- XML (eXtensible Markup Language): Lenguaje de marcado definido por el W3C para representar datos estructurados en texto plano.
- Metalenguaje: XML permite crear vocabularios personalizados para dominios específicos, como el sanitario.
- Bien formado: Un documento XML debe cumplir reglas sintácticas básicas, como etiquetas de apertura y cierre correctas.
- Válido: Un documento XML puede validarse contra un esquema (DTD o XML Schema) para garantizar su conformidad con reglas específicas.
- HL7 v3 y CDA: Estándares sanitarios basados en XML para el intercambio de información clínica, utilizados en el SAS.
- SOAP: Protocolo de mensajería basado en XML para servicios web, empleado en integraciones del SAS.
- XPath: Lenguaje de consulta para navegar y seleccionar nodos en un árbol XML.
- XSLT: Lenguaje para transformar documentos XML en otros formatos, como HTML o texto plano.
- DTD y XML Schema: Esquemas que definen la estructura válida de un documento XML.
- Interoperabilidad: XML facilita el intercambio de datos entre sistemas heterogéneos, clave en el ámbito sanitario.
- Historia de Salud Digital de Andalucía (HSDA): Sistema del SAS que utiliza estándares basados en XML para la gestión de información clínica.
- Receta XXI: Módulo de prescripción electrónica del SAS que emplea XML para la transmisión de datos.
🧠 Recuerda
- XML es un lenguaje de marcado extensible, no un lenguaje de presentación como HTML.
- Su flexibilidad permite crear vocabularios específicos para cada dominio, como el sanitario.
- En el SAS, XML es la base de estándares como HL7 v3, CDA y SOAP.
- Un documento XML debe ser bien formado y puede ser válido si cumple con un esquema definido.
- XPath y XSLT son herramientas clave para consultar y transformar documentos XML.
- XML sigue siendo relevante en sistemas empresariales y sanitarios, a pesar del auge de JSON.
- La validación de documentos XML es esencial para garantizar la integridad de los datos en entornos críticos.
- El SAS utiliza XML en sistemas como la HSDA y Receta XXI para la interoperabilidad entre niveles asistenciales.
- XML es independiente de plataforma, lo que lo hace ideal para el intercambio de datos entre sistemas heterogéneos.
- La adopción de XML en el SAS refleja su importancia en la gestión de datos de salud, una categoría especial según el RGPD.
5. Desarrollo de aplicaciones web en el cliente
🎯 Idea clave
- El desarrollo de aplicaciones web en el cliente, o frontend, se ejecuta en el navegador del usuario y se centra en la interfaz y experiencia de usuario.
- Se basa en tres tecnologías fundamentales: HTML para la estructura, CSS para la presentación y JavaScript para el comportamiento dinámico.
- Los frameworks modernos como React, Angular y Vue.js facilitan la creación de aplicaciones complejas mediante componentes reutilizables.
- Las aplicaciones de página única (SPA) y las Progressive Web Apps (PWA) representan la evolución hacia experiencias más fluidas y similares a las nativas.
- La colaboración entre cliente y servidor se realiza mediante llamadas asíncronas como AJAX, Fetch API o WebSockets.
- La accesibilidad y el rendimiento, medido por Core Web Vitals, son aspectos críticos en el desarrollo frontend actual.
📚 Desarrollo
Definición y alcance. El desarrollo de aplicaciones web en el cliente comprende el conjunto de tecnologías, técnicas y herramientas cuyo código se descarga desde el servidor y se ejecuta en el navegador del usuario. Este enfoque permite interfaces interactivas y responsivas sin necesidad de recargar la página para cada acción, mejorando la experiencia del usuario. El navegador actúa como entorno de ejecución, interpretando y renderizando el código frontend.
Tecnologías base. El desarrollo frontend se sustenta en tres pilares fundamentales definidos por el W3C: HTML, que proporciona la estructura y semántica del contenido; CSS, encargado de la presentación y el diseño visual; y JavaScript, que aporta el comportamiento dinámico e interactividad. Estas tecnologías son la base sobre la que se construyen todas las aplicaciones web accesibles desde un navegador, desde portales informativos hasta sistemas de gestión clínica en entornos como el Servicio Andaluz de Salud.
Evolución y frameworks. El frontend ha evolucionado desde páginas estáticas hasta aplicaciones complejas como Single Page Applications (SPA) y Progressive Web Apps (PWA), que ofrecen funcionalidades comparables a las aplicaciones de escritorio. Los frameworks modernos, como React, Angular y Vue.js, simplifican el desarrollo al gestionar el estado, el enrutamiento, la renderización del DOM y la comunicación con el servidor. Estos frameworks permiten construir interfaces mediante componentes reutilizables, mejorando la mantenibilidad y escalabilidad del código.
React y su ecosistema. React, mantenido por Meta, es la biblioteca frontend más utilizada. Su modelo de componentes con JSX, los hooks (como useState o useEffect) y su ecosistema de herramientas (React Router, Redux, TanStack Query) lo han consolidado como referencia. La filosofía de unidirectional data flow y la inmutabilidad facilitan el razonamiento sobre el estado de la aplicación. Además, las últimas versiones incorporan Server Components y Server Actions, ampliando sus capacidades para renderizado en servidor.
Angular y Vue.js. Angular, desarrollado por Google, es un framework completo basado en TypeScript que incluye sistema de componentes, inyección de dependencias, enrutamiento y cliente HTTP integrado. Su enfoque estructurado y su calendario de versiones regular lo hacen ideal para proyectos empresariales. Por su parte, Vue.js, creado por Evan You, es un framework progresivo que combina componentes, Virtual DOM y vinculación bidireccional, permitiendo una adopción incremental. Svelte, otro framework relevante, compila los componentes a JavaScript optimizado sin necesidad de Virtual DOM en tiempo de ejecución.
SPA y PWA. Las Single Page Applications (SPA) cargan una única página HTML y actualizan el contenido dinámicamente mediante JavaScript, ofreciendo una experiencia fluida pero planteando desafíos en SEO y accesibilidad. Las Progressive Web Apps (PWA), por su parte, son aplicaciones web que pueden instalarse en dispositivos, funcionar offline mediante Service Workers, recibir notificaciones push y ofrecer una experiencia similar a las aplicaciones nativas. Las PWA requieren un manifest.json, un Service Worker y el uso de HTTPS para cumplir con sus criterios.
Tendencias actuales. Las tendencias en desarrollo frontend incluyen el crecimiento de Server Components y el renderizado en servidor (SSR), la adopción de inteligencia artificial generativa en herramientas de desarrollo, y la consolidación de TypeScript como estándar para tipado estático. También destacan la optimización para Core Web Vitals, el uso de WebAssembly para componentes de alto rendimiento, y las arquitecturas islands con hidratación selectiva. La accesibilidad, medida por estándares como WCAG 2.1, es un requisito legal en aplicaciones públicas, incluyendo las del SAS.
Herramientas y entornos. Los entornos de desarrollo frontend han evolucionado con herramientas como Vite, que ha sustituido a Webpack como bundler dominante, y meta-frameworks como Next.js (para React) o Nuxt (para Vue). Estas herramientas facilitan el desarrollo al integrar funcionalidades como renderizado en servidor, generación estática y optimización de rendimiento. Además, soluciones como Tailwind CSS o Bootstrap agilizan el diseño visual, mientras que herramientas de testing como Jest o Playwright garantizan la calidad del código.
🧩 Elementos esenciales
- HTML: Lenguaje de marcado para definir la estructura y semántica del contenido web.
- CSS: Lenguaje para estilizar y diseñar la presentación visual de las aplicaciones.
- JavaScript: Lenguaje de programación que aporta interactividad y comportamiento dinámico en el cliente.
- React: Biblioteca frontend más utilizada, basada en componentes y mantenida por Meta.
- Angular: Framework completo de Google, basado en TypeScript, con inyección de dependencias y enrutamiento integrado.
- Vue.js: Framework progresivo creado por Evan You, con adopción incremental y vinculación bidireccional.
- Svelte: Framework que compila componentes a JavaScript optimizado sin Virtual DOM en tiempo de ejecución.
- SPA (Single Page Application): Aplicación que carga una única página HTML y actualiza el contenido dinámicamente.
- PWA (Progressive Web App): Aplicación web instalable que funciona offline y ofrece experiencia similar a una nativa.
- Service Workers: Tecnología base de las PWA que permite funcionalidades offline y notificaciones push.
- TypeScript: Lenguaje de tipado estático sobre JavaScript, desarrollado por Microsoft.
- Vite: Bundler moderno que ha sustituido a Webpack como herramienta dominante en desarrollo frontend.
- Next.js: Meta-framework para React que incorpora renderizado en servidor y generación estática.
- Nuxt: Meta-framework equivalente a Next.js, pero para Vue.js.
- Core Web Vitals: Métricas de Google para evaluar el rendimiento y experiencia de usuario en aplicaciones web.
- WCAG 2.1: Estándar de accesibilidad web exigido por normativa, como el RD 1112/2018.
🧠 Recuerda
- El desarrollo frontend se ejecuta en el navegador y se basa en HTML, CSS y JavaScript.
- Los frameworks como React, Angular y Vue.js facilitan la creación de aplicaciones complejas mediante componentes.
- Las SPA ofrecen experiencias fluidas pero requieren atención especial en SEO y accesibilidad.
- Las PWA permiten funcionalidades offline y notificaciones push, acercándose a las aplicaciones nativas.
- TypeScript aporta tipado estático y es ampliamente adoptado en proyectos frontend.
- Vite es el bundler más utilizado actualmente, reemplazando a Webpack en muchos casos.
- La accesibilidad y el rendimiento son requisitos críticos en aplicaciones públicas.
- Los Service Workers son esenciales para las funcionalidades offline de las PWA.
- Next.js y Nuxt son meta-frameworks que amplían las capacidades de React y Vue.js, respectivamente.
- Las tendencias actuales incluyen Server Components, IA generativa y optimización para Core Web Vitals.
6. Desarrollo de aplicaciones web en el servidor
🎯 Idea clave
- El desarrollo de aplicaciones web en el servidor, o backend, se refiere al conjunto de tecnologías y componentes que se ejecutan en el servidor web, no en el navegador del usuario.
- Su función principal es procesar peticiones HTTP, ejecutar la lógica de negocio, acceder a bases de datos y generar respuestas para el cliente.
- En el Servicio Andaluz de Salud (SAS), el backend sustenta sistemas críticos como los de información clínica, portales para ciudadanos y profesionales, y APIs de interoperabilidad.
- La separación entre frontend y backend se articula mediante interfaces definidas, como APIs REST, SOAP o GraphQL, que permiten la comunicación entre ambas capas.
- El backend gestiona aspectos clave como la seguridad, la autenticación, la persistencia de datos y la integración con otros sistemas.
- Su dominio es esencial para técnicos especialistas en informática, ya que combina programación, arquitectura, seguridad y explotación de servicios.
📚 Desarrollo
Definición y alcance. El desarrollo de aplicaciones web en el servidor comprende el código y las tecnologías que se ejecutan en el servidor web, procesando peticiones entrantes y generando respuestas dinámicas. A diferencia del frontend, que se ejecuta en el navegador del usuario, el backend opera en un entorno controlado, gestionando la lógica de negocio, el acceso a datos y la seguridad. Esta capa es fundamental para garantizar la funcionalidad, la escalabilidad y la robustez de los sistemas web.
Complementariedad con el frontend. El backend y el frontend son capas complementarias que interactúan mediante interfaces bien definidas. Mientras el frontend se encarga de la presentación y la interacción con el usuario, el backend se ocupa de la lógica subyacente, la persistencia de datos y la integración con otros sistemas. La comunicación entre ambas capas se realiza a través de APIs, que pueden seguir estándares como REST, SOAP o GraphQL, permitiendo una separación clara de responsabilidades y facilitando el desarrollo modular.
Aplicación en el SAS. En el Servicio Andaluz de Salud, el backend es la base sobre la que se construyen los sistemas de información clínica, los portales para ciudadanos y profesionales —como ClicSalud+ y la Ventanilla Electrónica de Profesionales—, y las APIs de integración con el Sistema Nacional de Salud (SNS) y otras plataformas corporativas. Estos sistemas requieren una infraestructura backend robusta para gestionar grandes volúmenes de datos, garantizar la seguridad y ofrecer servicios interoperables entre distintos centros sanitarios.
Tecnologías y lenguajes. El desarrollo backend en el SAS puede involucrar diversos lenguajes de programación, marcos de trabajo y tecnologías, dependiendo de los requisitos específicos de cada sistema. Entre los lenguajes más utilizados se encuentran Java, Python, PHP o Node.js, mientras que los marcos de trabajo pueden incluir Spring, Django o Laravel. La elección de estas tecnologías depende de factores como la escalabilidad, el rendimiento y la compatibilidad con la infraestructura existente.
Seguridad y autenticación. Uno de los aspectos críticos del backend es la gestión de la seguridad, que incluye la autenticación de usuarios, la autorización de accesos y la protección de datos sensibles. En el SAS, los sistemas backend implementan mecanismos robustos de control de acceso basado en roles (RBAC), garantizando que cada profesional acceda únicamente a la información que le corresponde según su perfil. Además, se aplican protocolos de cifrado y medidas de protección contra amenazas como inyecciones SQL o ataques de denegación de servicio.
Integración y interoperabilidad. El backend también es responsable de la integración con otros sistemas, tanto internos como externos. En el contexto del SAS, esto implica la conexión con bases de datos clínicas, sistemas de laboratorio, plataformas de telemedicina y otros servicios del Sistema Nacional de Salud. La interoperabilidad se logra mediante el uso de estándares y protocolos comunes, como HL7 o FHIR, que facilitan el intercambio de información entre sistemas heterogéneos.
Arquitecturas de referencia. Las arquitecturas backend en el SAS suelen seguir modelos como la arquitectura en capas (N-tier), que divide el sistema en capas con responsabilidades separadas (presentación, lógica de negocio y acceso a datos). También se emplean arquitecturas orientadas a servicios (SOA) y, en sistemas más modernos, microservicios, que permiten una mayor escalabilidad y flexibilidad. Estas arquitecturas facilitan el mantenimiento, la evolución y la integración de los sistemas sanitarios.
Herramientas y entornos. El desarrollo backend en el SAS se apoya en herramientas de desarrollo, testing y despliegue que optimizan el ciclo de vida de las aplicaciones. Entre estas herramientas se incluyen entornos de desarrollo integrados (IDE), sistemas de control de versiones como Git, y plataformas de integración y despliegue continuo (CI/CD). Además, se utilizan bases de datos relacionales y no relacionales, cachés como Redis, y motores de búsqueda como Elasticsearch para gestionar grandes volúmenes de datos de manera eficiente.
🧩 Elementos esenciales
- Backend: Capa de software que se ejecuta en el servidor, encargada de procesar peticiones, ejecutar lógica de negocio y generar respuestas para el cliente.
- APIs: Interfaces que permiten la comunicación entre el frontend y el backend, utilizando estándares como REST, SOAP o GraphQL.
- Lógica de negocio: Conjunto de reglas y procesos que definen el funcionamiento de una aplicación, gestionados en el servidor.
- Persistencia de datos: Almacenamiento y gestión de datos en bases de datos relacionales o no relacionales, accesibles desde el backend.
- Seguridad: Mecanismos de autenticación, autorización y protección de datos implementados en el backend para garantizar la confidencialidad y la integridad.
- Integración: Conexión del backend con otros sistemas internos o externos, utilizando estándares y protocolos de interoperabilidad.
- Arquitectura en capas (N-tier): Modelo que divide el sistema en capas con responsabilidades separadas, como presentación, lógica de negocio y acceso a datos.
- SOA (Arquitectura Orientada a Servicios): Enfoque que organiza el sistema como un conjunto de servicios interoperables e independientes, facilitando la integración.
- Microservicios: Variante de SOA con servicios más granulares, independientemente desplegables y escalables, utilizada en sistemas modernos.
- Control de acceso basado en roles (RBAC): Mecanismo de seguridad que restringe el acceso a la información según el perfil del usuario.
- Herramientas de desarrollo: Entornos y plataformas como IDEs, Git o CI/CD que optimizan el ciclo de vida de las aplicaciones backend.
- Bases de datos: Sistemas de almacenamiento relacionales (como PostgreSQL) o no relacionales (como MongoDB) utilizados para gestionar datos en el backend.
🧠 Recuerda
- El backend es la capa que ejecuta la lógica de negocio y gestiona los datos en el servidor, no en el navegador.
- Su función principal es procesar peticiones HTTP y generar respuestas dinámicas para el cliente.
- En el SAS, el backend sustenta sistemas críticos como los portales de salud, las APIs de interoperabilidad y los sistemas de información clínica.
- La comunicación entre frontend y backend se realiza mediante APIs, que pueden ser REST, SOAP o GraphQL.
- La seguridad, la autenticación y el control de acceso son aspectos fundamentales del backend en entornos sanitarios.
- Las arquitecturas backend más utilizadas en el SAS incluyen la arquitectura en capas, SOA y microservicios.
- El backend integra sistemas heterogéneos mediante estándares y protocolos de interoperabilidad.
- Herramientas como Git, CI/CD y bases de datos son esenciales para el desarrollo y despliegue de aplicaciones backend.
- El control de acceso basado en roles (RBAC) garantiza que cada usuario acceda solo a la información que le corresponde.
- La elección de tecnologías backend depende de requisitos como escalabilidad, rendimiento y compatibilidad con la infraestructura existente.
7. Componentes distribuidos
🎯 Idea clave
- Los componentes distribuidos son unidades de software autónomas que se ejecutan en nodos distintos y se comunican mediante protocolos para ofrecer funcionalidad conjunta.
- Su diseño permite escalar sistemas, mejorar la tolerancia a fallos y facilitar la evolución independiente de cada componente.
- La comunicación entre componentes puede ser síncrona, donde el llamante espera respuesta, o asíncrona, donde el proceso se desacopla en el tiempo.
- Un contrato claro y preciso es fundamental para garantizar la integración efectiva entre componentes distribuidos.
- La distribución introduce desafíos técnicos como latencia, fallos parciales, seguridad y complejidad en la coordinación.
- En el ámbito sanitario, como el SAS, los componentes distribuidos son clave para integrar sistemas como historia clínica, laboratorio o farmacia.
📚 Desarrollo
Definición y propósito. Los componentes distribuidos son piezas de software autónomas que operan en máquinas distintas, posiblemente en redes diferentes, y colaboran mediante protocolos definidos. Su objetivo es descomponer sistemas complejos en partes especializadas, cada una desplegable y escalable de forma independiente, lo que facilita la construcción de soluciones robustas y flexibles.
Evolución histórica. La computación distribuida ha evolucionado desde tecnologías propietarias como CORBA o DCOM en los años noventa hasta los servicios web SOAP en los 2000. Actualmente, predominan los servicios REST con HTTP y JSON, junto con arquitecturas como microservicios y serverless. Tecnologías como gRPC, GraphQL y modelos event-driven complementan el panorama actual, adaptándose a necesidades de rendimiento y escalabilidad.
Comunicación y protocolos. La comunicación entre componentes distribuidos requiere un diseño preciso, basado en contratos que definen entradas, salidas, errores y reglas de uso. HTTP sigue siendo el protocolo dominante en Internet, con versiones como HTTP/2 y HTTP/3 que mejoran el transporte y el rendimiento. Un componente bien diseñado aprovecha las reglas del protocolo para expresar operaciones seguras, idempotentes o con contenido transferible.
Modelos de comunicación. Existen dos modelos principales: síncrono, donde el llamante espera una respuesta inmediata (ejemplo: RPC, SOAP, REST), y asíncrono, donde el proceso se desacopla en el tiempo (ejemplo: mensajería con JMS, RabbitMQ o Kafka). La elección entre ambos depende de los requisitos de latencia, tolerancia a fallos y escalabilidad del sistema.
Elementos constitutivos. Todo componente distribuido se sustenta en seis elementos clave: el contrato o interfaz pública, que describe las operaciones y reglas de uso; la implementación, que materializa el contrato en código; el mecanismo de comunicación, como HTTP o colas de mensajería; la representación de datos, donde JSON y XML son formatos dominantes; el despliegue, que permite ejecutar el componente en nodos distintos; y la gestión de errores, esencial para manejar fallos parciales en entornos distribuidos.
Aplicación en el SAS. En el Servicio Andaluz de Salud, los componentes distribuidos son la base de la integración entre sistemas como Diraya, historia clínica, laboratorio o farmacia. Los servicios web, especialmente SOAP y REST, permiten la reutilización e interoperabilidad entre plataformas heterogéneas, garantizando la coherencia y disponibilidad de la información sanitaria.
Retos técnicos. La distribución introduce desafíos como la latencia, que afecta al rendimiento; los fallos parciales, donde una parte del sistema puede dejar de funcionar sin afectar al resto; la seguridad, que exige mecanismos de autenticación y cifrado; y la consistencia, que requiere estrategias para manejar versiones y actualizaciones sin interrumpir el servicio.
🧩 Elementos esenciales
- Componente distribuido: Unidad de software autónoma que se ejecuta en un nodo distinto y se comunica mediante protocolos estandarizados.
- Contrato o interfaz pública: Descripción formal de operaciones, entradas, salidas y errores, esencial para la integración entre componentes.
- Comunicación síncrona: Modelo donde el llamante espera una respuesta inmediata antes de continuar (ejemplo: REST, SOAP).
- Comunicación asíncrona: Modelo donde el llamante envía un mensaje y continúa sin esperar respuesta (ejemplo: Kafka, RabbitMQ).
- Protocolo HTTP: Estándar dominante para la comunicación en Internet, con versiones como HTTP/2 y HTTP/3 que optimizan el rendimiento.
- Representación de datos: Formatos como JSON o XML, utilizados para serializar la información intercambiada entre componentes.
- Servicios web SOAP: Tecnología basada en XML y HTTP para la interoperabilidad entre sistemas heterogéneos, con estándares como WSDL y UDDI.
- Arquitectura de microservicios: Enfoque que descompone un sistema en servicios pequeños, independientes y especializados, facilitando la escalabilidad.
- Latencia: Retraso en la comunicación entre componentes distribuidos, que puede afectar al rendimiento del sistema.
- Fallos parciales: Situación en la que un componente deja de funcionar sin afectar al resto del sistema, requiriendo estrategias de tolerancia.
- Seguridad: Mecanismos como autenticación, autorización y cifrado, esenciales para proteger la comunicación en entornos distribuidos.
- Integración en el SAS: Uso de componentes distribuidos para conectar sistemas como historia clínica, laboratorio o farmacia, garantizando la interoperabilidad.
🧠 Recuerda
- Los componentes distribuidos permiten construir sistemas complejos a partir de piezas especializadas y autónomas.
- La comunicación entre componentes puede ser síncrona o asíncrona, según las necesidades del sistema.
- Un contrato claro es fundamental para evitar integraciones frágiles y garantizar la interoperabilidad.
- HTTP es el protocolo dominante en Internet, con versiones que mejoran el rendimiento sin alterar su semántica básica.
- JSON y XML son los formatos más utilizados para la representación de datos en componentes distribuidos.
- Los servicios web SOAP y REST son clave para la integración de sistemas heterogéneos en el ámbito sanitario.
- La distribución introduce retos como latencia, fallos parciales, seguridad y consistencia de datos.
- En el SAS, los componentes distribuidos son esenciales para la integración de sistemas como Diraya o la historia clínica.
- La evolución de los componentes distribuidos ha pasado por tecnologías propietarias, servicios web SOAP y arquitecturas REST.
- La elección entre comunicación síncrona o asíncrona depende de los requisitos de rendimiento y tolerancia a fallos.
8. Publicación de contenidos
🎯 Idea clave
- La publicación de contenidos en Internet abarca los procesos técnicos y organizativos para crear, gestionar y difundir información en la web.
- En las administraciones públicas, como el SAS, este proceso está sujeto a requisitos legales de accesibilidad, transparencia y protección de datos.
- Los sistemas de gestión de contenidos (CMS) automatizan el ciclo de vida de los contenidos, desde su creación hasta su archivo.
- El SAS utiliza CMS corporativos, como Drupal, para gestionar sus portales institucionales y cumplir con normativas específicas.
- La publicación de contenidos incluye dimensiones técnicas, como servidores y protocolos, y organizativas, como flujos de trabajo y control de versiones.
- Los portales corporativos del SAS deben garantizar coherencia institucional, navegación intuitiva y acceso a servicios especializados.
📚 Desarrollo
Definición y alcance. La publicación de contenidos en Internet es el conjunto de procesos, tecnologías y mecanismos que permiten crear, estructurar, gestionar y poner a disposición del público información en la web. Incluye desde la publicación técnica básica, como subir ficheros HTML a un servidor, hasta sistemas avanzados que permiten a usuarios sin conocimientos de programación editar y publicar contenido de forma autónoma.
Dimensiones técnicas y organizativas. Este proceso tiene dos dimensiones fundamentales. La técnica abarca servidores web, protocolos de comunicación y formatos de datos, mientras que la organizativa incluye flujos de trabajo, control de versiones, gestión de autores y editores, y procesos de moderación. En el ámbito de las administraciones públicas, como el SAS, la publicación de contenidos está sujeta a requisitos legales específicos, como la accesibilidad, la transparencia y la protección de datos.
Ciclo de vida de los contenidos. El ciclo de vida de la publicación de contenidos incluye varias fases: creación, edición, revisión, aprobación, publicación, mantenimiento y archivo. Los sistemas modernos de gestión de contenidos (CMS) automatizan y gestionan este ciclo completo, facilitando la colaboración entre equipos y garantizando la coherencia de la información publicada.
Requisitos legales en el SAS. El Servicio Andaluz de Salud debe cumplir con normativas como el Real Decreto 1112/2018, que exige el nivel de conformidad WCAG 2.1 AA en accesibilidad web. Además, los contenidos deben alinearse con la Ley de Transparencia y las directrices del Modelo de Presencia en Internet de la Junta de Andalucía. Esto implica publicar una declaración de accesibilidad actualizada y garantizar que los usuarios puedan reportar problemas de accesibilidad.
Portales corporativos del SAS. El SAS mantiene su presencia institucional a través de portales como el Portal de Salud de Andalucía, que ofrece información sobre centros, servicios, trámites y campañas de salud pública. Estos portales están construidos sobre infraestructuras corporativas de la Junta de Andalucía y utilizan CMS como Drupal para gestionar los contenidos de forma autónoma, dentro de los estándares de calidad y estilo establecidos por la dirección de comunicación.
Funciones de un portal sanitario. Un portal corporativo sanitario debe cumplir varias funciones clave: publicar información institucional, ordenar la navegación mediante categorías y menús, dirigir a los usuarios hacia servicios especializados, mantener coherencia corporativa en imagen y lenguaje, y adaptarse a nuevas prestaciones y cambios normativos. Además, debe garantizar la actualización constante de datos y la trazabilidad de la información.
Infraestructura tecnológica. El SAS opera dentro del marco tecnológico de la Junta de Andalucía, que ha desplegado una infraestructura de portal corporativo para toda la administración. Esta plataforma incluye herramientas de gestión de contenidos y portales, como Drupal, que permiten la publicación centralizada y el cumplimiento de los requisitos legales y técnicos exigidos.
🧩 Elementos esenciales
- CMS (Content Management System): Plataforma que permite gestionar y publicar contenidos web sin necesidad de programar, como Drupal o WordPress.
- Ciclo de vida de los contenidos: Proceso que incluye creación, edición, revisión, aprobación, publicación, mantenimiento y archivo.
- Accesibilidad web: Requisito legal según el RD 1112/2018, que exige conformidad con WCAG 2.1 AA en los portales públicos.
- Declaración de accesibilidad: Documento obligatorio que informa sobre el grado de cumplimiento de accesibilidad y los mecanismos de contacto para reportar incidencias.
- Flujos de trabajo: Procesos organizativos que regulan la creación, revisión y aprobación de contenidos antes de su publicación.
- Coherencia corporativa: Mantenimiento de una imagen institucional unificada, lenguaje claro y datos actualizados en todos los portales.
- Drupal: CMS corporativo estándar de la Junta de Andalucía, utilizado por el SAS para gestionar sus portales institucionales.
- Portal de Salud de Andalucía: Portal externo del SAS que ofrece información sobre servicios, centros y trámites sanitarios.
- Portal del Empleado: Intranet corporativa del SAS para profesionales, con acceso a nóminas, formación y documentación interna.
- Integración con sistemas corporativos: Conexión de los portales con otros sistemas, como Diraya o ayudaDIGITAL, para ofrecer servicios unificados.
- Modelo de Presencia en Internet: Directrices de la Junta de Andalucía que regulan la publicación de contenidos en los portales institucionales.
- Ley de Transparencia: Normativa que obliga a las administraciones públicas a garantizar el acceso a la información de forma clara y accesible.
🧠 Recuerda
- La publicación de contenidos en el SAS combina aspectos técnicos y organizativos.
- Los CMS como Drupal automatizan el ciclo de vida de los contenidos y facilitan su gestión.
- El RD 1112/2018 exige accesibilidad WCAG 2.1 AA en todos los portales públicos.
- El SAS debe publicar una declaración de accesibilidad actualizada en sus portales.
- Los portales corporativos deben mantener coherencia en imagen, lenguaje y datos.
- Drupal es el CMS corporativo estándar de la Junta de Andalucía para portales institucionales.
- El Portal de Salud de Andalucía es el canal principal de comunicación con la ciudadanía.
- La publicación de contenidos está sujeta a requisitos legales de transparencia y protección de datos.
- Los flujos de trabajo garantizan la calidad y la trazabilidad de la información publicada.
- La infraestructura tecnológica del SAS se integra en el marco de la Junta de Andalucía.
9. Herramientas para la edición, gestión y personalización de contenidos en Internet
🎯 Idea clave
- Las herramientas para la edición, gestión y personalización de contenidos en Internet permiten crear, modificar, organizar y publicar información digital de forma estructurada y segura.
- Estas herramientas abarcan todo el ciclo de vida del contenido, desde la redacción inicial hasta la retirada planificada.
- Se distinguen cuatro capas fundamentales: edición, gestión, publicación y personalización.
- Los sistemas de gestión de contenidos (CMS) son la categoría más representativa dentro de estas herramientas.
- Las administraciones públicas españolas priorizan CMS de código abierto por razones de coste, independencia tecnológica y alineación con la normativa vigente.
📚 Desarrollo
Definición y alcance. Las herramientas para la edición, gestión y personalización de contenidos en Internet son aplicaciones, plataformas y entornos que permiten a las organizaciones crear, modificar, organizar, publicar y adaptar información digital en la web. Su objetivo es garantizar que el contenido sea estructurado, seguro, reutilizable y coherente, cubriendo todo el ciclo editorial, desde la concepción hasta la retirada.
Capas funcionales. Para comprender su funcionamiento, conviene distinguir cuatro capas interrelacionadas. La edición incluye la redacción, composición, inserción de imágenes y documentos, asignación de metadatos y preparación de enlaces. La gestión abarca el ciclo de vida completo del contenido, con tipos, taxonomías, estados, permisos, flujos de trabajo, versionado y trazabilidad. La publicación se refiere a la entrega efectiva del contenido al usuario final, ya sea en portales, sedes electrónicas o intranets. La personalización permite adaptar la presentación y selección de contenidos según reglas, contexto o preferencias del usuario.
Herramientas complementarias. Estas plataformas no operan de forma aislada, sino que se integran en ecosistemas profesionales. Incluyen editores de texto y código, gestores de medios digitales (DAM), herramientas de diseño visual, plataformas de personalización, traductores asistidos, herramientas de SEO y motores de búsqueda interna. La combinación de estas soluciones permite optimizar la eficiencia y coherencia en la gestión de contenidos.
Sistemas de gestión de contenidos (CMS). Los CMS son la categoría más relevante dentro de este ámbito. Permiten crear, organizar, gestionar y publicar contenidos sin necesidad de programar, separando la capa de contenido de la presentación. Sus componentes habituales incluyen un panel de administración, editor de contenidos (WYSIWYG o por bloques), motor de plantillas, base de datos, sistema de extensiones (plugins o módulos), gestión de usuarios y roles, y flujos de publicación.
CMS en la Administración Pública. Las administraciones públicas españolas, incluido el Servicio Andaluz de Salud, priorizan CMS de código abierto. Esta elección responde a criterios de coste, independencia tecnológica y alineación con la Ley 40/2015, que promueve el uso de estándares abiertos y la reutilización de soluciones. Entre los CMS más utilizados destacan Drupal, WordPress, Liferay y OpenCMS, cada uno con características adaptadas a distintos niveles de complejidad y necesidades institucionales.
Drupal en el sector público. Drupal es el CMS preferido por muchas administraciones públicas españolas debido a su flexibilidad, seguridad y capacidad para gestionar portales complejos. Ofrece un modelado avanzado de tipos de contenido, taxonomías, vistas, flujos editoriales y un sistema de permisos granular. Además, su comunidad activa y su enfoque en soberanía digital lo convierten en una opción robusta para entornos institucionales.
WordPress y otros CMS. WordPress, por su facilidad de uso y amplio ecosistema de plugins, es adecuado para sitios informativos de menor complejidad. Liferay, por su parte, destaca en entornos corporativos por su integración con sistemas de autenticación única (SSO) y personalización avanzada por roles. OpenCMS, basado en Java, se orienta a intranets y portales corporativos, mientras que SharePoint, aunque propietario, es habitual en intranets por su integración con el ecosistema Microsoft.
🧩 Elementos esenciales
- Edición de contenidos: Fase inicial donde se redacta, corrige y compone el contenido, incluyendo texto, imágenes, metadatos y enlaces.
- Gestión del ciclo de vida: Procesos que abarcan la creación, revisión, aprobación, publicación, archivado y retirada de contenidos.
- CMS (Sistemas de Gestión de Contenidos): Plataformas que permiten gestionar contenidos web sin programación, separando contenido de presentación.
- Capas funcionales: División en edición, gestión, publicación y personalización para organizar el flujo de trabajo.
- Drupal: CMS de código abierto preferido en administraciones públicas por su flexibilidad, seguridad y control granular de permisos.
- WordPress: CMS de uso extendido por su facilidad y ecosistema de plugins, adecuado para sitios informativos sencillos.
- Liferay: Plataforma de portal corporativo con CMS integrado, SSO y personalización avanzada por roles.
- OpenCMS: CMS basado en Java, orientado a intranets y portales corporativos en entornos administrativos.
- SharePoint: Solución propietaria integrada con el ecosistema Microsoft, habitual en intranets corporativas.
- Código abierto: Prioridad en administraciones públicas por razones de coste, independencia tecnológica y alineación normativa.
- Taxonomías: Sistemas de clasificación que permiten organizar y relacionar contenidos de forma estructurada.
- Flujos editoriales: Procesos definidos para la revisión, aprobación y publicación de contenidos, garantizando coherencia y control.
🧠 Recuerda
- Las herramientas para la edición, gestión y personalización de contenidos cubren todo el ciclo de vida del contenido digital.
- La edición incluye redacción, composición y asignación de metadatos, mientras que la gestión abarca permisos, flujos y versionado.
- Los CMS son la categoría más representativa, permitiendo gestionar contenidos sin programación.
- Las administraciones públicas priorizan CMS de código abierto por razones de coste y alineación normativa.
- Drupal es el CMS más utilizado en el sector público español por su flexibilidad y seguridad.
- WordPress es adecuado para sitios informativos de menor complejidad, mientras que Liferay destaca en entornos corporativos.
- La personalización permite adaptar contenidos según el contexto o preferencias del usuario.
- La integración de herramientas complementarias optimiza la eficiencia en la gestión de contenidos.
- La Ley 40/2015 promueve el uso de estándares abiertos y la reutilización de soluciones en la Administración.
- La elección del CMS debe ajustarse a las necesidades de complejidad, seguridad y escalabilidad del proyecto.
10. Javascript y AJAX
🎯 Idea clave
- JavaScript es el lenguaje de programación estándar de los navegadores web, ejecutado de forma nativa sin necesidad de plugins y estandarizado como ECMAScript.
- AJAX es una técnica de desarrollo web que permite actualizar partes de una página de forma asíncrona, sin recargar la página completa.
- JavaScript es un lenguaje multiparadigma, interpretado, débilmente tipado y con soporte para programación funcional y asíncrona.
- AJAX combina tecnologías como JavaScript, el objeto
XMLHttpRequest o la Fetch API, y formatos como JSON o XML para el intercambio de datos.
- En el Servicio Andaluz de Salud (SAS), JavaScript y AJAX son fundamentales para la interactividad de portales como la cita previa online o los formularios de solicitud.
- La seguridad del código JavaScript es una responsabilidad clave del técnico especialista en informática en entornos como el SAS.
📚 Desarrollo
Lenguaje de referencia en navegadores. JavaScript es el único lenguaje de programación que se ejecuta de forma nativa en todos los navegadores modernos, sin requerir la instalación de plugins adicionales. Está estandarizado como ECMAScript por ECMA Internacional, con versiones anuales como ES2024 (ES15) o ES2025 (ES16), coordinadas por el comité TC39. Su evolución ha sido constante, pasando de un lenguaje minoritario para validar formularios a convertirse en el más utilizado a nivel global.
Características técnicas. JavaScript es un lenguaje interpretado y compilado en tiempo de ejecución, con motores como V8 (Chrome/Node.js), SpiderMonkey (Firefox) o JavaScriptCore (Safari). Es débilmente tipado y multiparadigma, soportando enfoques imperativos, funcionales, orientados a objetos (basados en prototipos) y modulares. Incluye soporte nativo para asincronía mediante promesas, iteradores y generadores, lo que facilita el desarrollo de aplicaciones dinámicas.
Diferenciación entre lenguaje y entorno. Es crucial distinguir entre el lenguaje JavaScript, definido por la norma ECMA-262 (gramática, tipos, operadores, funciones, clases, módulos, etc.), y las APIs del entorno de navegador, definidas por estándares como el HTML Living Standard, Fetch Standard o DOM Standard. Mientras el lenguaje es portable a otros entornos (Node.js, Deno, Bun), las APIs son específicas del navegador y permiten interactuar con el modelo de documento, eventos, red, almacenamiento y gráficos.
Técnica AJAX. AJAX (Asynchronous JavaScript and XML) es una técnica de desarrollo web que permite la comunicación asíncrona entre el cliente y el servidor, actualizando partes concretas de la interfaz sin recargar la página completa. Aunque el término incluye "XML", el formato dominante hoy es JSON, por su compacidad y facilidad de integración con JavaScript. AJAX se basa en una secuencia de pasos: detección de un evento, construcción de la petición HTTP, envío asíncrono, procesamiento de la respuesta y actualización de la interfaz.
Mecanismos de petición. Históricamente, AJAX utilizaba el objeto XMLHttpRequest, introducido por Microsoft en Internet Explorer 5 (1999) y estandarizado posteriormente. Sin embargo, la tendencia actual es emplear la Fetch API, que ofrece una sintaxis más limpia y coherente con el modelo de promesas de JavaScript. La Fetch API simplifica el manejo de peticiones y respuestas, alineándose mejor con el resto de la plataforma web y evitando la verbosidad de XMLHttpRequest.
Aplicación en el SAS. En el Servicio Andaluz de Salud (SAS), JavaScript y AJAX son la base de la interactividad en portales web como la cita previa online, donde AJAX verifica la disponibilidad de agendas sin recargar la página. Los formularios de solicitud emplean validación en el cliente mediante JavaScript, mientras que los portales profesionales actualizan paneles de trabajo en tiempo real usando WebSockets o la Fetch API. La seguridad del código JavaScript, incluyendo políticas como CSP (Content Security Policy) y auditorías de vulnerabilidades, es una responsabilidad clave del técnico especialista en informática.
Casos de uso prácticos. AJAX se emplea en múltiples escenarios dentro de aplicaciones web: autocompletado de formularios, validación remota de datos, actualización de tablas o listados, carga paginada, búsqueda incremental, notificaciones, cuadros de mando y paneles de estado. Estos usos mejoran la experiencia del usuario al reducir la latencia y evitar recargas completas de la página, optimizando el rendimiento y la eficiencia del intercambio de datos entre cliente y servidor.
🧩 Elementos esenciales
- JavaScript: Lenguaje de programación estándar en navegadores, estandarizado como ECMAScript, ejecutado sin plugins y con soporte multiparadigma.
- ECMAScript: Norma que define la sintaxis, tipos, objetos y reglas de ejecución de JavaScript, con versiones anuales como ES2024.
- Entorno de navegador: Conjunto de APIs específicas del navegador (DOM, Fetch, Web Storage, etc.) que complementan el lenguaje JavaScript.
- AJAX: Técnica de desarrollo web para comunicación asíncrona cliente-servidor, sin recarga completa de la página.
XMLHttpRequest: Objeto histórico para peticiones AJAX, introducido en Internet Explorer 5 (1999) y estandarizado posteriormente.
- Fetch API: Mecanismo moderno para peticiones HTTP, basado en promesas y alineado con el resto de la plataforma web.
- JSON: Formato dominante para el intercambio de datos en AJAX, por su compacidad y compatibilidad con JavaScript.
- Ciclo AJAX: Secuencia de eventos que incluye detección de acción, construcción de petición, envío, procesamiento de respuesta y actualización de la interfaz.
- Validación en cliente: Uso de JavaScript para verificar datos en formularios antes de enviarlos al servidor, mejorando la experiencia del usuario.
- WebSockets: Tecnología para comunicación bidireccional en tiempo real, complementaria a AJAX en aplicaciones del SAS.
- CSP (Content Security Policy): Mecanismo de seguridad para prevenir ataques como inyección de código en aplicaciones JavaScript.
- Aplicaciones del SAS: Uso de JavaScript y AJAX en portales como cita previa, formularios de solicitud y paneles profesionales.
🧠 Recuerda
- JavaScript es el único lenguaje nativo de los navegadores modernos, sin necesidad de plugins.
- ECMAScript es el estándar que define JavaScript, con versiones anuales como ES2024.
- AJAX permite actualizar partes de una página web sin recargar la página completa.
- El formato JSON es el más utilizado en AJAX, aunque el nombre incluya "XML".
- La Fetch API es la alternativa moderna a
XMLHttpRequest, con mejor integración con promesas.
- En el SAS, JavaScript y AJAX son clave para la interactividad de portales como la cita previa online.
- La seguridad del código JavaScript es responsabilidad del técnico especialista en informática.
- AJAX se emplea en casos como autocompletado, validación remota y actualización de tablas.
- JavaScript es multiparadigma: soporta enfoques imperativos, funcionales y orientados a objetos.
- Las APIs del navegador (DOM, Fetch, Web Storage) son específicas del entorno y no parte del lenguaje.
11. Web semántica
🎯 Idea clave
- La web semántica es una extensión de la web tradicional propuesta por Tim Berners-Lee para que las máquinas interpreten el significado de los datos.
- Se basa en estándares como RDF, OWL y SPARQL para estructurar la información con semántica explícita.
- Su objetivo principal es facilitar la interoperabilidad entre sistemas heterogéneos mediante vocabularios y ontologías formales.
- No sustituye a la web actual, sino que añade una capa de significado interpretable por agentes automáticos.
- En el ámbito sanitario, mejora la integración de sistemas clínicos y la reutilización de datos abiertos.
- Permite operaciones automáticas más complejas que la simple visualización o búsqueda de documentos.
📚 Desarrollo
Definición y origen. La web semántica es una visión propuesta por Tim Berners-Lee en 2001 para transformar la web en un espacio de datos interconectados, donde las máquinas puedan comprender y razonar sobre el significado de la información. A diferencia de la web tradicional, centrada en documentos para humanos, la web semántica añade una capa de semántica formal que permite a los agentes de software procesar datos de manera automática.
Diferencia con la web documental. Mientras la web clásica organiza documentos enlazados para su consumo humano, la web semántica modela los datos como entidades y relaciones. Esto permite, por ejemplo, que un programa distinga automáticamente entre una organización, una persona o un procedimiento clínico, gracias al uso de vocabularios estandarizados y modelos formales como RDF y OWL.
Tecnologías fundamentales. Los pilares técnicos de la web semántica incluyen el Resource Description Framework (RDF), que estructura los datos en tripletas sujeto-predicado-objeto; OWL (Web Ontology Language), que define ontologías para representar conocimiento complejo; y SPARQL, un lenguaje de consulta semántica. Estos estándares, desarrollados por el W3C, permiten describir recursos de manera formal y reutilizable.
Aplicación en el SAS. En el Servicio Andaluz de Salud, la web semántica facilita la interoperabilidad semántica entre sistemas clínicos como Diraya, que utilizan vocabularios controlados como SNOMED CT, LOINC o CIE-10. Además, el SAS publica datos abiertos en formatos reutilizables, como JSON-LD, y emplea estándares como HL7 FHIR para integrar recursos clínicos con semántica formal.
Interoperabilidad y datos abiertos. La web semántica garantiza que los datos tengan el mismo significado independientemente del sistema que los genere. En el ámbito sanitario, esto es crucial para la integración con sistemas estatales y europeos, como el Espacio Europeo de Datos Sanitarios. Los datos abiertos del SAS, publicados con vocabularios como DCAT-AP, mejoran la transparencia y la reutilización de la información del sector público.
Conocimiento clínico estructurado. Las guías de práctica clínica y los protocolos asistenciales pueden representarse como ontologías OWL, lo que facilita su integración en sistemas de soporte a la decisión clínica (CDSS). Esto permite que los profesionales sanitarios accedan a recomendaciones basadas en conocimiento estructurado y actualizado, mejorando la calidad asistencial.
Beneficios para el Técnico Especialista en Informática. Para los profesionales de informática del SAS, comprender la web semántica es clave para trabajar con datos sanitarios codificados, integrar sistemas mediante vocabularios estandarizados y participar en proyectos de interoperabilidad. Además, facilita la publicación de datos abiertos correctamente estructurados y la implementación de soluciones basadas en estándares internacionales.
🧩 Elementos esenciales
- Web semántica: Extensión de la web que permite a las máquinas interpretar el significado de los datos mediante estándares como RDF y OWL.
- Tim Berners-Lee: Creador de la World Wide Web y principal impulsor de la web semántica como evolución hacia datos interconectados.
- RDF (Resource Description Framework): Modelo de datos basado en tripletas sujeto-predicado-objeto para representar información estructurada.
- OWL (Web Ontology Language): Lenguaje para definir ontologías que permiten representar conocimiento complejo y relaciones entre conceptos.
- SPARQL: Lenguaje de consulta semántica para extraer información de bases de datos RDF.
- Interoperabilidad semántica: Capacidad de sistemas heterogéneos para intercambiar datos con un significado común, clave en el ámbito sanitario.
- Vocabularios controlados: Estándares como SNOMED CT, LOINC o CIE-10 que garantizan la coherencia semántica en sistemas clínicos.
- Datos abiertos: Información publicada en formatos reutilizables, como JSON-LD, para facilitar su acceso y procesamiento automático.
- HL7 FHIR: Estándar para la interoperabilidad de datos clínicos, compatible con tecnologías de la web semántica.
- Ontologías clínicas: Representaciones formales de guías y protocolos que permiten su integración en sistemas de soporte a la decisión.
- DCAT-AP: Vocabulario para describir catálogos de datos abiertos, utilizado en publicaciones del SAS.
- W3C: Organismo responsable del desarrollo y mantenimiento de los estándares de la web semántica.
🧠 Recuerda
- La web semántica no reemplaza a la web tradicional, sino que la complementa con una capa de significado interpretable por máquinas.
- Su objetivo principal es facilitar la interoperabilidad entre sistemas mediante vocabularios y modelos formales.
- Tecnologías como RDF, OWL y SPARQL son fundamentales para estructurar y consultar datos semánticos.
- En el SAS, se aplica para integrar sistemas clínicos, publicar datos abiertos y mejorar la reutilización de información.
- Los vocabularios controlados (SNOMED CT, LOINC) son esenciales para garantizar la coherencia semántica en salud.
- La web semántica permite operaciones automáticas más complejas que la simple visualización de documentos.
- Para el Técnico Especialista en Informática, es clave para trabajar con datos estructurados y participar en proyectos de interoperabilidad.
- Los estándares como HL7 FHIR y DCAT-AP son compatibles con las tecnologías de la web semántica.
- La representación de guías clínicas como ontologías mejora los sistemas de soporte a la decisión.
- La web semántica es una herramienta clave para la transparencia y la reutilización de datos en el sector público.