Терминальные решения на платформе Windows в Украине

7 июль, 2004 - 23:00Юрий Жуковский
Подобные решения в то время не получили распространения по целому ряду причин. Во-первых, они были ориентированы, скорее, на администраторов систем, чем на обычных клиентов, стремящихся к комфортной работе. Во-вторых, далеко не каждая программа могла быть запущена в терминальной среде, и еще меньшая часть - корректно и стабильно в ней исполняться. В третьих, само решение не отличалось изяществом - требовалась мощная серверная часть, использовались достаточно ресурсоемкие протоколы обмена. Но, наверное, основным тормозящим фактором на пути "в массы" оказалось банальное отсутствие в нашей стране крупных отечественных структур, которым подобная функциональность была бы необходима в реальной каждодневной работе.

Тем не менее Windows NT 4.0 Terminal Server начал постепенно завоевывать украинские информационные просторы. Несмотря на закат "эпохи DOS", большинство приложений для платформы Windows несли в себе значительную часть унаследованного кода, плохо уживавшегося с Terminal Server. Один из самых ярких примеров тех лет - после завершения работы в клиентской сессии "родной" Microsoft Excel 97 не возвращал ресурсы оперативной памяти сервера, что приводило к ее серьезной "утечке" и вынуждало часто перезагружать сервер. В то же время были и продукты, которые "любили" терминальную среду. К ним можно отнести Word 97 и "1С:Предприятие 7.5". Так, последнее приложение, запущенное в терминальном режиме, позволяло достичь лучших показателей и в плане производительности, по максимальному количеству одновременно подключенных пользователей, и, самое важное, - по степени сохранности данных, стабильности работы системы в целом (напомним, что основная масса локальных вычислительных сетей в СНГ была выполнена на коаксиальном кабеле и высокой надежностью не отличалась). Применение терминального режима привносило набор уникальных возможностей, наиболее важными среди которых были:
  • работа пользователя с любого терминала организации (большинство компаний еще не могло себе позволить выделить ПК каждому сотруднику);
  • возобновление (продолжение) сеанса без потери данных с момента обрыва или существенного ухудшения связи с сервером (основная масса ЛВС в СНГ была выполнена на коаксиальном кабеле, за ее пределами чаще всего использовался "супернадежный" dial-up);
  • подключение к центральной базе и объединение пользователей удаленных филиалов всей организации.
Заканчивая "воспоминательную" часть, еще раз оговоримся, что общей особенностью решений как от Microsoft, так и от Citrix того времени, была достаточно высокая ресурсоемкость, в частности - потребность в казавшихся на тот момент большими объемах ОЗУ на сервере. Так, каждая терминальная сессия, запущенная на сервере, требовала в среднем 48 MB RAM в Windows NT 4.0 Terminal Server и 32 MB RAM в Citrix MetaFrame. А память в то время стоила недешево, да и возможности по ее наращиванию в серверах архитектуры x86 были весьма ограниченными.

Наш экскурс в историю остается актуальным и сегодня - не секрет, что в Украине до сих пор используются в "полулегальном" (с точки зрения лицензирования) режиме множество дешевых и слегка устаревших, но от этого не менее эффективных по своим возможностям терминальных решений типа "Windows NT 4.0 + Citrix MetaFrame 1.8", приводящих в трепет представителей контролирующих и надзирательных органов - нет никаких следов коммерческих данных на пользовательских ПК!

Терминальные решения, год 1998-й

Реальный пример успешного применения связки Windows NT 4.0 Terminal Server и "1С:Предприятие 7.5" в 1998 г.-- решение для торговой организации, центральный офис которой находился на правом берегу Днепра, а склады и розничный магазин - на левом. Арендовать цифровой канал связи не представлялось возможным, прямая видимость для радиосвязи отсутствовала, а использование предлагавшихся на то время услуг радиорелейной связи было экономически нецелесообразным. В итоге к серверу на основе Windows NT 4.0 Ter-minal Server подключили обычный модем, настроили RAS (служба удаленного доступа) и обеспечили полноценное рабочее место для сотрудника склада с доступом к центральной базе данных предприятия. Как нетрудно подсчитать, сумма начальных инвестиций в подобный проект была весьма скромной, стоимость владения (с учетом того, что поминутная тарификация еще не была внедрена)-- мизерна, а вот полученный эффект - более чем значителен. Выписанные в центральном офисе счета опирались на реальные складские остатки, сотрудники склада и магазина получили возможность продавать товар без телефонных звонков в центральный офис, а выписка непосредственно на складе расходных и налоговых накладных избавила клиентов и сотрудников организации от малоприятных путешествий с одного берега на другой и абсолютно непроизводительной траты рабочего времени.

Но нельзя сказать, что все было гладко. К сожалению, Terminal Client от Windows NT 4.0 не умел использовать ресурсы того ПК, на котором был запущен. Как следствие-- при выводе документов подготовка файла для распечатки выполнялась на сервере, а затем файл передавался на локальный принтер ПК с запущенной клиентской сессией через модем: Да и некоторая "заторможенность" реакции системы на действия пользователя, особенно в моменты ухудшения качества связи, делала работу удаленного клиента не совсем комфортной. К неудобствам работы в клиентской сессии в сети можно было отнести необходимость практически каждую неделю перезагружать сервер из-за "утечки памяти", невозможность прозрачного использования собст-венных дисков ПК и переноса информации через стандартный буфер обмена Windows между приложениями, работающими в Terminal Client и запущенными локально на ПК. В итоге администрирование всей "кухни" было делом хоть и не сложным, но достаточно хлопотным. А отсутствие клиентской части ПО под другие операционные систем, в частности под DOS, не позволяло эффективно задействовать парк морально устаревших ПК.

Присутствовавшее в то время на рынке решение от Citrix MetaFrame было лишено большинства из вышеназванных недостатков. В частности, имелось клиентское ПО в том числе и для DOS, терминальный клиент умел задействовать ресурсы локального ПК (как диски, так и прин-теры), протокол связи между клиентом и сервером был существенно эффективнее, администрирование более удобным, а стабильность работы - выше. В ситуации, аналогичной предыдущему примеру, при использовании Citrix MetaFrame через обычное модемное соединение (26 600 bps) довольно комфорт-но могли работать, по крайней мере, два активных пользователя. Но, как и в случае с Windows NT 4.0 Terminal Ser-ver, проблема совместимости приложений с серверной компонентой Citrix MetaFrame оставалась.


Переступив через рубеж тысячелетий...

Некой поворотной точкой в развитии терминальных решений на платформе Windows можно считать 2000 г., причем не только благодаря выходу Windows 2000 Server, в котором компонент Terminal Server стал стандартным. Несомненно, создаваемая с его помощью терминальная среда оказалась более производительной и стабильной, снизились требования к системным ресурсам, упростился процесс администрирования. Однако по-прежнему отсутствовала возможность прозрачной работы с ресурсами локального ПК, протокол связи хотя и претерпел ряд позитивных изменений, оставался достаточно ресурсоемким, а стандартный буфер обмена Windows не позволял обмениваться данными между приложениями, запущенными в терминальной сессии и на локальном ПК. Наконец, в среднем один раз в две-три недели приходилось перезагружать сервер: Но благодаря выходу Microsoft Office 2000, рассчитанному на работу в терминальном режиме, общему обновлению прикладного программного обеспечения, ориентированного на работу в среде Windows (а не DOS), улучшению ситуации с каналами связи и развитием Internet процесс внедрения терминальных решений пошел.

На первых порах наиболее интенсивно это происходило в динамично развивающихся коммерческих структурах, где уже накопился парк морально устаревшей компьютерной техники и имелись низкоскоростные локальные сети (10 Мbps) на коаксиальном кабеле или витой паре. Действительно, установка в таких компаниях одного достаточно производительного сервера позволяла отказаться от модернизации множества ПК и отодвинуть необходимость модернизации существующих ЛВС (что весьма актуально в арендуемых помещениях). А приверженцы freeware, используя ОС Linux на рабочих станциях, получили возможность существенно снизить затраты на закупку ПО и уменьшить вероятность поражения системы вирусами. При всем этом конечный пользователь продолжал работать в привычном для себя окружении Windows, причем самой последней версии, иногда даже и не догадываясь, что работает он в клиентской сессии (в терминальном режиме).

