Saludos.
Un datawindow es una ventana que se va a llenar de datos al hacer un retrieve (select de SQL), por inserciones a la base de datos (insert SQL), o se van a actualizar (update SQL) o eliminar datos (delete SQL), es decir todos los procesos de búsqueda o actualización de datos se hacen sobre el datawindow, el powerbuilder genera las instrucciones cuando vas a hacer actualizaciones (insert, update, delete) en la base de datos al procesar la función datawindow.Update() y despues el commit a la base de datos.... un datasource es un origen de datos, es decir una conexión a una fuente de datos sea a través de ODBC, OLE DB, etc., el powerbuilder maneja todo tipo de datos origen(archivos planos tales como texto, dbf, excel, etc.) y conexiones a las bases de datos (sybase, oracle, sqlserve, etc. a través de orígenes de datos (datasource).
Los ODBC, OLE DB, etc...son intermediarios entre la aplicación y el "pote" de datos.