Membrane API Gateway

Open Source

Supporting OpenAPI, REST, GraphQL and SOAP / WSDL

Get started

What is Membrane API Gateway?

Membrane is an open source, API Gateway written in Java for REST and legacy SOAP APIs, that can be used for:

OpenAPI Configuration and Validation
API Security
API Monitoring
OAuth2, JWT, SSO

Features

SOAP to REST Gateway

Service Virtualization

Create service proxies for REST and SOAP Services

Authentication with OAuth2, JWT

Use Membrane API Gateway as an authorization proxy for OAuth 2.0.

100% Java

Membrane is pure Java and can be easily extended

Web Sockets Support

Route Web Sockets Connections and Stomp over your Firewall and intercept WebSocket connections

Deployment

Can be deployed as Java Standalone, Web Application, Windows or Unix Service, OSGi Bundle, Container ...

Spring Support

Membrane integrates nicely with the Spring Framework:
-Spring based Configuration
-Extend Membrane using Spring
-Integrate Membrane into your Spring application
Learn More!

Samples

Configures APIs from OpenAPI. more...

<api port="2000">
  <openapi location="fruitshop-api.yml"/>
</api>

Routes HTTP from localhost on port 8080 to a backend server:

<api port="8080">
  <target url="https://api.predic8.de" />
</api>

Configures a Web Service from WSDL:

<soapProxy wsdl="http://thomas-bayer.com/axis2/services/BLZService?wsdl"/>

Add logging and XML Schema validation against a WSDL document:

<soapProxy wsdl="https://www.predic8.de/city-service?wsdl">
  <validator />
  <log />
</soapProxy>

Adds an HTTP Header:

<api>
  <request>
    <groovy>
        header.add("MY-HTTP-Header", "Request Header Data")
    </groovy>
  </request>
  <target host="membrane-soa.org"/>
</api>

Web Console

List of service proxys and call statistics

See who called what service

Get started

, unpack, start membrane.sh or membrane.bat, look at conf/proxies.xml.
Follow the REST or the SOAP or tutorials and look at the samples.
Star the Repo