Skip to content

Commit

Permalink
Merge pull request #6 from OSGP/feature/FDP-94-docs
Browse files Browse the repository at this point in the history
FDP-94: Added README
  • Loading branch information
jasperkamerling authored Jan 15, 2024
2 parents 8803fc2 + e63fd3f commit 5a47aba
Show file tree
Hide file tree
Showing 3 changed files with 289 additions and 3 deletions.
39 changes: 39 additions & 0 deletions README.md
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.
3 changes: 0 additions & 3 deletions application/src/main/resources/application-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,6 @@ soap:
management:
server:
port: 8888
# ssl:
# enabled: false
# client-auth: none
endpoints:
web:
exposure:
Expand Down
Loading

0 comments on commit 5a47aba

Please sign in to comment.