If you need all transactions since the beginning of time, just write a script to use the JSON RPC API to and call "get best block" then increment through the blocks from 1 to n (best block). For each block grab the transactions.
This will result in a HUGE dataset. Most people don't need all this historical data. They either want a live feed of current transactions or a list of unspent transactions.
BitcoinJ has an implementation in their sample code that can get you the later and stuff it into a popular RDBMS for later querying.
No idea what to do about the live feed short of opening up a port and listening to the network.