A system, method and program product for diagnosing, controlling and
collecting information from devices. Information regarding events of each
one of a plurality of target applications executing in an application
unit is collected and formatted into one of multiple data formats for
transmission through one of multiple communication protocols at the
request of each of the target applications, through an interface. The
event information for a particular target application is formatted and
transmitted according to a combination of a data format and communication
protocol requested by the target application. The formatting of data
representing the event information is handled in at least three levels of
software classes, with two levels of abstract classes and one concrete
software class. The formatting of information to be transmitted through
the requested communication protocol is handled in at least three levels
of software classes, with one abstract class and two levels of concrete
classes. The formatted data is transmitted through, e.g., e-mail or FTP
to a predetermined destination or may be saved to local storage, e.g., a
local disk. By sharing resources, code duplication is reduced or
eliminated.