Easysoft Data Access Middleware
Price: Free for single users, commercial licenses vary
Reviewer: Jon Valesh
Easysoft provides interfaces between data and the applications that use it. With Easysoft's products, you can access any ODBC data source from just about any computer system, and you can allow access to many Linux databases from ODBC clients. To use real-world examples, you can access Access on a Win98 desktop from your Linux web server, or your MySQL database from Excel.
Very few assumptions are made about what you will do with that data once you have it. Use it with PHP or iHTML, write custom C code, access it from Python or Perl or a Java applet; Easysoft doesn't care.
Easysoft provides a combination of their own ODBC-ODBC bridge software to allow access to remote database servers, and unixODBC 1.8.10 to access Linux database software. Access to SQL databases is through Easysoft's SQL-ODBC gateway package. This standardization on ODBC for all database access gives two important benefits: your programs will be totally free of database-specific dependencies, and you can seamlessly access multiple databases without special code. Not only databases, you can access any data source that has an ODBC driver.
On Easysoft's web page (http://www.easysoft.com/), they claim you can install their ODBC-ODBC bridge in one to two minutes. They aren't far off. It actually took closer to five minutes, but perhaps I was having a slow day.
Easysoft supports Linux as just one of about a dozen platforms, and they obviously know having a distribution that works regardless of one's system type is very important. In the Linux arena, they have libc5 and glibc 2.1 versions for Intel x86 and Alpha processors. Installation is done without the use of a system package tool and requires superuser access, because several new libraries are added and files in your /etc directory are changed. All files are placed in the /usr/local/easysoft directory. If downloaded from Easysoft's web page, the software is packaged in a compressed tar file and installation is a two-step process. First, you must unpack the obscenely long-named tar file, change to the newly created directory and run the install script.
The install script is a model of how self-installing Linux programs should behave. You are asked a series of questions about which components you would like installed, what directory to place the files in and how everything should be set up. Given the quality of the installation script, very little would be gained by using distribution-specific package tools, and Easysoft's already daunting array of download options would increase unnecessarily.
One stage of the setup includes running Easysoft's license management software. This application collects personal information about you and how you will use the product, and contacts Easysoft's servers through the Internet to request a license key. If you don't have an Internet connection, you can print out the collected data and mail it to Easysoft via real-space mail.
The Easysoft's installation script installs unixODBC. Easysoft listens on port 8888 for ODBC requests and 8890 for HTTP requests.
Easysoft's package is made up of separate client/server applications. The clients and servers are a rather mix-and-match affair. You can run a Windows server and Linux clients, or Linux and OpenVMS servers and Java clients (using the ODBC-JDBC bridge), or whatever your application demands. For most users, the servers would be installed on the company database server computers, and the clients would end up wherever the data was needed. This could be your web server, a desktop computer running a database client application, or both. This gives you great flexibility in choosing your data sources, and even allows some unlikely combinations like using spreadsheets on desktop computers as data sources for dynamically updating web pages.
Easysoft's tools are designed to facilitate getting data for your applications, not writing them. In fact, they don't really even provide the API. If you know how to use database tools, Easysoft's products will give you access to a wider range of data sources. If you don't, they provide some tutorial information to point you in the right direction, but that's about it.
The APIs you use are specific to your language or development environment, not Easysoft's product. Most aren't that complicated, but it is totally a matter of what tools you are using. If writing PHP scripts, you connect to your databases with the PHP ODBC support. A command such as @odbc_pconnect(<datasource>, <username>, <password> ) establishes the connection to the data source, returning a string if the connection is successful. Once connected, you request data by assembling a string with your query, and running another API command to execute it. If you are writing in Perl, you use the DBM::ODBC API to access the data sources. If your development tools include an ODBC API, chances are you can use Easysoft's tools to provide access to a wider range of data sources.
The Easysoft OOB client is free for use with any OOB server you have a license for. That means you can install clients on any computer in your office without having to worry about specific licenses. Oddly, you are licensed to use the OOB client only with servers you own and control. You can't use the OOB client to access another company's server. Easysoft's own demonstration application seems to cause people to unwittingly violate the client license. There is also a limitation on incorporating the client in any program or system you receive payment for the use of without written permission. I'm sure that wasn't the intent, but it could possibly be read to say that you need written permission to charge for access to a web page with scripts that use Easysoft's client. This would limit its usefulness in some applications.
Easysoft provides very complete documentation to help you get started doing real work. Included with the software are instructions for getting Apache and PHP installed, or working with Applixware, or Perl DBD::ODBC, or ColdFusion, or a few other commonly used configurations. The FAQ contains a lot of questions, some of which I can't imagine are all that frequently asked. There are also tutorials and sample applications to get you started writing code.
Easysoft maintains a newsgroup for support questions, with technical staff monitoring the group and answering questions.
Easysoft offers a lot to developers who need to add uniform data access to existing programs, or develop data-aware applications for web or client/server deployment. The wide range of both clients and servers allows you to integrate complex networks without writing a lot of special code. Easysoft allows you to download and try out their software before you buy. With their thirty-day trial, you can access all of the features, including multiple database servers. A single-user, single-database license is free for personal use.
Born at the beginning of the microcomputer age, Jon Valesh (firstname.lastname@example.org) has pushed and has been pushed by computers his entire life. Having run the gamut from games programmer to ISP system/network administrator, he now occupies himself by providing technical assistance to ISPs and small businesses whenever his day job doesn't get in the way.