Sign In to Follow Application
View All Documents & Correspondence

Method And System For Data Messaging In An Enterprise Application

Abstract: ABSTRACT METHOD AND SYSTEM FOR DATA MESSAGING IN AN ENTERPRISE APPLICATION This disclosure relates generally to a method and system for data messaging in an enterprise application. The conventional methods for data messaging between multiple applications in the enterprise application creates dependencies and does not handle missing messages. The present disclosure removes unnecessary dependencies across multiple applications. The method receives messages and uses queues for the messages sent by a producer application using the distributed event streaming platform with the help of different task executors. The method handles undelivered messages for a consumer application and redelivers the message on request basis. The method is loosely coupled across multiple applications and fault tolerant. The method can be used in many enterprise applications such as hospital management applications, banking system and so on. [To be published with FIG. 3]

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
28 August 2023
Publication Number
10/2025
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

Tata Consultancy Services Limited
Nirmal Building, 9th floor, Nariman point, Mumbai 400021, Maharashtra, India

Inventors

1. PATRA, Sourav
Tata Consultancy Services Limited, TCS Gitanjali Park, IT/ITES SEZ, Plot-IIF/3,Action Area-II, New Town, Rajarhat, Kolkata 700156, West Bengal, India
2. MONDAL, Angshuman
Tata Consultancy Services Limited, TCS Gitanjali Park, IT/ITES SEZ, Plot-IIF/3,Action Area-II, New Town, Rajarhat, Kolkata 700156, West Bengal, India
3. JAMAL, MD Anwar
Tata Consultancy Services Limited, TCS Gitanjali Park, IT/ITES SEZ, Plot-IIF/3,Action Area-II, New Town, Rajarhat, Kolkata 700156, West Bengal, India
4. ROY, Geetanjan
Tata Consultancy Services Limited, TCS Gitanjali Park, IT/ITES SEZ, Plot-IIF/3,Action Area-II, New Town, Rajarhat, Kolkata 700156, West Bengal, India

Specification

Description:FORM 2

THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003

COMPLETE SPECIFICATION
(See Section 10 and Rule 13)

Title of invention:

METHOD AND SYSTEM FOR DATA MESSAGING IN AN ENTERPRISE APPLICATION

Applicant

Tata Consultancy Services Limited
A company Incorporated in India under the Companies Act, 1956
Having address:
Nirmal Building, 9th floor,
Nariman point, Mumbai 400021,
Maharashtra, India

Preamble to the description:

The following specification particularly describes the invention and the manner in which it is to be performed.
TECHNICAL FIELD
[001] The disclosure herein generally relates to data messaging, and, more particularly, to a method and system for data messaging in an enterprise application having multiple applications.

BACKGROUND
[002] Nowadays every organization includes multiple small applications such as microservices instead of having a large monolithic application. These multiple applications cater to various requirements across multiple segments. These applications need to communicate with each other for information sharing and other data sync up. Hence continuous communication across such small multiple applications is vital. These applications are developed in different times with different technology stack. Hence, it’s a challenge to implement same functionality of sending/receiving data in all the linked applications. Every time, when one or more application requires to share and/or receive these communications, all related applications need to be changed. As the number of applications increases, these additional applications are slowly consuming more resources. Hence, this is impacting performance of applications’ sole functionality. This messaging system also does not have enough security for any data used in communication. There is not adequate facility to monitor communication flow. Such as the messaging system needs to know source and destination systems and check their logs.
[003] Source system can share current state of an entity, an event etc. to one or more target systems. These integrations are implemented in various ways like a) underlying database integration, b) calling target application's Application Programming Interface (API), c) traditional pub-sub queue etc. All of these are having both advantages and disadvantages. Main drawback with these implementations is that it creates 'dependencies'. Also, maximum components are not securing data and these do not have adequate handling of missing/undelivered messages.

