Продолжается подписка на наши издания! Вы не забыли подписаться?

“Философский камень” для WEB-разработчиков


Цель для Clarion - автоматизировать искусство программирования.

Что есть в лавке старого аптекаря?

“Рецепт “философского камня”.
Возьмем нужный сосуд. Добавим кое-какие секретные ингредиенты и пропатчим этими ингредиентами содержимое сосуда до версии 3.
Приспособим вместо стандартной крышки специальный механизм и поставим сосуд на медленный огонь с температурой не более чем 8080. Для массового применения использовать эфир и специальные слова заклинания…
Вас ждет чудо!”

С давних времен люди лелеяли мечту о необыкновенном способе получения золота из свинца. Такую операцию можно провести только если у Вас есть “философский” камень! Из “философского” камня можно получить любое другое вещество.

Проходят времена, меняются люди, появляются технологии, а мечта о “философском” камне осталась. Сегодня умы бьются над созданием такого “философского” камня в области программирования.

Перед современными алхимиками стоит, как и прежде, много проблем. Они создали много систем различного назначения. Эти “бухгалтерии”, “склады”, “отделы кадров”… etc… сегодня отлажены и работают весьма успешно. Движение прогресса оказывает свое неумолимое влияние на программное обеспечение. Программы “стареют”, теряют былой лоск, но главная причина их старения – невозможность адекватной реакции на растущие запросы пользователей. Это не секрет.

Секретом обладают те алхимики, которые, зная волшебные заклинания, умудряются постоянно “омолаживать” свое детище.

С реальным появлением Internet в России громадное количество программ сразу постарело! Этот факт многих разработчиков, руководителей информационных отделов и администраторов информационных систем заставил переосмыслить дальнейшую судьбу своих уже написанных, отлаженных и весьма сложных программ. Одни смирились с этим, другие вынуждены искать очередной эликсир “вечной молодости”.

Эликсир “вечной молодости”

Перенос уже созданного приложения в WEB называют миграцией. Некоторым деталям такой миграции будет посвящена данная статья. Мы рассмотрим “омолаживание” приложений, созданных с использованием Clarion-технологии.

Так как большинство коммерческих приложений – это базы данных, то в дальнейшем будем рассматривать приложения, обеспечивающие работу с базами данных.

Сколько вопросов: как перенести свое приложение в WEB с минимальными затратами, как заставить работать в WEB свои старые приложения без полного переписывания кода, как приспособить возможности WEB к своим приложениям? Возможно, что ответ один – есть необыкновенный простой способ получения золота из свинца!

Под “миграцией” понимается множество аспектов программирования. Можно создать “новое приложение”, которое функционально выполняет те же действия, что и оригинальная программа, но в корне отличается от нее внутренним содержанием, дизайном, емкостью ресурсов. Однако уже про это “новое приложение” говорят, что оно “мигрировало” под WEB.

“Клиент” видит перед собой “другую” программу, которая делает тоже самое, что и ее локальный вариант. Проблемы, возникающие у пользователей или разработчиков при “миграции”, имеют широкий спектр: от психологических до финансовых.

Так “клиенты”, увидев “новую” программу и не узнав знакомых окошек, привычного интерфейса, могут просто испугаться “новой” программы или почувствовать некоторый психологический дискомфорт. А если “клиенты” - сотрудники бухгалтерии или склада, и не будет вовремя сдан финансовый документ или составлен план отгрузки? Примем к сведению также, что для того, чтобы сделать “как лучше”, алхимики попросили некоторого усовершенствования техники на круглую сумму…

Алхимики окажутся в незавидном положении, про них скажут: “…хотели как лучше, а получилось как всегда”. Итак, любое “омоложение” не проходит даром и за все приходится платить.

Посмотрим, какие способы миграции приложений под WEB есть вообще.

TCP/IP и HTTP

Эфир – это вещество, посредством которого перемещается информация.

