Java Management eXtension defines an API where component developers can define and implement a management interface of their components as well as the tool provider can use to create a flexible and dynamic management tools. Because there is no separation between provider and client any other JMX components can use JMX to create a flexible and dynamic application build up by the JMX components.