Microkernel: arquitectura con plugins dinámicos
Clase 17 de 43 • Curso Profesional de Arquitectura de Software
Contenido del curso
Atributos de calidad
- 2

Qué son los atributos de calidad
01:49 min - 3

Cómo medir idoneidad funcional en software
02:52 min - 4

Eficiencia de ejecución en sistemas
04:14 min - 5

Interoperabilidad y coexistencia de sistemas
03:49 min - 6

Subcaracterísticas de usabilidad y cómo medirlas
08:14 min - 7

Las 4 subcaracterísticas de confiabilidad en software
05:38 min - 8

Cómo se mide la seguridad en software
04:01 min - 9

Las 5 subcaracterísticas de la mantenibilidad
06:28 min - 10

Cómo medir adaptabilidad en arquitectura de software
02:48 min - 11

Tensiones entre atributos de calidad en software
04:04 min - 12

Atributos de calidad en cada etapa del proyecto
06:59 min
Patrones de arquitectura
- 13

Patrón gran bola de lodo y arquitectura distribuida
02:50 min - 14

Por qué MVC se malinterpreta tanto
05:38 min - 15

Arquitectura en capas: flujo top-down
03:14 min - 16

Arquitectura orientada a eventos vs tradicional
06:17 min - 17

Microkernel: arquitectura con plugins dinámicos
Viendo ahora - 18

Arquitectura Comparte Nada en map reduce
02:29 min - 19

Qué son los microservicios y cuándo usarlos
03:57 min - 20

CQRS: separar lectura y escritura
03:24 min - 21

Arquitectura hexagonal: puertos y adaptadores
04:10 min - 22

Cómo domain-driven design conecta negocio y código
05:34 min - 23

Cómo combinar patrones de arquitectura
09:22 min - 24

Patrones de arquitectura por etapa de proyecto
07:58 min
Diseño de una arquitectura
- 25

Cómo transformar requerimientos en decisiones de arquitectura
02:18 min - 26

Conectores de arquitectura: tipos y cuándo usarlos
06:18 min - 27

Conectores asíncronos vs síncronos vs cliente-servidor
03:05 min - 28

Enrutador vs Difusión: Dónde colocar la inteligencia
01:55 min - 29

Conectores: cola, repositorio y pub/sub
03:52 min - 30

Framework de diseño orientado a atributos
01:55 min - 31

Tácticas de disponibilidad en arquitectura
05:59 min - 32

Tácticas de reintroducción y prevención
04:09 min - 33

Tácticas para confinar modificaciones en software
06:15 min - 34

Cómo prevenir efectos dominó en software
12:17 min - 35

Tácticas para controlar eficiencia de ejecución
09:15 min - 36

Tácticas de seguridad: detectar, resistir y recuperarse
09:02 min - 37

Tácticas para mejorar la capacidad de prueba
05:14 min - 38

Tácticas de usabilidad: separar interfaz y controlar feedback
08:20 min - 39

ATAM: validar arquitectura con stakeholders
06:34 min - 40

Evolución de arquitectura: startup a gran escala
10:30 min
Modelado y documentación de arquitectura
La arquitectura de microkernel o patrón de plugins permite crear apps con un corazón estable y funcionalidades que se agregan o remueven de forma dinámica. Ideal para extender o cambiar la funcionalidad en tiempo de ejecución, destaca en entornos como los IDEs (por ejemplo, Eclipse) e integra herramientas como Git, Docker o Gradle para dar al programador lo que necesita, cuando lo necesita.
¿Qué es el patrón de microkernel y por qué aporta extensibilidad?
Este enfoque separa un core mínimo y estable de una serie de puntos de conexión a los que se acoplan plugins. Así, la aplicación puede incorporar o quitar funcionalidades sin modificar el núcleo, incluso cuando ya está desplegada. El resultado: evolución rápida y controlada de capacidades.
¿Cómo funciona el core y los plugins?
- El core concentra la lógica esencial y estable de la app.
- Los plugins se conectan a puntos de extensión predefinidos.
- Las funcionalidades pueden agregarse o removerse dinámicamente.
- La app crece por módulos sin tocar el núcleo.
¿Cuándo se ve monolítico y cuándo distribuido?
Depende de cómo se desplieguen los plugins. Si salen todos juntos, luce como monolito. Si cambian en tiempo de ejecución, se percibe como aplicación distribuida al poder actualizar componentes en caliente.
- Monolítico: el despliegue incluye el core y todos los plugins desde el inicio.
- Distribuido: los plugins pueden incorporarse o reemplazarse en ejecución.
¿Qué ejemplos en IDEs explican sus beneficios?
Los IDEs usan este patrón para sumar tecnologías a su stack de funcionalidades. Si se abre un archivo JavaScript, un plugin interpreta el lenguaje y ofrece asistencia al programar. Lo mismo para otros lenguajes como Scala o SAS. Además, los plugins integran herramientas clave como Git, Docker o Gradle para cubrir el flujo de desarrollo.
¿Por qué Eclipse lo considera el corazón del IDE?
- Porque el microkernel es el núcleo que permite expansión continua.
- Porque los plugins entregan las herramientas exactas que el programador necesita.
- Porque la integración de lenguajes y utilidades potencia la productividad.
¿Te gustaría compartir qué plugins consideras imprescindibles en tu IDE y cómo te ayudan a trabajar mejor?