What communication objects MSB has?
There are 5 object classes for communication only. There are 2 Requesters, 2 Receivers, and 1 Responder.
What communication model MSB has?
There is 1-way communication between Requester and Receiver. There is 2-way communication between Requester and the Receiver with no response guaranteed by the communication model contract. There is 2-way communication between Requester and Responder, with a response guaranteed by a communication model contract.
What types of communication MSB supports?
MSB is the same abstraction of inside process (In-Proc), inside host (In-Host) and inside network (In-Net) communication.
What benefits MSB has for In-Proc communication?
Use of MSB for inside process communication is very important for multi-core code. Each time you use MSB for In-Proc communication, it creates a thread for you. Also, when you have 12 core CPUs and 48 such threads inside the process, your operation system balances In-Proc threads very efficiently. And you have a multi-core solution. Important This is also that In-Proc communication is lock-free and thread-safe simultaneously. Thanks to this MSB for In-Host is very saleable and performing very fast.
What happen with 1 Requester and 2+ Receivers of the same message type?
Your model for message communication will be working in broadcast way.
What happen with 2+ Requesters and 1 Receiver of the same message type?
Your model for message communication will be working fine too.
What Requesters do behind the scenes?
Each Requester using data model to store all messages in memory that have to be taken by Receiver and/or Responder. Important is to understand that Requester has address to connect to and not sending anything.
What is the difference between Receiver and Responder?
The main different is in the contract exposes to client code. Responders have to always respond to messages; the Receiver can respond but does not have to.
How to make message for communication?
All you have to do is extends IMessage interface and make sure that your message is ready to serialize into and from array of byte by Protobuf.
What about auto-discovery of communication model?
For In-Proc communication is full auto-discovery. I do not believe it is a good idea for In-Host and In-Net communication.
What about transactions in communication model?
It is up to you how you model your communication, you can add your transaction id and use that, you can model collecting of data to the queue between transaction begin and transaction end marked message. It is up to you, I do not want to implement that in MSB.
What programming languages MSB supports?
Now only C# version is implemented. Java and C++ versions are under development.
Can I join the MSB project?
If you want please contact with me including your email address and describe what you want to do in this open source project. I am looking for C#, Java, and C++ experts. For me, it is a unique opportunity to make nice clean code and use the tools and libraries I want. Already 3 Java and C++ experts have joined me recently, so there are other eyes on the project. We have issue tracking, wiki, and fun ;-). In the technologies stack in MSB, there are Protobuf for serialization to byte array and Apache Thrift for communication. To answer the question in short, of course, you can join.
Where there is open source code of MSB?
When you publish 1.0 release?
When we made it :), C# version is ready for use now (April 2015), And Java and C++ versions are under develop.
That is the first FAQ of Multi Service Bus. In case of more questions, just leave me a comment, and I will respond to you sooner or later.