Grids have become a critical asset in large-scale scientific and engineering research. Accessing to distributed data is typically as important as access to distributed computational resources. In this paper, we present the design of Java CoG Kit components and APIs that make handling of data accessed through Grids easier for the novice Grid user and programmer. We introduce the design and architecture of a component for file transfers that separates issues related to requesting, performing and visualizing the actual file transfer. The design of our component is based on object and component based methodologies. Hence, it is assembled from a collection of reusable components promoting customization and reuse. We integrated the drag-anddrop paradigm. Protocol-independent interfaces allow easy adaptation to a variety of data sources. Hence, we not only have developed a GUI but sophisticated middleware to develop advanced Grid file transfer services. These components are distributed w...