programs developed to carry out specific tasks or solve particular problems.
programs that help users solve specific computing problems.
comprises three major process that when correctly implemented permit data to be assess and made accessible to an array of etl: data access, data federation, and change capture.