INTRANET: информационная система
- клиент-сервер.... или... ?
Мы составили себе определенное впечатление об INTRANET, как о системе, каждый клиент
доступается к данным Web-сервера посредством своего броузера. Но является ли такая
архитектура архитектурой клиент-сервер? Ведь в классическом понимании на клиентское
приложение возлагаются некие дополнительные задачи - дополнительная логика. Позволяет ли
стандартный броузер решать такие задачи?
Если иметь в виду широко распространенный броузер Netscape, то почти ничего , за исключением
простейших диалогов и просматривания данных, такой клиент делать не может. Это и заставляет
такого клиента называть "слабым" (thin client), поскольку в большинстве случаев использование
броузера мало чем по возможностям отличается от применения терминала со своей (достаточно
мощной) системой команд.
- логика на сервере
Слабость клиента заставляет размещать логику приложения на сервере; фактически, для
реализации не только системы подачи информации (или рекламного гипертекстового сервера)
требуется существенно дописывать функционирование стандартного Web-сервера, превращая (или
дополняя) его в application server.
- логика на клиенте
И все-таки, существует заметная тенденция по превращению "слабого" клиента в клиента,
оснащенного возможностями исполнения логики приложения. Для этого должен был бы
использоваться некий универсальный язык программирования, обладающий достаточно
противоречивыми характеристиками. С одной стороны, этот язык должен был бы
функционировать на большинстве используемых платформ, то есть быть легко переносимым с
платформы на платформу, с другой стороны, должен быть достаточно выразительным, чтобы с его
помощью можно было легко строить достаточно сложные приложения.
Сейчас пока трудно предсказать, какой язык сможет разрешить все противоречивые требования к
нему, однако, наиболее перспективным кандидатом на роль интернетовского эсперанто является
язык Java, разработанный компанией Sun Microsystems.
- N-tier ?
Возможность исполнения логики приложения c использованием одного и того же языка как на
клиенте, так и на сервере, позволяет использовать единый цикл разработки как для сервера, так и
для клиента. Быть может, суждено сбыться мечтам разработчиков о прозрачном перемещении
логики приложения с клиента на сервер... или даже серверы? Возможно, наиболее элегантным
решением задачи построения сложной корпоративной системы в будущем станет реализация ее в
виде цепочки серверов приложений, причем в момент разработки логика приложения может
свободно мигрировать, обеспечивая максимальную производительность и ясность всей
системы.
- связь с БД
Мы не обсудили еще один очень важный аспект построения сложной системы - это сложность
поддержания данных в целостном и структурированном виде для систем Intranet. Наиболее
распространенная технология, когда данные представлены в виде гипертекстовых страниц,
связанных перекрестными ссылками, не слишком применима для корпораций, имеющих дело с
потоком часто обновляемой и меняющейся информации. Технология реляционных баз данных
доказала свою применимость для таких случаев. Поэтому весьма важно знать о совместимости
подхода Internet к использованию SQL-сервера в качестве хранилища информации. В прессе уже
звучали заявления различных ведущих компаний о решении тем или иным способом этой
проблемы.
- формирование страниц "на лету"
Фактически основным требованием является обеспечить Web-сервером формирование
гипертекстовых страничек для клиентского броузера, исходя из результатов запроса к SQL-серверу
и шаблона такой странички.
О создании инструментов создания таких систем объявили практически все ведущие компании:
Oracle, Informix, Sybase, Borland, Microsoft, IBM..., но, раз уж статья посвящена технологиям
компании Borland, остановимся на особенностях решений компании Borland.
- Visual dBase Internet Tools
Реализовать логику Web-сервера можно по-разному, и один из новых инструментов компании
Borland предназначен для значительного количества приверженцев Visual dBase.
Visual dBase
Internet Tools позволяет реализовывать, с одной стороны, как клиентское приложение,
получающее доступ к Internet, так и серверную логику для Web-сервера, работающего под
управлением Windows NT.
- Delphi components
Такой расширяемый инструмент, как Delphi, естественно не мог остаться без внимания как
Borland, так и третьих фирм, специализирующихся на написании компонент. Сейчас существует
уже целый спектр работоспособных решений для Delphi, от компонент для создания собственных
броузеров до компонент, позволяющих создавать application server в многоярусной (N-Tier)
архитектуре информационной системы Internet/Intranet.
- Paradox & CGI
Для разработчиков, выбравших своим инструментом Paradox, также существуют расширения,
позволяющие рассматривать Paradox как инструмент для создания как логики клиента, так и
логики сервера.
- InterBase InterClient
Планируется выпуск специального дополнительного линка для SQL-сервера компании Borland,
позволяющего обращаться за данными к серверу непосредственно из интернетовского
клиента.
В недалеком будущем предполагается предоставить разработчикам исполнение определяемых
пользователем функций InterBase, изготовленных на языке Java. До сих пор возможно было
использование таких функций, изготовленных при помощи компилятора С и линкуемых
непосредственно к ядру InterBase.
- NEXUS
В ближайшее время планируется выпуск сервера приложений, где возможно будет размещать
бизнес-правила системы. При этом клиентское приложение может абстрагироваться от того, где и
в каком виде лежат данные. Nexus позволит объединять данные с нескольких серверов БД,
возможно, находящихся на физически разных серверах.
- JAVA и LATTE
Что же такого привлекательного имеется в новом языке программирования Java?
Java - это язык, во многом похожий на C++, однако имеющий несколько весьма неожиданных
черт. Строгая типизация, как в языке Паскаль, отсутствие множественного наследования и строгое
определение интерфейса объектов, поддержка многопотоковости на уровне языка, ввод-вывод в
парадигме сокетов - вот основные особенности Java. При загрузке броузером приложения (applet -
буквально "приложеньица") на языке Java происходит его верификация интерпретатором Java, а
затем и исполнение. Такой способ исполнения позволяет избежать заражения системы
вирусом.
Базовый интерпретатор Java занимает совсем немного места - для Windows 95 он составляет всего
145 Кб - поэтому перенос всей системы для новой операционной и аппаратной платформы не
составляет труда, и это чувствуется - все новые и новые компании объявляют о своей поддержке
этого языка.