Easysoft XML-ODBC Server User Guide - Introduction
Introducing the Easysoft XML-ODBC Server
Easysoft Data Access is a suite of programs that add significant value to an investment in ODBC, enabling enterprise information to be seamlessly integrated and accessed using industry standard protocols.
The Easysoft XML-ODBC Server is a single solution running on any supported Windows or Unix variant, which will allow XML to be used to access ODBC data sources by using existing ODBC drivers.
Databases can be stored either locally or on any other computer platform across a TCP/IP network for which there is a Windows or Unix ODBC driver.
XML is an acronym for Extensible Markup Language, designed to improve the functionality of the Web by providing more flexible and adaptable information identification.
It is not necessary to be a programmer to use or learn XML, as it is a set of rules for designing text formats to structure data, rather than a programming language.
XML is intended to make it easy to define document types, author them and share them across the Web. XML is not just for Web pages, but can be used to store any kind of structured information and pass it between different computer platforms.
It is called extensible because it does not have a fixed format like HTML (a single, predefined markup language), but is a metalanguage (a language for describing other languages) which allows customized markup languages to be designed for limitless different types of documents.
XML uses tags (words bracketed by '<' and '>') and attributes (of the form name="value") to delimit and describe pieces of data, and leaves the interpretation of the data to the application that reads it.
However, although XML can be read with a text editor, the rules for XML files are strict, so that a forgotten tag or an attribute without quotes makes an XML file unusable.
Support is available from a large and growing community of people who are experienced in XML technology and there is a wide range of tools available.
Since XML is license-free, it can be incorporated into a solution without paying anybody and without it being necessary to be tied into a single vendor.
ODBC is an API definition which allows an application to be written without considering the intricacies of the particular database engine to which it connects.
An ODBC driver takes care of all database-specific code and is a distinct program inserted between a database and an application:
Figure 1: ODBC
Before ODBC, even if App1 and App2 were functionally equivalent, two separate programs were required, one for each database.
ODBC permits the parts of a program that are specific to a database to be separated from the part that fulfils the functional requirement.
This means that a completed application can be attached to any database for which there is a corresponding driver available.
The barest ODBC system would include an ODBC-conformant driver accessing some data, and an ODBC-conformant application, linked to the driver library.
If commercial applications were distributed in this way, users would need to re-link their applications to their chosen driver whenever they wanted to access a different data source.
Instead, the application program is linked to a driver manager, which loads and initializes the required driver at runtime:
Figure 2: The Driver Manager as a dynamic linker
The Easysoft XML-ODBC Server
The Easysoft XML-ODBC Server is a server which allows client applications written in any language to access any ODBC compliant database using simple requests in XML over TCP/IP.
The server runs as a service which, once installed on a machine which has ODBC drivers, provides access to those ODBC drivers via XML requests.
The Easysoft XML-ODBC Server can be used with any ODBC driver available for Windows, Linux and major Unix platforms.
Windows 9x is not supported by the Easysoft XML-ODBC Server.
Figure 3: Easysoft XML-ODBC Server deployment
By using a specified port, a client application can send a SQL request in XML to the Easysoft XML-ODBC Server, which is then executed via a standard ODBC data source and the results returned to the client, again in XML.
XML requests may be issued containing any valid SQL, allowing select, insert, update and delete operations on any tables to which access has been granted.
In addition, the Easysoft XML-ODBC Server will also accept requests containing multiple SQL statements to be executed as a single transaction, allowing multiple updates, inserts or deletes to be performed as part of a single operation.
The Easysoft XML-ODBC Server service listens on a port for simple XML requests in ASCII/UTF-8, using an extremely straight forward protocol which allows client applications to be developed for any platform and language with access to TCP/IP.
See Sample Client Applications for sample C, Perl, PHP, Java and Visual Basic client application code included with the Easysoft XML-ODBC Server.
- Simple installation and configuration.
- The target database can be hosted on any ODBC compliant database system, including Microsoft SQL Server, Microsoft Access, Oracle®, InterBase and IBM DB2.
- Multithreaded, high performance service available on Windows, Linux and major Unix platforms.
- Supports ODBC versions 2.0 to 3.52.
- Fully thread-safe, supporting any native ODBC drivers.
- Compatible with Zebedee and other TCP/IP encryption solutions.
- Includes unixODBC, the open source ODBC Driver Manager for non-Windows platforms.
- No special client code is required, only access to TCP/IP and a small amount of socket code in any language.
- Includes sample C, Perl, PHP, Java and Visual Basic client applications, with example SAX based parsing of XML output in PHP and Perl, an example XSLT application for Perl.
- Simple XML requests allow you to update, delete, insert or query local and remote ODBC data sources.
- Supports complete SQL syntax of the target ODBC driver.
- Support for transactions and stored procedures.
- Full remote server configuration using a control port and simple XML requests.
- Both SQL Request and Control ports protected by access control lists based on IP address.
- Multiple XML output formats for result sets:
Short format with column list followed by row list
Long format with column name as an attribute on each column in the row list
TableTags format for import into Microsoft Office
- XML is output in UTF-8 format, but with full UTF-16 support for Unicode data sources, with data accurately output as UTF-8 in the result set.
- Column data in the result set may be requested as CDATA or PCDATA.
ODBC Drivers and Version support
The Easysoft XML-ODBC Server is an ODBC application which requires version 3.0 of ODBC (either in the ODBC driver manager or directly in the ODBC driver) in order to provide Unicode support for the returning of result sets in UTF-8.
Easysoft software expects all ODBC drivers to be used with an ODBC driver manager and therefore direct Unicode support in the ODBC driver is not required.
Therefore, it is possible to use a version 2.0 as well as a version 3.0 (and upwards) ODBC driver, but this will mean that non-ASCII characters cannot be retrieved (this is not a limitation of the Easysoft XML-ODBC Server, but of the ODBC driver).