SUMMARY
[004] Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems. For example, in one embodiment, a method for data messaging in an enterprise application having multiple applications is provided. The method includes sending one or more requests to an interceptor stack by one or more producer applications of an enterprise application for processing one or more messages. Further the method includes, validating the one or more requests by the interceptor stack and encrypting the one or more messages using an encryption service to obtain one or more encrypted messages. Further the method includes, providing the one or more encrypted messages to a set of topics obtained from a distributed event streaming platform by invoking a handler and processing the one or more encrypted messages by one or more consumer applications of the enterprise application by utilizing a set of executors associated with a set of functionalities. The processing step comprises, reading the one or more encrypted messages from the set of Kafka topics by the set of executors and further decrypting the one or more encrypted messages using a decrypting technique to obtain one or more decrypted messages. Then the step includes, formatting the one or more decrypted messages by the set of executors to obtain one or more formatted messages and further utilizing the one or more formatted messages for one or more practical applications.
[005] In another aspect, a system for data messaging in an enterprise application having multiple applications is provided. The system comprises memory storing instructions; one or more communication interfaces; and one or more hardware processors coupled to the memory via the one or more communication interfaces, wherein the one or more hardware processors are configured by the instructions to send one or more requests to an interceptor stack by one or more producer applications of an enterprise application for processing one or more messages. Further the system includes to validate the one or more requests by the interceptor stack and encrypt the one or more messages using an encryption service to obtain one or more encrypted messages. Further the system includes to provide the one or more encrypted messages to a set of topics obtained from a distributed event streaming platform by invoking a handler and process the one or more encrypted messages by one or more consumer applications of the enterprise application by utilizing a set of executors associated with a set of functionalities. The processing step comprises, reading the one or more encrypted messages from the set of Kafka topics by the set of executors and further decrypting the one or more encrypted messages using a decrypting technique to obtain one or more decrypted messages. Then the step includes, formatting the one or more decrypted messages by the set of executors to obtain one or more formatted messages and further utilizing the one or more formatted messages for one or more practical applications.
[006] Each producer application comprises a set of parameters including an interface type, a message type, and a topic data. Each consumer application of the one or more consumer applications comprises a set of subscription parameters including a subscription type, a subscription message type, a set of subscription attributes and a subscription ID. The set of executors includes an application programming interface (API) executor, a file executor, an email executor, and a custom executor.
[007] The formatting of the one or more decrypted messages includes formatting the one or more decrypted messages to a JSON request by the API executor, formatting the one or more decrypted messages to a file by the file executor and formatting the one or more decrypted messages to at least (i) a mail body or (ii) an attachment by the email executor.
[008] The system includes sending a set of formatted messages from the one or more formatted messages to a queue via a dead letter handler as a set of undelivered messages if (i) not read by at least one consumer application of the one or more consumer applications or (ii) not sent to at least one consumer application of the one or more consumer applications. The set of undelivered messages are handled via the dead letter handler by requesting to a dead letter controller by the at least one consumer application of the one or more consumer applications for retrieving the set of undelivered messages. Further a set of undelivered message IDs pertaining to the set of undelivered messages is retrieved from the queue by the dead letter handler and the set of undelivered message IDs is passed to the at least one consumer application. Further a request is sent for redelivery of a set of messages associated with the set of undelivered message IDs by the at least one consumer application to the dead letter handler. Then the set of messages associated with the set of undelivered message IDs is retrieved from the queue by the dead letter handler.
[009] In yet another aspect, there is provided a computer program product comprising a non-transitory computer readable medium having a computer readable program embodied therein, wherein the computer readable program, when executed on a computing device causes the computing device for motion capturing and retargeting by sending one or more requests to an interceptor stack by one or more producer applications of an enterprise application for processing one or more messages. Further the computer readable program includes, validating the one or more requests by the interceptor stack and encrypting the one or more messages using an encryption service to obtain one or more encrypted messages. Further the computer readable program includes, providing the one or more encrypted messages to a set of topics obtained from a distributed event streaming platform by invoking a handler and processing the one or more encrypted messages by one or more consumer applications of the enterprise application by utilizing a set of executors associated with a set of functionalities. The processing step comprises, reading the one or more encrypted messages from the set of Kafka topics by the set of executors and further decrypting the one or more encrypted messages using a decrypting technique to obtain one or more decrypted messages. Then the step includes, formatting the one or more decrypted messages by the set of executors to obtain one or more formatted messages and further utilizing the one or more formatted messages for one or more practical applications.
[010] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS
[011] The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles:
[012] FIG. 1 illustrates an exemplary block diagram of a system for data messaging in an enterprise application according to some embodiments of the present disclosure.
[013] FIG. 2A and FIG. 2B is an exemplary flow diagram for a method for data messaging in an enterprise application according to some embodiments of the present disclosure.
[014] FIG. 3 illustrates an example for data communication of a front office application in a hospital application in accordance with some embodiments of the present disclosure.
[015] FIG. 4 illustrates an example for data communication of an inventory application and a finance application in the hospital application in accordance with some embodiments of the present disclosure.
[016] FIG. 5 illustrates an example of communication of an undelivered message of the inventory application in the hospital application in accordance with some embodiments of the present disclosure.
[017] FIG. 6 illustrates an example of handling the undelivered message of the inventory application in the hospital application in accordance with some embodiments of the present disclosure.

DETAILED DESCRIPTION OF EMBODIMENTS
[018] Exemplary embodiments are described with reference to the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the scope of the disclosed embodiments.
[019] Data transfer between multiple applications in a large enterprise application needs to consider security issues, dependency problem, handling missing or undelivered messages and so on. Existing techniques for data messaging are either generic or specific (which is hard to integrate additional improvement to the already existing large application.
[020] The disclosed method and system help in to remove unnecessary dependencies across multiple applications in the large enterprise application. Here the multiple applications need not have additional components responsible for sending data, maintaining workflow metadata, or even managing data loss. The disclosed method is cloud based, scalable, fault tolerant, which has high availability and produces high throughput with zero data loss. The disclosed data messaging system is loosely coupled across multiple applications. A producer application can send messages with a defined structure without bothering who consumes the messages.
[021] Referring now to the drawings, and more particularly to FIG. 1 through FIG. 6, where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following exemplary system and/or method.
[022] According to an embodiment of the disclosure, FIG. 1 illustrates a block diagram of a system 100 for data messaging in an enterprise application. In an embodiment, the network 108 may be a wireless or a wired network, or a combination thereof. In an example, the network 108 can be implemented as a computer network, as one of the different types of networks, such as virtual private network (VPN), intranet, local area network (LAN), wide area network (WAN), the internet, and such. The network 108 may either be a dedicated network or a shared network, which represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), and Wireless Application Protocol (WAP), to communicate with each other. Further, the network 108 may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices. The network devices within the network 108 may interact with the system 100 through communication links. In an embodiment, the system 100 may be a component of a producer application or a consumer application in the enterprise application. In another embodiment, the system 100 may be a centralized system that is in communication with different producer applications or consumer applications in the enterprise application.
[023] The system 100 may be implemented in a workstation, a mainframe computer, a server, and a network server. In an embodiment, the computing device 104 further comprises one or more hardware processors 112, one or more memory 110, hereinafter referred as a memory 110 and a data repository 114, for example, a repository 114. The memory 110 is in communication with the one or more hardware processors 112, wherein the one or more hardware processors 112 are configured to execute programmed instructions stored in the memory 110, to perform various functions as explained in the later part of the disclosure. The repository 114 may store data processed, received, and generated by the system 100.
[024] In an embodiment, the memory 110 includes a plurality of modules (not shown). The plurality of modules includes programs or coded instructions that supplement applications or functions performed by the system 100 for executing different steps involved in the process of task feasibility analysis with explanation for robotic task execution by the system 100. The plurality of modules, amongst other things, can include routines, programs, objects, components, and data structures, which performs particular tasks or implement particular abstract data types. The plurality of modules may also be used as, signal processor(s), node machine(s), logic circuitries, and/or any other device or component that manipulates signals based on operational instructions. Further, the plurality of modules can be used by hardware, by computer-readable instructions executed by the one or more hardware processors 112, or by a combination thereof. The plurality of modules can include various sub-modules such as handler, topics, dead letter handler, and the like (not shown).
[025] The system 100 supports various connectivity options such as BLUETOOTH®, USB, ZigBee, and other cellular services. The network environment enables connection of various components of the system 100 using any communication link including Internet, WAN, MAN, and so on. In an exemplary embodiment, the system 100 is implemented to operate as a stand-alone device. In another embodiment, the system 100 may be implemented to work as a loosely coupled device to a smart computing environment. The components and functionalities of the system 100 are described further in detail.
[026] FIG. 2A and FIG. 2B is an exemplary flow diagram for a method for data messaging in an enterprise application according to some embodiments of the present disclosure. In an embodiment, the system 100 comprises one or more data storage devices or the memory 110 operatively coupled to the one or more hardware processor(s) 112 and is configured to store instructions for execution of steps of the method 200 by the processor(s) or one or more hardware processors 112. The steps of the method 200 of the present disclosure will now be explained with reference to the components or blocks of the system 100 as depicted in FIG. 1 and the steps of flow diagram as depicted in FIGS. 2A and 2B. Although process steps, method steps, techniques or the like may be described in a sequential order, such processes, methods, and techniques may be configured to work in alternate orders. In other words, any sequence or order of steps that may be described does not necessarily indicate a requirement that the steps to be performed in that order. The steps of processes described herein may be performed in any order practical. Further, some steps may be performed simultaneously.
[027] At step 202 of the method 200, the one or more hardware processors 112 are configured to send one or more requests to an interceptor stack by one or more producer applications of an enterprise application for processing one or more messages. Each producer application comprises a set of parameters including an interface type, a message type, and a topic data. The steps of the method 200, will be explained with an example of a hospital application where multiple applications are running for multiple departments, namely front-office, inventory, staff, finance, pharmacy and so on. Considering a scenario where a patient come to front-office for admission. Whenever, “front-office” processed “admission” request, same data will be dispatched to “inventory” and “finance” application. Here the “front-office” is considered as the producer application and the “inventory” and “finance” applications are considered as the consumer applications. The “front-office” application invokes a Representational state transfer Application Programming Interface (REST API) during admission processing. An example of database entries for producer applications is shown in Table 1.
Producer application
Producer Front-office
Interface Type API
Msg Type Admission
Topic Data
Name Admission-topic
Partition 3
Table 1
[028] At step 204 of the method 200, the one or more hardware processors 112 are configured to validate the one or more requests by the interceptor stack. The one or more requests are verified using a filter or the interceptor stack. For example, the messages invoked by the front office application are verified by the interceptor stack including a JavaScript Object Notation (JSON) Web Token (JWT) verifier, an active producer verifier and a custom request processor. Further the request goes to a controller and the controller makes a service call to a service module. The service module is a query module or component which will execute queries against topic data and verifies topic data of the producer application stored in a database via a data access layer.
[029] At step 206 of the method 200, the one or more hardware processors 112 are configured to encrypt the one or more messages using an encryption service to obtain one or more encrypted messages. The messages are encrypted using any encryption service such as managed services by cloud providers like Amazon Web Service Key Management Service (AWS KMS) or custom applications/services developed by the enterprise themselves.
[030] Further at step 208 of the method 200, the one or more hardware processors 112 are configured to provide the one or more encrypted messages to a set of topics obtained from a distributed event streaming platform (for example, Kafka) by invoking a handler. Each encrypted message of the one or more encrypted messages is attached with a message ID by the handler. For example, in the hospital application, the encrypted messages are pushed to Kafka by invoking Kafka handler. The encrypted messages are pushed into Kafka topics using Kafka Application Programming Interface (API) by generating and attaching a message ID to the encrypted messages. An acknowledgement of successively pushing the encrypted messages is passed to the front-office application (producer application) via the service module, controller, and the interceptor stack along with the attached message ID. FIG. 3 illustrates an example for data communication of the front office application in the hospital application in accordance with some embodiments of the present disclosure.
[031] At step 210 of the method 200, the one or more hardware processors 112 are configured to process the one or more encrypted messages by one or more consumer applications of the enterprise application by utilizing a set of executors associated with a set of functionalities. Each consumer application of the one or more consumer applications comprises a set of subscription parameters including a subscription type, a subscription message type, a set of subscription attributes and a subscription ID. The set of executors includes an application programming interface (API) executor, a file executor, an email executor, and a custom executor. Table 2 shows an example of database entries of consumer application such as inventory application and finance application of the hospital application.
Consumer application
Consumer Inventory Finance
Subscription Type API Email
Subscribed Msg Type Admission Admission
Subscription Attributes {url: https://abcmed.com/processAdmission,
retryLimit: 10,
} {recipient email: fin@abcmed.com,
message type: attachment,
retryLimit: 3
}
Subscription Id Sdsdj4342340jfnsy29 7sdhsd6702nckssde
Is Active True True
Table 2
[032] The processing of the one or more encrypted messages by the one or more consumer applications includes steps 210a to 210d. At step 210a the one or more encrypted messages are read from the set of Kafka topics by the set of executors. Further at step 210b, after reading, the one or more encrypted messages are decrypted using a decrypting technique to obtain one or more decrypted messages. Then at step 210c, the one or more decrypted messages are formatted by the set of executors to obtain one or more formatted messages. Further these one or more formatted messages are utilized at step 210d for one or more practical applications (e.g., an inventory application and a finance application (consumer applications) in the hospital application).
[033] FIG. 4 illustrates an example for data communication of an inventory application and a finance application (consumer applications) in the hospital application in accordance with some embodiments of the present disclosure. For instance, in the hospital application, the encrypted messages which are pushed into Kafka topics are read by the API executor, file executor, email executor and custom executor. The read encrypted messages are decrypted and then formatted using a message processor module. The encrypted messages are formatted (i) to a JSON request via the API executor, (ii) to a file via the file executor, (iii) to a mail body via the email executor, or (iv) to an attachment via the custom executor as per the subscription parameters. Scanners are used for scanning the mail body or file as per the subscription parameters. The email is sent to registered mailbox or file is pushed to some File transfer protocol (FTP) or S3 location. From here the suitable consumer application reads and processes for any practical applications.
[034] Further when a set of formatted messages from the one or more formatted messages are undelivered, they are sent to a queue via a dead letter handler as a set of undelivered messages. This set of undelivered messages is sent to the queue if (i) they are not read by at least one consumer application of the one or more consumer applications or (ii) they are not sent to at least one consumer application of the one or more consumer applications. FIG. 5 illustrates an example for data communication of an undelivered message of the inventory application in the hospital application in accordance with some embodiments of the present disclosure. For an instance, the inventory application of the hospital application was down for some time, the missed messages are handled properly by the method. The dead letter handler creates file and pushes to a storage infrastructure (for e.g., S3) when the API executor does not get an ‘OK’ status from the inventory application.
[035] When the consumer application which was down (due to unavoidable circumstances such as maintenance, or patch deployment/release, and the like) becomes up and running, the set of undelivered messages are retrieved by the dead letter handler. The dead letter handler may receive a notification (e.g., message) of consumer application going live again after down for maintenance. The consumer application requests a dead letter controller for retrieving the set of undelivered messages. The dead letter handler retrieves the set of undelivered message IDs pertaining to the set of undelivered messages from the queue. The dead letter handler is invoked to retrieve by the dead letter controller. The set of undelivered message IDs are passed to the consumer application and the consumer application sent a request for redelivery of a set of messages associated with the set of undelivered message IDs. The set of messages are retrieved by the dead letter handler from the queue. A dead letter job executor helps in adding a redelivery job entry is a database. FIG. 6 illustrates an example of handling the undelivered message of the inventory application in the hospital application in accordance with some embodiments of the present disclosure.
[036] The disclosed method can be used for online exam system, banking system and so on. If an online exam system has multiple applications, then the method can be useful to share event data for every step of online exam, like 'initiated', 'attempted', 'answered', 'skipped' etc. A banking system can use this method for transferring data from 'online bill payment' application to 'account activity' application etc.
[037] The written description describes the subject matter herein to enable any person skilled in the art to make and use the embodiments. The scope of the subject matter embodiments is defined by the claims and may include other modifications that occur to those skilled in the art. Such other modifications are intended to be within the scope of the claims if they have similar elements that do not differ from the literal language of the claims or if they include equivalent elements with insubstantial differences from the literal language of the claims.
[038] The embodiments of present disclosure herein disclose a method and system for data messaging in the enterprise application having multiple applications. The disclosed method and system receive messages and maintains queues for the messages sent by the producer application using the distributed event streaming platform. The messages are pushed into topics, so that the consumer application can read and process these messages accordingly. The disclosed method and system also handle undelivered messages for the consumer application if the application was down for some time. The undelivered messages are redelivered to the consumer application on request basis.
[039] It is to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message therein; such computer-readable storage means contain program-code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The hardware device can be any kind of device which can be programmed including e.g., any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g., hardware means like e.g., an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g., an ASIC and an FPGA, or at least one microprocessor and at least one memory with software processing components located therein. Thus, the means can include both hardware means and software means. The method embodiments described herein could be implemented in hardware and software. The device may also include software means. Alternatively, the embodiments may be implemented on different hardware devices, e.g., using a plurality of CPUs.
[040] The embodiments herein can comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various components described herein may be implemented in other components or combinations of other components. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
[041] The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope of the disclosed embodiments. Also, the words “comprising,” “having,” “containing,” and “including,” and other similar forms are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise.
[042] Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
[043] It is intended that the disclosure and examples be considered as exemplary only, with a true scope of disclosed embodiments being indicated by the following claims.
, Claims:We Claim:
1. A processor implemented method (200) comprising:
sending, via one or more hardware processors, one or more requests to an interceptor stack by one or more producer applications of an enterprise application for processing one or more messages (202);
validating, via the one or more hardware processors, the one or more requests by the interceptor stack (204);
encrypting, via the one or more hardware processors, the one or more messages using an encryption service to obtain one or more encrypted messages (206);
providing, via the one or more hardware processors, the one or more encrypted messages to a set of topics obtained from a distributed event streaming platform by invoking a handler, wherein each encrypted message of the one or more encrypted messages is attached with a message ID by the handler (208); and
processing, via the one or more hardware processors, the one or more encrypted messages by one or more consumer applications of the enterprise application by utilizing a set of executors associated with a set of functionalities (210), wherein the processing comprises:
reading the one or more encrypted messages from the set of Kafka topics by the set of executors (210a);
decrypting the one or more encrypted messages using a decrypting technique to obtain one or more decrypted messages (210b);
formatting the one or more decrypted messages by the set of executors to obtain one or more formatted messages (210c); and
utilizing the one or more formatted messages for one or more practical applications (210d).

