1. A method comprising: deploying a publication-subscription system comprising a communication manager module, an authentication manager module, an authorization manager module, and a publication-subscription engine, wherein the communication manager module maintains a protocol module repository which comprises a plurality of protocol modules, wherein the plurality of protocol modules comprises different publish/subscribe protocol modules, encrypted transport layer modules, and non-encrypted transport layer modules, but wherein each protocol module implements a common interface; detecting by the communication manager module that a client wishes to connect to the publication-subscription engine, wherein the client comprises one of a publishing client and a subscribing client; responsive to the detecting, determining by the communication manager module whether said client is to be connected to the publication-subscription engine in a secure manner or a non-secure manner; dynamically configuring, by the communication manager module, a protocol stack for the client using one of the different publish/subscribe protocol modules in the protocol module repository, and one of the encrypted transport layer modules or one of the non-encrypted transport layer modules in the protocol module repository, based on said determination of whether said client is to be connected to the publication-subscription engine in a secure manner or a non-secure manner, wherein dynamically configuring comprises: responsive to determining that said client is to be connected in said secure manner, dynamically configuring a secure protocol stack by combining one of the different publish/subscribe protocol modules with at least one of the encrypted transport layer modules of the deployed protocol modules; responsive to determining that said client is to be connected in said non-secure manner, dynamically configuring a non-secure protocol stack by combining one of the different publish/subscribe protocol modules with at least one of the non-encrypted transport layer modules of the deployed protocol modules; and generating an identity object associated with said client, wherein the identity object comprises a collection of information obtained from each protocol module of the dynamically configured protocol stack for the client, wherein the identity object serves as a unique identifier of the client, wherein the collection of information of the identify object comprises at least one or more of a client password, a client MAC address, a certificate of the client, an IP address of the client, and a port number of the client; authenticating said client, by the authentication manager module, using the identity object associated with said client, wherein the authenticating comprises comparing the collection of information of the identity object against authentication rules, and authenticating the client when the collection of information matches the authentication rules; performing an authorizing process by the authorization manager module to authorize said client; and enabling communication between the client and the publication-subscription engine using the dynamically configured protocol stack for the client, if said client is authenticated and authorized.