I am only a few days familiar with FIX and i would appreciate some guidance on the below.
A trading system connected to an exchange is able to accept FIX messages for trading and market data request purposes. I am trying to build a FIX web platform using QuickFix/J which will be provided to numerous clients.
An ip and a port is provided to connect to the trading system's gateway and I am already provided with their valid message tags.
I have used QuickFix/J to build a local initiator and acceptor (standalone apps not web) to make my tests and send messages between the two points(INITIATOR>ACCEPTOR and ACCEPTOR>INITIATOR) and this works fine and i got the idea(more/less) how the messages are supposed to work. Also i have experimented to see how multiple sessions work and also this works out good for me. (1 acceptor - multiple initiators)
I am really confused when it comes to the point i need to move forward to the web app now. My questions:
When connecting to the provided gateway what do i need to have running in order to send and receive FIX messages? initiator or acceptor or both? From my understanding: Initiator will be started and connect to the acceptor so in this case the gateway will be the acceptor or not?
Let's say i want to provide this web platform to multiple clients and each connected client will have a dedicated session upon successful logon. If the acceptor is the actual server, how it will know about the client's session details? (SenderCompID and TargetCompID)
Current architecture:
I know that it's too much to ask but any opinion/suggestion will be greatly appreciated.
Thank you.
Updates:
Disclaimer: my experience is in C# and C++ FIX development so I don't really know active MQ but based on comparisons it seems to be fine.