Skip to content

worldline/ProSA

Repository files navigation

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.

A ProSA mdBook is available if you want to learn everything about ProSA.

Legend

ProSA components are illustrated:

  • Main: main
  • TVF: tvf
  • Processor: processor
  • Settings: settings
  • Adaptor: adaptor

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
Loading

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
Loading

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
Loading

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

Worldline

Third parties

  • Fetcher: Fetch information from remote systems
  • Ollama: Ollama processor

Authors

Worldline

Posterity

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages