WORKLOAD AUTOMATION COMMUNITY
  • Home
  • Blogs
  • Forum
  • Resources
  • Events
  • About
  • Contact
  • What's new

Seamless Integration: Leveraging Workload Automation to Orchestrate Azure Service Bus

4/4/2024

0 Comments

 
Picture
​Let us begin with understanding Azure Service Bus, what it is all about before moving to our Azure Service Bus Plug-in, and how it is benefits to our workload automation users.
The Azure Service Bus can be downloaded from Automation Hub to enhance your Workload Automation setup.
Introduction:
Azure Service Bus shines in numerous enterprise eventualities where reliable, asynchronous conversation among packages and services is important.
 
Order Placement: When a customer places an order, the eCommerce platform publishes an order message about Azure Service Bus.
Social media platform: The service bus can handle messages between users, share information, and send messages to services based on user preferences.
Financial Services: Service Bus can enable secure and reliable data transfer between banking application and internal systems.
Healthcare Platform: Service Bus can facilitate communication between healthcare providers, patients and medical devices.
 
Key Features:
1. Microservices structure: Decouple microservices and achieve high scalability with the aid of the use of Service Bus queues to address verbal exchange among them. This allows unbiased improvement, deployment, and scaling of every provider even as ensuring statistics delivery.
2. Event-driven architectures: Implement complicated event-pushed workflows the use of Service Bus topics and subscriptions. This allows applications to react to events asynchronously, selling unfastened coupling and enabling actual-time processing.
3. Batch processing: Offload lengthy going for walks duties from internet applications to worker techniques via sending messages to Service Bus queues. This frees up net apps for dealing with user requests even as ensuring duties are processed reliably.
4. Integration with on-premises structures: Connect on-premises programs to Azure cloud offerings the use of Service Bus as a secure bridge. This allows records trade and hybrid deployments seamlessly.
5. Asynchronous notifications: Send notifications to multiple recipients about events or updates without overwhelming any unmarried recipient. Use Service Bus subjects and subscriptions to fan out messages successfully.
6. Order processing: Manage order processing workflows reliably using Service Bus queues. Store orders as messages, system them in series, and manage failures gracefully with retries and dead lettering.
 
7. IoT statistics ingestion: Collect and path facts from IoT gadgets to diverse backend offerings the usage of Service Bus subjects. This enables green scaling and processing of huge volumes of IoT information.
8. Workflow Automation: Create complex workflows by chaining tasks together using Service Bus messaging. This allows functions to be organized in different systems.
9. API rate limits: Use rate limits for APIs to prevent overload and ensure adequate access. Use Service Bus queues to buffer API requests and process them at a controlled rate.
10. High availability and disaster recovery: Leverage service bus features such as geo-replication and automatic failover to ensure message delivery even after an outage or failure. This increases system flexibility and uptime.
 
Getting Started:
To get started with Azure Service Bus Plug-in, follow these basic steps below and let us see how easy it is to start and monitor the jobs.
 
Create a new job and select “Azure Service Bus” in the Cloud section.
Picture
​Connection:
First, connect to the Azure Service Bus by providing the required information.
 
NameSpace
The namespace of Azure Service Bus. This field is mandatory.
SharedAccessKeyName
The SharedAccessKeyName of Azure Service Bus. This field is mandatory.
SharedAccessKey
The SharedAccessKey of Azure Service Bus. This field is mandatory.
Select Queue Or Topic
You have the option to select the Queue Name or Topic Name, with which you want to stablish the connection.
1. Queue Name
   The Queue Name of Azure Service Bus. This field is mandatory.
2. Topic Name  
   The Topic Name of Azure Service Bus. This field is mandatory.
Picture
​After that, by selecting Test Connection, you can check the connection to the Azure Service Bus.
Picture
​Action:
You may go to the Action tab and specify the job's specifics as well as the action you wish to take after the connection has been successfully tested.
 
Send
You can select the "Send" to send a message.
 
Content Type     
You can select the message or file format type as it supports only: - JSON, XML, Plain Text. This is mandatory field.  
Upload File
This section you can upload the file which you want to send.
Message Body
This section provides information about the message that can be send.
Broker Properties
Select the check box to set the broker properties while sending the message.
Correlation ID
This section can be used to set the correlation ID of the message.
Message ID
This section can be used to set the message ID of the message.
Reply To
This section can be used to set the reply to of the message.
Label/Subject
This section can be used to set the label of the message.
Set Time To Live
Select the check box to set the time to live while sending the message.
Days
This section can be used to set the number of days of the live of the message.
Hour
This section can be used to set the number of hours of the live of the message.
Minute
This section can be used to set the number of minutes of the live of the message.
Second
This section can be used to set the number of seconds of the live of the message.
Set Schedule To Enqueue Time
Select the check box to schedule the enqueue time while sending the message.
Days
This section can be used to set the number of days of enqueue time of the message.
Hour
This section can be used to set the number of hours of enqueue time of the message.
Minute
This section can be used to set the number of minutes of enqueue time of the message.
Second
This section can be used to set the number of seconds of enqueue time of the message.
 
Custom Properties
Select the check box to set the custom properties while sending the message.
Key
This section can be used to set the key to the message.
Value
This section can be used to set the value of the message. 
Repeat Send
Select the check box to repeatedly send the message.
Number of Messages
The section provides information about how many times the message should be send.
Interval Between Messages
This section provides the time interval (in seconds) after which the messages should be send.
Picture
Receive For Queue
You can select the "Receive" to receive a message from queue.
  
Receive Mode
RECEIVEANDDELETE receive mode is supported to receive the message. This is mandatory field.
Number of Messages to Receive
The section provides information about how many messages we want to receive.
Max Time to wait (in seconds)
This section provides the time interval (in seconds) till which it waits for the message to be received.
Picture
​Receive For Topic
You can select the "Receive" to receive a message from topic.
 
Subscription Name
The Subscription Name of Azure Service Bus. Subscription should be specific to topic name. This is mandatory field.
Receive Mode
RECEIVEANDDELETE receive mode is supported to receive the message.
Number of Messages to Receive
The section provides information about how many messages we want to receive.
 
Max Time to wait (in seconds)
This section provides the time interval (in seconds) till which it waits for the message to be received.
Picture
​Saving and submitting your job:
Submit your job into the current plan. You can add your job to the job stream that automates your business process flow. Select the action menu in the top-left corner of the job definition panel and click on Submit Job into Current Plan. A confirmation message is displayed, and you can switch to the monitoring view to see what is going on.
Picture
Picture
 Monitor Page:
User can track the jobs in monitor page.
Picture
​If the job completes successfully in the backend Azure Service  Bus, the status should be changed to successful.
Picture
​Job Log Details:
Send
 