2. The method as claimed in claim 1, wherein each producer application comprises a set of parameters including an interface type, a message type, and a topic data.
3. The method as claimed in claim 1, wherein each consumer application of the one or more consumer applications comprises a set of subscription parameters including a subscription type, a subscription message type, a set of subscription attributes and a subscription ID.

4. The method as claimed in claim 1, wherein the set of executors includes an application programming interface (API) executor, a file executor, an email executor, and a custom executor.

5. The method as claimed in claim 4, wherein formatting the one or more decrypted messages comprises at least one of:
formatting the one or more decrypted messages to a JSON request by the API executor,
formatting the one or more decrypted messages to a file by the file executor, and
formatting the one or more decrypted messages to at least (i) a mail body or (ii) an attachment by the email executor.

6. The method as claimed in claim 1, comprises sending a set of formatted messages from the one or more formatted messages to a queue via a dead letter handler as a set of undelivered messages if (i) not read by at least one consumer application of the one or more consumer applications or (ii) not sent to at least one consumer application of the one or more consumer applications.

7. The method as claimed in claim 6, wherein the set of undelivered messages are handled via the dead letter handler by,
requesting, via the one or more hardware processors, to a dead letter controller by the at least one consumer application of the one or more consumer applications for retrieving the set of undelivered messages;
retrieving, via the one or more hardware processors, a set of undelivered message IDs pertaining to the set of undelivered messages from the queue by the dead letter handler, wherein the dead letter handler is invoked by the dead letter controller;
passing, via the one or more hardware processors, the set of undelivered message IDs to the at least one consumer application;
sending, via the one or more hardware processors, a request for redelivery of a set of messages associated with the set of undelivered message IDs by the at least one consumer application to the dead letter handler; and
retrieving, via the one or more hardware processors, the set of messages associated with the set of undelivered message IDs from the queue by the dead letter handler.

