Architecturally, DTS is composed of the following pieces:
OLE DB providers. (Technically speaking, these aren't part of DTS, but they are integral to using it. OLE DB is the means by which DTS retrieves and stores data.)
A multiphase data pump that you can use to set up sophisticated data transformations.
A graphical designer that is based on an extensible COM-based object model. The key elements in this model are packages and tasks. In order to serve as a custom DTS task, a COM component must implement the CustomTask interface defined in the Microsoft DTSPackage Object Library. This component must run in-process in order to be used in the DTS Designer, but it can run out-of-process when used programmatically.
A set of programmable COM ...