MBeans conform to the JMX specification, which standardizes the representation of the MBean's management interface. Therefore, the first task in the development process is to define the management interface of your resources.
If you are creating new resources, you must determine the granularity of the information about that resource. How many attributes need to be exposed for management? What operations will be useful when the resource is deployed? When should the resource send notifications? The answers to these questions determine the granularity of your MBean's management interface.
Consider an MBean that represents a printer. If your MBean is exposed to end users, it might need only to expose a state attribute, ready or offline, and perhaps an operation such as switch paper trays. However, if your MBean is intended for remote servicing, it must contain much more information. Operators need to know such information as the total print count, the toner level, and the location of a paper jam, and they might want to run self-diagnostics.
Sometimes resources are already manageable through another system. In this case you need only to translate their existing management interfaces into an MBean. Because the JMX architecture is rich, you can usually improve the existing management interface in the translation. Some operations might not be needed because they can be replaced by an agent service. New attributes might be added now that they can be computed dynamically.
As more vendors adopt the JMX specification, resources will be supplied with their instrumentation. Your task will then be to understand the management interface that is provided and to integrate the MBean classes into your application. In this case you will be integrating MBeans from various sources and ensuring that they interact as expected.