3 unstable releases
0.1.1 | Jul 10, 2024 |
---|---|
0.1.0 | Jun 14, 2024 |
0.0.0 | Mar 20, 2024 |
#723 in Configuration
37 downloads per month
175KB
3K
SLoC
ProSA - Protocol Service Adaptor
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.
Legend
ProSA components are illustrated:
Service approach
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
Getting Started
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
Deploying
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.
Processor list
// Coming opensource ProSA processor list
Authors
Worldline
Posterity
Dependencies
~20–31MB
~479K SLoC