Battleship over Solace PubSub+

with TypeScript in Aurelia and Java in Spring Cloud Stream
Features of Solace PubSub+
Developing applications using TypeScript
Developing applications using Spring Cloud Stream
Building an Event Driven Distributed Application


  • Previous development experience is required
  • Basic understanding of TCP and networking is beneficial, but not necessary
  • Java JDK


In this course, you will learn about features of the Solace PubSub+ platform to create event driven distributed applications using modern frameworks and languages by implementing a multiplayer game of Battleship. The course will run you through the creation of a front-end, built using TypeScript (with the Aurelia framework), and a backend, built using Java (using the Spring Cloud Stream framework) - and using Solace PubSub+ to seamlessly communicate between these two application components.

By the end of the course, students will have an understanding of different message exchange patterns that can be implemented over Solace PubSub+, the rich polyglot support of the Solace PubSub+ APIs, and the fundamentals of how to architect distributed systems

The hands on portion of this course is implemented through this codelab - . Once enrolled in this course and logged into Udemy, the codelab will contain links to all applicable Udemy videos.

Who this course is for:

  • Developers, specifically those with an interest in building distributed applications and microservices
  • Developers involved with creating applications that utilize the various Solace features and capabilities

Course content

4 sections18 lectures32m total length
  • Welcome
  • Event Driven Architecture
  • Who is Solace?


System Engineer at Solace
Leah Robert
  • 4.4 Instructor Rating
  • 1,239 Reviews
  • 11,546 Students
  • 3 Courses

I have worked at Solace as a Customer Support Engineer, and as a Global Training Professional. I help customers to migrate from a siloed, monolithic architecture to an Event Driven Architecture. Solace PubSub+ enables the movement of data in an asynchronous manner, allowing distributed applications to seamlessly connect over any protocol.