18. A system that provides data source abstraction layer for an application, the system comprising: a client computing device embedded with memory and a processor, wherein said memory further comprises: a communication manager configured to: create and hold one or more communication channels for obtaining a resource from an external source, receive a request to obtain the resource from the external source, identify a communication channel configured to handle the request, and cause the communication channel to obtain the resource from the external source; a URL object that resource and is configured to: cause a data update to be implemented on the resource in response to receiving a call from a user interface component to implement the data update; a bind operation handler that is configured to: create a binding between a user interface component associated with the application and the resource by associating the user interface component with the URL object; and a document manager configured to provide a request to the communication manager to obtain the resource if the resource is accessible from the external source and hold one or more document objects that allows the application to access the resource; wherein the bind operation handler and the URL object are provided by a virtual machine; and wherein program logic of the application is defined separately from the virtual machine.
18. A system that provides data source abstraction layer for an application, the system comprising: a client computing device embedded with memory and a processor, wherein said memory further comprises: a communication manager configured to: create and hold one or more communication channels for obtaining a resource from an external source, receive a request to obtain the resource from the external source, identify a communication channel configured to handle the request, and cause the communication channel to obtain the resource from the external source; a URL object that resource and is configured to: cause a data update to be implemented on the resource in response to receiving a call from a user interface component to implement the data update; a bind operation handler that is configured to: create a binding between a user interface component associated with the application and the resource by associating the user interface component with the URL object; and a document manager configured to provide a request to the communication manager to obtain the resource if the resource is accessible from the external source and hold one or more document objects that allows the application to access the resource; wherein the bind operation handler and the URL object are provided by a virtual machine; and wherein program logic of the application is defined separately from the virtual machine. 19. The system as recited in claim 18 , wherein the document object provides a runtime representation of an XML document having methods for performing a plurality of data manipulation primitives on the XML document.