Should data warehouse provide data for data composition for real time business transactions As title, I always had a feeling that data warehouse should only support for data analysis or the like, but shouldn't be used in real time transactions. (eg. being a data source to provide a product info for a cart purchase about to happen).

Could anyone share any views?
You are correct. 
The reason for this is the current situation, in which the transactional database is usually separate from the analytical database, and therefore isn't up to date.
While up to date technologies like Data Vault could mean that you would use the same database for transaction and analytics, a situation in which you need to aggregate data from more than one data source could still means that you need ETL process, and therefore your analytical data isn't "up to date ".
So: analytical database gives you changes accross time, but if you want to know what goes on right now, use transactional database.