IX. Совместимость
Первым признаком совместимости можно считать язык запросов SQL ЛИНТЕР. Уже то, что этот язык основан на международном стандарте (см. гл. V “Внутренние языковые средства (SQL, хранимые процедуры, триггеры)”), говорит о высокой совместимости системы.
Кроме того, в SQL ЛИНТЕР введены многие элементы, обеспечивающие совместимость с другими системами, главным образом с СУБД Oracle.
Псевдографические интерфейсные утилиты системы ориентированы на стандарт CUA. Пользователь, привыкший к аналогичным системам, легко освоит работу интерфейса и в среде ЛИНТЕР.
Интерфейс ODBC позволяет осуществлять максимальную переносимость приложения с одной СУБД на другую без учета их специфики. Поэтому в связи с совместимостью, конечно же, необходимо упомянуть об ODBC-драйвере ЛИНТЕР (спецификация - ODBC 3.x), а это значит, что все существующие средства разработки и то, что опирается на ODBC-стандарт, будут работать с СУБД ЛИНТЕР без ограничений.
Интерфейс OLE DB позволяет осуществлять доступ к данным как напрямую, так и посредством ADO в среде Windows.
Наличие драйвера dbExpress в СУБД ЛИНТЕР обеспечивает поддержку разработки приложений в среде последних версий Delphi и Kylix.
До появления Kylix пакет Delphi для Windows предлагал несколько механизмов доступа к базам данных - ADO, Borland Database Engine (BDE) и InterBase Express. Однако в среде Linux ни один из этих механизмов недоступен, поэтому Borland разработала новую кросс-платформенную технологию доступа к данным - dbExpress, работающую как в Windows (Delphi), так и в Linux (Kylix).
ЛИНТЕР JDBC (спецификация JDBC 1.0, 2.0, 3.0) позволяет писать приложения на Java, используя СУБД ЛИНТЕР.
Java-программа может быть разработана в виде апплета, загружаемого через Internet и запускаемого на стороне клиента, или в виде приложения, постоянно находящегося на стороне клиента. В любом случае интерфейс JDBC позволяет Java-приложению подключаться к удаленным базам данных, направлять к ним запросы и получать результаты обработки запросов.
При этом реализованы следующие типы драйверов
- Pure Java client – клиент полностью написан на Java. Налицо преимущества этого типа – реализация классов полностью на Java позволяет отказаться от дополнительных компонент на клиентской ЭВМ. К недостаткам этого типа можно отнести относительно невысокую производительность из-за медлительности java.net.*.
- Part-Java client – кроме классов, реализующих интерфейс JDBC, для работы необходимо иметь динамически подключаемую библиотеку трансляции вызовов к СУБД ЛИНТЕР. К недостаткам этого типа можно отнести необходимость инсталляции этой библиотеки, зато это даст существенный выигрыш в скорости (в 3-5 раз по сравнению с использованием драйвера типа Pure Java client).
Основные сетевые протоколы, поддерживаемые СУБД ЛИНТЕР: TCP/IP, IPX/SPX, DECNet.
Помимо перечисленного, в системе реализованы средства конвертации данных из DBF-формата и программные интерфейсы для работы с ЛИНТЕР из Clipper, FoxPro.
Отдельно следует отметить совместимость ЛИНТЕР с СУБД Oracle на уровне Pro*C и OCI. Благодаря библиотеке OraLin, приложение, работающее с СУБД Oracle, будет с таким же успехом работать (после перекомпоновки, а в Windows и без неё, в случае использования динамически подгружаемых библиотек) и с ЛИНТЕР, совершенно не заметив подмены.
Кроме того, для совместимости с СУБД Oracle был расширен синтаксис языка запросов, который в данный момент поддерживает многое из того, что и Oracle SQL, вплоть до иерархических запросов. Для многочисленных пользователей Oracle переход к использованию СУБД ЛИНТЕР не составит большого труда.
В ЛИНТЕР также реализовано средство - LinTcl, которое расширяет возможности Tcl/Tk (Tcl – Tool Command Language, Tk – Tool kit) для работы с СУБД ЛИНТЕР, что позволяет использовать Tcl/Tk для быстрого написания информационных приложений в операционных средах, в которых работает Tcl/Tk (Unix-подобные системы, Windows).