8. A system (100), comprising:
a memory (110) storing instructions;
one or more communication interfaces (106); and
one or more hardware processors (112) coupled to the memory (110) via the one or more communication interfaces (106), wherein the one or more hardware processors (112) are configured by the instructions to:
send one or more requests to an interceptor stack by one or more producer applications of an enterprise application for processing one or more messages;
validate the one or more requests by the interceptor stack;
encrypt the one or more messages using an encryption service to obtain one or more encrypted messages;
provide the one or more encrypted messages to a set of topics obtained from a distributed event streaming platform by invoking a handler, wherein each encrypted message of the one or more encrypted messages is attached with a message ID by the handler; and
process the one or more encrypted messages by one or more consumer applications of the enterprise application by utilizing a set of executors associated with a set of functionalities, wherein the processing comprises:
read the one or more encrypted messages from the set of Kafka topics by the set of executors;
decrypt the one or more encrypted messages using a decrypting technique to obtain one or more decrypted messages;
format the one or more decrypted messages by the set of executors to obtain one or more formatted messages; and
utilize the one or more formatted messages for one or more practical applications.

9. The system as claimed in claim 8, wherein each producer application comprises a set of parameters including an interface type, a message type, and a topic data.

10. The system as claimed in claim 8, wherein each consumer application of the one or more consumer applications comprises a set of subscription parameters including a subscription type, a subscription message type, a set of subscription attributes and a subscription ID.

