Ж у р н а л   о   к о м п ь ю т е р н ы х   с е т я х   и   т е л е к о м м у н и к а ц и о н н ы х   т е х н о л о г и я х
СЕТИ И СИСТЕМЫ СВЯЗИ on-line
  ПОИСК: ПОДПИСКА НА НОВОСТИ: НОМЕР:
    ДОМОЙ • Архив: Новостей | Конференций | НомеровПодписка
 
   
 
   
    
РЕДАКЦИЯ
 
Все о журнале
Подписка
Как проехать
Где купить
Отдел рекламы
График выхода журнала
Адреса в Интернет

РУБРИКАТОР
   
• Инфраструктура
• Информационные
   системы

• Сети связи
• Защита данных
• Кабельные системы
• Бизнес
• Колонка редактора
• Электронная
   коммерция

• Только на сервере
• Системы
   учрежденческой
   связи

• Новые продукты


Rambler's Top100

  

Об NT по существу: “Ну перенесите же приложения на Linux!”

Росс М. Гринберг

Пользователям и программистам, работающим в ОС Linux, больше всего надоело слышать: “Данное приложение для вашей ОС еще не адаптировано”. В сражении за разработчиков приложений Linux приходится чем-то расплачиваться за свой статус самой знаменитой и уважаемой среди свободно распространяемых ОС.

Эта бесплатная и надежная ОС может работать практически на любом оборудовании. Она обладает модульной структурой, масштабируема и отличается тем, что занимает в оперативной памяти исключительно мало места. Да, в битву Linux вступает хорошо вооруженной, а шумихи вокруг нее в последнее время даже больше, чем она того заслуживает.

Борьба за доминирование на поле приложений, силы в которой кажутся на первый взгляд совершенно неравными, имеет и другой аспект. Хотя стандартные пакеты приложений для NT (такие, как Microsoft Office) на Linux еще не перенесены, тем не менее для нее имеется множество равноценных им по своей функциональности пакетов.

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

Однако с точки зрения технологии в битве с Linux Windows NT имеет серьезные преимущества. Вспомним хотя бы некоторые из ее весьма привлекательных для программистов разработок, например COM+, DNA, DCOM, Message Queue, Transaction Server и, как бы вы к ней ни относились, ActiveX. При этом если эти технологии используются в ваших приложениях, то с их переносом на Linux придется подождать. Таким образом, вы оказываетесь, по крайней мере на некоторое время, привязанными к Windows NT. Так ли уж это плохо? Давайте рассмотрим этот вопрос.

Что такое COM+? Коротко говоря, это та же объектная модель COM за вычетом большей части ошибок с добавлением некоторых необходимых средств. Или, подробнее, это весьма популярная архитектура программных компонентов, которая появилась уже довольно давно на базе защищенной архитектуры OLE. COM и сама приобрела достаточную популярность в качестве фундамента для построения большинства локальных приложений.

С небольшими расширениями COM превосходно работает в сети (превращаясь, по существу, в DCOM), а COM+ дополняет ее и вносит недостающие элементы. Например, для осуществления публикации и подписки в сети COM+ использует современную push-технологию, упрощая таким образом процедуру распространения изменений. В консорциуме OMG аналогичная технология для архитектуры CORBA находится все еще на стадии согласования, поэтому в данной области компания Microsoft тоже пока еще вне конкуренции.

Тесная связь COM+ с Windows NT обусловлена целым рядом причин. Взгляните на достижения Microsoft в сфере обеспечения распределенных транзакций в сетях с ненадежными каналами. Ее набор средств гарантированного обмена данными в первую очередь включает в себя сервер MTS (Microsoft Transaction Server), выполняющий сборку многокомпонентной транзакции в единую операцию. Сюда же Microsoft относит и механизм управления очередями сообщений (Message Queue), позволяющий гарантировать порядок доставки сообщений на случай, если происходит сбой в передаче каких-то составных элементов из цепочки доставки. В NT реализованы сложные современные методы обеспечения безопасности, встроенные прямо в ядро ОС, с собственными списками управления доступом (Access Control Lists), разбитыми по группам, именам владельцев и доменам. Все это ставит серьезные препятствия на пути внедрения объектов какой-либо компонентной технологии, отличной от той, что предлагает Microsoft. Впрочем, возможно, что в ближайшем будущем кто-нибудь и возьмется за решение этой задачи, но пока и здесь у Microsoft конкурентов нет.