Отметим, что в соответствии со стандартом ISO/OSI протокол передачи данных в INTERNET - TCP/IP.

TCP/IP – это протоколы транспортного и сетевого уровня. Протоколы сеансового уровня и уровня представления отсутствуют, сразу идет прикладной уровень. На транспортном уровне - два протокола FTP и HTTP. Протокол HTTP проще, чем FTP. Все броузеры работают по протоколу HTTP.

Платформы, которые поддерживают TCP/IP, могут быть представлены в WEB.

Операционная система “Microsoft NT Server” –одна из таких платформ. Средства разработки приложений, предлагаемые фирмой TopSpeed, работают под Windows или под Windows NT, и новый продукт фирмы TopSpeed Clarion Internet Connect работает, соответственно, под Windows NT.

Windows NT

Сосуд, содержащий густую мутную смолянистую жижу, с надписью “Windows NT”.

Для нормального функционирования Windows NT достаточно рабочей станции средней цены и мощности.

Это невысокие требования и такое приобретение вполне доступно фирмам, бизнес которых не относится к компьютерным технологиям напрямую.

Сетевые службы Windows NT обеспечивают поддержку протоколов TCP/IP. Для работы с базами данных предлагается целая гамма инструментов (http://www.microsoft.com/data ).

Основная идея – “универсальный доступ к данным”. Ниже предлагается общая схема архитектуры доступа к данным.

Рис.1

Для простоты восприятия и изложения слегка видоизменим эту схему:

Рис. 2

Опишем ее функционирование.

Клиент обращается к серверу, запуская на нем все необходимое окружение. Если у клиента возникает запрос к базе данных, он передается серверу. Сервер “знает” какой доступ к базе данных, например, ODBC, необходимо использовать. Связка ODBC<->БД хорошо ясна. Как средство доступа к базам данных могут использоваться различные механизмы, которых у Microsoft более 10. Если Ваше не-WEB-приложение “доберется” до слоя “Доступ к БД”, то можно считать, что произошел желанный фокус, произошла миграция.

Internet Information Server

Стандартный добрый механизм распыления информации.

Какие средства разработки сервер-приложений для WWW предлагает фирма Microsoft? Прежде всего, это Internet Information Server (IIS) /версия 3, и недавно появившаяся версия 4.0, интегрированная с Microsoft Transaction Server/.

Помимо исполнения CGI-скриптов MS IIS предоставляет разработчикам возможность создания с помощью соответствующего прикладного программного интерфейса (ISAPI) приложений в виде динамических библиотек, запуск которых происходит в ответ на команду или выбор линка на Web-странице. В отличие от CGI, где каждый скрипт исполняется как иной, нежели Web-сервер, процесс, что быстро "съедает" ресурсы даже достаточно мощной машины при большом количестве заходов на сервер, ISAPI-приложение выполняется в адресном пространстве Web-сервера, что, естественно, повышает скорость работы и существенно экономит машинные ресурсы. В среднем скорость работы ISAPI приложений в 5 раз превышает аналогичные CGI. В зависимости от сложности сайта и приложений, dll могут быть предзагружены одновременно с запуском сервера, либо подгружаться/выгружаться из памяти по мере необходимости. Есть и недостатки такого подхода. К наиболее известным средствам разработки приложений на основе ISAPI относятся Active Server Pages (ASP), входящий в состав MS IIS. Активные серверные страницы (ASP) представляют собой инструмент для эффективной разработки серверных Web-приложений, интегрирующих в своем составе HTML-код, VBScript и компоненты ActiveX. С их помощью фрагменты кода на VBScript или JavaScript, а также вызовы соответствующих объектов ActiveX легко могут быть встроены в уже существующие наработки. Кроме базовых объектов (Application, Request, Response, Server, Session) ASP поддерживают многочисленные компоненты ActiveX, которые упрощают создание и значительно повышают функциональность активных Web-страниц. Среди них в первую очередь нас будут интересовать компоненты, позволяющие организовать доступ к базам данных, т. е. ADO.

С помощью ADO могут быть построены пользовательские компоненты для обращения к серверу баз данных как со стороны "толстого" (Win32), так и со стороны тонкого (броузер) клиента.

Сегодня Microsoft последовательно развивает концепцию универсального доступа к данным. (Universal data access – http://www.microsoft.com/data ). Основной лозунг этой идеологии “универсальный доступ, а не универсальное хранение”. Вызовом одних и тех же функций, заменяя только строку связи с базой данных, можно работать как с MS SQL, так и с Oracle, Informix, Sybase, другими промышленными СУБД и даже свободно распространяемой Postgres.

ADO раньше было отдельным продуктом, сейчас ADO версии 1.5 входит в состав Data Access Components 1.5.

Отдельную технологию, по сути, сегодня предлагает инструментарий ASP. Она позволяет совмещать внутри одной HTML страницы HTML-теги, подпрограммы, выполняющиеся на клиенте и подпрограммы, выполняющиеся на сервере. Для написания подпрограмм для работы на сервере можно выбрать один из нескольких скриптовых языков: VBScript, JavaScript, Java, Perl. Несомненным достоинством технологии считается возможность обращения к собственным ActiveX-объектам. Это позволяет встраивать часть бизнес-логики напрямую в страницы, а не разрабатывать новые приложения.

Создавая сервер-приложения для WWW, общающиеся с базами данных, Microsoft предлагает использовать Active Data Objects (ADO). Теперь нам ясно, что предлагает разработчик Windows NT.

Схема доступа “клиента” к базам данных будет выглядеть так:

Рис. 3

Свободно доступная СУБД POSTGRES95 - средство доступа к базам данных в Internet

Что предлагают другие производители зелья?

Вот как выглядит схема доступа “клиента” к базам данных в СУБД POSTGRES95 [3].

Рис. 4

Для работы с Postgres можно использовать расширение наиболее популярного Web-сервера Apache – PHP. PHP является неким аналогом ASP, за исключением возможности работы с собственными объектами (из UNIX нельзя обратиться к OLE объекту.). При этом в PHP есть возможность встраивать в страницу обращения к Postgres и из них формировать результат.

Данная схема (Рис.4) не многим отличается от общей схемы доступа (Рис. 2), ведь, по сути, CGI-шлюз обеспечивает и “Доступ БД”. CGI-шлюз здесь - некоторое комплексное решение общей задачи (обработка HTML-страниц) и частной (“Доступ к БД” из HTML-страницы).

Итого

При организации удаленного доступа клиента к базам данным “сервера” разработчики создают схему, состоящую из следующих элементов: “клиент”-“сервер” -“служебный уровень”-“база данных”. И какими бы средствами они не пользовались, отказаться от “служебного уровня” невозможно.

Вот какие функции, как правило, выполняет “служебный уровень”:

Список можно продолжить, но это говорит лишь о том, что роль “служебного уровня” весьма значительна.

А как же Java?

Волшебная заморская субстанция для преодоления любых языковых барьеров.

“Мое мнение,"- говорит системный аналитик “Гарант-Парка” Заостровцев Н.В.,-“такое: Java является красивым академическим языком, но реальному ее применению мешает пока еще недостаточная развитость средств разработки и отсутствие совместимости между различными вариантами реализации виртуальной Java-машины, в том числе реализаций одного и того же производителя. В результате реально вместо продекларированного лозунга “пишешь один раз – используй везде”, работает лозунг “пишешь один раз – отлаживай везде”.

Да и верно, если Java-программы работают неустойчиво на разных броузерах или на разных версиях одного и того же броузера (по причине плохо написанной Java-машины или иной причине), то пользователи не должны страдать. Тем более не должны страдать коммерческие пользователи, а ведь именно за счет их денег производители Java-технологии и производители “плохих” броузеров пытаются преодолеть сложившийся кризис. Стоит ли нам поддерживать такую технологию и таких производителей броузеров? С другой стороны, может, потребовать от клиентов применения строго определенных броузеров и в дальнейшем не надеяться на универсальность Java, а использовать другие средства или “попивать Java в умеренных количествах”?

Ответив на один из этих вопросов положительно, Вы выбираете стратегическую линию разработки Ваших приложений, следовательно, и программное обеспечение и так далее.

Теперь рассмотрим, какой инструмент для создания Internet/Intranet приложений, работающих с базами данных, предлагает TopSpeed.

Clarion Internet Connect – это новый продукт TopSpeed

Специальный механизм, позволяющий не перемывать весь сосуд руками в Notepad перед массовым использованием в эфире. Основное преимущество перед стандартной крышкой – наличие специальных самокодогенерирующихся жаваклассов.

Особенно интересно это будет для тех алхимиков, которые разрабатывают приложения на Clarion for Windows.

Если у Вас есть программы, которые срочно надо перенести в Internet, начальники давят, сроки поджимают, то…следует заняться поиском “философского камня”!

Первый ингредиент

Основная идея CWIC – перенаправить экранный вывод “сервера ” WWW “клиенту”. Так как более подробно это описывается в публикациях Р. Богатырева [2], то остановимся на описании протокола сеанса работы “клиента” и “сервера”.

Немного повторимся и опишем структуру CWIC (Clarion for Windows Internet Connect)с другой точки зрения.

Фокус экранного перенаправления заключается в следующем. Обычное приложение, открывая окно, являющееся элементом Windows, при его создании “наследуется” от Windows и полностью подчиняется операционной системе. Любое окно, созданное Clarion for Windows, - самостоятельная структура, визуально похожая на “наследуемое” окно с точностью до пиксела! Этой структуре передаются сообщения Windows, а оператор ACCEPT способен обрабатывать все нюансы взаимоотношений нарисованного Clarion-окна и Windows, как операционной системы. Для отображения в Clarion-окно Clarion-приложение использует виртуальное окно, или точнее сказать виртуальный экранный вывод. Объект (назовем его WindowsManager), производящий эту операцию, владеет всей логической структурой окна: расположением control’ов на окне, порядком их следования, цветом и проч. Вернемся к экранному перенаправлению. Зная логику окна, WindowsManager транслирует команды экранного вывода, осуществляемого приложением, в команды и сообщения для Clarion Application Broker.

Рис. 5

Структура CWIC такова – сервер состоит из двух частей, брокера приложений (Clarion Application Broker) и самого приложения (функциональный модуль и база данных). Клиентская часть - это WEB броузер, поддерживающий JAVA, плюс набор Java классов.

Архитектура продукта Internet Connect позволяет вам, разработчику, поместить логику работы прикладной программы в сервер приложений среднего уровня, называемый Clarion Application Broker, выполняемый на сервере Windows NT.

Clarion Internet Connect – это использование протокола http (hypertext transfer protocol) и событийный механизм.

Рассмотрим схему общения “клиента” и “сервера”.

На серверной части должен быть запущен и настроен брокер приложений: максимально возможное количество соединений (connections), порт. Надо дать соответствующие права доступа к файловой системе сервера: директорию приложения, директорию вспомогательных библиотек, данных и проч. Клиентская часть должна иметь адрес (URL) и путь расположения приложения на сервере. Клиентская часть базируется на компактном пакете Java классов, обеспечивающих объекты пользовательского интерфейса для всех приложений на Clarion, выполняемых в одном домене.

Рис. 6

Запуская приложение, клиент “стучится” по TCP/IP в порт “сервера”. Clarion Application Broker прослушивает канал TCP/IP, поймав “свой” пакет, Clarion Application Broker начинает работу. При этом “клиент” посылает и получает, используя протокол http, java-команды и сообщения.

Работа “сервера” несколько сложнее. “Сервер” получает java-команды и сообщения, интерпретирует их в команды работы с приложением, приложение выполняет эти команды, результаты передает Clarion Application Broker. Брокер приложений переводит результаты в java-команды и посылает их клиенту. Отметим, что брокер и приложение общаются между собой по DDE.

По смыслу Clarion Application Broker выполняет роль прослойки между данными, приложениями и “клиентом”, являясь JDBC (Java DataBase Connectivity) драйвером номер 4. Тем не менее, Clarion Application Broker нечто большее, чем просто JDBC, ведь он обеспечивает не столько доступ к данным через WWW (JDBC в чистом виде), сколько отвечает за связь с гибридным Clarion приложением. Приложение обеспечивает доступ к данным, отвечает за целостность базы данных, отрабатывает бизнес-логику (это свойство присуще JDBC трехарочного вида) и проч. Связка “Clarion Application Broker + гибридное Clarion приложение+Драйвер базы данных” по своим функциям сильно похожа на JDBC, только в первом есть некоторое перераспределение функций по отношению ко второму. Именно это одно из основных отличий от других способов доступа к базам данных.

Второй ингредиент

Второй ингредиент - использование аналогичной (а значит, проверенной и вполне надежной) с JDBC технологии для доступа к БД.

Вот как выглядит схема доступа к серверам баз данных в случае работы гибридного приложения с использованием Clarion Internet Сonnect.

Рис. 7

Этот способ доступа с точки зрения “клиента” полностью соответствует трехарочной модели JDBC-драйвера, где для связи с БД используется драйвер номер 4 (протокол TCP/IP). См. Рис. 8.

Рис. 8

Третий ингредиент

Важно заметить, что гибридное приложение, работая на сервере, выглядит как обычное приложение. Это означает, что если Вы отладили приложение (при использовании стандартных шаблонов), то отлаживать его для нормальной работы в WEB не надо. Поскольку лозунг Java реально пока превращается в “пишешь один раз – отлаживай везде”, то разработчики CWIC действительно превратили его в “пишешь один раз - используй везде” (отладили везде и создали “отлаженные Java-шаблоны”.) Это дает алхимикам возможность колдовать, не затрачивая много времени.

Четвертый ингредиент

Применение Java отнимает время, это снижает динамичность системы в целом. Следует четко понимать, на что именно тратится время. Когда отображается Browse-форма, то каждое нажатие кнопки Page Down не вызывает перерисовки всей формы, кнопок, рисунков, а посылается сообщение Clarion Application Broker и перерисовываются только новые данные. В других системах новый список данных вызывает перерисовку всех элементов окна, что повышает трафик. В CWIC этого нет, но за снижение трафика (все элементы окна копируются “клиентом” один раз!) и обеспечение механизма сообщений приходится расплачиваться временем. Для преодоления этого недостатка на серверной части рекомендуется использовать более мощное аппаратное обеспечение, а клиентская часть должна иметь канал связи не ниже 28800 бод.

Архитектура продукта Internet Connect позволяет сконцентрировать исполнение логики приложения и обработку данных на сервере, где, вероятно, более быстрая и надежная аппаратная часть. Приложение исполняется на сервере как двоичная программа, а не как интерпретируемый CGI скрипт или CGI приложение, для которых обычно характерны дополнительные издержки и не как "Java servlet", который, конечно, тоже интерпретируется. Вследствие переноса всей обработки с клиента на сервер не нужно выгружать на клиентскую сторону большое приложение на Java, не нужно следить за соответствием приложения требованиям Java с точки зрения обращения к ресурсам клиентской машины, не нужны объекты ActiveX со свойственным их архитектуре риском нарушения защиты.

Пятый ингредиент

Когда приложение использует механизм транзакций, брокер приложений применяет свои механизмы. При переходе между HTML-страницами с использованием ASP, разработчик должен создать общую область памяти, обрабатывающую транзакции, а по окончании транзакции уничтожить эту область. Переход между HTML-страницами не может быть произвольным, а только тот, который был предусмотрен разработчиком. Это требование, без сомнения, усложняет процесс разработки приложения.

При использовании CWIC ни разработчик, ни пользователь не заботится о транзакциях специально. CWIC позволяет “клиенту” ходить по HTML-страницам в любой последовательности, не заботясь о старте, выполнении и остановке транзакции. Отсутствие сеансового уровня в TCP/IP [1] доставляет массу хлопот разработчикам, ведь именно этот уровень, по идее, должен обеспечивать права доступа, пароли, транзакции, сеансы работы. “Клиент” может войти в систему несколько раз, открыв несколько сеансов одновременно. CWIC эмулирует сеансовый уровень, снимая эту головную боль разработчиков. В других системах разработки приложений под WEB сеансовый уровень каждый раз в каждом приложении создается разработчиком вновь.

Шестой ингредиент

Что касается технологии программирования, то она ничем не отличается от ранее используемой технологии шаблонов. В этом смысле разработчик практически не ощущает присутствия других механизмов в своем приложении. Добавляются некоторые новые особенности, касающиеся основных форм – Application, Form, Browse, Report(!), Window. Для создания гибридного приложения разработчику необходимо потратить несколько часов, чтобы подкорректировать приложение и готово! Скорость переноса очень высока – это самый большой плюс в данной технологии.

Если же воспользоваться визардом, то новое гибридное приложение появится еще быстрее.


Рис. 9

Седьмой ингредиент

Имея в виду проект как логически систематизированный набор функций и атрибутов, следует отметить, что часто производители заставляют разработчиков “размазывать” свои функциональные модули и процедуры по файловой системе (этого требует архитектура инструментария), что, безусловно, затрудняет разработку. В Clarion разработчик сохраняет свое приложение в двух частях – словаре, образующем структуру базы данных (*.dct), и в приложении, составляющем все остальные механизмы приложения (*.app).

Восьмой ингредиент

Прежде, чем начать миграцию приложения, любой алхимик должен получить некоторые новые знания о способах миграции. Программистам, работающим на Clarion for Windows, в этом нет необходимости. Хоть CWIC и использует Java, разработчикам приложений на Clarion специально изучать язык Java не надо!

Некоторые важные выводы

И вот зелье сварено и готово к употреблению. Вот слова заклинания: аш ти типи: // вэ в,в.кла ри он. ком./ цэвээс / цэвэ ланчь.дэ эль эль / реджистри.эхе.0”

Время идет, и программирование для Web перестало быть перспективой завтрашнего дня. Это реалия дня сегодняшнего.

Помните, говорят, что время в Интернет бежит в четыре раза быстрее, чем обычное. Поэтому, если вы уложитесь со своим программным проектом для Интернет в три месяца, это будет означать, что вы ушли на год вперед.

Б. Баррингтон.

Безусловно, CWIC и есть долгожданный “философский камень” для WEB-разработчиков. Эта технология даст новые ростки, подобно тому, как в древности попытки найти “философский камень” привели к бурному развитию химии, медицины и других наук естествознания.

Мы нашли восемь ингредиентов “философского камня”, но этого недостаточно! Девятый ингредиент – это Вы, алхимик, владеющий Clarion технологией и способный вдохнуть жизнь в груду программного кода.

Если Вы имеете приложения, написанные на Clarion for Windows, то “философский камень” для Вас - Clarion Internet Connect.

Однако эта технология является “закрытой” для третьих фирм, ее “понимают” только “родные” приложения, созданные Clarion for Windows. Технология ActiveX более открыта и дает возможности создавать свои ActiveX третьим фирмам, конфигурировать как хочется, а не так как предлагает разработчик.

Литература

1. “Программирование для INTERNET в среде Windows”//, К.Джамса, К. Коуп, “Питер-пресс”, 1996.

2. Р. Богатырев “Загадка притягательности Clarion. Послесловие”// Компьютер пресс №12.

3. “Microsoft SQL Server 6.5. Обзор основных возможностей”, А.В. Шуленин, // Системы управления Базами данных # 1/97 стр. 30-50

4. “Clarion Internet Connect”//, Martin Heller, “Windows Magazine”, September 1997, page 166.

Константин Пупков.
к.т.н., отдел обработки информации,
ЗАО “Гарант-Парк”,
kostya@park.ru

Немного о JDBC

…этот флюид лишь часть всеобщего эфира.

Что такое JDBC? JDBC – это Java API для выполнения SQL команд. Он содержит классы и интерфейсы, написанные на языке Java. JDBC обеспечивает стандартное API для разработчиков и производителей инструментов БД или самих баз данных, давая возможность писать приложения, используя чистый Java API. Этот продукт разрабатывает компания JavaSoft ( http://www.javasoft.com ).

Использование JDBC не вызывает затруднений. Надо послать SQL выражение любой виртуальной базе данных. Другими словами, с JDBC API нет необходимости писать одну программу для доступа к базам данных Sybase, другую для Oracle, третью для Informix и так далее. Вы можете написать одну программу, используя JDBC API, и эта программа даст возможность посылать SQL выражения соответствующей базе данных. С таким приложением, написанным на языке Java, нет необходимости заботится о работоспособности приложения на других платформах. Комбинирование Java и JDBC позволяет программистам писать приложение один раз и выполнять его везде.

Двухарочные и трехарочные модели

JDBC API поддерживает - двухарочные и трехарочные модели доступа к данным.

В двухарочной модели Java applet (или приложение) общается непосредственно с базой данных. Это требует наличия JDBC драйвера, который может обеспечить доступ с частью DBMS (database management system). Пользовательские SQL выражения доставляются базе данных, а результат этих выражений посылается обратно пользователю. База данных может находиться на другой машине, к которой есть доступ по сети. Это ссылка на архитектуру client/server с пользовательскими машинами, как клиентами, и машиной, на которой находится база данных, как сервер.

Существует 4 вида JDBC драйвера.

    1. JDBC-ODBC мост плюс ODBC драйвер: мост обеспечивает JDBC доступ через ODBC драйвер.
    2. Native-API частично-Java драйвер: этот вид драйверов конвертирует JDBC вызовы в вызовы на серверном API для Oracle, Sybase, Informix, DB2, или иной DBMS.
    3. JDBC-Net чисто Java драйвер: этот драйвер транслирует JDBC вызовы в DBMS-независимые от протокола сети, которые затем транслируется в DBMS протокол сервера. Это промежуточное сетевое программное обеспечение дает возможность связываться чистым Java клиентам с различными базами данных.
    4. Native-protocol чистый Java драйвер: этот вид драйвера конвертирует JDBC вызовы в сетевой протокол, используя непосредственно DBMS. Это позволяет непосредственно вызывать из клиентских машин DBMS сервер и обеспечивает частичное решение для Intranet доступа (запомним этот драйвер).

В трехарочной модели команды посылаются службам "средней арки", которые затем посылают SQL выражения базе данных. База данных обрабатывает SQL выражение и посылают результаты среднему уровню, который, в свою очередь, перенаправляет их пользователю. Трехарочная модель довольно привлекательна, потому что средняя арка позволяет контролировать себя во время доступа, с одной стороны, и делать различные виды обновлений корпоративных данных, с другой. Другое продвижение заключается в том,что пользователь разрабатывает легкое в использовании высокоуровневое API, которое транслируется “средней аркой” в соответствующие низкоуровневые вызовы.

Обычно “средний уровень” пишется на таких языках как C или C++, которые обеспечивают более высокую производительность. С появлением оптимизирующих компиляторов, которые транслируют Java bytecode в эффективные специфичные для машины коды, появляется некоторый темп. Это большой плюс, позволяющий делать продвижение настоящей Java'ской многопроцессности и секретности. JDBC есть важный элемент при обеспечении доступа к базам данных через “среднюю арку”.

Основные преимущества CWIC

Место разработчика в эпоху экономического подъема и “инфляция технологий”.

Не забудьте посетить лавку аптекаря по адресу http://www.images.ru.

Если сегодня зайти в магазин, на склад или в коммерческую фирму, существующую более 4-5 лет, то там обязательно найдется программа “бухгалтерия”, “склад” или еще что-нибудь. Эти вполне серьезные программы отлажены, работают не первый год и приносят прибыль. А написаны они на Clipper, FoxPro, DBase, Paradox или Clarion.

Многие предприятия достигли заметного уровня в своем развитии, который позволяет им расширяться, открывать свои филиалы в других районах города, других городах или даже странах!

При этом неизбежно встает проблема информационного обмена между различными площадками предприятия.

Появление Internet, как средства коммуникации, может снять эту острую проблему. Но перед разработчиками стоит вопрос: как именно это сделать? Ведь надо заставить работать свои старые программы по новой технологии.

Для тех, кто до сих пор работает на Clipper или Paradox, я предлагаю как можно скорее “переложить” свои приложения на Clarion и быть спокойным за будущее своих программ. Ведь миграция Clarion-приложений у Вас уже в кармане!

Еще необходимо учитывать влияние времени. Сегодня все большую значимость приобретает термин “инфляция технологий”. Если Вы разрабатываете приложения и время разработки велико, то может получиться так, что к моменту рождения бета-версии Вашей программы она уже морально состарится! К примеру, вчера все бухгалтерии работали с тысячами рублей, а сегодня уже с рублями. Все бухгалтерские программы, несумевшие преодолеть такой жизненный барьер, отомрут.

CWIC, вне всякого сомнения, прогрессивное технологическое решение, опираясь на которое Вы еще несколько лет можете не боятся инфляции вашего приложения.

Я давно работаю с Clarion и решил попробовать произвести “миграцию” одной из своих программ. Программа Convert Manager, которая отвечает за обработку приходящей информации в ИС “ПАРК” (http:\\is.park.ru) подходила для “миграции”, так как в ней использовались стандартные шаблоны.

Технические характеристики моей машины: Pentium 166, Windows NT, RAM 64M, Clarion 4 Gold, CWIC for Clarion for Windows v.2003 beta.

ИС “ПАРК” - это полнотекстовая база данных по различным источникам информации (http://is.park.ru). Среди них газета “Сегодня”, журнал “Итоги”, новости от информационных агентств, всего более 60. Все эти источники по электронной почте, BBS присылают свои статьи, а Convert Manager отвечает за получение информации, конвертирование в базовый формат системы (http://is.park.ru/park/document.asp?no=278487&from=day&sno=1919&n=28), регистрацию и проч.

Я решил произвести миграцию именно этого сложного приложения.

Время пошло. Я зарегистрировал шаблоны CWIC, открыл проект, через Global->Extenstion вставил расширение Internet Connect. Попробовал сгенерировать приложение, но компилятор выдал ошибку “отсутствует подпрограмма AUTOINCREMENTWINDOW”. Закомментировал место где производится вызов подпрограммы. Такая ошибка была еще в 4-х модулях и так же была “исправлена”. После этого скомпилировался exe-модуль! Clarion Application Broker уже был инсталлирован, и я лишь переписал новое гибридное приложение в доступную директорию. Запустил Broker. Зашел с “клиентской машины” и прекрасно реально работал со своим старым приложением!На все ушло около 15 минут!

Если Вы проделаете это со своим приложением, то поймете, насколько впечатляюще работает технология, предложенная TopSpeed! Это больше, чем просто фокус, это настоящая магия “философского камня”!


Copyright © 1994-2016 ООО "К-Пресс"