Каковы перспективы вычислений в архитектуре клиент-сервер? Следующий бастион, который предстоит взять, - это глобальная сеть Internet с множеством хостов.
JAVA И JAVASCRIPT
СТАРЫЙ ЗНАКОМЫЙ
ОСТАЛЬНЫЕ УЧАСТНИКИ
ПЕРЕХОД НА ВЫСШИЙ УРОВЕНЬ
НОВОСТИ ИЗ WEB
ПОДДЕРЖКА ПРИНЯТИЯ РЕШЕНИЯ
БУДЬ ГОТОВ - ВСЕГДА ГОТОВ
Ничто не ново под луной. Это набившее оскомину клише с равным правом применимо как к истории человечества в целом, так и к истории компьютерной отрасли в частности. В начале были терминалы конечных пользователей, они давали указания большим хостовым системам, хосты выполняли приложения и передавали результаты обратно на терминалы. Со временем хосты уменьшались в размерах и становились более специализированными.
Затем, с появлением ПК, которые совершили революцию в мире бизнеса, каждый пользователь стал обладателем настольного компьютера, не уступающего по мощности прежним хостам. Но тут возникло препятствие: пользователь располагал своим собственным множеством данных, причем часто дублировавших данные, находящиеся на соседней машине. Совместное использование такой информации было чрезвычайно затруднено. Появление локальных сетей, казалось, решило эту проблему. Однако всякая медаль имеет оборотную сторону: сетями было очень сложно управлять, а приложения, которые им требовались, - сложно писать. Несколько лет назад умные люди поняли, что объединение реляционных баз данных и фронтальных приложений дает мощную комбинацию. Они назвали эту новую технологию "клиент-сервер". "Как я смогу управлять данными в разбросанных по всему миру офисах? - ворчали менеджеры. - Как я смогу использовать столь дорогую технологию для установления более тесных взаимоотношений с потребителями и снижения затрат?"
Некоторые ответы были найдены на пути возврата к ранним формам организации компьютерных вычислений - хостовым системам, получающим указания от пользовательских терминалов. Теперь, однако, это соединение открыто для всех, причем пользователь может не бояться за его защищенность и использовать любые приложения, как только они появляются.
Ключом к данным изменениям является, безусловно, Internet и его молодой родственник Intranet. В этой статье мы будем ссылаться на них обоих, как на Сеть. Многие продукты разрабатываются теперь с учетом новой парадигмы. Только представьте себе Сеть как одну глобальную систему хостов.
БЕЗОПАСНОСТЬ
Аналитики, прогнозисты и обычные пользователи предсказывают Сети большие перспективы. Подтверждение тому - рост стоимости акций таких компаний, как Netscape, Yahoo и даже America Online. Аналитики считают, что через 10 лет доля электронной, или интерактивной, коммерции может составить около одной пятой от всего торгового оборота США. Но для того, чтобы хотя бы приблизиться к этой цифре, необходимо, чтобы проблемы безопасности, характерные для такой децентрализованной неорганизованной системы как Сеть, когда пользователи не могут даже знать, кто является владельцем компьютера, через который проходит их трафик, ушли в прошлое.
В прошлом году группа компаний, в том числе Visa International, MasterCard, Microsoft, IBM и Netscape, объединилась в целях разработки Secure Electronic Technology (SET). SET - это протокол, обеспечивающий автоматизированный защищенный обмен информацией о платежах между пользователями, торговыми организациями и их банками. Протокол определяет технологию шифрования операций с кредитными карточками, автоматической обработки и клиринга платежей по кредитным карточкам, взаимодействия с существующими протоколами, обеспечивающими защиту информации (такими как Secure Sockets Layer). Технология поддерживается инструментальными средствами компаний Microsoft, RSA Data Security и Terisa Systems. В апреле Terisa Systems представила SecureWeb Toolkit 2.0 - стандарт, призванный завоевать доверие общества к средствам электронной коммерции.
JAVA И JAVASCRIPT
Как сверхновая, вспыхнувшая на ночном небе, новый язык, названный Java, затмил своих конкурентов на роль стандартного средства программирования для World Wide Web. Sun Microsystems разрабатывала проект, который привел к появлению Java, в надежде создать коммуникационное устройство для кабельного телевидения. Этот рынок, в который за последние семь лет многие компании вложили миллионы долларов, является пока еще только перспективой. Java, похоже, единственный коммерческий продукт, появившийся за годы исследований.
Java вырвался из лабораторий компании Sun настолько быстро, что уже сейчас, по прошествии всего нескольких месяцев после завершения бета-тестирования и появления готового продукта, невозможно пересчитать книг, журналов, конференций и узлов Web, посвященных ему. Одно из крупнейших компьютерных издательств, обычный тираж которого 5000 экземпляров, на этот раз выпустило 20000 экземпляров своей первой подробной книги по программированию на Java. И они были распроданы практически мгновенно.
Самое поразительное тут то, что Java достиг этого беспрецедентного уровня распространения, несмотря на его невероятную сложность как языка. Это C++ с небольшими отличиями, касающимися управления памятью и доступа к оборудованию. Последнее отличие определяется больше практическими, нежели техническими причинами: многие ли пользователи позволили бы загрузить и выполнить на своих компьютерах какое-то неизвестное приложение при отсутствии такого ограничения?
JavaSoft, новая дочерняя компания корпорации Sun, созданная для разработки, управления и маркетинга Java, предложила новый API: Java Database Connectivity (JDBC), позволяющий приложениям Java получать доступ к любой базе данных на сервере тем же образом, как и ODBC. Фактически, проект предложения по стандарту JDBC API определяет, что JDBC должен уметь делать то же, что и ODBC, и API - оба основанные на интерфейсе уровня X/Open SQL Call - могут использовать те же самые драйверы (с небольшим драйвер-мостом, связывающим JDBC и ODBC). (Дополнительную информацию о JDBC см. во врезке "Java работает и с базами данных".)
СТАРЫЙ ЗНАКОМЫЙ
Еще в конце прошлого года Билл Гейтс не принимал в расчет Internet. Четыре месяца спустя он полностью реорганизовал Microsoft, отдав указания своим сотрудникам найти способ адаптировать продукты компании к работе в Сети. Компьютерная история насчитывает множество примеров, когда появление нового поколения технологии приводило к падению прежних идолов, но пока Гейтсу удается избежать близорукости, которой страдали его предшественники. Microsoft в ответ на волну, поднятую Internet, предприняла следующие шаги.
· Выпуск Internet Assistants для всех компонентов офиса, преобразующего таблицы, базы данных, документы и графику в HTML.
· Приобретение технологии Vermeer для своего HTML-редактора FrontPage.
· Выпуск бесплатного информационного сервера Internet Information Server.
· Предложение системы электронной коммерции под названием Merchant (использующей технологию обеспечения безопасности, о которой говорилось выше).
· Преобразование стандарта OCX в ActiveX с целью поддержки компонентов Сети и выпуск набора базовых компонентов ActiveX, таких как Winsock, ftp, HTML и Network News Transport Protocol (NNTP).
· Добавление к Visual C++ поддержки пяти новых классов в Microsoft Foundation Classes.
· Предложение сервисов Peer Web Services, обеспечивающих пользователям Windows 95 и Windows NT возможность представлять папки на локальном жестком диске как страницы Web.
· Выпуск VBScript, бесплатной многоплатформенной упрощенной версии Visual Basic.
· Лицензирование Java и среды разработки Java (Jakarta), а также планы по включению Java Virtual Machine в будущие версии своих операционных систем.
Вместо того чтобы заставлять пользователей изучать абсолютно новый язык программирования и инструментальные средства, Microsoft стремится добавить в существующие продукты возможности для работы с Сетью. "Microsoft имеет достаточно ресурсов, чтобы обогнать всех в этой гонке, - считает Дуайт Девис, редактор Windows Watcher. - Никто не может с уверенностью делать какие-либо прогнозы, но Microsoft решительно настроена выиграть все ставки".
ОСТАЛЬНЫЕ УЧАСТНИКИ
Microsoft не единственная, кто предлагает ориентированный на Сеть инструментарий для корпоративных разработчиков. Основные конкуренты Visual Basic на рынке средств разработки приложений в архитектуре клиент-сервер нижнего и среднего уровня - это PowerBuilder компании Sybase и Delphi компании Borland. Оба они предназначены для создания приложений для работы в Сети. Воплощая лозунг "Быстрые приложения повсюду", подразделение PowerSoft компании Sybase запланировало к концу второго квартала 1996 года выпустить версию 5.0 системы PowerBuilder. Эта версия будет иметь компилятор (что всегда требовали пользователи инструментальных средств разработки с использованием интерпретации) на основе проверенной технологии Watcom, а также возможность создавать трехзвенные приложения с серверными компонентами. Однако если Remote OLE в Visual Basic 4.0 может быть использована с серверами не Visual Basic OLE, то PowerSoft предлагает закрытый подход. На этом первом этапе выхода на распределенную арену, Мит Крамер из компании Patricia Seybold Group охарактеризовал промежуточное программное обеспечение PowerBuilder как нестандартное или закрытое.
ParkcPlace-Digitalk предлагает инструментальные средства среднего уровня под названием VisualWave Development Environment. Базирующаяся на давно существующей среде VisualWorks Smalltalk, VisualWave облегчает рутинную работу по созданию готовых приложений для Сети с межплатформенной, объектно-ориентированной, работающей с несколькими базами данных системой. VisualWave автоматически преобразует экраны, формы и таблицы в формат HTML и создает необходимые сценарии для Common Gateway Interface (CGI). Personal Web Server позволяет тестировать приложения прямо на том компьютере, где ведется разработка. К неприятным моментам относится необходимость приобретения VisulWave Internet Application Server, а также сложность изучения энциклопедической библиотеки классов Smalltalk.
Oracle также стремительно продвигается на рынок ПО для Сети. Недавно компания выпустила Designer/2000 WebServer Generator, бесплатную модернизацию системы Developer/2000. Теперь разработчики располагают средствами для создания приложений, которые могут обращаться с запросами к базам данных Oracle и публиковать отчеты для программ просмотра. "Что касается внутренних клиентов, Developer/2000 2.0 (эта версия должна выйти до конца 1996 года) позволила бы нам иметь маломощных клиентов и запускать на них апплеты Java. Так, если нам нужно модернизировать приложение, мы обновляем сервер, но не клиента, - говорит ведущий разработчик приложений в одной из крупных торговых компаний. - Использование многозвенной архитектуры снизило бы стоимость поддержки клиента".
Attachmate создала себе репутацию, разрабатывая продукты, связывающие хост и ПК. Но теперь она также работает на Сеть. Extra Developer Series помогает разработчикам создавать приложения с возможностью доступа к данным на хосте с платформ Windows 95 и Windows NT по Intranet и традиционным сетям. Данные могут быть получены из баз данных, с экранов мэйнфрейма или из запрограммированной бизнес-логики. QuickApp генерирует код для Visual Basic, C++, PowerBuilder и Delphi, позволяющий системам, созданным в этих средах, использовать экранные данные.
ПЕРЕХОД НА ВЫСШИЙ УРОВЕНЬ
Среди крупномасштабных систем разработки приложений Forte Software и Texas Instruments Software используют довольно типичные подходы, в то время как NextSoftware и Haht Software предлагают совершенно новый инструментарий.
Версия 2.0 одноименного программного обеспечения компании Forte, выпущенная в конце 1995 года, позволяет корпоративным разработчикам создавать динамически разделяемые приложения, при этом функции приложений могут быть разделены в соответствии с необходимостью между клиентскими машинами и любым числом серверов в зависимости от их мощности и местонахождения. Для обеспечения доступа к Сети через любую программу просмотра, компания недавно анонсировала инструментальное средство разработки Forte Web Server.
В апреле Texas Instruments выпустила WebCenter. WebCenter, объединенный с существующим продуктом компании, Composer, предназначен для создания приложений масштаба предприятия, причем они могут быть реализованы одновременно в любой из четырех конфигураций: хост/терминал, традиционный клиент/сервер, ПК-клиенты (такие как электронные таблицы) и клиенты Сети в противовес серверным приложениям (см. Рис. 1).
(1x1)
Рисунок 1.
WebCenter компании Texas Instruments Software связывает любую программу
просмотра непосредственно с корпоративными приложениями.
Дэн Иванов, менеджер по информационным технологиям в Air Canada, говорит: "Мы приняли на себя обязательства по оказанию поддержки нашим клиентам и верим, что WebCenter позволит нам значительно улучшить качество и скорость обслуживания пассажиров в течение очень короткого времени".
WebCenter предоставляет клиентам программы просмотра "живую" страницу Сети с динамическим информационным наполнением вместо статичных документов. Благодаря способности Composer осуществлять связь с любой базой данных, реляционной или наследуемой, пользователи WebCenter могут предоставить глобальный доступ к данным своим клиентам.
НОВОСТИ ИЗ WEB
Созданная Стивом Джобсом Next Software собиралась изначально разрабатывать и продавать машины для школ и институтов. После выхода продукта в 1988 году реальность, однако, заставила команду Джобса включить в сферу своих интересов корпоративный рынок. Несколько лет Next боролась за существование на людном базаре Unix и в конце концов сдалась. Вместо этого компания сконцентрировала все свои усилия на простой, но мощной системе разработки приложений, бывшей частью операционной системы NextStep.
Совсем недавно компания выпустила серию продуктов WebObjects. Версия начального уровня предоставляет удобную отправную точку построения приложений для Сети, включающих множество предварительно созданных компонентов и WebScript. Эта версия может быть бесплатно загружена с узла http://www.next.com. WebObjects Pro позволяет включать код на C, C++ и Object C, а также поддержку средств OLE и библиотек клиентов базы данных. Она облегчает масштабируемость и управление серверами распределенных приложений Сети. Завершающая версия данной серии, WebObjects Enterprise, обеспечивает динамическое решение разработки приложений для Сети. Этот вариант предназначен для потребителей, нуждающихся в решении, которое охватывает имеющиеся данные и приложения.
"Нас очень впечатлила функциональность, которую корпорации, создающие динамические приложения на базе Web, получают благодаря WebObjects, - сказал Джонатан Шварц, президент Lighthouse Design. - Менее чем за два месяца работы с WebObjects Lighthouse уже создала WebVision, серверный компонент для разработчика, дополняющий технологию Next, которая предоставляет управляемую данными графику разработчикам WebObjects".
Haht Software, существующая всего один год, позиционирует свой продукт Hahtsite как инструментарий для сотрудников административных информационных служб, занятых в проектах разработки приложений для Сеть. Основанная группа сотрудников компании Q+E Software, Hahtsite использует транслируемую версию Visual Basic для Unix вместо сценариев GCI при решении вопросов масштабируемости и безопасности. Приложения, созданные при помощи этого инструментария, полностью серверные. В конце концов, создание и доступ к страницам HTML осуществляется клиентами программы просмотра. Программа работает под Windows 95, Windows NT и Solaris (см. Рис. 2).
(1x1)
Рисунок 2.
Версию Visul Basic для Unix под названием Hahtsite компании Haht Software
призвана облегчить жизнь разработчикам приложений для Web.
ПОДДЕРЖКА ПРИНЯТИЯ РЕШЕНИЯ
Большинству систем клиент-сервер не хватает стандартных средств генерации отчетов. Actuate Software намерена выпустить Actuate Report Server 3.0, первый сервер отчетов, который может работать с отчетами как с Universal Resource Locators (URL). Используя Web Agent, связывающий любой сервер Web с сервером отчетов, корпорации могут сделать предопределенный формат отчетов доступным любому клиенту программы просмотра. Actuate Viewer Plug-in добавляет функции справочника и поиска, таблицу содержимого и гиперссылки на другие отчеты. По словам Ларри Сикона, старшего технолога компании Montgomery Securities, "Report Server ориентирован на масштабные системы генерации отчетов уровня клиент-сервер. В общем Actuate проделала хорошую работу по эмуляции режима разработки Visual Basic с визуалиазацией и повторным использованием объектов".
IQ Software представила нового члена своей серии IQ программного обеспечения поддержки решений в архитектуре клиент-сервер, IQ/LiveWeb, которая позволяет публиковать корпоративные данные в Сети. Благодаря ему пользователи получают возможность формулировать запросы к корпоративным базам данных, планировать их выполнение и публиковать их на серверах Web в формате HTML или Portable Document Format.
Когда речь идет о поддержке решения, нельзя не упомянуть об Online Analitical Processing (OLAP). Так, например, MicroStrategy и Arbor Software представили серверные интерфейсы Web для своих серверов OLAP. Пользователи, имея только программу просмотра в своей настольной системе, могут при помощи DSS Web компании MicroStrategy связаться с DSS Server и выполнить сложнейший анализ данных, как если бы они обращались к ним локально. Arbor планирует аналогичный шлюз для своего сервера Essbase OLAP. Обе компании намерены интегрировать апплеты Java в свои системы.
БУДЬ ГОТОВ - ВСЕГДА ГОТОВ
История технологии снова и снова учит нас тому, что предсказание будущего - задача неблагодарная. Internet и Intranet только появились, но изменяются настолько быстро, что невозможно предсказать, что случится через год, не говоря уж о более длительном периоде. Каждое новшество используется в первую очередь как лучшее средство делать то, что делалось раньше другими способами. Первые автомобили были просто более дорогими и, конечно, безлошадными версиями кареты; радио использовалось поначалу лишь для того, чтобы передавать телеграммы без азбуки Морзе; телевизор - для передачи радиопрограмм с добавлением изображения; компьютеры - для автоматизации вычислений и подсчетов.
В каждом случае изобретатель или изобретатели придумывали несколько применений своему детищу. Однако нахождение нового применения требует времени. Мы видим, что то же самое происходит и в Сети. Она обеспечивает более быструю и простую связь для обмена данными. Компании могут установить системы электронной коммерции для продажи билетов, цветов или музыки без необходимости непосредственного вмешательства человека (настройка подобных систем все еще требует значительного участия человека, но такая ситуация скоро изменится). Другие установили радиостанции. Дальнейшие планы предполагают передачу кино и телевизионных шоу-программ по проводам. Но ничто из этого не ново. Реальное назначение Сети все еще скрыто за горизонтом.
Билл Лазарь - ведущий сотрудник группы обслуживания в CenterView Software из Сан-Франциско. С ним можно связаться по адресу: blazar@centerview.com.
ДАЛЬНЕЙШИЕ ПУТИ РАЗВИТИЯ JAVA
Java работает и с базами данных
Java - это объектно-ориентированный язык программирования, за основу которого взят C++. Главные отличия между этими языками состоят в независимости от платформы, обеспечении безопасности и размерах приложений. Однако они имеют одну важную общую черту: ни один из языков не имеет встроенной поддержки для баз данных - в отличие от Visual Basic и Delphi. Первоначальные апплеты Java походили на крестики-нолики, анимацию и другие интересные визуальные объекты в том, что они не поддерживали постоянное хранение данных.
Чтобы сделать Java полезным для корпоративных разработок, команда JavaSoft предложила JavaSoft Database Connectivity (JDBC) API. Исходя из X/Open Call Level Interface, JavaSoft поставила цель "определить общую структуру доступа к базам данных SQL, обеспечивающую единый интерфейс для множества различных модулей связи с базами данных. Такой подход позволит программистам писать только один интерфейс к базе данных, обеспечит независимость от СУБД продуктов и инструментальных средств разработки приложений Java, а также даст возможность производителям средств связи с базами данных предложить множество различных решений".
JDBC организована, как и другие подсистемы Java (см. Рисунок) - такие как ввод/вывод и языковая и графическая подсистемы - как набор классов, которые инкапсулируют хорошо определенное множество сервисов. Из-за проблем безопасности и потенциального отсутствия поддержки доступа к локальным базам данных (то есть предустановленного драйвера ODBC), предложение JDBS предполагает, что трехзвенная архитектура будет иметь повсеместное распространение. При такой схеме приложения Java обращается к сервисному уровню сети, он-то и осуществляет доступ к базе(-ам) данных своими средствами. В соответствии с этой точкой зрения, промежуточные звенья функционируют во многом так же, как сервер OLE или сервер брокера объектных запросов (ORB).
(1x1)
Тройная палуба.
JavaSoft Database Connectivity API, призванный обеспечить разработчиков
и пользователей Java средствами связи с базами данных на уровне ODBC, вероятнее
всего, будет иметь трехзвенную архитектуру.