У COM+ есть и свои странности, например Compensating Resource Manager. Это, на мой взгляд, нечто вроде Transaction Server “для бедных”, или некая облегченная реализация двухфазной фиксации повсеместно используемого DTC (Distributed Transaction Coordinator), в интерпретации Microsoft. Данные средства позволяют легко выполнять балансировку нагрузки, если на всех зарегистрированных машинах в сети работают идентичные COM-компоненты. Однако опять же использование этих средств привязывает вас к Windows NT.

Не могу четко определить свое отношение к еще одной концепции COM+, а именно к In-Memory-Data-Base. Любой программист знает, насколько повышается скорость доступа к файлам, расположенным в оперативной памяти, по сравнению с теми, что находятся на жестком диске. В результате скорость доступа к таким файлам ограничивается лишь сетевой задержкой.

Идея хранения больших файлов в оперативной памяти выглядит просто превосходной, если у вас этой памяти достаточно и она надежна. Но, судя по моему опыту, ее никогда не бывает много, и тогда приходится прибегать к свопингу, что сводит на нет всякий выигрыш от хранения данных в ОЗУ. Кроме того, хранение файлов БД в оперативной памяти часто заканчивается их полной потерей, из-за того что сбои на таких машинах обычно случаются в самый неподходящий момент.

Архитектура COM+ к тому же унифицирует многие технологии, например создание пулов объектов MTS, таких, как соединения с базами данных или удаленные дескрипторы окон, что значительно сокращает вычислительную нагрузку на информационную систему. Ресурсы объединенных в пул объектов полностью не высвобождаются, когда прикладная программа сбрасывает соединение или освобождает объект.

Одной из важных составляющих NT является технология ActiveX. Коротко говоря, ActiveX можно описать как множество разрозненных загружаемых компонентов. Все управляющие элементы ActiveX, по сути, привязаны не только к семейству ОС Windows, но и к той аппаратной архитектуре, на которой оно базируется. В результате компонент ActiveX, превосходно работающий на вашем компьютере с процессором Pentium, вряд ли будет функционировать на Windows NT для Alpha, не говоря уже о любом другом компьютере под управлением Linux. Так что, если вы решите их использовать, вам придется оставить всякие мысли о переносимости своего продукта на различные программные и аппаратные платформы, зато вы сможете воспользоваться присущими NT преимуществами и ее богатым набором API.

Что же касается всех этих доморощенных технологий фирмы Microsoft, то некоторые из них, например версия переносимой модели DCOM от Software AG (названная EntireX), находятся сейчас в процессе переноса на другие среды, который, впрочем, еще далеко не завершен и осуществляется по одной платформе за один раз. DCOM доказала свою способность использовать преимущества компонентно-ориентированной N-уровневой архитектуры в мире распределенных систем наиболее “прозрачным” из всех возможных способов. Благодаря этому разработчики могут создавать и отлаживать свои приложения локально, а уже затем переносить их в сеть.

С точки зрения разработчика, критерием сделанной работы является создание наиболее “красивого” программного кода. А вот начальник отдела считает, что главное — вовремя сдать работу и при этом уложиться в предусмотренную смету расходов.

Для создания простейшей программы типа “Привет, мир!” средствами Visual Basic от Microsoft требуются всего одна строка программного кода и несколько секунд времени. Чтобы достичь того же результата на языке Cи или Cи++, даже при помощи Microsoft Foundation Classes, времени понадобится уже значительно больше. Правда, языки VB (как и Visual C++ и Visual Java) не всегда оказываются подходящими средствами. Так, программный код Visual Basic имеет неприятную тенденцию разрастаться до совершенно невероятных размеров, когда к нему подсоединяются все необходимые DLL-модули. В результате написанная на этом языке программа работает медленно.

