Skip to content
33 changes: 6 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ These are just a few examples; see the descriptions below for more.

Learn how API Gateways work with real-world examples and insights into Membrane.

![API Gateway eBook Cover](/docs/images/api-gateway-ebook-cover.jpg)
![API Gateway eBook Cover](docs/images/api-gateway-ebook-cover.jpg)

[Download instantly](https://www.membrane-api.io/ebook/API-Gateway-Handbook-Pre-Release-2025-07-02.pdf) — **no registration** required.

Expand All @@ -67,7 +67,7 @@ Learn how API Gateways work with real-world examples and insights into Membrane.
- Validate requests and responses against [OpenAPI](distribution/examples/openapi/validation-simple) and **JSON Schema**.

### **API Security**
- [JSON Web Tokens](#json-web-tokens), [OAuth2](https://www.membrane-soa.org/service-proxy/oauth2-provider-client.html), [API Keys](#API-Keys), [NTLM](distribution/examples/security/ntlm), and [Basic Authentication](https://www.membrane-soa.org/api-gateway-doc/current/configuration/reference/basicAuthentication.htm).
- [JSON Web Tokens](#json-web-tokens), [OAuth2](https://www.membrane-soa.org/service-proxy/oauth2-provider-client.html), [API Keys](#api-keys), [NTLM](distribution/examples/security/ntlm), and [Basic Authentication](https://www.membrane-soa.org/api-gateway-doc/current/configuration/reference/basicAuthentication.htm).
- Built-in [OAuth2 Authorization Server](https://www.membrane-soa.org/service-proxy-doc/4.8/security/oauth2/flows/code/index.html).
- [Rate limiting](#rate-limiting) and traffic control
- Protection for **GraphQL**, **JSON**, and **XML** APIs against malicious inputs.
Expand All @@ -77,7 +77,7 @@ Learn how API Gateways work with real-world examples and insights into Membrane.
- Configure, validate, and rewrite WSDL-based services, including [message validation](#message-validation-against-wsdl-and-xsd).

### **Additional Features**
**Admin Web Console** for monitoring and management.
- **Admin Web Console** for monitoring and management.
- Advanced [load balancing](#load-balancing) to ensure high availability.
- Flexible [message transformation](#message-transformation) for seamless data processing.
- Embeddable reverse proxy HTTP framework to build custom API gateways.
Expand Down Expand Up @@ -1097,37 +1097,16 @@ or [JSON](distribution/examples/logging/json) file.

### Monitoring with Prometheus and Grafana

Membrane supports seamless monitoring with Prometheus and Grafana, enabling visibility into API performance and system metrics.

Add an API with the `prometheus` plugin to your `proxies.xml` file. This will expose metrics at the specified endpoint:
This API will expose metrics for Prometheus at [http://localhost:2000/metrics](http://localhost:2000/metrics):

```xml
<api port="2000">
<path>/metrics</path>
<prometheus />
</api>
```

Then you can query the metrics by navigating to:
[http://localhost:2000/metrics](http://localhost:2000/metrics).

This endpoint provides Prometheus-compatible metrics, which you can scrape using a Prometheus server.

For a complete configuration example with Prometheus and Grafana, refer to:
[Prometheus Example](distribution/examples/monitoring-tracing/prometheus).

### Monitoring with Prometheus and Grafana

Add an API with the `prometheus` plugin at the top of the `proxies.xml` file.

```xml
<api port="2000">
<path>/metrics</path>
<prometheus />
</api>
```

Then query the metrics endpoint by opening [http://localhost:2000/metrics](http://localhost:2000/metrics). Now you can setup a prometheus to scrape that endpoint. For a complete example with prometheus and Grafana have a look at [examples/prometheus](distribution/examples/monitoring-tracing/prometheus).

See [Prometheus and Grafana example](distribution/examples/monitoring-tracing/prometheus).

### OpenTelemetry Integration
Membrane supports integration with **OpenTelemetry** traces using the `openTelemetry` plugin and the `W3C` propagation standard. This enables detailed tracing of requests across Membrane and backend services.
Expand Down
4 changes: 2 additions & 2 deletions distribution/examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,12 @@ Samples of scripting with JSONPath, XPath and the expression language you can fi

## [Legacy Integration for XML and Web Services](web-services-soap)

### XML(xml)
### [XML](xml)

* XML validation and XSLT transformation
* Create XML plugins with DOM or StAX

### Web Services with SOAP
### [Web Services with SOAP](web-services-soap)

* Validation of SOAP messages against WSDL
* REST to SOAP conversion and migration
Expand Down
2 changes: 2 additions & 0 deletions distribution/examples/extending-membrane/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Configuration and Extension Examples for Membrane API Gateway

These examples show how to adapt, customize, and embed Membrane for real-world scenarios beyond basic reverse-proxy usage.

## Configuration and Deployment

* [Configuration properties and environment variables](configuration-properties)
Expand Down
4 changes: 2 additions & 2 deletions distribution/examples/security/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ Explore how to secure your APIs with these ready-to-run examples:
* [SSL and TLS](ssl-tls)
Encrypt traffic and ensure secure communication.
* [OAuth2, OIDC and JWT](oauth2)
- Use different OAuth2 flows with APIs
- Authentication and authorization with JWT, OAuth2 and OpenID Connect
* Use different OAuth2 flows with APIs
* Authentication and authorization with JWT, OAuth2 and OpenID Connect
* [JSON Web Tokens](jwt)
How to generate JWT at the API Gateway.
* [API Keys](api-key)
Expand Down
6 changes: 1 addition & 5 deletions docs/ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,8 @@
- Template/Static Interceptor: Pretty for text/* (Refactor first) (TB)
- Pretty on text should trim whitespace incl. linebreaks at start and end
- READMEs in example folders listing the examples (TB)
- Grafana Dashboard to import in examples/prometheus
- Also provide the datasource config
- Maybe the config can be included into the docker-compose setup
- Place it in examples/monitoring-tracing/graphql
- Refactor HttpClient (TB)
- SampleSOAPService: Add some more cities
- SampleSOAPService: Add some more cities
- Refactor: interceptor.session

### Internal
Expand Down
Binary file modified docs/images/api-gateway-ebook-cover.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading