-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Sander Verbruggen <[email protected]>
- Loading branch information
Showing
3 changed files
with
289 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# GXF Soap bridge | ||
|
||
This component can be used to bridge gaps between environments. | ||
The GXF platform doesn't have to reside on a single location/namespace/network zone. | ||
To make this bridge seamless it acts like a proxy. It will accept your SOAP call, send it over Kafka to the other end | ||
and re-issue the SOAP request over there. | ||
|
||
# Kafka communication - Example | ||
|
||
![](docs/proxy.svg) | ||
|
||
- `Servce X` will try to call Service Y. You've configured X to make the request to the proxy instead | ||
- `Proxy A` will | ||
- store the HTTP connection used to receive the request and keep it open | ||
- receive the SOAP body and some meta data | ||
- make a message object of it | ||
- sign this message | ||
- and send it over the `web_requests` Kafka topic | ||
- `Proxy B` will | ||
- receive the message from the Kafka topic `web_requests` | ||
- check the signature | ||
- unwrap the message | ||
- use the SOAP body to do the SOAP request to `Service Y` and receive a SOAP result body | ||
- make a message object of that result body | ||
- sign this message | ||
- and send it over the `web_responses` Kafka topic | ||
- `Proxy A` will then | ||
- receive the message from the Kafka topic `web_responses` | ||
- check the signature | ||
- unwrap the message | ||
- find the stored HTTP connection that was used to initiate this request | ||
- write the SOAP result body to the HTTP response | ||
- `Service X` will receive a SOAP response not even knowing it talked to a proxy | ||
|
||
## Notifications ("The other way around") | ||
|
||
You can also configure this to work the other way around; `Service Y` calling `Service X`. | ||
In GXF terms, this is called a notification. | ||
Each proxy instance can act as both proxy start and end point as seen in the image above. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.