= JOB       : LP1-AP-5214036_1#JOBS[(0000 03/17/24),(JOBS)].AZURE0600
= TASK      : <?xml version="1.0" encoding="UTF-8"?>
<jsdl:jobDefinition xmlns:jsdl="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdl" xmlns:jsdlazureservicebus="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdlazureservicebus" name="AZURESERVICEBUS">
  <jsdl:variables>
    <jsdl:stringVariable name="tws.jobstream.name">JOBS</jsdl:stringVariable>
    <jsdl:stringVariable name="tws.jobstream.id">JOBS</jsdl:stringVariable>
    <jsdl:stringVariable name="tws.job.name">AZURE0600</jsdl:stringVariable>
    <jsdl:stringVariable name="tws.job.workstation">LP1-AP-5214036_1</jsdl:stringVariable>
    <jsdl:stringVariable name="tws.job.iawstz">202403170000</jsdl:stringVariable>
    <jsdl:stringVariable name="tws.job.promoted">NO</jsdl:stringVariable>
    <jsdl:stringVariable name="tws.job.resourcesForPromoted">10</jsdl:stringVariable>
    <jsdl:stringVariable name="tws.job.num">301650951</jsdl:stringVariable>
  </jsdl:variables>
  <jsdl:application name="azureservicebus">
    <jsdlazureservicebus:azureservicebus>
                                                                        <jsdlazureservicebus:azureservicebusParameters>
                                                                                                <jsdlazureservicebus:Connection>
                                                                                                                        <jsdlazureservicebus:connectionInfo>
                                                                                                                                                <jsdlazureservicebus:nameSpace>service.servicebus.windows.net</jsdlazureservicebus:nameSpace>
                                                                                                                                                <jsdlazureservicebus:sharedAccessKeyName>SharedAccessKey</jsdlazureservicebus:sharedAccessKeyName>
                                                                                                                                                <jsdlazureservicebus:sharedAccessKey>TsjTZTiVfe7ZCANsuU</jsdlazureservicebus:sharedAccessKey>
                                                                                                                                                <jsdlazureservicebus:inputInfo>
                                                                                                                                                                        <jsdlazureservicebus:inputMode>
                                                                                                                                                                                                <jsdlazureservicebus:queueName>
                                                                                                                                                                                                                        <jsdlazureservicebus:connectQueue>servicepoc_queue</jsdlazureservicebus:connectQueue>
                                                                                                                                                                                                </jsdlazureservicebus:queueName>
                                                                                                                                                                        </jsdlazureservicebus:inputMode>
                                                                                                                                                </jsdlazureservicebus:inputInfo>
                                                                                                                        </jsdlazureservicebus:connectionInfo>
                                                                                                </jsdlazureservicebus:Connection>
                                                                                                <jsdlazureservicebus:Action>
                                                                                                                        <jsdlazureservicebus:actioninfo>
                                                                                                                                                <jsdlazureservicebus:operation>
                                                                                                                                                                        <jsdlazureservicebus:send>
                                                                                                                                                                                                <jsdlazureservicebus:format>txt</jsdlazureservicebus:format>
                                                                                                                                                                                                <jsdlazureservicebus:inputModeS>
                                                                                                                                                                                                                        <jsdlazureservicebus:sendMessageBody>
                                                                                                                                                                                                                                                <jsdlazureservicebus:MessageBody>Hello</jsdlazureservicebus:MessageBody>
                                                                                                                                                                                                                        </jsdlazureservicebus:sendMessageBody>
                                                                                                                                                                                                </jsdlazureservicebus:inputModeS>
                                                                                                                                                                                                <jsdlazureservicebus:brokerMethod/>
                                                                                                                                                                                                <jsdlazureservicebus:setTimeMethod/>
                                                                                                                                                                                                <jsdlazureservicebus:enqueueTimeMethod/>
                                                                                                                                                                                                <jsdlazureservicebus:customMethod/>
                                                                                                                                                                                                <jsdlazureservicebus:Method/>
                                                                                                                                                                        </jsdlazureservicebus:send>
                                                                                                                                                </jsdlazureservicebus:operation>
                                                                                                                                                <jsdlazureservicebus:jobMethod/>
                                                                                                                        </jsdlazureservicebus:actioninfo>
                                                                                                </jsdlazureservicebus:Action>
                                                                        </jsdlazureservicebus:azureservicebusParameters>
                                                </jsdlazureservicebus:azureservicebus>
  </jsdl:application>
  <jsdl:resources>
    <jsdl:orderedCandidatedWorkstations>
      <jsdl:workstation>FB6E3FCD7B264434A6C095037E25882E</jsdl:workstation>
    </jsdl:orderedCandidatedWorkstations>
  </jsdl:resources>
</jsdl:jobDefinition>
= TWSRCMAP  :
= AGENT     : LP1-AP-5214036_1
= Job Number: 301650951
= Wed 03/06/2024 10:07:43 IST
===============================================================
Job running : AzureServiceBus
MESSAGE SEND SUCCESSFULLY WITH ID: 9f3ec5e5-1449-41ab-9606-b53f82c1601c
Message Send To Queue :- servicepoc_queue
Job Status : Successful
===============================================================
= Exit Status           : 0
= Elapsed Time (hh:mm:ss) : 00:00:04
= Wed 03/06/2024 10:07:48 IST

 
Receive
 