Наибольший же эффект от применения терминальных решений получили различные приложения, содержащие значительные массивы информации, для которых пропускной способности интерфейсов "много не бывает".

Что же дает сегодня терминальный режим работы пользователей при эксплуатации офисных приложений и систем автоматизации учета - например таких, как "1С:Предприятие 7"?
  1. Все данные находятся на сервере и не передаются по сети. Передается только трафик терминального клиента (который может еще и шифроваться), содержащий в сильно компрессированном виде изображение для монитора пользователя и данные от клавиатуры и мыши пользователя. Соответственно требования к пропускной способности каналов существенно снижаются, а вероятность повреждения данных на этапе передачи либо их перехвата ничтожно мала.
  2. Возможность работы удаленных пользователей в режиме on-line. Подобные характеристики позволяют удаленным пользователям подключаться через низкоскоростные и слабозащищенные каналы связи (использовать выделенные линии с различной пропускной способностью, цифровые каналы, dial-up; привлекать технологии HomePNA, Wi-Fi, Bluetooth; организовывать работу через Internet, GSM/GPRS, Data Service CDMA).
  3. Существенно возрастает производительность некоторых приложений (например, того же "1С:Предприятие 7.7"). Скорость работы большинства баз данных непосредственно с дисковой подсистемы сервера и кэшированными в ОЗУ данными несравнима с многопользовательским доступом через сетевые интерфейсы. Как следствие, количество активных пользователей может быть увеличено в 1,5-2 раза (вспомним проблему с длительным "захватом" таблицы одним пользователем). Кроме того, именно терминальный режим позволяет применять "1С:Предприятие  7.7" для средних и (при грамотном подходе) даже крупных предприятий.
  4. Сокращаются затраты на администрирование и конфигурирование ИС. Действительно, намного проще и быстрее создать на сервере несколько типовых профилей пользователей с учетом необходимых приложений согласно функциональным обязанностям (например, MS Office, e-mail, Web, "1С" и т. д.) и затем централизованно поддерживать их, чем полноценно администрировать такое же количество клиентских ПК. Это же решает проблему различных версий ПО у пользователей, централизованного хранения документов компании, обеспечения контроля доступа к ним и организации резервного копирования. К несомненному плюсу терминального решения надо отнести и возможность администратора интерактивно войти в пользовательскую сессию и без выезда на место помочь разрешить возникшие проблемы. Важность именно последнего момента в полной мере ощущают холдинги с центральным офисом и большим количеством филиалов, разбросанных по всей стране. Ведь небольшой (3-5 человек) IT-отдел центрального офиса способен обслужить десятки, а иногда и сотни пользователей, территориально находящихся практически в любом месте, где есть хотя бы телефон (проводной или мобильный)!
  5. Доступ к ИС предприятия с использованием различных аппаратных средств и программных сред. К ним относятся доступ из других операционных систем, работа на PDA, специализированных терминалах.--менение последних может снизить уровень начальных инвестиций, повышает надежность работы точек доступа и сокращает затраты на администрирование и сопровождение. А использование PDA в комплекте с беспроводными интерфейсами позволяет в любой момент получить доступ к актуальной информации в "полевых условиях" без ношения громоздких (по сравнению с PDA) ноутбуков.
  6. Возможность эффективно использовать морально устаревшее оборудование. Для организаций "со стажем", особенно крупных, это приводит к существенному снижению затрат на модернизацию ПК, ЛВС и низкоскоростных внешних каналов. Особенно актуален этот вопрос для "бюджетников".

Современная практика


Давайте посмотрим, где и каким образом могут быть реализованы выше-описанные преимущества.


Пример 1. Офис предприятия с количеством пользователей 5-100

Терминальные решения на платформе Windows в Украине
Рис. 1
Как правило, характерным для таких офисов является наличие парка ПК разной производительности и с различными ОС, офисными пакетами (чего стоит только их "разношерстность"!) и иным прикладным ПО. Кроме того, в большинстве случаев пользователи устанавливают на свои ПК дополнительные программы, не входящие в их функциональные обязанности, зато вполне способные привести систему в неработоспособное состояние или уничтожить коммерческую информацию. Обеспечить необходимый уровень контроля прав пользователей на ОС класса Windows 95/98/Мe - задача нетривиальная и не всегда выполнимая. А поддержание однотипными парка ПК, системного (в частности, при легальном переходе на более гибкую Windows XP) и прикладного ПО требует немалых финансовых затрат и далеко не всем под силу. Затруднительным является регулярное резервное копирование пользовательских данных. В случае выхода ПК из строя зачастую происходит частичная или полная потеря документов пользователя, а время вынужденного простоя высококлассного специалиста становится неоправданно длительным (миграция на новый ПК занимает в среднем 1-2 ч работы администратора с применением специализированного ПО удаленного администрирования, либо 2-4 ч без такового, не учитывая время на хождение по этажам). Ак-туальна и проблема заражения вирусами в результате "свободного серфинга" в Internet.

В итоге к набору наиболее ресурсоемких задач для IT-подразделения можно отнести: администрирование рабочих станций пользователей, их поддержку, создание резервных копий документов и БД, надзор за использованием конфиденциальной информации, контроль версий ПО и антивирусную защиту. Организация работы пользователей в режиме терминального подключения позволяет решать часть из них на качественно ином уровне (рис. 1).

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

Становится возможным осуществлять поддержку путем подключения администратора к сессии пользователя на сервере (естественно, при условии, что последний ему это позволит, так что конфиденциальность не страдает), не тратя время на перемещение по офису. Причем администратор вовсе не обязан сидеть за консолью сервера, а может зайти по стандартной "клиентской" схеме. Администрирование пользовательской рабочей среды производится путем конфигурирования клиентской учетной записи на сервере и фактически сводится к поддержанию прин-ципиальной способности терминального ПК загрузить ОС и запустить Remote Desktop Connection (RDC). В большинстве случаев процесс миграции сотрудников при замене ПК сводится к распаковке, установке, настройке сетевых интерфейсов и инсталляции приложения RDC (не требуя никакого специализированного ПО) и занимает не более получаса. В случае же выхода из строя ПК достаточно пересесть за любой другой ПК в сети организации и подключиться к серверу. Потеря информации в этом случае практически исключена.

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

В некоторых ситуациях использование терминального доступа к приложениям позволяет сэкономить на лицензионных отчислениях, закупая вместо полноценных комплектов ПО лицензии на количество одновременных подключений. Особенно это эффективно в случае наличия большой группы пользователей, которым доступ к определенным приложениям необходим лишь время от времени (секретарю в строительной организации изредка может понадобиться возможность распечатать файл формата AutoCAD, менеджеру по рекламе - проект в Photoshop или Corel), или они работают посменно.


Пример 2. Центральный офис холдинга и удаленные подразделения

В данном случае рассматривается уже не одно здание или группа помещений, находящихся на расстоянии 50-100 м друг от друга, а предприятие с частично или полностью независимыми подразделениями в других городах. И, соответственно, все проблемы, описанные в Примере 1, "перемножаются" на расстояние между городами и приводят к необходимости содержать штат высококвалифицированных сотрудников "на местах" либо "командировочных специалистов", что обойдется еще дороже. И не факт, что именно в центральном офисе будут постоянно требоваться лучшие специалисты, ведь размеры информационных систем филиалов могут быть намного больше и сложнее в администрировании, чем у центрального офиса.

Так что с точки зрения холдинга во главу угла ставятся надежность функционирования всей информационной инфраструктуры, защита конфиденциальной информации, рациональное использование высококлассных (и, соответственно, дорогих) специалистов, максимально эффективное применение аппаратного обеспечения и лицензий на ПО.

