Ю.А. Шафрин
"Элко Техноложи", тел.: (095) 932-92-33, 131-55-55.
- Создание приложений
- QuickObjects
- QuickForms
- Использование QuickObjects
- Общая схема разработки приложений
- Основы языка SAL
- Компилятор
- SQLWindows и SQL
- Создание и модификация классов
- SQLWindows Solo
Архитектура клиент/сервер (CSA - Client Server Architecture) возникла более десяти лет назад как альтернатива старой модели "файл-сервера", основанной на совместном использовании набора файлов в сети группой автономно работающих приложений. Изобилие "процессоров обработки", каждый из которых обслуживал только одно приложение, приводило не только к снижению производительности и потерям памяти, но и (c ростом трафика в сети) затрудняло поддержку целостности и безопасности данных. Архитектура клиент/сервер (т.е., условно говоря, один процессор обработки на несколько "процессоров запросов" - "клиентов") позволяет совместить достоинства персонального доступа к данным (дружественный интерфейс, диалоговая поддержка, невысокая стоимость) и преимущества крупных компьютерных систем на базе мини- и больших ЭВМ (поддержка целостности баз данных, защита информации, многозадачность).
Технологию клиент/сервер в сетях на базе PC образуют три основных элемента:
- сервер реляционных баз данных (БД) для сетей PC, обслуживающий различные типы приложений ("клиентов");
- средства разработки и эксплуатации открытых приложений;
- средства связи c другими локальными и сетевыми БД как на основе собственных интерфейсов, так и на основе ODBC (Open DataBase Connectivity).
В данной статье рассматривается SQLWindows 5 компании Gupta - одна из систем разработки и поддержки клиентских приложений на основе реляционных баз данных с SQL-доступом. Автор не ставил себе целью сопоставлять систему с другими инструментальными средствами того же назначения - PowerBuilder фирмы Powersoft, Delphi фирмы Borland, Visual Basic фирмы Microsoft и др. Цель статьи - заинтересовать читателя как современными подходами к разработке приложений, так и реализацией новой технологии в продуктах Gupta.
Рисунок 1.
SQLWindows в архитектуре клиент/сервер.
Следует заметить, что возможности Windows позволяют разрабатывать и приложения для автономных баз данных (сервер и клиент на одном PC), и приложения, не связанные с базами данных, и приложения, работающие как с "родным" сервером SQLBase, так и с большинством других SQL-серверов и СУБД иной природы - Paradox, dBASE и др.
С SQLWindows тесно связано целое семейство программных продуктов (Quest, SQLConsole и др.), которые кратко рассмотрены в данной статье. На рисунке 1 показана схема взаимодействия SQLWindows c основными элементами архитектуры клиент/сервер.
ОСНОВНЫЕ ЭЛЕМЕНТЫ SQLWINDOWS
Концепция "Объект. Событие - сообщение - действие"
SQLWindows -это система разработки приложений, функционирующих в среде Microsoft Windows 3.1 и, как правило, связанных с тем или иным сервером баз данных. Основу разработки такого приложения образует программирование, управляемое событиями; иными словами, Windows и приложения функционируют в среде, управляемой событиями. Событие и объект, реагирующий на событие, - основополагающие понятия SQLWindows. При работе с приложением пользователь находится в мире объектов, называемых окнами. Оконные объекты общаются между собой с помощью сообщений, которые в свою очередь инициируются событиями (т.е. существует цепочка "событие - сообщение - действие").
События порождаются пользователями (в приложении) или аппаратурой компьютера (таймером или при действиях с клавиатурой и мышью). В результате события объекту (или нескольким объектам) посылается сообщение. В исходном коде приложения (далее он называется схемой приложения) программист помещает раздел Message Actions (действия по сообщению) с линейно-процедурным кодом, обязанность которого - реагировать на сообщение. В частном случае объект может получать сообщения, но не реагировать на них, - в этом случае ничего не происходит.
В терминах SQLWindows сообщение - это просто целое число от 0 до 65535, которое обрабатывается как константа схемы приложения с тем или иным именем. Существует три типа сообщений:
- сообщения Windows c префиксом WM_;
- сообщения SQLWindows c префиксом SAM_;
- сообщения пользователя с префиксом PM_ или PAM_.
Некоторые сообщения SQLWindows возникают как результат комбинации сообщений Windows. Например, при нажатии левой кнопки мыши Windows посылает сообщение WM_MouseLeftDown, при освобождении этой кнопки - WM_MouseLeftUp. После приема этих сообщений SQLWindows генерирует и посылает сообщение SAM_Click (щелчок левой кнопкой мыши). Пример действия, связанного с таким сообщением и закодированного в схеме, показан ниже:
Data Field: df1 Message Actions Pushbutton: pb1 ... Message Actions ... On SAM_Click Set df1 = "Hello World"
Если пользователь щелкнет левой кнопкой мыши на командной кнопке с именем pb1, полю данных с именем df1 присваивается строковое значение "Hello World"; затем это значение отображается в окне поля данных.
Сообщения пользователя определяются в разделе "Global" >> "Constants" >> "User" схемы приложения. При этом программист должен убедиться, что сообщению не присвоен тот же номер, который уже использован системой. SQLWindows имеет специальную системную константу SAM_User, значение которой на единицу больше максимального номера системных сообщений. Применение этой константы обеспечивает независимость приложений от изменений в сообщениях Windows или SQLWindows. Например, вы можете определить два своих сообщения следующим образом:
Number: PM_Clear = SAM_User Number: PM_CreateComplete = SAM_User+1
Для посылки пользовательского сообщения язык программирования SAL (см.ниже) предлагает специальные функции.
Создание приложений
В SQLWindows предусмотрены три основных подхода к созданию пользовательских приложений: оригинальная технология QuickForms, предназначеннная для быстрого создания экранных форм с помощью манипуляций мышью (без кодирования), разработка пользовательских форм с помощью QuickObjects (без кодирования) и разработка полномасштабных приложений с применением объектно-ориентированного языка четвертого поколения SAL. Во всех случаях разработчику может помочь готовая коллекция так называемых QuickObjects ("быстрых" объектов), которая позволяет унифицировать и ускорить процесс разработки за счет многократного использования заранее подготовленных блоков кода.
QuickObjects
QuickObjects - это предопределенные объекты, которые выполняют конкретные функции (каждая функция - это метод объекта) и используются разработчиками SQLWindows в технологии RAD (Rapid Application Development - быстрая разработка приложений).
QuickObjects являются, строго говоря, классами, разработанными с использованием кодов SAL и обладающими дополнительными возможностями режима проектирования, которые упрощают настройку QuickObjects и манипулирование ими. Кроме того, программист может создавать свои собственные QuickObjects.
QuickObjects делятся на три типа - источники данных, визуализаторы и командеры.
Источники данных (Data Sources) - это QuickObjects, которые используются для доступа к данным. Сами данные могут поступать из SQL-СУБД, Lotus Notes или E-mail (электронной почты).
Визуализаторы (Visualizers) - это QuickObjects, которые предназначены для отображения информации, поступающей из источников данных. Информация может отображаться на экране разными способами: в виде полей данных, кнопок выбора (Radio Button), флажков опций, списков и т.д.
Командеры (Commanders) позволяют приложению управлять источниками данных. Обычно это командные кнопки, которые обеспечивают навигацию в данных (перемещение по записям таблиц назад и вперед), редактирование и удаление записей, сброс изменений и т.д.
SQLWindows предлагает для каждого типа множество классов QuickObjects, которые могут быть выбраны из палитры инструментов в главном окне системы (см.ниже). Например, в качестве источника данных для таблиц или запросов к одной или нескольким таблицам широко используется cQuickDatabase; для редактирования удобно применять другой источник данных - cQuickTable. В качестве визуализатора можно использовать класс cQuickField - поле данных, которое связано с элементом данных. Объект cQuickField отображает связанные с ним значения данных и возвращает изменения источнику данных. Все изменения объекта "Источник данных" производятся локально. Чтобы эти изменения попали в физический источник данных, необходимо использовать либо COMMIT (фиксация транзакции), либо команду Apply Change (сохранить изменения).
Кроме того, предусмотрен набор QuickObjects для создания и настройки диаграмм (QuickGraph), для интеграции с внешними системами электронной почты, которые совместимы со стандартами VIM (Lotus), MAPI (Microsoft) или MHS (Novell NetWare), для чтения, обновления и отображения информации из баз данных Lotus Notes.
QuickForms
При создании несложных форм и приложений вам необходимо следовать указаниям, появляющимся на экране, щелкать мышью и перемещать с помощью мыши объекты на форму (без какого-либо кодирования).
QuickForm - это шаблон приложения, который позволяет автоматически собирать формы с участием QuickObjects.
Если в главном окне SQLWindows выбрать меню File, а затем команду New, на экране появится окно, показанное на рис.2. Если вы хотите быстро создать несложную форму, щелкните на кнопке QuickForms, а затем на кнопке Next. Далее появится окно, показанное на рисунке 3.
Рисунок 2.
Работа с приложением (основное окно).
Рисунок 3.
Создание QuickForms.
В этом окне вы можете указать, какой тип формы вам необходим - простое окно или окно многодокументного интерфейса (MDI). В большинстве простых приложений достаточно использовать первый вариант, - поэтому щелкните на кнопке Form Windows, укажите положение панели инструментов на форме, а затем "нажмите" Next.
Далее следует диалог, в котором вы отвечаете на вопросы SQLWindows. Сначала вы указываете имя базы данных, с которой собираетесь работать, а затем - таблицу этой базы данных (она будет служить источником данных). Таблицу можно выбрать двумя способами - либо переместить фокус на имя таблицы и щелкнуть на Choose Source, либо просто щелкнуть на имени таблицы и переместить ее на рабочее поле. Если выбранный источник данных является мастер-таблицей (т.е. таблицей с уникальными значениями первичного ключа), вы можете указать имя первичного ключа, и SQLWindows автоматически подключит к форме таблицу деталей для исходного источника данных (по имени первичного и внешнего ключей). Разумеется, такие операции возможны, если вы аккуратно спроектировали свою базу данных. Кроме того, с помощью палитры инструментов вы можете разместить на форме управляющие кнопки, ввести необходимые надписи (фоновый текст) и т.п. Закончив работу, вы можете сразу выполнить приложение, переключившись в режим пользователя, а затем сохранить приложение в файле .APP с произвольным именем. Код приложения будет сформирован автоматически, и вы можете увидеть его, выбрав команду Main в меню Windows. На рисунке 4 показан пример приложения, созданного с помощью технологии QuickForms (справа показана палитра инструментов, которая не будет видна во время выполнения).
Рисунок 4.
Пример простого приложения
Использование QuickObjects
Для создания более сложных форм вам следует выбрать опцию Custom Form Designer (проектировщик пользовательских форм) в окне, показанном на рисунке 2. SQLWindows предложит вам пустое окно формы и палитру инструментов. По умолчанию на экран выдается однодокументное окно, однако вы можете удалить его и выбрать в палитре инструментов окно MDI. Далее вы можете щелкнуть правой кнопкой мыши и вызвать на экран окно настройщика (Customizer) объектов. С его помощью можно легко "оформить" приложение: ввести заголовок (тем или иным шрифтом), разместить панель инструментов, украсить форму произвольным рисунком и т.д. Затем необходимо выбрать источник данных для формы. Если вы щелкните на пиктограмме Table Window (окно таблицы) в палитре инструментов, в верхней части палитры появится список допустимых классов, из которого вы можете выбрать, например, класс cQuickTable. Этот класс определяет источник данных. Далее вы указываете имя базы данных, а затем, с помощью диалогового окна Properties (свойства), - выбираете таблицу и поля данных, которые следует включить в форму. Следующим шагом вы связываете с источником данных визуализаторы, которые и определят способ представления данных на экране (например, поле редактирования или кнопка выбора и т.п.) В заключение вы размещаете на форме командеры, - например, кнопки First (читать первую запись), Next (читать следующую запись), Apply (фиксировать изменения) и т.д.
Общая схема разработки приложений
В общем случае приложение SQLWindows разрабатывается не только (и не столько) с помощью QuickObjects, но и с применением языка SAL. Предусмотрены два режима работы с приложением: режим проектирования и режим выполнения.
В режиме проектирования в главном окне SQLWindows появляется схема приложения (исходный код программы). Синтаксис большинства языков программирования предусматривает выделение блоков кода с помощью разделителей (скобки, точка с запятой и т.п.) или ключевых слов (Begin, End). Однако SQL для оформления блоков кода использует не разделители, а уровни отступа. При этом отдельные блоки кода можно "спрятать" (не показывать на экране). Ромбики у каждой строки (рисунок 5) обозначают начало оператора схемы. Темный ромбик означает, что данный раздел имеет спрятанные подразделы. Двойной щелчок на ромбике раскрывает или прячет раздел.
Рисунок 5.
Пример схемы приложения с панелью опций схемы
SQLWindows предусматривает возможность использования специального окна опций схемы (Outline Options Dialog Box), которое значительно упрощает разработку кода приложения и вызывается на экран нажатием клавиши F2. На рисунке 5 показано это окно вместе с кодом приложения. Содержимое окна является контекстно-зависимым: при перемещении фокуса по схеме списки панели опций в каждый момент отображают элементы, которые можно добавить к текущей строке схемы. Элемент можно добавить на тот же уровень, что и у выделенной строки схемы (Add Same Level), или на следующий уровень (Add Next Level). Кроме того, возможны и другие варианты выбора элемента схемы (как показано на рисунке).
Разумеется, код можно писать и вручную (часто это просто необходимо, - например, при вводе имен переменных, значений строк и т.п.).
Для отладки программ вы можете использовать Debugger - интерактивный отладчик с использованием пошагового исполнения программы, точек прерывания, контрольных значений, проверки значений переменных. Кроме того, можно наблюдать за ходом исполнения команд приложения в динамике ("анимация"). В этом случае каждый исполняемый оператор высвечивается на экране, причем темп анимации можно задать в секундах при настройке среды SQLWindows (команда Preference в меню File).
После отладки приложения можно создать исполнимый файл с расширением .EXE. Для этого следует выбрать команду Make Executable... из меню File в главном окне SQLWindows. Одновременно вы можете указать пиктограмму для исполняемого файла. Если в диалоговом окне Make Executable включить флаг EditWindows enable (разрешить функцию EditWindows), в дальнейшем вы сможете модифицировать исполняемый файл с помощью инструментария EditWindows без изменения исходного текста. Следует заметить, что создаваемый файл .EXE не является результатом полной компиляции исходного текста (как это бывает при обработке текстов на языках третьего поколения), и его исполнение возможно только совместно с файлом SQLRUN5x.EXE. Знак x здесь означает номер версии SQLWindows. Тем не менее вы можете создать для исполнимого файла группу и пиктограмму в Диспетчере программ, а затем запускать как обычное приложение Windows.
Основы языка SAL
Одним из важных достоинств SQLWindows является наличие объектно-ориентированного языка четвертого поколения SAL (SQLWindows Application Language). В определенном смысле SAL сочетает в себе идеологию и методы языка C (C++) - гибкость, возможность работать на низком уровне и непосредственную связь с событиями Windows, - объектно-ориентированные средства и инструментарий командных языков баз данных, позволяющий легко программировать укрупненные процедуры обслуживания интерфейса и обработки информации. Кроме того, SAL содержит средства манипуляций с предложениями SQL (в частности, эти предложения могут быть параметрами функций).
SAL поддерживает следующие
типы данных:
- логические (Boolean);
- дата/время (Date/Time);
- указатель файла (File Handle);
- длинная строка (Long String);
- число (Number);
- указатель Sql (Sql Handle);
- строка (String);
- указатель окна (Window Handle).
Идеология объявления и обработки переменных, констант, массивов, арифметических и логических выражений практически такая же, как и в C (дополнительно существует оператор конкатенации строк). Имеется большое число системных констант и параметров, устанавливающих окружение SQLWindows и режимы взаимодействия с сервером баз данных.
SAL предлагает свыше 500 своих системных функций и функций Windows, часть которых относится собственно к языку (c префиксом Sal), часть - к манипуляциям с SQL (с префиксом Sql). Параметры могут передаваться функциям двумя способами: по значению (когда в функцию поступает копия значения параметра и функция не может изменить оригинал) и по ссылке (когда функции передается адрес параметра, и функция может изменить оригинал). В качестве параметра может быть указан вызов другой функции; функция может вызываться рекурсивно, если внутренняя логика допускает такой вызов. При исполнении приложения пользователь может указывать аргументы командной строки, причем приложению передаются маршрут вызова исполняемого файла, количество аргументов и сами аргументы в виде массива строк.
SAL содержит практически полный набор операторов языка третьего поколения (кроме одиозного goto), позволяющий реализовать процедуры низкого уровня и гибкое управление программой. В этом наборе: оператор присваивания Set; операторы циклов и выхода из циклов (возможно, именованные) Loop, Break, While; операторы управления If, Else If, Else; операторы выбора Select Case, Case, Default; операторы Call (вызов функции), Return (возврат из функции), On (блок обработки сообщения), When SqlError (пользовательская обработка ошибки SQL). Примеры операторов SAL:
Call MyInternalFunct (sParm, nRtnFunct(nVal)) Set n = n+1 Select Case nCommand Case CLOSE Call SalFileClose(hFile) Break...
В SAL превосходно реализованы функции создания библиотек классов и поддержки множественного наследования, а именно: эти функции образуют основу аппарата объектно-ориентированного программирования (ООП). Немного подробнее мы расскажем об этом далее.
Собственные средства SQLWindows дополнены динамически подключаемой библиотекой Visual Toolchest, которая содержит более 240 функций и 17 новых классов. Функции этой библиотеки используются так же, как и функции Sal и Sql, и предоставляют разработчику дополнительные возможности, связанные с выполнением в приложении команд DOS, управлением окнами списков и комбинированными окнами, цветами и шрифтами, кнопками и пиктограммами в окнах сообщений, манипулированием строками и т.д.
Компилятор
В состав SQLWindows включен компилятор программ на языке четвертого поколения, позволяющий перевести исходный текст приложения в текст на языке C, а затем - с помощью компилятора Microsoft C/C++ - создать исполняемые модули в динамически подключаемой библиотеке Windows (DLL) и тем самым повысить производительность приложения. Правда, пока компиляции поддаются внутренние функции, глобальные переменные и константы (в среднем около 30% кода), однако уже к концу 1995 г. Gupta надеется достичь стопроцентной компиляции исходного кода, а также добавить поддержку других компиляторов C.
SQLWindows и SQL
Хотя SQL (Structured Query Language - структурированный язык запросов) не является родовым элементом SQLWindows, система настолько тесно интегрирована с функциями этого языка, что разработка серьезных приложений невозможна без его использования. С помощью предложений SQL выполняются следующие операции:
- определение и поддержка объектов базы данных (создание таблиц, обзоров, индексов);
- манипулирование данными (выбор и сортировка, вставка данных, обновление и удаление);
- управление доступом к данным (санкции на доступ и отмена доступа);
- управление транзакциями (фиксация и откат);
- модификация объектов базы данных (изменение таблиц).
Для выполнения предложений SQL необходимо вызывать Sql-функции, которые реализуют следующие операции: компиляцию команды SqlPrepare() или вызов сохраненной на сервере команды SqlRetrieve(), а затем выполнение команды SqlExecute().
Создание и модификация классов
В SQLWindows предусмотрена технология визуального создания и модификации классов с помощью редактора Class Editor. Класс - это базовая конструкция объектно-ориентированного программирования, иначе - это шаблон, который описывает данные и поведение объекта.
Объекты создаются во время выполнения приложения и являются экземплярами класса, тогда как класс - это статическое описание набора объектов. Классы можно создавать по иерархии; они могут передавать данные и поведение классу, расположенному ниже в иерархии.
Базовый класс - это класс, для которого данный класс является производным. Производный класс наследует структуру данных и поведение своего базового класса. Способность классов в иерархии совместно использовать данные и поведение других классов без дублирования кода называется наследованием. Производный класс автоматически включает в себя данные и поведение одного или более базовых классов. Производные классы могут добавлять свои собственные данные и поведение, а также переопределять унаследованные данные и поведение.
Экземпляр обозначает данный объект (принадлежащий классу), который отображается на экране (для визуальных объектов) или объявляется (для функциональных объектов). Классы не существуют в работающих приложениях - существуют только экземпляры классов.
В качестве примера схематично рассмотрим процедуру визуального создания базового класса поля данных и его производных классов в SQLWindows с помощью Class Editor. Заметим, что ту же операцию можно выполнить и средствами планировщика схемы приложения.
Для запуска редактора классов необходимо выбрать команду Class Editor в меню Tools главного окна SQLWindows, а затем - щелкнуть на кнопке New... в появившемся окне редактора классов.
После этого перед вами возникнет кадр New Class (новый класс), и вы можете сделать следующее:
- определить класс поля данных и указать его имя (например, cdfBaseDF (c=class, df=datafield));
- ввести соответствующее описание класса.
Далее из этого базового класса можно с помощью несложного диалога создать несколько производных классов. Например, создадим класс "Поле данных" с красным цветом фона. В диалоговом окне Derive Classes (создание производных классов) из списка допустимых классов выбираем базовый класс cdfBaseDF. Создаем "Поле данных" c красным фоном - cdfRedDF. При этом создаваемые классы автоматически добавляются к палитре инструментов. С помощью настройщика объектов (щелчок правой кнопкой на объекте), можно изменить цвет фона экземпляра класса (например, сделать его голубым).
Далее мы можем произвести от базового класса, например, класс с текстом на верхнем регистре: cdfUpperDF.
Если в дальнейшем нам понадобиться всюду в приложении изменить поведение экземпляров класса "Поле данных" (например, ввести выравнивание текстов полей вправо), достаточно изменить базовый класс cdfBaseDF, и эти изменения автоматически будут воспроизведены во всех производных объектах.
Концепция множественного наследования позволяет нам создать класс, объекты которого унаследуют поведение более чем одного родительского класса. Например, можно создать класс "Поле данных", который унаследует красный цвет фона от cdfRedDF, верхний регистр - от cdfUpperDF и выравнивание вправо - от cdfBaseDF.
SQLWindows Solo
Для быстрого освоения технологии и создания небольших БД (до 5 Мбайт) на автономном компьютере Gupta предусмотрела однопользовательский вариант системы - SQLWindows Solo. Сохраняя в значительной мере почти всю мощь основного продукта (возможность отладки приложений для сетей, интерфейс ODBC, электронная почта), Solo и QuickObjects позволяют создавать Windows-программы со всеми их атрибутами (полосы прокрутки, меню, диалоговые окна и окна списков, кнопки выбора, флажки опций) и одновременно осваивать основные понятия ООП.
ДОПОЛНИТЕЛЬНЫЕ СРЕДСТВА SQLWINDOWS
ReportWindows
Это средство позволяет генерировать широкий круг отчетов по базам данных, оформленных либо по умолчанию стандартными средствами системы, либо пользователем с применением разных заголовков, шрифтов, стилей, рисунков. Сначала для отчета вы создаете шаблон - файл с расширением .QRP (можно воспользоваться готовыми шаблонами). Затем вы печатаете отчет или выводите его на экран из приложения SQLWindows. На этом этапе запускается генератор отчетов, который и наполняет отчет реальной информацией из базы данных.
TeamWindows
Централизованное хранилище данных (Data Repository), предусмотренное в SQLWindows, содержит мета-данные проекта и повторно используемые блоки для создания приложений. В частности, хранится информация о структуре БД - имена таблиц и столбцов, связи первичных и внешних ключей, критерии верификации и другие параметры. С помощью средств TeamWindows менеджер проекта может управлять коллективным программированием, обеспечивая совместное использование компонентов приложений, стандартизацию проектов и специализацию задач программирования. Автоматически проводится анализ влияния - модификация приложений при изменениях структур БД или словаря данных, выдаются отчеты об использовании объектов, обновляются номера версий продуктов, обеспечивается авторизованный доступ к определенным компонентам хранилища и т.д.
Quest
Quest не входит в SQLWindows, но весьма тесно связан с системой. Средства Quest Reporter, предназначенные для конечных пользователей, обеспечивают интуитивный интерфейс, с помощью которого указанием элемента и щелчком мыши можно создавать запросы и отчеты, строить графики и диаграммы, выдавать предопределенные формы, общаться с электронными таблицами и т.д. Средства Quest дают возможность квалифицированным пользователям, знающим SQL, выполнять более сложные функции: создавать собственные формы, создавать таблицы SQL, управлять ими и даже модифицировать (при наличии санкции) определения данных. Созданные с помощью Quest запросы можно включать в обычные приложения SQLWindows.
Quest обеспечивает:
- создание, изменение и просмотр таблиц БД;
- поддержку многодокументного интерфейса (MDI);
- поддержку связи и внедрения объектов (OLE);
- поддержку динамического обмена данными (DDE);
- интегрированную деловую графику;
- кэширование каталогов и условий запроса для удаленных баз данных;
- интеграцию с электронной почтой Microsoft Mail, Lotus cc:Mail и Novell MHS.
Средства интеграции с другими источниками данных
Одним из важнейших показателей уровня предлагаемых решений в архитектуре клиент/сервер является способность системы взаимодействовать с другими популярными приложениями в самой сети, а также с персональными и корпоративными базами данных, работающими как на других аппаратных платформах, так и с другими системами управления. Это не только экономит ранее сделанные вложения, но и гарантирует высокий уровень интеграции разнообразных информационных систем, возможность их расширения и повышения мощности.
Gupta обеспечивает открытую архитектуру своей системы средствами под общим названием TIE (Tools Integration for the Enterprise), которые позволяют решить указанные задачи.
Во-первых, встроенные связи с Microsoft Mail и Lotus cc:Mail (электронная почта), а также полная поддержка стандартов OLE (связь и внедрение объектов) и DDE (динамический обмен данными в Windows) позволяют приложениям SQLWindows непосредственно работать с пакетами Windows. Во-вторых, "родной" интерфейс семейства SQLNetwork обеспечивает связь приложений SQLWindows с другими SQL-БД, в том числе - на иных аппаратных платформах (IBM DB2, Sybase, Oracle, Informix и т.д.). Наконец, поддержка ODBC создает открытые интерфейсы с базами данных иной природы (например, СУБД Paradox и dBASE).
Со средой SQLWindows тесно связаны следующие средства:
- SQLTalk - графический интерактивный инструмент администратора баз данных SQL в сети;
- SQLConsole - комплекс графических средств администрирования и управления сервером баз данных с расширенными функциями (обслуживание структуры базы данных, сброс по расписанию, фиксация критических ситуаций, статистика и т.д.);
- SQLRouters - сетевые маршрутизаторы, обеспечивающие связь приложений с серверами баз данных (Oracle, Sybase, SQL Server, Informix, Ingres, AS/400 и отдельно -с DB2);
- средства ODBC для доступа к базам данных dBASE, Paradox, FoxPro;
- SQLRanger - средство перемещения данных между несколькими СУБД различной природы и др.
В заключение отметим, что SQLWindows совместима с CASE-технологией ведущих производителей этого программного инструментария. Свойства и методы предопределенных или созданных пользователем объектов можно улучшать и развивать, используя множество шрифтов, стилей, цветов, графических эффектов, а далее - включать готовые объекты в новые приложения.
При подготовке данной статьи использована документация компании Gupta.