= JOB       : LP1-AP-5214036_1#JOBS[(0000 03/17/24),(JOBS)].AZURESERVICEBUS0601
= TASK      : <?xml version="1.0" encoding="UTF-8"?>
<jsdl:jobDefinition xmlns:jsdl="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdl" xmlns:jsdlazureservicebus="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdlazureservicebus" name="AZURESERVICEBUS">
  <jsdl:variables>
    <jsdl:stringVariable name="tws.jobstream.name">JOBS</jsdl:stringVariable>
    <jsdl:stringVariable name="tws.jobstream.id">JOBS</jsdl:stringVariable>
    <jsdl:stringVariable name="tws.job.name">AZURESERVICEBUS0601</jsdl:stringVariable>
    <jsdl:stringVariable name="tws.job.workstation">LP1-AP-5214036_1</jsdl:stringVariable>
    <jsdl:stringVariable name="tws.job.iawstz">202403170000</jsdl:stringVariable>
    <jsdl:stringVariable name="tws.job.promoted">NO</jsdl:stringVariable>
    <jsdl:stringVariable name="tws.job.resourcesForPromoted">10</jsdl:stringVariable>
    <jsdl:stringVariable name="tws.job.num">301650953</jsdl:stringVariable>
  </jsdl:variables>
  <jsdl:application name="azureservicebus">
    <jsdlazureservicebus:azureservicebus>
                                                                        <jsdlazureservicebus:azureservicebusParameters>
                                                                                                <jsdlazureservicebus:Connection>
                                                                                                                        <jsdlazureservicebus:connectionInfo>
                                                                                                                                                <jsdlazureservicebus:nameSpace>service.servicebus.windows.net</jsdlazureservicebus:nameSpace>
                                                                                                                                                <jsdlazureservicebus:sharedAccessKeyName>SharedAccessKey</jsdlazureservicebus:sharedAccessKeyName>
                                                                                                                                                <jsdlazureservicebus:sharedAccessKey>TsjTZTiVfe7ZCANsuU</jsdlazureservicebus:sharedAccessKey>
                                                                                                                                                <jsdlazureservicebus:inputInfo>
                                                                                                                                                                        <jsdlazureservicebus:inputMode>
                                                                                                                                                                                                <jsdlazureservicebus:queueName>
                                                                                                                                                                                                                        <jsdlazureservicebus:connectQueue>servicepoc_queue</jsdlazureservicebus:connectQueue>
                                                                                                                                                                                                </jsdlazureservicebus:queueName>
                                                                                                                                                                        </jsdlazureservicebus:inputMode>
                                                                                                                                                </jsdlazureservicebus:inputInfo>
                                                                                                                        </jsdlazureservicebus:connectionInfo>
                                                                                                </jsdlazureservicebus:Connection>
                                                                                                <jsdlazureservicebus:Action>
                                                                                                                        <jsdlazureservicebus:actioninfo>
                                                                                                                                                <jsdlazureservicebus:operation>
                                                                                                                                                                        <jsdlazureservicebus:receive>
                                                                                                                                                                                                <jsdlazureservicebus:receiveMode>RECEIVEANDDELETE</jsdlazureservicebus:receiveMode>
                                                                                                                                                                                                <jsdlazureservicebus:noOfMessages>2</jsdlazureservicebus:noOfMessages>
                                                                                                                                                                                                <jsdlazureservicebus:timeToWait/>
                                                                                                                                                                        </jsdlazureservicebus:receive>
                                                                                                                                                </jsdlazureservicebus:operation>
                                                                                                                                                <jsdlazureservicebus:jobMethod/>
                                                                                                                        </jsdlazureservicebus:actioninfo>
                                                                                                </jsdlazureservicebus:Action>
                                                                        </jsdlazureservicebus:azureservicebusParameters>
                                                </jsdlazureservicebus:azureservicebus>
  </jsdl:application>
  <jsdl:resources>
    <jsdl:orderedCandidatedWorkstations>
      <jsdl:workstation>FB6E3FCD7B264434A6C095037E25882E</jsdl:workstation>
    </jsdl:orderedCandidatedWorkstations>
  </jsdl:resources>
