Repolode
membrane

membrane/api-gateway

API gateway de código abierto que hace proxy de servicios REST y SOAP, con despliegue de OpenAPI, conversión de WSDL a OpenAPI, seguridad OAuth2/JWT y validación de mensajes.

Alternativa open source a:ApigeeKong Konnect

Estrellas
658
Forks
186
Issues abiertos
45
Último commit
hace 19 horas

¿Qué es?

Membrane es un API gateway escrito en Java que se ubica delante de los servicios backend y se encarga del enrutamiento, la transformación, la seguridad y el control del tráfico. Puede desplegar APIs directamente a partir de descripciones OpenAPI (versiones 3.0 a 3.2) y validar solicitudes con OpenAPI, JSON Schema, XSD y WSDL. Se ejecuta como contenedor Docker o aplicación Java y no necesita una base de datos; la configuración se escribe en YAML.

Uno de sus principales enfoques es la integración con sistemas heredados. Membrane puede generar especificaciones OpenAPI a partir de WSDL, exponer servicios web SOAP como APIs REST con JSON y convertir entre JSON y XML mediante los esquemas de WSDL. También admite WS-Security UsernameTokens y firmas XML, y ofrece un plugin de protección MCP y un LLM gateway para acceder a proveedores de IA.

En materia de seguridad y operaciones, Membrane ofrece claves de API, OAuth2, validación de JWT, TLS, limitación de tasa, balanceo de carga, métricas de Prometheus y trazas de OpenTelemetry. Los flujos se pueden ampliar con scripts de Groovy o JavaScript, plantillas y llamadas de orquestación a otras APIs.

Funciones clave

  • 01Despliega APIs directamente a partir de descripciones OpenAPI 3.0, 3.1 y 3.2, con validación opcional de solicitudes.
  • 02Convierte servicios SOAP descritos en WSDL en endpoints OpenAPI y REST con JSON.
  • 03Valida mensajes con OpenAPI, JSON Schema, XSD y WSDL.
  • 04Admite claves de API, OAuth2, JWT y WS-Security para la autenticación.
  • 05Ofrece limitación de tasa, balanceo de carga y terminación TLS.
  • 06Exporta métricas de Prometheus y trazas de OpenTelemetry.

Casos de uso

  • Exponer servicios SOAP heredados a clientes modernos que usan JSON o REST, sin modificar el backend.
  • Proteger APIs existentes con OAuth2 o JWT mediante una configuración YAML.
  • Ejecutar un gateway ligero en contenedores cuando no hay una base de datos disponible.
  • Controlar a qué herramientas y modelos puede acceder un agente de IA o un cliente LLM a través de un MCP o LLM gateway.

Inicio rápido

  1. 1

    Inicia Membrane como contenedor

    docker run --rm -it -p 2000:2000 predic8/membrane
  2. 2

    Crea un archivo apis.yaml con la configuración del proxy que aparece en el README

  3. 3

    Ejecuta el contenedor con apis.yaml montado (Linux/macOS)

    docker run --rm -p 2000:2000 -v "$(pwd)/apis.yaml:/opt/membrane/conf/apis.yaml" predic8/membrane

Antes de usarlo

  • Está basado en Java, por lo que para ejecutarlo fuera de Docker necesitas tener Java instalado.

En colecciones

Temas

Preguntas frecuentes

¿Qué es api-gateway?
API gateway de código abierto que hace proxy de servicios REST y SOAP, con despliegue de OpenAPI, conversión de WSDL a OpenAPI, seguridad OAuth2/JWT y validación de mensajes. Membrane es un API gateway escrito en Java que se ubica delante de los servicios backend y se encarga del enrutamiento, la transformación, la seguridad y el control del tráfico. Puede desplegar APIs directamente a partir de descripciones OpenAPI (versiones 3.0 a 3.2) y validar solicitudes con OpenAPI, JSON Schema, XSD y WSDL. Se ejecuta como contenedor Docker o aplicación Java y no necesita una base de datos; la configuración se escribe en YAML.
¿api-gateway es gratuito? ¿Qué licencia tiene?
api-gateway es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿api-gateway sigue mantenido?
Mantenimiento activo. El último commit de api-gateway fue el 6 nov 2026.
¿Para qué puedo usar api-gateway?
Exponer servicios SOAP heredados a clientes modernos que usan JSON o REST, sin modificar el backend. Proteger APIs existentes con OAuth2 o JWT mediante una configuración YAML. Ejecutar un gateway ligero en contenedores cuando no hay una base de datos disponible. Controlar a qué herramientas y modelos puede acceder un agente de IA o un cliente LLM a través de un MCP o LLM gateway.
¿Cómo se instala api-gateway?
Inicia Membrane como contenedor: docker run --rm -it -p 2000:2000 predic8/membrane Crea un archivo apis.yaml con la configuración del proxy que aparece en el README Ejecuta el contenedor con apis.yaml montado (Linux/macOS): docker run --rm -p 2000:2000 -v "$(pwd)/apis.yaml:/opt/membrane/conf/apis.yaml" predic8/membrane
¿Dónde consigo api-gateway?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/membrane/api-gateway

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados