1 . Initial concepts - POPBL-6/middleware GitHub Wiki

The objective of the middleware is to abstract the communication layer presented by Java, in this case plain old Sockets, and present an easier way to send messages across the network. The middleware needs a broker in order to work. You can find more information about the broker in his repo.

Design

The middleware uses a publish/subscribe model, in which some clients publish messages, and the clients that are subscribed to them receive them. All those communications are managed by a central broker, which stores the messages and forwards them to the subscribers. The messages are differentiated in topics, which are Strings, and can store data of any length as long as the language allows arrays of that size.