Membrane API Gateway

Open Source

Supporting OpenAPI, REST, GraphQL and SOAP

Get started

What is Membrane Service Proxy?

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

OpenAPI Configuration and Validation
Backend Security
API Monitoring
OAuth2 SSO

Features

SOAP to REST Gateway

Service Virtualization

Create service proxies for REST and SOAP Services

Authentication with OAuth2

Use Membrane Service Proxy as an authorization proxy for OAuth 2.0.

100% Java

Membrane is pure Java

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, ...

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="http://thomas-bayer.com/axis2/services/BLZService?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 service-proxy.sh or service-proxy.bat, look at conf/proxies.xml.
Follow the REST or the SOAP or tutorials and look at the samples.
Star the Repo