ProSA is a merge of multiple Worldline internal product concepts caviarized to be released as a Rust open-source. The library aimed at providing a simple and lightweight protocol service adaptor for service oriented architectures. The goal of this project is to provide a flexible and scalable platform for developing and deploying microservices, allowing developers to focus on writing business logic while ProSA takes care of the underlying infrastructure concers.
ProSA components are illustrated:
ProSA is made to empower SOA (Service Oriented Architecture). To do so, ProSA is built around a service bus that can be local or distributed.
Around the service bus, there are gravitating processors that offer or consume services.
flowchart LR
proc1(Processor)
proc2(Processor)
bus((Main))
proc1 <--> bus
bus <--> proc2
ProSA processors can be autonomous or built to connect external systems to make them accessible as a service.
flowchart LR
ext(External System)
adapt(Adaptor)
proc(Processor)
bus((Main))
ext <-- Protocol Exchange --> adapt
subgraph Processor
adapt <-- protocol adaptation --> proc
end
proc -- internal service message --> bus
Everything you need to know about ProSA components is describe in the Docs.rs documentation.
flowchart LR
main((Main))
tvf([TVF])
proc(Processor)
settings(Settings)
adapt(Adaptor)
click main "https://docs.rs/prosa/latest/prosa/core/main/" "Main"
click tvf "https://docs.rs/prosa_utils/latest/prosa_utils/msg/tvf/" "TVF"
click proc "https://docs.rs/prosa/latest/prosa/core/proc/" "Processor"
click settings "https://docs.rs/prosa/latest/prosa/core/settings/" "Settings"
click adapt "https://docs.rs/prosa/latest/prosa/core/adaptor/" "Adaptor"
main <--> proc
adapt <--> tvf
subgraph Processor
proc <--> adapt
end
settings --> Processor
ProSA is not a full product that you can run. It's intended to be a framework to run processors that offer/consume services.
So ProSA needs to be built with a set of processors (internal or external) to work. To build one, please refer to cargo-prosa.
// Coming opensource ProSA processor list