11. The system as claimed in claim 8, wherein the set of executors includes an application programming interface (API) executor, a file executor, an email executor, and a custom executor.

12. The system as claimed in claim 11, wherein formatting the one or more decrypted messages comprises at least one of:
format the one or more decrypted messages to a JSON request by the API executor,
format the one or more decrypted messages to a file by the file executor, and
format the one or more decrypted messages to at least (i) a mail body or (ii) an attachment by the email executor.

13. The system as claimed in claim 8, wherein the one or more hardware processors are further configured by the instructions to send a set of formatted messages from the one or more formatted messages to a queue via a dead letter handler as a set of undelivered messages if (i) not read by at least one consumer application of the one or more consumer applications or (ii) not sent to at least one consumer application of the one or more consumer applications.

14. The system as claimed in claim 13, wherein the set of undelivered messages are handled via the dead letter handler by,
request to a dead letter controller by the at least one consumer application of the one or more consumer applications for retrieving the set of undelivered messages;
retrieve a set of undelivered message IDs pertaining to the set of undelivered messages from the queue by the dead letter handler, wherein the dead letter handler is invoked by the dead letter controller;
pass the set of undelivered message IDs to the at least one consumer application;
send a request for redelivery of a set of messages associated with the set of undelivered message IDs by the at least one consumer application to the dead letter handler; and
retrieve the set of messages associated with the set of undelivered message IDs from the queue by the dead letter handler.