</jsdl:jobDefinition>
= TWSRCMAP  :
= AGENT     : LP1-AP-5214036_1
= Job Number: 301650953
= Wed 03/06/2024 12:09:19 IST
===============================================================
Job running : AzureServiceBus
Received message:
Message : Hi Queue
Sequence Number : 19
Delivery Count :- 0
 
Received message:
Message : Hello by File
Sequence Number : 20
Delivery Count :- 0
 
Job Status : Successful
===============================================================
= Exit Status           : 0
= Elapsed Time (hh:mm:ss) : 00:00:07
= Wed 03/06/2024 12:09:27 IST
===============================================================
Authors

Picture
Deepanshi Singhal
Senior Software Engineer at HCL Software


Works as a Plug-in developer in Workload Automation Plug-in factory team. Proficient in Java,J2EE, Spring MVC, Spring Boot, Hibernate, MySQL.

Picture
​Ernesto Carrabba, Product Manager, HCL Clara, HCL HERO and HCL Workload Automation 
 
Ernesto Carrabba is the Product Manager for HCL Clara, HCL HERO and HCL Workload Automation. Ernesto is a very dynamic product manager with experience in building and launching IoT products, combined with a master's degree in mechanical engineering and study researches on Augmented and Virtual Reality. 
0 Comments

Your comment will be posted after it is approved.


Leave a Reply.

    Archives

    December 2025
    October 2025
    July 2025
    June 2025
    May 2025
    March 2025
    February 2025
    January 2025
    December 2024
    November 2024
    October 2024
    September 2024
    August 2024
    July 2024
    June 2024
    May 2024
    April 2024
    March 2024
    February 2024
    January 2024
    October 2023
    August 2023
    July 2023
    June 2023
    May 2023
    April 2023
    March 2023
    February 2023
    January 2023
    December 2022
    September 2022
    August 2022
    July 2022
    June 2022
    May 2022
    April 2022
    March 2022
    February 2022
    January 2022
    December 2021
    October 2021
    September 2021
    August 2021
    July 2021
    June 2021
    May 2021
    April 2021
    March 2021
    February 2021
    January 2021
    December 2020
    November 2020
    October 2020
    September 2020
    August 2020
    July 2020
    June 2020
    May 2020
    April 2020
    March 2020
    January 2020
    December 2019
    November 2019
    October 2019
    August 2019
    July 2019
    June 2019
    May 2019
    April 2019
    March 2019
    February 2019
    January 2019
    December 2018
    November 2018
    October 2018
    September 2018
    August 2018
    July 2018
    June 2018
    May 2018
    April 2018
    March 2018
    February 2018
    January 2018
    December 2017
    November 2017
    October 2017
    September 2017
    August 2017
    July 2017
    June 2017
    May 2017

    Categories

    All
    Analytics
    Azure
    Business Applications
    Cloud
    Data Storage
    DevOps
    Monitoring & Reporting

    RSS Feed

www.hcltechsw.com
About HCL Software 
HCL Software is a division of HCL Technologies (HCL) that operates its primary software business. It develops, markets, sells, and supports over 20 product families in the areas of DevSecOps, Automation, Digital Solutions, Data Management, Marketing and Commerce, and Mainframes. HCL Software has offices and labs around the world to serve thousands of customers. Its mission is to drive ultimate customer success with their IT investments through relentless innovation of its products. For more information, To know more  please visit www.hcltechsw.com.  Copyright © 2024 HCL Technologies Limited
  • Home
  • Blogs
  • Forum
  • Resources
  • Events
  • About
  • Contact
  • What's new