Преимущества и недостатки архитектуры клиент- сервер
Под лозунгом "Upsizing application" компания Borland выпустила серию инструментов
разработчика, которые с успехом применялись и применяются при разработке клиент-серверных
проектов. Это прежде всего 16-разрядный Delphi 1.0, доступный на рынке уже в течение года,
вышедший с 1 марта 1996 года Delphi 2.0 для Win 95/NT, Paradox 5.0, выходящий с декабря 1995 года
Paradox 7, Visual dBase 5.5, C++ 4.5 c BDE 2.5 и выходящий с конца марта C++ 5.0 с BDE 3.0 для
Windows 95/NT. При помощи этих инструментов можно разрабатывать локальные приложения для
баз данных, а затем легко мигрировать в архитектуру клиент-сервер.
Если в локальных приложениях эти инструменты напрямую работают с данными, то в архитектуре
клиент-сервер данные с сервера доступны посредством запросов к серверу, а SQL-сервер
занимается поиском и поддержанием целостности данных. По сравнению с файл-серверной
архитектурой мы имеем реальные преимущества - более низкий сетевой трафик и большая
надежность хранения данных. Кроме того, при разработке информационной системы в
архитектуре клиент-сервер немаловажное значение имеет доступность CASE-средств, облегчающих
проектирование сложной системы.
Однако, как только мы задумываемся о создании клиент-серверной системы на более чем 100-200
клиентских мест, сразу возникают дополнительные сложности. Во-первых, стоимость коннекта -
стоимость клиентской лицензии для SQL-сервера в среднем достаточно высока и при умножении
ее на соответствующее количество возникает пугающая цифра. Во-вторых, даже если отбросить в
сторону финансовые соображения, существуют и дополнительные сложности. На каждый
клиентский коннект сервер должен выделять значительное количество памяти на аппаратуре
серверной машины, в зависимости от типа SQL-сервера это количество разное, однако общая
тенденция очевидна. Вероятность того, что в действующей системе потребуется доступ к данным с
клиентских станций разных типов и моделей, достаточно высока - в большой корпоративной или
мешкорпоративной системе мы имеем зоопарк различной техники - от терминалов и 286 моделей
до серьезных UNIX-станций. В большой информационной системе, как правило, наблюдается и
разнобой физической реализации коммуникаций - от модемных соединений 2400 бод до
оптоволокна c FDDI. Как быть, и реально ли в таких условиях говорить о приемлемом клиент-
серверном решении задачи построения информационной системы?