Впрочем, иногда и рабочее время программиста приходится оценивать в финансовых терминах, и тогда у средств визуального программирования Microsoft в мире Linux конкурентов не оказывается. Разумеется, и у Linux имеются собственные очень хорошие и интересные средства разработки, такие, как Visual Tcl, Python и Grasp, и конечно же целый ряд систем разработки на Java. Но что касается встроенных средств отладки исходного кода, то их возможности оказываются на самом зачаточном уровне по сравнению со сложными интегрированными средами разработки Visual Basic или Visual C++.

Вдобавок, как мы уже упоминали, среды разработки от Microsoft тесно интегрированы с технологиями COM и COM+. Значит, программисты могут отлаживать сложные клиент-серверные приложения баз данных в интерактивном режиме, пользуясь возможностями COM+ (в том числе и ActiveX), не покидая среду отладки, чего они как раз очень не любят делать.

Отсутствие у Linux единого графического интерфейса для настольных систем можно рассматривать двояко: как ее сильную и одновременно слабую сторону. Впрочем, стандартный для Unix графический интерфейс X Window, размещенный на базе Linux, является довольно мощным средством. Прикладной программист, работающий с Linux, может быть уверен, что его программа будет правильно и устойчиво работать на любой аппаратной системе из имеющихся в данный момент на рынке. Тем же, кто программирует для Windows NT, приходится рассчитывать лишь на одну-единственную настольную систему.

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

Таким образом, в том, что касается надежности, Linux на голову выше: даже зависание драйвера устройства не приводит к фатальному сбою. Зато в деле следования новейшим технологиям (как его понимает Microsoft) явный победитель — Windows NT.

Я сам старый хакер и поклонник Unix. Какая операционная система еще может предоставить такую доступность своего исходного кода, такое богатство приложений и такую мощную поддержку?! А чего стоит сознание того, что ты полноправный член сообщества Linux?! Нет другого более надежного способа досконально узнать возможности операционной системы, чем исследовать ее “внутренности”: исходный код, составные элементы и наиболее важные приложения. (Кстати, почему бы в целях обучения не решить для своей любимой ОС проблему 2000 года?) Вот и я взялся за усиленное изучение Linux и того, как она работает. Она умеет делать практически все, что мне нужно, а стоит всего 50 долл. (у фирмы RedHat). Так в чем же загвоздка? Только в том, что иногда еще приходится слышать: “Данное приложение для вашей ОС еще не адаптировано”.





  
5 '1999
СОДЕРЖАНИЕ

колонка редактора

• С компьютерным новым годом!

локальные сети

• Об NT по существу: «Ну перенесите же приложения на Linux!»

• Тестируем консолидированные серверные системы

• Эти разные, разные устройства FC-AL

• Комфорт для людей и машин

• Наведение порядка в распределительных шкафах

• Огнеупорные материалы — необходимый атрибут любой сетевой инфраструктуры

интернет и интрасети

• Его величество потребитель

• Четыре среды разработки Java для проектов уровня предприятия

• Механизмы, балансирующие нагрузку Web-узлов

защита данных

• Когда лекарство опаснее самой болезни

• Не слишком ли хороши биометрические устройства?

корпоративные сети

• Беда нечаянно нагрянет...

• Метасправочники обеспечат синхронизацию информации о пользователях

• Анализаторы протоколов АТМ и Gigabit Ethernet: главные баталии еще впереди

• Средства системного мониторинга уровня предприятия

услуги сетей связи

• Интегрированные сети — технологии и политика

• Службы многоадресной рассылки факсов: экономия плюс эффективность

• Системы LMDS: хороший шанс и

• Война параллельных миров: научная конференция под эгидой Госкомсвязи

новые продукты

• Новые анализаторы спектра новой измерительной компании; Драйвер персональной сетевой защиты IP-LIR; NSG-500 мал да удал!



 Copyright © 1997-2007 ООО "Сети и Системы Связи". Тел. (495) 234-53-21. Факс (495) 974-7110. вверх