, это решение идеально подойдет разработчику, который пишет для Windows и стремится сделать свои программы доступными каждому, у кого есть Web-браузер.
Разработчики, пишущие программы и для Windows, и для Web, и для сетевых компьютеров, в определенном смысле связаны. Конечно, у них есть инструменты для построения Windows-программ, программ на Java и JavaScript, а также определенных гибридных комбинаций, но в большинстве своем эти инструменты заставляют заранее выбрать определенную среду и затем работать в расчете на нее.
Пакет Clarion for Windows корпорации Topspeed представляет собой среду для разработки приложений баз данных, где описанная проблема решена совершенно оригинальным способом. Clarion позволяет создать один-единственный исполняемый файл, который может затем использоваться и как "родная" программа для среды Windows, и как программа для Web.
Иначе говоря, если вы запустите программу my_application.exe, набрав ее имя в командной строке или щелкнув по ее значку на рабочем столе, произойдет именно то, что и ожидалось: начнет работать Windows-программа - с обычной для подобных программ скоростью и со всеми особенностями графического интерфейса Windows. Даже для программ, рассчитанных на 16-разрядную среду Windows, пакет воспроизводит элементы интерфейса Windows 95, так что пользователи, работающие в Windows 3.1, не лишаются ни одной из функций, доступных в 32-разрядных средах.
Если же запустить тот же самый файл my_application.exe, введя его URL в окне Web-браузера, он будет общаться с вами через Web-страницу, состоящую из Java-классов и кодов HTML и JavaScript.
Одна прикладная задача. Один базовый исходный текст. Один исполняемый файл. Практически неограниченный доступ. Вот она - формула успеха в мире сетевого программного обеспечения.
Единственное, что могло бы помешать Topspeed прорваться на рынок программного обеспечения для сетевых компьютеров, - это какие-то особые причины, препятствующие выбору Clarion в качестве платформы для разработки. Помимо этого в голову не приходит ничего кроме личных предпочтений.
Система Clarion - один из тех редких алмазов, которые почти неизвестны за пределами сравнительно небольших групп программистов, рассеянных по всему свету. Если спросить приверженцев Clarion, не беспокоит ли их малоизвестность избранной ими системы, они ответят, что все равно будут работать с ней.
При том что искренность подобного утверждения очевидно сомнительна, малоизвестность пакета Clarion дает его приверженцам совершенно реальное преимущество в конкурентной борьбе. Обычно с помощью Clarion программа пишется столько же времени, сколько с помощью Sybase Powerbuilder или Borland Delphi. Короче, если вы хотите работать для Windows или для Windows и сети, есть серьезные основания предпочесть Clarion.
Мы ознакомились с Clarion 2.003 и Clarion 4 (первой бета-версией). Тестирование с Web проводилось только с программами, разработанными в Clarion 2.003, поскольку в Clarion 4 бета-версия Internet-расширения не работала.
Методы разработки
Возможно, Clarion - самая гибкая из существующих систем разработки для Windows. Нам неизвестны другие продукты, которые предлагали бы столь же богатый спектр способов создания прикладной программы. На одном его конце - программа-мастер, которая по шагам проводит вас через процедуру определения таблиц базы данных, а когда дело сделано, строит готовую к работе прикладную программу. На другом - редактор исходного текста, в котором вы вводите команды по своему усмотрению.
Между этими двумя крайними точками есть масса промежуточных. Большинство из них предусматривают создание словаря базы данных. В нем программист определяет поля, ключи и отношения между таблицами. Словарь допускает также настройку полей на определенный формат вывода, задание приемов сокращенного ввода, правил проверки данных, списков значений и др.
Если вам подойдет готовая программа, сгенерированная по шаблону, Clarion построит ее на основе определенного вами словаря базы и кода шаблона. А если этот метод годится для всех программ, которые вам приходится разрабатывать, то в каждом очередном случае работа сведется к мелким изменениям в шаблоне по умолчанию. Сгенерированные программы будут вести себя в точности как заказано.
Те же, кому необходим более сложный, нестандартный интерфейс, возможно, добьются желаемого в следующей точке спектра, где можно собрать программу из модулей, выбирая для каждого соответствующий шаблон. Пусть, например, на первом экране данных происходит просмотр списка в многоколоночном окне. Тогда вы указываете, что при выборе записи результат должен выводиться в виде диалогового окна с закладками для каждого поля или что должен появляться какой-либо еще список для просмотра. В вашем распоряжении есть несколько типов окон (и соответствующих программных шаблонов).
Окна всех типов допускают настройку. Конечный результат представляет собой программу, по виду и поведению аналогичную готовым программам Clarion, - однако модули выбраны и настроены так, что программа работает в соответствии с вашими специфическими запросами. Тем не менее и в этом случае программисту не придется непосредственно редактировать ни единой строчки кода.
Редактирование кода (без которого вам, скорее всего, не обойтись) вполне осуществимо в рамках того же метода разработки: вы выбираете окна, настраиваете их и при этом добавляете в модули фрагменты кода. Clarion обращается с такими фрагментами корректно, так что вы можете продолжать работать с шаблонами: написанное вами сохранится при следующей генерации прикладной системы.
И наконец, система Clarion позволяет в любой момент "заморозить" сгенерированный ею код, а затем внести в исходный текст любые изменения. После такой операции, конечно, нельзя заново сгенерировать программу, не потеряв сделанную работу.
Язык Кларион
Язык Кларион часто описывают как "коболоподобный". Мы полагаем, что он прост, очень гибок и с ним легко работать. Программисты, разрабатывающие прикладные системы для бизнеса, должны по достоинству оценить тот факт, что Кларион использует целочисленные переменные там, где в большинстве языков по умолчанию применялись бы числа с плавающей запятой. Это предотвращает ряд ошибок, которые могли бы возникнуть при преобразовании типов.
В пакете Clarion версии 2.003 в язык Кларион были введены некоторые простые элементы объектно-ориентированного программирования (ООП)*. В Clarion 4.0 (в настоящее время существующем во второй бета-версии) возможности работы с объектами расширены до такой степени, что идеология ООП теперь проходит красной нитью через весь продукт. Подход Clarion ставит в центр данные и имеет тенденцию к усилению ориентации на объект. В отличие от многих других ООП-систем, свойства и методы объектов в языке Кларион связаны в первую очередь не с элементами пользовательского интерфейса, а с данными.
У пакета Clarion есть и ряд других важных преимуществ перед конкурирующими системами разработки программ для Windows. Так, он работает и в 16-, и в 32-разрядной среде Windows, позволяя в обоих случаях создавать и 16-, и 32-разрядные программы (однако для того, чтобы программа работала и в Windows, и в Web, она должна быть 32-разрядной и выполняться под управлением Windows NT). И, как уже говорилось, даже в программах, предназначенных для 16-разрядной среды Windows 3.1, используются элементы интерфейса Windows 95 (диалоговые окна с закладками и т. д.).
Пакет поддерживает широкий спектр форматов баз данных, включая ASCII, BTrieve, Clarion, Clipper, dBase III, dBase IV, FoxPro, DOS, Topspeed и все форматы, доступные через протокол ODBC. Можно было бы ожидать, что работа с разными форматами будет происходить неодинаково, но с точки зрения генератора прикладных программ (и, как правило, с точки зрения программиста) все они в основном соответствуют идеалу plug&play.
Чем отличаются программы для Web
При построении прикладной системы на основе шаблонов для добавления поддержки Web-интерфейса достаточно при определении глобальных характеристик проекта указать расширение Clarion Internet Connect. После этого Clarion внесет в генерируемую программу весь код, необходимый для работы программы в Web.
Все это действительно очень просто. При компиляции Clarion автоматически создает EXE-файл двойного назначения. Чтобы запустить получившуюся программу, браузеру на клиентской машине необходима лишь поддержка Java и JavaScript, да еще дополнительный файл на Java длиной 200 Кбайт, который строит Clarion.
Чтобы работать с программой в Web, нужно на сервере, где находится программа, запустить службу Clarion for Windows Broker. После этого пользователи смогут загружать программу, задавая URL типа http://www.имя_домена.com/имя_ программы.exe.0 (очевидно, для удобства пользователей такой URL целесообразно снабдить закладкой).
По умолчанию служба, обеспечивающая работу программы в Web, настроена на тот же порт, что и Web-сервер. Поэтому если обе службы нужно держать на одной машине, для какой-то из них (скорее всего, для Clarion Broker) придется задать другой порт. Чтобы это сделать, достаточно запустить Clarion Broker, указав в качестве параметра номер порта, например 8080. URL программы в результате примет вид http://www.имя_домена.com:8080/ имя_программы.exe.0.
На возможности программ, которые будут доступны из Web, сейчас накладываются определенные ограничения. Например, не разрешается использовать диалоговое окно открытия файла (в действительности вы сможете включить в программу соответствующий фрагмент, но пользователь, работающий с программой из Web, при попытке открыть это окно получит сообщение об ошибке).
Когда программа запускается через Web-браузер, Clarion строит некое приближение исходного пользовательского интерфейса с помощью комбинации HTML, JavaScript и Java. Внешний вид Web-интерфейса и Windows-интерфейса программы различается иногда довольно существенно, но ее поведение эти различия затрагивают крайне редко.
Коробка
В Internet-версии Clarion есть обычное для таких программ число ошибок, но собственно среда разработки Clarion исключительно стабильна (это, как ни удивительно, относится и к бета-версии Clarion 4). Если в окончательном продукте удастся выправить имеющиеся на данный момент дефекты, пакет получит огромное преимущество перед конкурентами благодаря возможности разрабатывать программы двойного назначения. Особый интерес он представляет для тех, кто хотел бы ориентировать свои разработки на сетевые компьютеры, но еще не готов полностью перейти на Java. Мы горячо рекомендуем Clarion таким программистам.
Система Clarion for Windows работает под управлением Windows 3.1, Windows NT 3.51 или выше и Windows 95. Расценки для Clarion Internet Edition: пакет Clarion Professional - 499 долл., Clarion Broker - 999 долл. за сервер. Дополнительно поставляется также диспетчер сеансов Clarion Session Manager; его цена 1999 долл. Для нынешних пользователей Clarion переход на версию 4.0 будет стоить 149 долл. Выпуск Clarion 4.0 и Clarion Internet Edition намечен на конец 1997 г.
Источники
Информация о Clarion Internet Edition на Web-узле корпорации Topspeed: http://www.topspeed.com/iedition.htm
Steve Parker's Place. Web-узел, на котором работает пример программы, созданной с помощью Clarion Internet Edition. Поддерживается указатель статей о Clarion и база Web-узлов, посвященных этой системе. http://www.par2.com
Николас Петрели - главный редактор журнала NC World, а также обозреватель журналов InfoWorld, где ведет колонку Down to the Wire, и NT World Japan. E-mail: nicholas.petreley@ncworldmag.com
Topspeed Corporation,
Тел. в США: 800/354-5444, 954/785-4555,
http://www.topspeed.com
От редакции
Читая эту статью, не следует забывать, что автор тестировал бета-версии пакетов, а о многих весьма важных качествах программного продукта можно судить только по окончательной версии.