A computer-implemented method comprising: receiving, at an enterprise messaging layer associated with a shared message bus, a request associated with a first messaging client to subscribe to a second messaging client, wherein the enterprise messaging layer provides an abstraction to the shared message bus, and wherein the shared message bus is shared between the first messaging client and the second messaging client; identifying a first rule set associated with the first messaging client, the identified first rule set defined in a first service descriptor associated with a first enterprise messaging service instance bound to the first messaging client, the first enterprise messaging service instance connecting the first messaging client to the enterprise messaging layer; identifying a second rule set associated with the second messaging client, the identified second rule set defined in a second service descriptor associated with a second enterprise messaging service instance bound to the second messaging client, the second enterprise messaging service instance connecting the second messaging client to the enterprise messaging layer; determining, by the enterprise messaging layer, whether the first messaging client is allowed to subscribe to the second messaging client based on the first and second rule set; and in response to determining that the requested subscription to the second messaging client is allowed by the identified first and second rule set: creating the requested subscription from the first messaging client to the second messaging client via the enterprise messaging layer; and in response to an event corresponding to the created subscription being generated by the second messaging client, providing the generated event to the first messaging client for consumption. receiving, at an enterprise messaging layer associated with a shared message bus, a request associated with a first messaging client to subscribe to a second messaging client, wherein the enterprise messaging layer provides an abstraction to the shared message bus, and wherein the shared message bus is shared between the first messaging client and the second messaging client; identifying a first rule set associated with the first messaging client, the identified first rule set defined in a first service descriptor associated with a first enterprise messaging service instance bound to the first messaging client, the first enterprise messaging service instance connecting the first messaging client to the enterprise messaging layer; identifying a second rule set associated with the second messaging client, the identified second rule set defined in a second service descriptor associated with a second enterprise messaging service instance bound to the second messaging client, the second enterprise messaging service instance connecting the second messaging client to the enterprise messaging layer; determining, by the enterprise messaging layer, whether the first messaging client is allowed to subscribe to the second messaging client based on the first and second rule set; and in response to determining that the requested subscription to the second messaging client is allowed by the identified first and second rule set: creating the requested subscription from the first messaging client to the second messaging client via the enterprise messaging layer; and in response to an event corresponding to the created subscription being generated by the second messaging client, providing the generated event to the first messaging client for consumption. creating the requested subscription from the first messaging client to the second messaging client via the enterprise messaging layer; and in response to an event corresponding to the created subscription being generated by the second messaging client, providing the generated event to the first messaging client for consumption.