Difference between analysis port and analysis fifo

hi all,
what is the difference between analysis port and analysis fifo and what is the rule of thumb to use one over another.

In reply to pawan:

The ‘port’ is a TLM construct providing a publisher/subscriber mechanism. One publisher - many subscribers and the port is in the publisher.
The ‘analysis fifo’ is also a TLM construct having exports and has the ability to store data with the behavior first-in, first-out (FIFO).