{"id":979,"date":"2023-11-29T15:43:35","date_gmt":"2023-11-29T05:43:35","guid":{"rendered":"https:\/\/www.infrasoft.com.au\/?p=979"},"modified":"2024-04-04T12:24:45","modified_gmt":"2024-04-04T02:24:45","slug":"ulinga-for-kafka-the-best-nonstop-kafka-integration-solution","status":"publish","type":"post","link":"https:\/\/www.infrasoft.com.au\/?p=979","title":{"rendered":"uLinga for Kafka &#8211; The Best NonStop-Kafka Integration Solution"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"979\" class=\"elementor elementor-979\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e1b594f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e1b594f\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2072def\" data-id=\"2072def\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-108b126 elementor-widget elementor-widget-theme-post-featured-image elementor-widget-image\" data-id=\"108b126\" data-element_type=\"widget\" data-widget_type=\"theme-post-featured-image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"450\" src=\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2021\/09\/uLinga-for-Kafka-Article-Title-Graphic-01-1024x576.jpg\" class=\"attachment-large size-large wp-image-756\" alt=\"\" srcset=\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2021\/09\/uLinga-for-Kafka-Article-Title-Graphic-01-1024x576.jpg 1024w, https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2021\/09\/uLinga-for-Kafka-Article-Title-Graphic-01-300x169.jpg 300w, https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2021\/09\/uLinga-for-Kafka-Article-Title-Graphic-01-768x432.jpg 768w, https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2021\/09\/uLinga-for-Kafka-Article-Title-Graphic-01-1536x864.jpg 1536w, https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2021\/09\/uLinga-for-Kafka-Article-Title-Graphic-01-2048x1152.jpg 2048w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6df9802 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6df9802\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-03032be\" data-id=\"03032be\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ed1ba3e elementor-widget elementor-widget-text-editor\" data-id=\"ed1ba3e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h3>Introduction<\/h3><p>Apache Kafka, one of the world\u2019s most popular solutions for streaming massive amounts of data, continues to grow in popularity.\u00a0 At the recent NonStop TBC, Infrasoft saw this in sharp focus, with a number of customers and HPE NonStop partners talking to us about potential NonStop-Kafka use cases.<\/p><p>This article will give a summary of the capabilities, and potential use cases, for uLinga for Kafka \u2013 the best solution for integrating your HPE NonStop data and applications with Kafka.<\/p><p>Kafka usage continues to grow at pace \u2013 Kafka is now in use at more than 80% of the Fortune 100, and has big name users including Barclays, Goldman Sachs, Paypal, Square, Target,\u00a0 and others.<sup>1<\/sup><\/p><p>But what is Kafka? From the Apache Kafka website: <em>Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.<sup>2<\/sup><\/em><\/p><p>Those sound a lot like environments where many HPE NonStop Servers also play a part, doesn\u2019t it?\u00a0 Given that, it makes sense to have a good idea of how your NonStop applications and data can integrate with, and take advantage of, the capabilities of Kafka.<\/p><p>I recently came across this excellent animation on LinkedIn from <a href=\"https:\/\/www.linkedin.com\/in\/brijpandeyji\/\">Brij Kishore Pandey<\/a> which shows the Top 5 current Kafka Use Cases.\u00a0 As these are relevant to NonStop users I thought it would be a good place to start, for this \u201cBest of NonStop\u201d edition of the Connection.\u00a0 In this article we will take a close look at the first 3 use cases in this animation.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b018868 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b018868\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8c03b3a\" data-id=\"8c03b3a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-fd486b8 elementor-widget elementor-widget-image\" data-id=\"fd486b8\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1080\" height=\"1350\" src=\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/1693362280958.gif\" class=\"attachment-full size-full wp-image-982\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-af5f745 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"af5f745\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4ae1c0d\" data-id=\"4ae1c0d\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c2c1864 elementor-widget elementor-widget-text-editor\" data-id=\"c2c1864\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>uLinga for Kafka provides native integration with the Kafka cluster, ensuring the best performance and reliability of any NonStop Kafka integration solution.<\/p><p><strong>Data Streaming<\/strong><\/p><p>The first use case, Data Streaming, is fairly straightforward.\u00a0 This sees applications sending, or streaming, relevant aspects of the data they are processing to Kafka, for storage and forwarding to other applications\/platforms.\u00a0 On the NonStop, uLinga for Kafka (ULK) can facilitate application data streaming in a number of ways.<\/p><p>The simplest option is where ULK directly reads data from application logs or audit trails.\u00a0 uLinga for Kafka can read from entry-sequenced Enscribe files, and from TMF audit trails.\u00a0 It can be configured to monitor one or many files (or SQL tables), and automatically forwards updates to those files\/tables to Kafka.\u00a0 If your application uses relative or key-sequenced (non-TMF-protected) Enscribe files, then ULK\u2019s intercept library can pick up changes to these files and ensure they get sent to Kafka.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0c2a7f7 elementor-widget elementor-widget-image\" data-id=\"0c2a7f7\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"602\" height=\"338\" src=\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-1.png\" class=\"attachment-large size-large wp-image-986\" alt=\"\" srcset=\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-1.png 602w, https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-1-300x168.png 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/>\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">Figure 1 - uLinga for Kafka Streaming from Enscribe and TMF Sources<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-77ed71f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"77ed71f\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ce4a7ef\" data-id=\"ce4a7ef\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-eb234c0 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"eb234c0\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2f1d5a6\" data-id=\"2f1d5a6\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-af6c64d elementor-widget elementor-widget-text-editor\" data-id=\"af6c64d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>A common use case for this type of data streaming is to send application logs (such as a BASE24 Transaction Log File, or TLF) to Kafka.\u00a0 BASE24 usually has 2 or 3 TLFs active at any point in time; uLinga for Kafka supports this via FILEREADER configuration.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-924d142 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"924d142\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-940aa75\" data-id=\"940aa75\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ef4114a elementor-widget elementor-widget-image\" data-id=\"ef4114a\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"338\" src=\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-2.png\" class=\"attachment-large size-large wp-image-987\" alt=\"\" srcset=\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-2.png 602w, https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-2-300x168.png 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/>\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">Figure 2 - BASE24 TLFs Streamed via uLinga for Kafka<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8fed491 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8fed491\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fc56b6b\" data-id=\"fc56b6b\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9217dfc elementor-widget elementor-widget-text-editor\" data-id=\"9217dfc\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Applications can also stream data directly via uLinga for Kafka, without writing to an interim file or table on the NonStop.\u00a0 ULK supports a range of APIs so that applications can write to it, and through it, to Kafka.\u00a0 ULK\u2019s IPC interface allows applications to write to a ULK process over $RECEIVE, allowing very straightforward integration and Kafka streaming.\u00a0 An example use case this scenario might be a home grown NonStop application that needs to send selective data to Kafka.\u00a0 That application could be simply modified to perform a Guardian WRITEREAD to uLinga for Kafka, providing the data to be streamed.<\/p><p>uLinga for Kafka\u2019s Pathsend interface allows Pathsend clients (e.g Pathway requestors and servers) to natively communicate with ULK, and through ULK, to Kafka.\u00a0 This could be used, for instance, if a Pathway server wished to stream the result of a transaction to Kafka.\u00a0 The ULK Pathsend interface allows the Pathway server to do a simple SERVERCLASS_SEND_ containing the data to be streamed, and ULK takes it from there, ensuring the data is written to Kafka.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5cd381d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5cd381d\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f73a595\" data-id=\"f73a595\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-696358c elementor-widget elementor-widget-image\" data-id=\"696358c\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"338\" src=\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-3.png\" class=\"attachment-large size-large wp-image-988\" alt=\"\" srcset=\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-3.png 602w, https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-3-300x168.png 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/>\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">Figure 3 - Pathway Server Communicating Directly with uLinga for Kafka<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f6aa66a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f6aa66a\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a61e9e3\" data-id=\"a61e9e3\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1ca8cf1 elementor-widget elementor-widget-text-editor\" data-id=\"1ca8cf1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>TCP\/IP and HTTP interfaces mean that other types of application, including those not necessarily running on the HPE NonStop, can also communicate with ULK and stream to Kafka.\u00a0<\/p><p><strong>Log Activity\/Tracker<\/strong><\/p><p>On the HPE NonStop the main source of log data is the Event Management Service (EMS).\u00a0 EMS events can be fed to Kafka via uLinga for Kafka very simply.\u00a0 An EMS printing distributor can be configured to write data to uLinga for Kafka, and from there ULK streams those events directly to Kafka.\u00a0 The command required to start the EMS distributor would\u00a0 be something like:<\/p><pre>TACL&gt; EMSDIST \/NOWAIT\/ COLLECTOR $0, TYPE PRINTING, TEXTOUT $ULKAF<\/pre><p>Where $ULKAF is the correctly configured uLinga for Kafka process.\u00a0 That\u2019s it!<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e44b7bb elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e44b7bb\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d1958ed\" data-id=\"d1958ed\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-945af9c elementor-widget elementor-widget-image\" data-id=\"945af9c\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"450\" src=\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-4.png\" class=\"attachment-large size-large wp-image-989\" alt=\"\" srcset=\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-4.png 800w, https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-4-300x169.png 300w, https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-4-768x432.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">Figure 4 - uLinga for Kafka Streaming EMS Events to Kafka<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d7169ce elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d7169ce\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e633014\" data-id=\"e633014\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a0ce32c elementor-widget elementor-widget-text-editor\" data-id=\"a0ce32c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><strong>Message Queuing<\/strong><\/p><p>Kafka can be used for message queuing, and can provide a very high performance alternative to traditional message queuing solutions.\u00a0 On the NonStop, uLinga for Kafka can facilitate message queueing implementations, by virtue of the range of APIs it supports, as well as its \u201cproduce\u201d and \u201cconsume\u201d functionality.\u00a0<\/p><p>One way message queuing, from NonStop to Kafka (and from their to other platforms and applications) can be achieved in much the same way as already outlined in \u201cData Streaming\u201d above.\u00a0 One way message queuing from other applications to Kafka (and from there to NonStop) via uLinga for Kafka requires ULK\u2019s consumer functionality.\u00a0 uLinga for Kafka can monitor one or more topics in a Kafka cluster, consuming (reading) new messages as they are posted to the topic.\u00a0 Once consumed, they can be presented to a NonStop application via a range of mechanisms \u2013 via an interim file, or directly presented via Guardian IPC, TCP\/IP or HTTP communications.\u00a0 ULK\u2019s consumer functionality looks like this:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b953334 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b953334\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-10379e9\" data-id=\"10379e9\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-934ad1c elementor-widget elementor-widget-image\" data-id=\"934ad1c\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"338\" src=\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-5.png\" class=\"attachment-large size-large wp-image-990\" alt=\"\" srcset=\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-5.png 602w, https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-5-300x168.png 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/>\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">Figure 5 - uLinga for Kafka Consuming and Presenting to Various NonStop Entities<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b1b7e8a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b1b7e8a\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7b0c434\" data-id=\"7b0c434\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5375557 elementor-widget elementor-widget-text-editor\" data-id=\"5375557\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Two-way (or request-response) message queuing is possible via a combination of ULK\u2019s produce and consume functionality.\u00a0 Messages can be sent to one Kafka topic, where they are consumed by a remote application, and a response returned via a separate Kafka topic.\u00a0 ULK logic correlates the response with the original request as needed to allow this functionality to be invoked via a Guardian WRITEREAD or Pathway SERVERCLASS_SEND_.\u00a0 The steps involved are covered below, assuming an application on a Linux server is responsible for processing the \u201crequest\u201d and returning the \u201cresponse\u201d:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7268edd elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7268edd\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f564a59\" data-id=\"f564a59\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0d00f5b elementor-widget elementor-widget-image\" data-id=\"0d00f5b\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"338\" src=\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-6.png\" class=\"attachment-large size-large wp-image-991\" alt=\"\" srcset=\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-6.png 602w, https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/2023-10-03-Connection-Article-Fig-6-300x168.png 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/>\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">Figure 6 - uLinga for Kafka Providing Loosely-Coupled Asynchronous Processing via Kafka<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f144f42 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f144f42\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-83e8c0c\" data-id=\"83e8c0c\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5e889bf elementor-widget elementor-widget-text-editor\" data-id=\"5e889bf\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ol><li>Guardian application issues WRITEREAD\/Pathway application issues SERVERCLASS_SEND_<\/li><li>uLinga for Kafka PRODUCEs data from WRITEREAD\/SERVERCLASS_SEND_ to Kafka, including correlation data (passed either in the Key or a custom header field)<\/li><li>Linux Consumer logic retrieves data from Kafka, including correlation data, Linux application does some processing of data<\/li><li>Linux Producer logic sends response as a Kafka PRODUCE, including original correlation data<\/li><li>uLinga for Kafka CONSUMEs response, including correlation data<\/li><li>uLinga for Kafka correlates response to original request and completes the WRITEREAD\/SERVERCLASS_SEND_<\/li><\/ol><p>There is also significant work going on in the Kafka community to provide further support for queueing with Kafka.\u00a0 Infrasoft is staying abreast of this work and will be ready to enhance uLinga for Kafka as needed to support these additional features.\u00a0 For those wanting to know more, see the <a href=\"https:\/\/cwiki.apache.org\/confluence\/display\/KAFKA\/KIP-932%3A+Queues+for+Kafka\">Kafka Improvement Proposal (KIP) 932: Queues for Kafka.<\/a><\/p><p>Hopefully this article has given you some ideas of how you might use Kafka in your environment to get the most out of your NonStop applications and data.\u00a0 If you would like to discuss any of the use cases described here, or anything else related to NonStop-Kafka integration, please get in touch with us at <a href=\"mailto:productinfo@infrasoft.com.au\">productinfo@infrasoft.com.au<\/a>.<\/p><p>\u00a0<\/p><ol><li><a href=\"https:\/\/kafka.apache.org\/powered-by\">https:\/\/kafka.apache.org\/powered-by<\/a><\/li><li><a href=\"https:\/\/kafka.apache.org\/\">https:\/\/kafka.apache.org\/<\/a><\/li><\/ol>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Introduction Apache Kafka, one of the world\u2019s most popular solutions for streaming massive amounts of data, continues to grow in popularity.\u00a0 At the recent NonStop TBC, Infrasoft saw this in sharp focus, with a number of customers and HPE NonStop partners talking to us about potential NonStop-Kafka use cases. This article will give a summary [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-979","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>uLinga for Kafka - The Best NonStop-Kafka Integration Solution - Infrasoft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.infrasoft.com.au\/?p=979\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"uLinga for Kafka - The Best NonStop-Kafka Integration Solution - Infrasoft\" \/>\n<meta property=\"og:description\" content=\"Introduction Apache Kafka, one of the world\u2019s most popular solutions for streaming massive amounts of data, continues to grow in popularity.\u00a0 At the recent NonStop TBC, Infrasoft saw this in sharp focus, with a number of customers and HPE NonStop partners talking to us about potential NonStop-Kafka use cases. This article will give a summary [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.infrasoft.com.au\/?p=979\" \/>\n<meta property=\"og:site_name\" content=\"Infrasoft\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.linkedin.com\/company\/infrasoft-pty-limited\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-29T05:43:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-04T02:24:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/1693362280958.gif\" \/>\n<meta name=\"author\" content=\"website\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"website\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.infrasoft.com.au\/?p=979#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.infrasoft.com.au\/?p=979\"},\"author\":{\"name\":\"website\",\"@id\":\"https:\/\/www.infrasoft.com.au\/#\/schema\/person\/ab1cfc963931c33ab30cec69b057ad56\"},\"headline\":\"uLinga for Kafka &#8211; The Best NonStop-Kafka Integration Solution\",\"datePublished\":\"2023-11-29T05:43:35+00:00\",\"dateModified\":\"2024-04-04T02:24:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.infrasoft.com.au\/?p=979\"},\"wordCount\":1284,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.infrasoft.com.au\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.infrasoft.com.au\/?p=979#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/1693362280958.gif\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"en-AU\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.infrasoft.com.au\/?p=979#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.infrasoft.com.au\/?p=979\",\"url\":\"https:\/\/www.infrasoft.com.au\/?p=979\",\"name\":\"uLinga for Kafka - The Best NonStop-Kafka Integration Solution - Infrasoft\",\"isPartOf\":{\"@id\":\"https:\/\/www.infrasoft.com.au\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.infrasoft.com.au\/?p=979#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.infrasoft.com.au\/?p=979#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/1693362280958.gif\",\"datePublished\":\"2023-11-29T05:43:35+00:00\",\"dateModified\":\"2024-04-04T02:24:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.infrasoft.com.au\/?p=979#breadcrumb\"},\"inLanguage\":\"en-AU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.infrasoft.com.au\/?p=979\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-AU\",\"@id\":\"https:\/\/www.infrasoft.com.au\/?p=979#primaryimage\",\"url\":\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/1693362280958.gif\",\"contentUrl\":\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/1693362280958.gif\",\"width\":1080,\"height\":1350},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.infrasoft.com.au\/?p=979#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.infrasoft.com.au\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"uLinga for Kafka &#8211; The Best NonStop-Kafka Integration Solution\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.infrasoft.com.au\/#website\",\"url\":\"https:\/\/www.infrasoft.com.au\/\",\"name\":\"Infrasoft\",\"description\":\"High Availability Software Infrastructure\",\"publisher\":{\"@id\":\"https:\/\/www.infrasoft.com.au\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.infrasoft.com.au\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-AU\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.infrasoft.com.au\/#organization\",\"name\":\"Infrasoft\",\"url\":\"https:\/\/www.infrasoft.com.au\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-AU\",\"@id\":\"https:\/\/www.infrasoft.com.au\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2021\/10\/cropped-infrasoft_icon.jpg\",\"contentUrl\":\"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2021\/10\/cropped-infrasoft_icon.jpg\",\"width\":512,\"height\":512,\"caption\":\"Infrasoft\"},\"image\":{\"@id\":\"https:\/\/www.infrasoft.com.au\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/infrasoft-pty-limited\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.infrasoft.com.au\/#\/schema\/person\/ab1cfc963931c33ab30cec69b057ad56\",\"name\":\"website\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-AU\",\"@id\":\"https:\/\/www.infrasoft.com.au\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f8ed84048fcdb5afa88338fd16181fdd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f8ed84048fcdb5afa88338fd16181fdd?s=96&d=mm&r=g\",\"caption\":\"website\"},\"sameAs\":[\"https:\/\/www.infrasoft.com.au\/\"],\"url\":\"https:\/\/www.infrasoft.com.au\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"uLinga for Kafka - The Best NonStop-Kafka Integration Solution - Infrasoft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.infrasoft.com.au\/?p=979","og_locale":"en_US","og_type":"article","og_title":"uLinga for Kafka - The Best NonStop-Kafka Integration Solution - Infrasoft","og_description":"Introduction Apache Kafka, one of the world\u2019s most popular solutions for streaming massive amounts of data, continues to grow in popularity.\u00a0 At the recent NonStop TBC, Infrasoft saw this in sharp focus, with a number of customers and HPE NonStop partners talking to us about potential NonStop-Kafka use cases. This article will give a summary [&hellip;]","og_url":"https:\/\/www.infrasoft.com.au\/?p=979","og_site_name":"Infrasoft","article_publisher":"https:\/\/www.linkedin.com\/company\/infrasoft-pty-limited","article_published_time":"2023-11-29T05:43:35+00:00","article_modified_time":"2024-04-04T02:24:45+00:00","og_image":[{"url":"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/1693362280958.gif","type":"","width":"","height":""}],"author":"website","twitter_card":"summary_large_image","twitter_misc":{"Written by":"website","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.infrasoft.com.au\/?p=979#article","isPartOf":{"@id":"https:\/\/www.infrasoft.com.au\/?p=979"},"author":{"name":"website","@id":"https:\/\/www.infrasoft.com.au\/#\/schema\/person\/ab1cfc963931c33ab30cec69b057ad56"},"headline":"uLinga for Kafka &#8211; The Best NonStop-Kafka Integration Solution","datePublished":"2023-11-29T05:43:35+00:00","dateModified":"2024-04-04T02:24:45+00:00","mainEntityOfPage":{"@id":"https:\/\/www.infrasoft.com.au\/?p=979"},"wordCount":1284,"commentCount":0,"publisher":{"@id":"https:\/\/www.infrasoft.com.au\/#organization"},"image":{"@id":"https:\/\/www.infrasoft.com.au\/?p=979#primaryimage"},"thumbnailUrl":"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/1693362280958.gif","articleSection":["Uncategorized"],"inLanguage":"en-AU","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.infrasoft.com.au\/?p=979#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.infrasoft.com.au\/?p=979","url":"https:\/\/www.infrasoft.com.au\/?p=979","name":"uLinga for Kafka - The Best NonStop-Kafka Integration Solution - Infrasoft","isPartOf":{"@id":"https:\/\/www.infrasoft.com.au\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.infrasoft.com.au\/?p=979#primaryimage"},"image":{"@id":"https:\/\/www.infrasoft.com.au\/?p=979#primaryimage"},"thumbnailUrl":"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/1693362280958.gif","datePublished":"2023-11-29T05:43:35+00:00","dateModified":"2024-04-04T02:24:45+00:00","breadcrumb":{"@id":"https:\/\/www.infrasoft.com.au\/?p=979#breadcrumb"},"inLanguage":"en-AU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.infrasoft.com.au\/?p=979"]}]},{"@type":"ImageObject","inLanguage":"en-AU","@id":"https:\/\/www.infrasoft.com.au\/?p=979#primaryimage","url":"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/1693362280958.gif","contentUrl":"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2023\/11\/1693362280958.gif","width":1080,"height":1350},{"@type":"BreadcrumbList","@id":"https:\/\/www.infrasoft.com.au\/?p=979#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.infrasoft.com.au\/"},{"@type":"ListItem","position":2,"name":"uLinga for Kafka &#8211; The Best NonStop-Kafka Integration Solution"}]},{"@type":"WebSite","@id":"https:\/\/www.infrasoft.com.au\/#website","url":"https:\/\/www.infrasoft.com.au\/","name":"Infrasoft","description":"High Availability Software Infrastructure","publisher":{"@id":"https:\/\/www.infrasoft.com.au\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.infrasoft.com.au\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-AU"},{"@type":"Organization","@id":"https:\/\/www.infrasoft.com.au\/#organization","name":"Infrasoft","url":"https:\/\/www.infrasoft.com.au\/","logo":{"@type":"ImageObject","inLanguage":"en-AU","@id":"https:\/\/www.infrasoft.com.au\/#\/schema\/logo\/image\/","url":"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2021\/10\/cropped-infrasoft_icon.jpg","contentUrl":"https:\/\/www.infrasoft.com.au\/wp-content\/uploads\/2021\/10\/cropped-infrasoft_icon.jpg","width":512,"height":512,"caption":"Infrasoft"},"image":{"@id":"https:\/\/www.infrasoft.com.au\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/infrasoft-pty-limited"]},{"@type":"Person","@id":"https:\/\/www.infrasoft.com.au\/#\/schema\/person\/ab1cfc963931c33ab30cec69b057ad56","name":"website","image":{"@type":"ImageObject","inLanguage":"en-AU","@id":"https:\/\/www.infrasoft.com.au\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/f8ed84048fcdb5afa88338fd16181fdd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f8ed84048fcdb5afa88338fd16181fdd?s=96&d=mm&r=g","caption":"website"},"sameAs":["https:\/\/www.infrasoft.com.au\/"],"url":"https:\/\/www.infrasoft.com.au\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/www.infrasoft.com.au\/index.php?rest_route=\/wp\/v2\/posts\/979"}],"collection":[{"href":"https:\/\/www.infrasoft.com.au\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.infrasoft.com.au\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.infrasoft.com.au\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.infrasoft.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=979"}],"version-history":[{"count":19,"href":"https:\/\/www.infrasoft.com.au\/index.php?rest_route=\/wp\/v2\/posts\/979\/revisions"}],"predecessor-version":[{"id":1006,"href":"https:\/\/www.infrasoft.com.au\/index.php?rest_route=\/wp\/v2\/posts\/979\/revisions\/1006"}],"wp:attachment":[{"href":"https:\/\/www.infrasoft.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=979"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.infrasoft.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=979"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.infrasoft.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}