Терминальные решения на платформе Windows в Украине
Рис. 2
Вопросы надежности функционирования в контексте терминальных решений имеет смысл рассматривать вместе с вопросами конфиденциальности. Для крупных структур типичным является размещение всей критически важной и конфиденциальной информации в физически контролируемом владельцами холдинга помещении и с назначением ответственного за сохранность и достоверность данных лица из числа топ-менеджеров или совладельцев. И в подобном случае придумать что-то лучшее, чем терминальный доступ к приложению на центральном сервере через каналы VPN с применением шифрования, вообще трудно. Причем если для отечественных холдингов это, скорее, возможность защититься от различных непредвиденных ситуаций в офисах территориальных подразделений (перепродажа БД конкурентам, кража оборудования), то для западных компаний-- это норма. Крупной транснациональной корпорации достаточно иметь два-три вычислительных центра и выделенные цифровые каналы, чтобы поддерживать свои торговые представительства и производственные мощности практически в каждой стране на планете! Классическим примером программной поддержки "глобального" подхода являются продукты фирмы SAP (рис. 2). Вполне естественно, что есть здесь экономия и на серверах, и на лицензиях на одновременный доступ (Земля-то вертится, а люди работают преимущественно днем), и эффективное использование трудовых ресурсов (армия AnyKey'щиков стоит не очень дорого, плюс дифференциация оплаты по странам). Есть и надежный контроль за сохранностью и возможными путями утечки информации.

Но и на просторах СНГ, с гораздо менее глобальными задачами, применение терминальных решений может быть весьма эффективным. Представим себе некую консультационную фирму, офисы которой находятся в разных концах города или же в разных городах. В пределах одного населенного пункта они могут быть связаны между собой посредством выделенных цифровых каналов (или аналоговых выделенных линий), а между городами - через Internet, в том числе с применением VPN. А теперь вспомним, что лицензии на некоторые пакеты, например ту же базу правовой информации "Лига" или ПО "1С:Предприятие", можно приобрести не в виде отдельных пакетов в каждый офис, а в "сетевом" варианте, т. е. для всех пользователей, работающих в общем сетевом пространстве (в данном случае доступность ПО определяется наличием в сети аппаратного ключа защиты). Да и при условии наличия хотя бы одного квалифицированного пользователя в каждом офисе, повторимся, администрировать подобную ИС могут один-два системных администратора.


Пример 3. Завод

Терминальные решения на платформе Windows в Украине
Рис. 3
В данном случае мы сталкиваемся совершенно с другим комплексом проблем. Для большинства заводов характерны наличие одной или нескольких "точек концентрации" пользователей заводской ИС и некоторое количество "точек входа" с одним-двумя пользователями и с большим территориальным разбросом (рис. 3). Объемы данных, курсирующих по сети, довольно существенны - чего только стоят маршрутные карты изделий с чертежами! Между "точками концентрации" на расстоянии в несколько километров вполне успешно работают Wi-Fi и xDSL (хотя и здесь есть свои тонкости). Проблемным же является подключение именно одиночных удаленных клиентов. Хорошо, если имеется возможность подсоединить их по технологии Wi-Fi, пропускной способности которой достаточно для приложений, и рядом нет аэропортов и военных объектов. А если необходимо установить рабочее место кладовщика, мастера или специалиста ОТК в не-отапливаемом цеху металлообрабатывающего предприятия на расстоянии 300-1000 м от ближайшей точки коммутации трафика в ЛВС? Уровень помех, генерируемых мощным промышленным оборудованием, для любого сетевого интерфейса (за исключением оптического) будет довольно высок, соответственно-- большой процент потерь пакетов и низкие скорости передачи данных. Wi-Fi при работе мощных станков ненадежна, Ethernet на таких расстояниях с учетом сырости и низких температур зимой-- бесперспективен, xDSL также боится помех, а оптика - довольно дорогая. Выручает же совсем не промышленная HomePNA, способная по обычным телефонным проводам передавать данные со скоростью до 16 MBps при расстоянии в 1 км (скорость снижается пропорционально длине линии). Автор был свидетелем передачи информации по единственному уцелевшему проводу со скоростью 100 bps на расстояние более 400 м! И это при стоимости порядка $35 за сетевую карту PCI или $170 за мост HomePNA-Ethernet.

Но не станем слишком углубляться в проблему. Независимо от применяемой технологии связи (Wi-Fi, xDSL, HomePNA) имеет смысл использовать именно терминальный вариант работы удаленных "точек доступа". Это разумно и по соображениям экономии пропускной способности протяженных сетевых интерфейсов, и с точки зрения сохранности данных - все они находятся и обрабатываются на сервере, а для работы одного пользователя достаточно канала в пару десятков килобит. В итоге нет необходимости передавать довольно объемные пакеты информации по медленным интерфейсам (блокируя на время передачи доступ к ним других пользователей) и подвергать информацию риску повреждения.


Пример 4. Продажа запасных частей к автомобилям и сельскохозяйственной технике

Терминальные решения на платформе Windows в Украине
Рис. 4
Возьмем трейдера с сетью магазинов по продаже запчастей к автомобилям и сельскохозяйственной технике отечественного и зарубежного производства со станциями технического обслуживания, действующего в масштабах всей страны. С какими проблемами он столкнется? Во-первых, необходимость поддерживать огромную базу данных со списком техники, с описанием используемых в ней деталей, их аналогов и возможностью замены. А, как правило, с "фирменными" БД может работать только специализированное ПО. Данные должны включать актуальную информацию о наличии товара на складах, сроках поставки и стоимости. Во-вторых, практически в каждом районном центре потребуется представительство, позволяющее в любой момент подобрать нужную запасную часть (или аналог) и сообщить клиенту цену и срок поставки. В-третьих, квалификация большинства торговых агентов как пользователей ПК не очень высока, а содержать штат выездных системных администраторов нерентабельно. В-четвертых, "размножить" свою базу данных и выдать ее каждому агенту не всегда представляется возможным - и в связи с лицензионными соглашениями на право использования этих БД, и в связи с достаточно малым сроком жизни такой реплики. В-пятых, в половине случаев относительно скоростные каналы (например, спутниковые), необходимые для работы SQL, окажутся либо неоправданно дорогими, либо (цифровые телефонные линии, скоростной Internet, GPRS) недоступными в силу специфики нашей глубинки.

Это как раз та ситуация, когда Ter--minal Server и аппаратные реализации терминального клиента являются фактически единственно возможным решением. Аппаратные терминалы с ПО Citrix способны только дозвониться по телефону и подключиться к серверу, зато вывести их из строя можно, разве что повредив физически, а обслуживание сводится к уборке пыли. Для приемлемой работы одного пользователя достаточно полосы пропускания 9-14 Kbps - вполне "подъемной" для аналоговых телефонных линий, GSM или CDMA (рис. 4).

Установив в представительствах аппаратные терминалы и обучив сотрудников пользоваться фирменной БД, можно получить торговую сеть в сотни, а то и тысячи пользователей, имеющих доступ к постоянно актуальной информации в режиме реального времени. А заключив с Internet-провайдерами договор о QoS - дополнительно сэкономить на междугородных переговорах, сократить модемный пул в центральном офисе и существенно увеличить количество одновременно обрабатываемых заказов.


Пример 5. Оптовый склад

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

Как результат - данные в БД предприятия он вносит вечером, уже после закрытия склада. При этом отдел сбыта работает практически вслепую, без оперативной информации о состоянии склада. Еще хуже бухгалтерии - она вынуждена работать в "режиме отрицательных остатков", так как остановить выдачу товара невозможно, а данные о приходе на склад поступят только в конце дня. Соответственно, корректный партионный учет обеспечивается беспрерывными перепроведениями документов по вечерам и "подвигов" в отчетный период. Представляете, как забавно выглядит отпуск со склада, на котором числится "минус 300" единиц товара? Проблема еще больше усугубляется при работе со скоропортящимися продуктами. В такой ситуации крупные компании часто вынуждены применять специализированные аппаратно-программные решения и в помощь кладовщику привлекать дополнительно операторов ПК.

Terminal Server здесь предлагает эффективное решение за вполне приемлемые деньги. При небольшой модификации используемого на предприятии ПО (для удобства работы на маленьком экране) можно установить точку доступа Wi-Fi ($90-650) и подключить к ней по крайней мере четыре КПК с интерфейсом Wi-Fi ($290-450) или Table PC с Wi-Fi ($950-2400). В итоге сумма инвестиций вполне сравнима с затратами на установку четырех ПК и подведение к ним ЛВС, а эффективность: Кладовщик имеет возможность постоянно находиться на рампе и контролировать все происходящее, причем можно одновременно отслеживать несколько разгрузок-погрузок. При частичном проведении приходной накладной появляется возможность "без минусов" оформлять расходные накладные с реальным отслеживанием партий товара. Отдел сбыта всегда имеет оперативную информацию об остатках, отдел логистики - точные данные о времени разгрузки-погрузки, отправке и прибытии транспортных средств. Намного упрощается и жизнь бухгалтерии, и, что особенно приятно, снижается вероятность недоразумений с фискальными органами.


Пример 6. Ресторан

Всем известно, как неприятно в час пик вначале ждать, пока подойдет официант, затем - пока принесет заказ: Хотя вроде бы никто и не гуляет, все стараются. В некоторых ситуациях долгое обслуживание может быть вызвано чисто техническими причинами. Проследим за процессом. Официант подходит к клиенту и записывает заказ. Затем идет к электронному терминалу (перед которым в моменты наплыва клиентов выстраивается очередь из официантов) и вносит информацию в систему (т. е., по сути, делает двойную работу). Затем заказ поступает на исполнение в бар и на кухню, после чего официант вынужден постоянно подходить и интересоваться, готов ли он. Проблему можно частично решить путем установки дополнительных терминалов (а они недешевы - только чувствительный к нажатию экран стоит около $1000), но и это не отменяет бесконечных походов между кухней и баром.

Давно известная и активно применяемая на Западе технология - выдача официантам специализированных КПК и использование беспроводных коммуникаций. И если сеть Wi-Fi в Украине можно развернуть без особых проблем и за разумные деньги, то специализированные КПК довольно дороги (около $700) и продаются со своим ПО, которое зачастую стоит не меньше. А такой уровень затрат для большинства отечественных предприятий общественного питания явно чрезмерен.

Как ни странно, и здесь Terminal Server окажется весьма эффективным. Опять-таки, несколько доработав уже имеющееся ПО (оптимизация под экран КПК), можно установить одну-две точки доступа Wi-Fi ($90-650) и раздать официантам КПК с поддержкой Wi-Fi ($300-550). Так что каждый из них получает персональный терминал ввода (избавились от очереди перед общим терминалом), данные заносит непосредственно в систему (вводятся один раз и чуть-чуть раньше, что тоже экономит время), и отпадает необходимость бегать между кухней и баром (информация о готовности заказа поступает прямо к адресату без промедления). В итоге появляется возможность перевести обслуживание клиентов на качественно иной уровень со вполне разумными затратами, если не экономить. Но тут уж все зависит от политики лицензирования применяемого ПО. Кстати, имея в заведении беспроводную сеть, можно еще и "продавать" посетителям доступ в Internet.


Пример 7. Торговый агент

Представим себе работу "полевого" торгового агента. Утром он заходит в офис, берет список должников, определяет в CRM-системе, кто давно не закупал продукцию, получает информацию по остаткам на складе и отправляется на свой участок. Придя к клиенту, он проверяет ассортимент (мерчандайзинг), идет беседовать в бухгалтерию (если есть задолженность), далее согласует с товароведом ассортимент очередной закупки и звонит в офис с просьбой оформить заказ или отправить счет по факсу. Вечером все данные заносятся в ИС предприятия.

Как и в предыдущем примере, крупные корпорации разработали (или разрабатывают) различные Web-ориентированные интерфейсы к своим ИС и снабжают сотрудников КПК c GSM/GPRS-модулями. Тем самым они добиваются сокращения времени, теряемого агентами на получении/внесение информации в ИС предприятия, а также обеспечивают всегда актуальной информацией и торговых агентов, и отдел логистики.

А что же делать небольшой фирме, торгующей канцелярскими товарами в розницу и обслуживающей офисы с доставкой? Номенклатура составляет тысячи единиц товара, складские запасы изменяются несколько раз в час, а заказы поступают чаще всего непосредственно при доставке предыдущего заказа и классифицируются клиентом как срочные. Вот и получается, что продавец постоянно "висит на телефоне", уточняет наличие товара, меняет маршрут. А ведь применение терминального подключения КПК c GSM/GPRS или с Bluetooth через мобильный телефон к серверу компании и работа с актуальной информацией не только повышают качество обслуживания клиентов, но и позволяют избежать досадных недоразумений "не то услышал - не то сказал", согласовав заказ с клиентом и непосредственно оформив счет. И количество работников офиса, которым надо не только платить зарплату, но и обеспечить рабочее место, резко сокращается. При этом нет необходимости строить Web-портал, создавать IT-отдел-- с большинством приложений (например, та же "1С") можно хоть и не особенно комфортно, но все же работать без внесения каких-либо изменений в ПО и без оптимизации под КПК.


Пример 8. Системный администратор

Не секрет, что во многих крупных компаниях проблемы в работе почтовой системы, да и всей сети в целом, являются "красной тревогой" для системных администраторов и требуют от них в любое время и в любом месте незамедлительно приступить к восстановлению нормального функционирования системы. Традиционно этот вопрос решается либо организацией круглосуточного дежурства, либо выдачей системному администратору ноутбука и средств связи. И тот, и другой вариант недешев, и далеко не каждая организация может себе это позволить. Умеющие считать свои деньги компании еще года полтора назад начали снабжать системных администраторов набором из КПК и мобильного телефона с Bluetooth и организовали шлюзы для входа в систему через каналы мобильных операторов. При соответствующем конфигурировании серверов сразу, как только возникает проблема в сети, сервер безопасности отправляет SMS-сообщение администратору либо звонит и сообщает о проблемах по голосовой связи. Ад-ми-нистратор, используя КПК и мобильную связь практически откуда угодно и незамедлительно, имеет возможность входа в систему в режиме терминального клиента и приступает к устранению неисправности (даже находясь в этот момент в маршрутном такси). Стоимость такого решения заметно меньше и стоимости ноутбука, и организации круглосуточного дежурства, а эффективность в большинстве случаев достаточна. Да и носить с собой компактный и легкий КПК намного удобнее. Таким образом, относительно небольшие компании с приемлемым уровнем затрат могут снизить время простоев своих ИС, а большие-- имеют возможность сэкономить без ущерба стабильности работы.

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

В то же время довольно часто терминальный режим доступа к приложению применяется только для группы привилегированных пользователей, чьи функции требуют минимально возможного времени отклика системы. При этом проявляется одна неприятная особенность. В ситуации, когда сервер с данными одновременно является и сервером, на котором запускаются клиентские терминальные сессии (или имеет более скоростной канал к серверу с данными), "терминальные" пользователи получают существенное преимущество перед "сетевыми". Причем время отклика приложения при доступе к данным может отличаться в разы! И чем больше нагружен сервер, тем дольше придется ждать своей очереди "сетевым" клиентам. В некоторых случаях это приводит к отключению приложений от источников информации, и хорошо, если само приложение способно безболезненно перенести подобные экстренные отключения без повреждения данных (речи о выполненной, но не сохраненной работе пользователя никто даже не ведет)! Так что при высокой конкуренции на доступ к одной и той же информации имеет смысл всем пользователям применять терминальное подключение. К тому же почти наверняка количество сотрудников, получивших одновременно доступ к данным, будет в 1,5-2 раза больше.

Еще одна особенность, которую необходимо учитывать при эксплуатации на одном и том же физическом сервере Terminal Server и других серверных приложений, - их "уживчивость" друг с другом. Во-первых, желательно, чтобы на уровне требований к аппаратным средствам они были критичны к быстродействию различных компонентов сервера. Примером функциональной сочетаемости может служить одновременное использование одного сервера в качестве Terminal Server и File Server, так как первый требователен к ресурсам процессора и памяти, а второй - к дисковой подсистеме и сетевым интерфейсам. Примером не слишком удачного соседства для терминального сервера является SQL Ser-ver, так как в этом случае возникает серьезная конкуренция за доступ к CPU и RAM. Во-вторых, на примере того же соседства можно наблюдать программную неуживчивость. Про-яв-ляется она в "привычке" Mi-cro-soft SQL Server при большой нагрузке захватывать 100% ресурсов CPU. Конечно, его мож-но сконфигурировать таким образом, чтобы он задействовал не все ресурсы сервера, но на практике это оказывается невозможно в однопроцессорных решениях и не всегда оправданно в двухпроцессорных. И в-третьих, при интенсивном взаимном обмене информацией между Terminal Server и другим серверным приложением в зависимости от характера и степени нагрузок работа на одном и том же физическом сервере может приводить как к повышению общей производительности, так и к ее существенному снижению. Если взять для примера то же соседство Terminal Server и MS SQL Server, то при малых и средних нагрузках и интенсивном взаимообмене общая производительность возрастает, а при больших нагрузках лучше запускать их на физически различных серверах. Ну и в-четвертых, окажется разумным оптимизировать аппаратную часть сервера терминалов под ту задачу, которая будет исполняться на сервере в терминальном режиме.

По целому ряду технологических причин одним из лучших примеров "нерушимой дружбы" с сервером терминалов стал пакет "1С:Предпри--ятие 7.7". Работая в файловом режиме, каждый пользователь этого ПО открывает порядка 200 файлов форматов *.dbf и *.cdx (а в некоторых конфигурациях-- до 600). При среднем размере базы данных порядка 300 МВ и 5-10 активных пользователях (типичные характеристики небольшой фирмы) даже 100-мегабитные сети оказываются перегруженными. Кроме того, особенностью "1С:Предприятие 7.7" в файловом режиме является совместный доступ к файлам БД с разделением по времени. При таких условиях довольно частыми являются сбои в работе системы в результате захвата каким-либо пользователем таблицы данных на квант времени больший, чем тайм-аут для других пользователей, а отработать быстрее клиент "1С" не может, так как передача нескольких объемных файлов по ЛВС требует времени.

Поставщики ПО "1С" в данной ситуации рекомендуют переходить на SQL-версии "1С:Предприятие 7.7" совместно с MS SQL Server, что требует совершенно иных затрат и решает проблему только частично - при количестве пользователей около 20 и объеме БД 1 GВ начинает сказываться недостаточная пропускная способность даже 100 Мbps ЛВС. В данной ситуации проявляется особенность реализации SQL-режима работы-- в большинстве случаев (зависит от конкретной конфигурации) SQL Server выступает в роли "умного" файл-сервера, и довольно большие блоки данных передаются на клиентские ПК, а на самом SQL Server выполняется только код, написанный с использованием языка запросов. (Нужно отметить, что в "1С:Предприятие 8.0" данный вопрос решен кардинально - применяется модель с выделенным сервером приложения, функционирующим отдельно от сервера БД.) И хотя в SQL-версии отключения пользователей по тайм-ауту происходят заметно реже и не приводят к повреждению индексных файлов и файлов данных, но на определенном этапе (большая БД или много пользователей) работать становится достаточно некомфортно. Кроме того, следует учитывать очень сильную неравномерность ("пиковость") уровня нагрузки, создаваемой пользователями при работе в "1С:Предприятие 7.7". Так что в реальной жизни для организаций, которым необходимо подключать к одной БД более 30-35 активных пользователей "1С:Пред-приятие 7.7", терминальный доступ - практически единственно возможное решение.

В качестве довольно яркого примера можно рассмотреть применение "1С:Предприятие 7" в супермаркете, на кассах. При использовании стандартной конфигурации поставки (компонент "Оперативный учет") большинство тех, кто пытался внедрить такое решение, столкнулись с проблемой, что даже в SQL-режиме на двухпроцессорных серверах и ЛВС на Fast Ethernet при количестве касс 8-12 все начинает работать немного заторможенно. Традиционным, "прямым", решением являются установка более мощного сервера и переход на быстрые сетевые интерфейсы: Это частично решает вопрос, но необходимость подключения еще 4-6 касс приводит к повторению той же ситуации.

КПК, Wi-Fi, Bluetooth, IrDA, VPN и RAS

В последнее время стало весьма популярно применять КПК с различными беспроводными интерфейсами для удаленного администрирования корпоративных ИС, работы торговых агентов, официантов и сотрудников складов. Маленькое исследование, проведенное совместно со специалистами компании "МУК", адресовано тем, кто только планирует внедрение у себя на предприятии КПК с беспроводными интерфейсами. В качестве тестового использовались КПК Fujitsu Siemens Pocket LOOX 610BT с CF-картой D-Link DCF-660W и беспроводная точка доступа D-Link DWL-2000AP+.

Первое, что следует учитывать, - малое время функционирования КПК от стандартного аккумулятора при интенсивной работе с любым радиоинтерфейсом. Для Wi-Fi оно составляет в среднем около 1,5 часа, для Bluetooth - около 2 часов. При необходимости более длительного использования нужно сразу побеспокоиться о закупке для него более емких батарей. Если вы намерены активно работать 6-8 ч, то приготовьтесь к тому, что аккумуляторная батарея вашего КПК будет превосходить его по размерам в среднем в 1,5 раза, а по массе - по крайней мере в два раза. Также следует принять во внимание температурные условия эксплуатации КПК. При 0 °С и ниже литийполимерные аккумуляторные батареи очень быстро теряют заряд, поэтому возникает необходимость подбирать устройства с ионолитиевыми аккумуляторами.

Второй момент, который надо учитывать в первую очередь администраторам, нуждающимся в терминальном доступе к консоли сервера на базе ОС Windows с применением КПК с ОС семейства WinCE, - невозможность одновременной поддержки на КПК VPN и RAS. Так что в случае доступа в корпоративную ИС через Internet с использованием RAS необходимо заранее позаботиться о дополнительных средствах защиты от вторжения.

Третий касается подключения различного "навесного" оборудования на КПК с предустановленной WinCE. Эта ОС не позволяет стандартными средствами организовать общий доступ к своим ресурсам - дискам, принтерам, устройствам ввода. Так что приложение, использующее периферию, должно исполняться непосредственно на КПК.

И в-четвертых, не стоит забывать, что на экране стандартного карманного компьютера размещается не так уж и много информации. Также не следует питать иллюзии по поводу удобства подготовки и проверки на КПК громоздких документов типа товарно-транспортных накладных. В данном случае намного целесообразнее будет применение дешевых планшетных компьютеров. Кроме того, все приложения, к которым необходим удаленный доступ с КПК, лучше всего исполнять в виде Web-порталов, так как при работе в этом режиме есть возможности задействовать всю видимую область экрана КПК стандартными средствами.

Напомним о существовании еще одной беспроводной технологии - передаче данных через инфракрасный порт. В условиях помещения (ресторан, склад) дальность связи может достигать 25-30 м, а при ярком солнечном свете-- 10-15 м. Соответствующее оборудование стоит заметно дешевле Wi-Fi, да ресурс батарей используется намного эффективнее. Даже при интенсивной эксплуатации при связи через инфракрасный порт стандартных аккумуляторов хватит в среднем на 3-5 ч работы. Главное ограничение ИК-интерфейса - низкая пропускная способность. Но для того чтобы отправить принятый у клиента заказ, ее вполне достаточно.


Microsoft Windows и Citrix MetaFrame

Какие же пакеты для реализации терминального доступа к приложениям для платформы Windows на данный момент реально присутствуют на рынке? Во-первых, это несколько устаревшая, но продолжающая служить верой и правдой Windows 2000 Server и недавно вышедшие Windows Server 2003 и Citrix MetaFrame XP. Наиболее важные отличия между ними сведены в табл. 1.

Из нее хорошо видно, какой большой шаг сделала Windows Server 2003 относительно Windows 2000 Server, в то же время прослеживается явное технологическое лидерство решения от Citrix. Важными эволюционными усовершенствованиями в Windows Server 2003 являются возможность "прозрачного" доступа к дискам, принтерам и портам клиентской машины, а также более высокие разрешения и количество цветов, поддерживаемых в терминальной сессии. Ведь для доступа к диску или принтеру клиентской станции в Windows 2000 Server необходимо было вначале сделать их доступными по сети для сервера, подключить к серверу как сетевой ресурс и только после этого работать с ресурсами из клиентской сессии. А отсутствие возможности общего доступа к порту исключало применение некоторого оборудования (например, считывателей штрихкодов), подключаемого к COM-порту. Повышение же разрешения и количества цветов позволяет нормально пользоваться ресурсами Internet и применять непрофессионально графические пакеты (например, для просмотра макетов) или AutoCAD.

Таблица 1. Сравнение различных терминальных решений
ПО Windows 2000 Server Windows Server 2003 Citrix MetaFrame XP
Стоимость серверной лицензии, $* 720–770 720–770 Бесплатно
Стоимость клиентской лицензии, $* Бесплатно (клиент W2k Prof. или XP Prof.) 87 5800 на 20 клиентов
Требования 1 клиентской сессии к RAM на сервере 32–64 24–48 16–32
Разрешение экрана 640x480 – 1024x768, ограничено сервером 640x480 – разрешение экрана клиента 640x480 – разрешение экрана клиента
Количество поддерживаемых цветов 256 True color (24 bit) True color (24 bit)
Использование ресурсов клиента Минимально Выборочно Обширно, допускает тонкую настройку
Доступ к ресурсам клиента из терминальной сессии Нет (возможно через ЛВС) Общий доступ к дискам, портам, принтерам Общий доступ к дискам, портам, принтерам
Возможность выполнения сервисов клиентом Нет Частично Есть
Ресурсоемкость используемых протоколов Высокая Средняя Ниже средней
Удобство администрирования Среднее Среднее Выше среднего
Стабильность Средняя Высокая Высокая

В то же время нельзя не отметить существенных преимуществ Citrix перед решением от Microsoft. В серверной части среди них можно выделить следующие. Применяемый протокол связи Citrix ISA является более компактным и поэтому позволяет работать на каналах с меньшей пропускной способностью либо при той же ширине канала подключить в полтора-два раза больше пользователей. Этот момент может оказаться принципиальным для организаций, вынужденных использовать "слабые" каналы связи, и позволяет сэкономить всем остальным. Citrix Load Balancing (CLB) - механизм балансировки нагрузки между серверами - критичен для предприятий с большим количеством терминальных клиентов. Ведь наращивать мощность сервера до бесконечности невозможно, а реальный предел нагрузки для 2-4-процессорных серверов архитектуры х86 составляет 60-120 активных сессий. Даже при далеком от максимального числе пользователей весьма разумным выглядит переход к применению кластерных технологий. По сравнению с сервером надежность кластера существенно выше, а цена может оказаться ниже. И вот тут CLB предстает во всей красе. В отличие от аналогичной технологии от Microsoft CLB не ограничен восемью узлами в кластере, да и механизм распределения нагрузки у Citrix эффективнее. Будучи совершенно незаметным для пользователей, CLB оптимален для построения высокомасштабируемых (более 400 активных пользователей) отказоустойчивых кластерных решений. Вопрос же появления новых 50-80 клиентов решается добавлением еще одного узла в стойку. Кроме того, серверная составляющая Citrix менее ресурсоемка и удобнее в администрировании.

Определенные преимущества имеются и в клиентской части. Она также менее ресурсоемка и удобнее в администрировании, использует более компактный протокол. Благодаря различным элементам тонкой настройки есть возможность максимально задействовать ресурсы самого клиента, тем самым снизив загрузку сервера. На клиентской станции может быть запущена и часть сервисов. Из наиболее востребованных функций стоит отметить печать прямо на подключенный к клиентской системе принтер (в то время как Windows Server вынужден передавать готовый образ в формате PCL или PS), что заметно снижает нагрузку на каналы связи и ускоряет работу. А для удаленного клиента (к примеру, КПК), подключенного к корпоративной системе через GSM/GPRS-интерфейс, это очень важно.

В качестве примера можно привести таблицу, описывающую возможности работы различных решений с низкоскоростными интерфейсами (табл. 2).

Таблица 2. Удобство работы в различных терминальных средах в зависимости от пропускной способности канала связи
Сетевой интерфейс/ПО Windows 2000 Server Windows Server 2003 Citrix MetaFrame XP
Dial-up (26 600) 1 клиент, работа 2 клиента, работа 2 клиента, работа
GSM, CDMA, GPRS Администрирование Некомфортная работа Некомфортная работа
Цифровой канал 32 К Работа 2–3 клиентов (предельно до 5–6) Работа 5–6 клиентов (предельно до 10–12) Работа 7–8 клиентов (предельно до 16)
Internet, различные провайдеры, на канал 32К + почта + Web Администрирование Работа 1–2 клиентов Работа 2–4 клиентов

Одним же из самых важных различий между терминальными решениями на базе Windows 2000 Server и Windows Server 2003 является несравнимо возросшая стабильность работы сервера. У Windows Server 2003 не было замечено утечек памяти в терминальные сессии и после терминальных сессий, что позволяет отказаться от ежемесячных перезагрузок сервера (или использования специализированного ПО). Не менее впечатляет и рост стабильности терминального клиента от Windows Server 2003 - при его применении совместно с Windows 2000 Server существенно снижаются утечки памяти на сервере и увеличивается устойчивость работы сервера вообще. Это действительно большой прогресс, отдадим должное Microsoft.

Палочка-выручалочка для супермаркета

Давайте попробуем проанализировать причину подобной "нелюбви" "1С" к задачам кассового обслуживания в супермаркетах. Если взглянуть на операцию заполнения розничной накладной на кассе в момент продажи "изнутри" системы, то хорошо заметны две очень ресурсоемкие операции:
  • выбор товара из справочника при наборе розничной накладной (печати чека);
  • выбор партии товара при проведении розничной накладной в системе.
В справочнике товаров "1С" хранит не только название, но и массу других реквизитов товара. Любой желающий может из Notepad открыть в своей базе файл 1Cv7.DD и точно узнать обо всех полях, задействованных в справочнике, в том числе их типе и длине. Исключительно для примера приведем данные одной из конфигураций "Торговля+Склад для Украины" (табл. 1).

Нетрудно заметить, что с точки зрения распечатки чека справочник содержит немало избыточной информации. Ситуацию усугубляет еще и то, что часть полей ("БазоваяЕдиница", "ВалютаУчета" и т. д.) являются ссылками на различные объекты, и обращение к имеющимся в них данным требует открытия других таблиц БД. Естественно, подобный подход не является оптимальным в плане производительности - для печати чека и регистрации факта продажи необходимо передать-принять слишком много информации. Если вспомнить о тысяче наименований товаров, которыми оперирует БД супермаркета, становится понятным столь малый успех стандартных конфигураций "1С" в этой сфере. Действительно, требования к ЛВС и подсистеме ввода/вывода сервера при росте количества одновременно работающих касс и увеличении номенклатуры товара существенно повышаются.

Вторым фактором перегрузки системы, свойственным стандартной конфигурации "Торговля+Склад для Украины", является подбор партий товаров непосредственно в момент проведения документа "Розничная накладная" и печати чека. Рабочая станция кассира при операции должна найти в списке конкретную партию товара (либо выбрать по FIFO) и выполнить регистрацию продажи определенного количества единиц товара из этой партии. При проведении не исключены ситуации, когда практически одновременно на разных кассах продается один и тот же тип товара, что иногда приводит к некорректному списанию партии товара (получаются партии с минусовыми остатками).

Как показывает практика, для работы 8-10 касс в супермаркете на стандартной конфигурации "Торговля+Склад для Украины", "1С:Предприятие 7.7" SQL 4-процессорного сервера на Xeon 2,8 GHz и 100-мегабитной ЛВС к кассам в часы пик "слегка маловато". Так что увидеть "вживую" такую систему довольно сложно.

Разумеется, несколько доработав конфигурацию, можно снизить требования к ресурсам в 1,5-2 раза, но проблема одновременного доступа по сети к справочнику товаров остается. К сожалению, работа с регулярно обновляемым локальным справочником товаров (размещенным на жестком диске кассы и отданном ей в монопольное пользование) и параллельно с глобальной БД в разрезе остатков, как это реализовано в некоторых других программных пакетах, в "1С:Предприятии 7.7" стандартными методами не предусмотрена. Можно, конечно, воспользоваться компонентой "Управление Распределенными Базами Данных" и тем самым предоставить каждой кассе собственную локальную БД, которая через определенный промежуток времени синхронизируется с сервером. Но и этот вариант не лишен недостатков, хотя с точки зрения отказоустойчивости процесса кассового обслуживания весьма неплох, так как даже в случае отказа сервера или ЛВС кассы могут продолжать обслуживать покупателей.

Никоим образом не пытаясь уменьшить значимость программных методов оптимизации работы системы (это действительно первостепенно!), применительно к ситуации с кассами работа в терминальном режиме является в буквальном смысле палочкой-выручалочкой. Подключив кассовое оборудование (сканер штрихкода и фискальный принтер) через разделяемые порты касс прямо к серверу (логически) и запустив на кассах "1С" в терминальном режиме, мы получаем принципиально иную ситуацию. Так как базы данных никуда с сервера не передаются и могут быть полностью размещены в его оперативной памяти, скорость выбора из справочника возрастает по крайней мере в 3-5 раз. Практически исключаются коллизии в результате захвата таблицы одной из касс - на сервере для этого требуется квант времени, в 5-7 раз меньший, чем при передаче той же таблицы по ЛВС. Обработка партий, которая выполняется на сервере, практически перестает быть замедляющим фактором. Трафик же по локальной сети - это трафик терминального клиента плюс трафик торгового оборудования - просто мелочь даже для сетей 10 Mbps (можно, к примеру, задействовать ту же HomePNA), не говоря уже о более скоростных сетях 100 Mbps. Да и требования к внутренней начинке системных блоков касс заметно меньше - это могут быть маломощные бездисковые станции (малошумящие и практически не требующие администрирования) либо тонкие клиенты (но не с WinCE). Реальные нагрузочные возможности такой системы с одним сервером могут достигать 30-40 касс даже без программной оптимизации, а при переходе к применению отдельных серверов для MS SQL Server и Terminal Server + "1С" - еще больше!


#=TABLE no 21:
Справочник Номенклатура
# Name Descr  Type [A/S/U] DBTable Name ReUsable 
T=SC135 Справочник Номенклатура A SC135 1
#-----Fields-----
# Name Descr  Type Length Precision
F=ID ID object C 9 0
F=PARENTID ID parent obj C 9 0
F=CODE object code C 8 0
F=DESCR object description C 50 0
F=ISFOLDER Flag – Is Line – Fol N 1 0
F=ISMARK Flag Object is Marke C 1 0
F=VERSTAMP Version stamp C 6 0
F=SP143 (P)ВидТовара C 9 0
F=SP136 (P)Артикул C 24 0
F=SP137 (P)БазоваяЕдиница C 9 0
F=SP142 (P)Вес N 15 3
F=SP145 (P)ЕдиницаПоУмолчани C 9 0
F=SP141 (P)ВалютаУчета C 9 0
F=SP160 (P)УчетнаяЦена N 16 5
F=SP148 (P)МинимальныйОстато N 15 3
F=SP156 (P)СтатьяИздержекУсл C 9 0
F=SP158 (P)ТипТовара C 9 0
F=SP159 (P)ТорговаяНаценка N 9 5
F=SP162 (P)ШтрихКод N 14 0
F=SP537 (P)Транспорт N 2 0
F=SP902 (P)УслугиНаСебестоим N 2 0
F=SP2974 (P)Производитель C 50 0


Выводы

Ну и напоследок в качестве выводов рассмотрим области применения терминальных решений.

Естественно, Terminal Server не является панацеей от всех бед. Существует круг задач, таких, как профессиональная работа с графикой, просмотр видео--фильмов (хотя после изменения политик на сервере и это возможно), где работа в терминальном режиме неприемлема (недостаточная глубина цвета) либо не оправдана (один смотрит кино на сервере, а остальные не могут работать). Для мобильных пользователей с ноутбуками он просто неприменим. Так же плохо согласуются с терминальным режимом запуска различные DOS-приложения.

Но и пренебрегать его достоинствами неразумно. К основным преимуществам "терминального" подхода к построению корпоративной ИС можно отнести: высокую безопасность системы, прозрачность накопленной сотрудником информации для руководства, большой запас по наращиванию мощности ИС, слабую зависимость от средств доступа, мобильность и "привязку" данных и пользователей не к конкретному локальному ПК или офису, а к каналу связи. Возможности современных пакетов терминального подключения очень широки, а в некоторых задачах просто незаменимы. И если перед организацией стоит вопрос о замене 20-30 ПК класса Pentium 100 и модернизации ЛВС на нескольких этажах здания, терминальное решение вполне можно рассматривать как альтернативу. Также подобная схема наверняка будет эффективной при совместном доступе к данным. К примеру, при необходимости одновременно подключить около 50-70 пользователей к одной и той же базе "1С:Предприятие 7.7" терминальный доступ просто незаменим. К тому же Microsoft предлагает в течение 90 дней опробовать данную технологию в тестовом режиме, чего вполне достаточно не только для составления первого впечатления, но и для отработки реально функционирующего пилотного проекта.

Можно посмотреть на применение терминального доступа и с несколько иной точки зрения. Производи-тельность современных ПК явно избыточна для обычных офисных приложений. Да, конечно, можно на ПК в офисе воспроизводить музыку, открыть десятка два Web-страничек, запустить ICQ и пару загрузок по FTP, а после работы - "погонять чертей". Но заинтересован ли в подобной функциональности рабочего места сотрудника работодатель? Есть ли ему смысл все это оплачивать? И повышает ли это производительность труда сотрудника? Да, можно настройкой политики установить жесткие ограничения... Но все равно человек, покупающий самосвал для поездки в магазин за хлебом на расстояние 300 метров, выглядит... И самое смешное, что приобрести автомобиль поменьше он просто не имеет возможности! Может, тогда уж лучше купить комфортабельный и безопасный автобус и ездить всем домом, а не каждый на своем самосвале?..


Терминальный сервер WS2K3 и Citrix MetaFrame Presentation Server

"Массово-настольная" по-пуляр-ность и длительный процесс эволюции сформировали стереотип восприятия ОС Windows как однопользовательской, в которой в один и тот же момент времени может интерактивно работать только один пользователь. Поэтому уместно напомнить, на чем базируется организация терминальной сессии в Windows Server 2003 (WS2K3).

Интересующая нас служба WS2K3 Ter-minal Services (TS) построена на внедрении между слоями системы и пользователя слоя сеансов. Для каждого из сеансов Session Manager (SM) создает отдельный экземпляр подсистемы Win32 (WIN32K.SYS) и затем внутри него запускает рабочий процесс подсистемы клиент-сервер (модуль CRSS.EXE), активирует службу входа (WINLOGON.EXE), а также присваивает каждому сеансу уникальный идентификатор (ID) и выделяет адресное пространство. Принципиальный момент заключается в том, что на одной системе Windows создается возможность параллельного выполнения нескольких пользовательских сеансов. За непосредственное взаимодействие пользователя с сеансом, осуществляющимся на TS, отвечает протокол RDP (Remote Desktop Protocol), благодаря которому организуется функционирование виртуального дисплея, клавиатуры и мыши на сервере. Другими словами, вместо того чтобы посылать видеовывод в порт VGA, терминальный сервер перенаправляет его в видеоканал стека RDP. Он же "воспринимает" нажатия клавиш и перемещения мыши удаленного клиента и передает их на сервер.

Неслучайно наиболее важные улучшения TS в WS2K3 связываются с совершенствованием этого протокола (текущая версия - 5.2). Теперь стало возможным переназначать диски клиентов, аудио, буфер обмена, порты, часовые пояса, клавиши Windows. В RDP 5.2 добавлена поддержка 24-разрядного цвета при разрешении экрана до 1600x1600 и даже предусмотрена аутентификация клиентов с помощью смарт-карт. Новые расширения, по мнению ряда специалистов, значительно приблизили RDP к протоколу Citrix ICA. Попутно отметим еще одну интересную особенность WS2K3-- появление клиента Remote Desktop Connection, поддерживающего все функции RDP 5.2 и позволяющего управлять опциями соединения.

Если в качестве терминального сервера применен WS2K3 Enterprise Edition, то в среде с балансировкой нагрузки порадует возможность привлечения новой службы Session Directory для предоставления единой точки входа в ферму терминальных серверов. Она выступает не только в роли распределителя нагрузки, но и поддерживает базу данных активных сеансов в ферме, что дает возможность пользователю возобновить разъединенный сеанс на том же сервере, от которого он отключился. И этим кратким перечислением список изменений и нововведений в WS2K3 не ограничивается.

Поэтому неудивительно, что все чаще звучит вопрос: целесообразно ли при использовании этой новой сетевой ОС обойтись уже без дополнительной покупки продуктов от Citrix? Ответ будет уклончивый: и да, и нет. Все зависит от устойчивости IT-традиций в компании (как правило, объем затрат при апгрейде версий ОС оказывается существенно меньшим, чем при миграции на другую серверную надстройку), от задач, стоящих перед ней (в первую очередь от характера применяемого ПО), типов и числа клиентских устройств: и еще от сотни-другой разноплановых и экономических факторов. Да и разработчики Citrix не стоят на месте - не так давно вышел и уже доступен в Украине Citrix MetaFrame Presentation Server (с появлением Feature Release 3 он называется так), сертифицированный для платформ WS2K3 и W2K (стоимость лицензии на 20 пользователей составляет около $5800). И вдобавок к уже известным преимуществам семейства продуктов Citrix (гибкость настройки групп пользователей, высокая отказоустойчивость, меньшие требования к пропускной способности каналов связи, наличие клиентов под все распространенные ОС, балансировка нагрузки между серверами, "перетаскивание" приложений) в нем реализован ряд новшеств и улучшений, способных заинтересовать владельца обширной корпоративной терминальной сети. В частности, усовершенствована работа механизма лицензирования, благодаря чему теперь можно использовать одни и те же лицензии для подключения к различным фермам. Новая Web-базированная консоль управления (Citrix License Management Console) с набором онлайновых инструментов упрощает отслеживание и устраняет необходимость устанавливать, активировать и управлять индивидуальными лицензиями. Появилась возможность задания предпочтений и восстановления при сбоях (zone failover). Новые политики позволяют указывать рекомендуемые для подсоединения пользователя зоны внутри фермы серверов на основе скорости подключения и производить переподключение к альтернативной ферме в случае сбоя. При разрыве сессии (например, из-за обрыва связи) все открытые окна для опубликованных ресурсов остаются видимыми, в то время как в фоновом режиме продолжаются попытки восстановить связь. Причем сессии пользователей могут автоматически переноситься с одного устройства в одном месте на другое устройство в ином месте.

Примечательно, что консоль управления для MetaFrame Access Suite выполнена в общем интерфейсе с Microsoft Ma-nagement Console (MMC). С помощью настройки дополнительных подключаемых модулей snap-in администратор имеет возможность "видеть" приложения, серверы и зоны, управлять сессиями и производить поиск во множестве ферм, а также отслеживать интенсивность их работы и создавать отчеты.

Уменьшить загрузку процессора и объем передаваемых данных удастся за счет технологии SpeedScreen, позволяющей привлечь ресурсы на стороне клиента для декомпрессии и обработки файлов аудио, видео, изображений и Flash-анимации в режиме низкого качества. Логичность внедрения такого механизма станет понятной, если учесть, что за счет ухудшения качества картинки на 20% можно снизить требования к пропускной способности канала на 90%. Клиентам наверняка придется по душе возможность автоматически подстраивать на своих устройствах внешний вид окна с изменением разрешения и глубины цвета дисплея, тем самым позволяя им переключаться с устройства на устройство без прерывания сессии.

И наконец, еще один показательный аргумент в поддержку этого решения. Компания "ЛАНИТ-Iv Com", украинский партнер Citrix, сообщила об успешном окончании тестирования фермы из 1000 (!) серверов с MetaFrame Presentation Server 3.0 в единой зоне. Так что категорично отказываться от дополнительных возможностей, получаемых при установке Citrix, наверняка преждевременно.


Wyse Winterm 1200LE как пример терминальных клиентских устройств

Терминальные решения на платформе Windows в УкраинеЗа рассказом о серверной части терминальных решений в тени незаслуженно оказалась самая массовая группа "железа" -- клиентские терминалы. Несомненно, в ряде случаев можно обойтись доработкой морально устаревшего ПК и, отмыв его от накопленной вековой пыли, с гордым видом водрузить на стол одному из сотрудников. Но не спешите браться за отвертки-- стоимость специально разработанных для этих целей клиентских терминалов в последние несколько лет существенно снизилась, а заложенная в них функциональность и крайне широкий простор для подбора вариантов - повод для того, чтобы поближе познакомиться с ними и оценить свои затраты. Кроме того, однотипность парка "настольных" клиентских терминалов упростит в дальнейшем решение задач по управлению и обслуживанию всей IT-системы компании.

Мы не будем даже пытаться классифицировать все многообразие клиентских устройств по видам, типам, назначению и прочим параметрам - это предмет отдельной объемной статьи. В качестве примера ограничимся описанием небольшого Windows-терминала от старейшины этого рынка компании Wyse Technology.

Winterm 1200LE, попадающий под классификацию производителя "Simple thin client", имеет вид небольшой коробочки размерами 19,4x15,7x4,3 см с единственной кнопкой питания и вынесенным на заднюю стенку минимальным набором гнезд: VGA, два USB (для клавиатуры и мыши), 10/100 Mb Ethernet, а также микрофона и наушников. Питание устройства предусмотрено от поставляемого в комплекте внешнего адаптера.

Терминальные решения на платформе Windows в УкраинеВскрыв корпус, на добротно исполненной плате мы обнаружили, что и в этой модели Wyse Technology осталась верна хорошо отлаженным чипам от National Semicon-ductor -- применены процессор GX-серии Geode (с августа прошлого года этой линейкой занимается AMD) и чип-сателлит ввода/вывода NS CS5530A. На борту установлены 4 микросхемы ОЗУ суммарной емкостью 32 MB и чип flash-памяти объемом 512 Kb, достаточный для размещения операционной системы Wyse OS. В отличие от старших моделей серий Powerful и Flexible, Winterm 1200LE не имеет в комплекте ПО "прошитого" Internet-броузера. Настройка под Citrix WinFrame/MetaFrame и Microsoft W2K/WS2K3 в общем случае достаточно проста. После задания параметров установки связи с сервером (а кроме Ethernet, поддерживается dial-up и беспроводное соединение с помощью внешнего USB-модема или адаптера) необходимо назначить IP-адрес, маску подсети, адрес шлюза и, если используются, адрес DNS, доменное имя и указать, на каком сервере сети сохранять информацию о пользовательском профиле. Если предполагается соединение не напрямую, а через Internet, то для доступа к корпоративной сети целесообразно воспользоваться предусмотренным в конфигурационном меню клиента VPN-подключением, выбрав соответствующие параметры настройки в окне PPTP-диалога.

Wyse Winterm 1200LE предоставлен фирмой
"Оникс": тел. (044) 205-5561