Advanced Topics

Enterprise Auto-Discovery

 

DataGlass is able to automatically discover instances of database servers on the local network and show their information as a connection template in the "New Connection" screen. For Sybase ASE and Microsoft SQL Server, this discovery uses their built-in network advertising features and is automatic. Other databases, however, do not provide any network auto-discovery mechanism, which means that user has know and enter the correct hostname (as well as username and password). This can be tedious and error-prone, especially on the software keyboard of a small iOS device.

Fortunately, DataGlass is also able to query network "zeroconf" (known in Apple parlance as "Bonjour") services for information about databases, which it will use to populate the "New Connection" list. DataGlass will check for the local "_dataglass-DATABASENAME._tcp." name for this information. For example, using the "dns-sd" program (included by default on OS X, but requiring you to install Bonjour on Windows from http://www.apple.com/support/bonjour), you can register a local PostgreSQL server using the following command line in Terminal.app (Mac) or cmd.exe (Windows):

 

 

dns-sd -R "My PostgreSQL Server" _dataglass-postgresql._tcp. local 5432 Host=10.0.1.3 Name=dellstore2

 

 

The anatomy of the command is as follows:

 

“My PostgreSQL Server”: the title you want to appear next to the database. This will be pre-filled as the database's description

_dataglass-postgresql._tcp.: the service name of the database that DataGlass will search for from the iOS device

5432: the port number the database is running on. This is optional if your database is running on the default port.

Host=10.0.1.3: the host name or IP address the database server is running on. If omitted, the host where the mDNS service advertisement is running from will be assumed to be the database host.

Name=dellstore2: the name to pre-fill into the database name of the connection. Some databases (like PostgreSQL) require this. For Oracle, this will be the database's SID.

Username=xxx: the name to pre-fill into the username for the database. This is useful if many people will be sharing the same username (e.g., for report designers).

 

 

The equivalent command when using the "avahi" Zeroconf implementation:

 

 

avahi-publish-service -s "My PostgreSQL Server 2" _dataglass-postgresql._tcp. 5432 Host=10.0.1.3 Name=dellstore2

 

 

Screen_shot_2010-11-09_at_11-9_11.18.03_AM_inline.png

 


 

Tunneling Connections over SSH

 

Many networked databases prohibit direct access over the internet for security or policy reasons. This prohibition is often implemented using a firewall that blocks direct access to the network port of the database.

If your organization uses a VPN that is compatible with iOS’ built-in VPN client, you can often use that to transparently connect to your organization’s internal network, and then use the app to connect directly to the database. However, many smaller organizations do not provide a VPN solution, and instead allow encrypted access using the popular SSH service.

If you have been provided with SSH access to your network, you can configure to app to connect over the SSH connection in the “Advanced” settings for your connection’s configuration.

 

droppedImage-35.png

 

droppedImage-36.png