These days, data sources exist not only in a multitude of formats, but also on a multitude of servers. While one approach might be to gather the data sources of interest in one place and transform them into a single format, with K2 it's possible to leave them where they are and access them remotely.
The basic scheme is this. On each server that contains a data source of interest, one installs a scaled-down version of the K2 server. The server is connected to the data source through a data driver which is local to that machine. Then, other K2 installations on the network can be configured to point to the new server, either directly or via some hierarchical topology. Connections between K2 servers are made via Java™ RMI.
When a query is issued against a connected server, and the query requires access to data sources not located on the local machine, K2 simply accesses the correct remote K2 server as if it were a local data source. Java™ RMI makes all of the communication transparent, and the remote driver is treated like a local driver.
[K2 Front Page]