Google Pub/Sub is an asynchronous messaging system where applications and services interact. Suppose a customer has ordered an item to be produced, packaged and shipped. Information and updates on the order are sent in the form of digital messages. Google Cloud Pub/Sub ensures every message goes directly to the intended recipient, who retrieves it when they need it. Asynchronously. This article looks at how Google Cloud Pub/Sub is used in practice and how it can be integrated with the SEEBURGER Business Integration Suite (BIS).
What is Google Pub/Sub?
Pub/Sub stands for publish / subscribe, and Google Pub/Sub is a messaging service. The publisher sends a message to the system, ready for the subscriber to retrieve. This service-to-service communication is asynchronous. The publisher sends messages to the Pub/Sub service without needing to consider when or how the subscriber will retrieve the message. This makes the system flexible because the publisher does not need to wait for the recipient to receive the message. The system also notifies the publisher when the message has been successfully processed.
What does the Google Pub/Sub terminology mean?
Google Cloud Pub/Sub uses some terms it is useful to understand before using the service.
A message is a combination of data and attributes. The publisher is the application that creates and then sends a message. The publisher sends the message to a topic channel. A subscriber is an application which subscribes to a particular topic. The subscriber receives the sent messages.
There are different ways to receive a message, push and pull. For Pub/Sub pull, the subscriber calls up messages. With Pub/Sub push, the subscriber is informed that there are new messages.
Once the subscriber application receives the message, it sends a confirmation to the pub/sub service. The message is then deleted from the subscription message queue. A subscription is a resource which shows a number of messages on a particular topic to a subscriber.
Where can you use Google Pub/Sub?
Let’s have a look at some use cases to see how Google Cloud Pub/Sub works in practice and in what kind of situations it could be useful. Basically, you can use Google Cloud Pub/Sub in a number of typical business processes, such as placing and receiving orders.
Use case 1: You can use Google Pub/Sub to notify users on changed records in a database. If you need to update some master data in one of your databases, this will usually affect several recipients. Instead of informing each recipient individually, you can use Google Pub/Sub to inform all affected, whether people or machines.
Use case 2: Update data in real time. In the age of industry 4.0 and IIoT, many systems require real-time data. Two particularly useful communication protocols are MQTT and OPC UA. MQTT has established itself in recent years for connecting IoT devices to backend platforms. OPC UA Pub/Sub is a communication standard known for its semantic modelling of machine data.
Google Cloud Pub/Sub integrates various Google systems which can provide data for real-time processing. You can also connect the sensors on IoT devices to enable data streaming or to transmit machine and sensor data to calculation systems.
In the following, we will look at connectors for the SEEBURGER BIS, which can also get valuable data flowing to a pub/sub system.
What is the difference between Message Queue and Pub/Sub?
In data processing, we differentiate between a message queue system and a pub/sub service. But what actually is the difference between these two services? The message queue receives incoming messages and ensures that each message on a particular topic is delivered to a consumer and processed. For the message queue, it is only important that each individual message is processed. When, or in which order is irrelevant. In contrast, a pub/sub service can send several consumers a message on a topic. You can also define in what order messages are sent.
How do you use a SEEBURGER connector to integrate Google Pub/Sub with the BIS?
You can integrate Google Cloud Pub/Sub with the SEEBURGER BIS with a pre-built connector to combine the advantages of both systems. The connector is a simple add-on to our standard solutions such as MFT, EAI or API.
Integrating the Google Pub/Sub into the SEEBURGER BIS is just as easy as using the Pub/Sub. Drag and drop it into the process configuration and it’s ready to use! You only need to configure the master data to get your system up and running. There’s no need to do any mapping or similar in the integration.
Basically, the integration consists of just two steps on both the Google platform and the SEEBURGER Business Integration Suite (BIS). On the Google platform, you need to set up a Google Pub/Sub project including service users and service accounts with permissions to retrieve and publish messages. Make sure you record the key and corresponding password, as it is a one-time password and you will not be able to see it afterwards. You then need to configure your master data on the SEEBURGER BIS. This involves entering the Google Pub/Sub authentication key into BIS, as it is used for generating the JSON Web Token (JWT) for authentication. Finally, configure the process for your needs, whether this is to publish, retrieve or process messages.
Do you have requirements that require integrations with Google Pub/Sub? For example, do you want to handle sending or receiving orders or master data synchronisation between different systems via this messaging service? Or do you have use cases in the IIoT area, such as sending machine data to billing systems? Feel free to contact us if you have any questions about setting up Google Pub/Sub.
Would you like to know more about integrating Google Pub/Sub into the SEEBURGER BIS?
Get a live-demo at our on-demand webcast Integrate Google Pub/Sub Using BIS 6.7
Get in contact with us:
Please enter details about your project in the message section so we can direct your inquiry to the right consultant.
Written by: Michael ReinertMichael Reinert is a Solution Architect in the Integration Architecture division at SEEBURGER AG. Since 2015, he has been supporting our customers in solving integration tasks using the SEEBURGER Business Integration Suite. The main focus is on solution design for connecting to various cloud platforms, for example Salesforce CRM or eCommerce platforms, in which he works together with both business and technical contacts.