A lightweight, extensible API gateway written in Java with native OpenAPI support, SOAP/XML compatibility, and container optimization.
Membrane Service Proxy is an open-source API gateway built in Java that routes, secures, and transforms traffic for REST, GraphQL, and legacy SOAP/XML web services. It solves the complexity of managing diverse API backends by providing a unified, configurable entry point with native OpenAPI support and enterprise-grade security features.
API platform engineers, DevOps teams, and enterprise developers who need to manage, secure, and integrate modern microservices alongside legacy SOAP/XML systems in containerized or on-premises environments.
Developers choose Membrane for its unique combination of lightweight performance, deep legacy protocol support (SOAP/WSDL), and modern API gateway capabilities—all extensible via plugins and optimized for container deployments without vendor lock-in.
Truly open source API gateway with native OpenAPI support. Written in Java, it is easily extensible, supports legacy XML and SOAP, and is optimized for container deployments.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Deploy and validate APIs directly from OpenAPI specifications with automatic request/response validation, reducing manual configuration errors.
Seamlessly integrates SOAP and XML web services with WSDL support and message validation, enabling modernization of legacy systems without rewrites.
Supports JWT, OAuth2, API keys, rate limiting, and XML/JSON threat protection, providing enterprise-grade security out-of-the-box.
Allows custom message transformations and logic using Groovy or JavaScript scripts, adaptable to complex integration scenarios.
Handles over 20,000 requests per second with low latency, leveraging Java's streaming and connection reuse for scalable throughput.
Requires Java 21 or newer, adding deployment overhead and potential compatibility issues in environments optimized for other languages.
Advanced features rely on YAML configuration files, which can be intricate and error-prone, lacking intuitive GUI tools for all operations.
Critical details are split across the README, external docs, and a separate eBook, making it harder to find consolidated information quickly.