In general, various software components pertaining to one or more applications can be distributed across multiple computing platforms, such as, for example, one or more remote servers, a local host computer, a smart card, and other devices that could be coupled to or integrated into one or more of the other computing platforms.