Dated this 28th Day of August 2023
Tata Consultancy Services Limited
By their Agent & Attorney

(Adheesh Nargolkar)
of Khaitan & Co
Reg No IN-PA-1086

Documents

Application Documents

# Name Date
1 202321057636-STATEMENT OF UNDERTAKING (FORM 3) [28-08-2023(online)].pdf 2023-08-28
2 202321057636-REQUEST FOR EXAMINATION (FORM-18) [28-08-2023(online)].pdf 2023-08-28
3 202321057636-PROOF OF RIGHT [28-08-2023(online)].pdf 2023-08-28
4 202321057636-FORM 18 [28-08-2023(online)].pdf 2023-08-28
5 202321057636-FORM 1 [28-08-2023(online)].pdf 2023-08-28
6 202321057636-FIGURE OF ABSTRACT [28-08-2023(online)].pdf 2023-08-28
7 202321057636-DRAWINGS [28-08-2023(online)].pdf 2023-08-28
8 202321057636-DECLARATION OF INVENTORSHIP (FORM 5) [28-08-2023(online)].pdf 2023-08-28
9 202321057636-COMPLETE SPECIFICATION [28-08-2023(online)].pdf 2023-08-28
10 202321057636-FORM-26 [29-09-2023(online)].pdf 2023-09-29
11 Abstract.1.jpg 2024-01-17
12 202321057636-FORM-26 [07-11-2025(online)].pdf 2025-11-07