It has been an eventful summer for me at Solace as a pre-sales intern. As an Information Systems undergraduate, majoring in Smart City Management and Technology at Singapore Management University, I heard about some of the ways Solace has been involved in making Singapore smarter and more event driven. I was excited to learn and be part of the team at Solace.
Coming into Solace, I had very little understanding as to messaging, event brokers, and events as a whole. However, thanks to the Solace development and administration courses available on Udemy, I was able to quickly pick up a basic understanding about messaging and the event-driven solutions provided by Solace. Often as an intern, you may feel apprehensive about asking others in the team for help or clarification, as you may feel like you are disturbing their work. In retrospect, this was something I did not encounter at Solace as the team was always willing to help in whatever way they could. They constantly took the time to walk us through our queries and checked in regularly to ensure that we were not lost and were still sufficiently challenged to explore on our own as well.
Creating a Central Data Exchange
One of the main tasks that was assigned to my fellow intern Giem Teck and I was to understand, scope, design, and build a smart data exchange prototype that can be used to demonstrate the concepts of the event-driven exchange of information. The main challenge in this project was to showcase the abilities of Solace to provide a central data exchange that can be utilised by other users (“agencies”) to share, monitor, and consume data.
An example use case, in the context of a smart city, is the exchange of data between different government agencies. Those agencies can share the data that they collect via the central exchange in real time (e.g., CCTV footage, sensor data) and can further utilise the data that other agencies shared with them. A machine learning or analytics application can also be subscribed to the events being published by the agencies.
Through brainstorming and whiteboarding sessions with our supervisor – Phil, and further discussions with other members of the team, we came up with a front-facing JavaScript Web application that utilises the Solace JavaScript API and various Solace Element Management Protocol (SEMP) API calls to create bridges between the central exchange broker and the agency broker.
This allows agencies to view event streams available to them from other agencies, as well as to publish events that can be accessed by other agencies. The access control of this publishing and subscribing is centrally managed via Access Control Lists on the central exchange broker.
The administrator of the central exchange broker also has the flexibility to accept or deny requests from the existing agency brokers to publish new events to the central broker. The administrator can also use registration details provided by the agencies, who wish to connect to the central brokers to establish bridges through the user interface. All this creation of new ACL topic allowance and bridge connections are executed on the backend via a SEMP API call.
What I Have Learned
As a student majoring in Smart City Technologies, I feel the idea of a central data exchange is truly eye opening. Through the use of Solace’s advanced event brokers, cities, governments, and even businesses can now share data in real time between different agencies. A central hub helps agencies to easily view the events that are available to them and also offers them the freedom to use these events in their own analytics and visualisation applications to fit their own business needs.
For example, as seen in the image above, a machine learning application can take in raw traffic camera footage from the Land Transport agency. The model can then generate description tags about the footage that can be used to trigger events, such as start of fire, which other agencies like fire and rescue departments can subscribed to.
Final thoughts
I have learned a lot in my time at Solace. As someone who came in with almost no understanding about messaging and event-driven architecture, to be able to whiteboard and come up with this prototype was no easy task. However, with the help of my friendly and talented colleagues and the start-up guides written by the Solace community, the task was made much easier. It truly has been a summer well spent at Solace getting to know the people and the technology.
Explore other posts from category: For Developers