What kind of BDC programs are written ? | ABAP BDC

There are five types of BDC methods available. They are
1.Batch input session
2.Call Transaction
3.Recording
4.Direct Input
5.LSMW