Продолжается подписка на наши издания! Вы не забыли подписаться?

От редакции

Марксистско-ленинская философия (даже в объеме, знакомом каждому советскому человеку) учит нас, что все на свете развивается по спирали. О форме спирали марксистско-ленинская философия умалчивает.

Знакомство с этой фундаментальной идеей привело к неожиданным последствиям в среде отечественных разработчиков. Идея многоярусного программирования захватила умы постсоветских программистов и проектировщиков корпоративных систем. Желание перенести весь код на сервер приветствуется везде и всеми! Как-то забылись времена, когда весь код лежал на сервере, а пользователю предоставлялся некий гибрид телевизора с печатной машинкой под названием "терминал". Апологеты новых подходов настаивают на коренных отличиях графического "интеллектуального" терминала под названием NC от старого, текстового, но суть различий объяснить то ли не могут, то ли не хотят.

Борьба за похудение клиента перешла все разумные пределы. Нас хотят спасти от прожорливого клиентского приложения с помощью переноса приложения в WWW броузер. Microsoft предлагает для этого технологии Active (ActiveX, ActiveScript, ActivePage), Sun предлагает кофейный набор из Java и прочего немолотого кофе (JavaBeans).

Так что же такое пресловутая толщина клиента? По этому вопросу есть несколько мнений:

1. Тонкий клиент экономит память и прочие ресурсы компьютера за счет использования возможностей броузера и разделения логики на серверную и клиентскую.

2. Тонкий клиент тонок не физически, а тем что не содержит бизнес-логики (со всеми вытекающими от сюда последствиями).

Экономия памяти и ресурсов? По сведениям "Диспетчера задач Windows NT" MS Internet Explorer с простенькой страничкой занимает 5-6 Mb (примерно столько же занимает WinWord или Visio). Загрузка первого же ActiveX компонента как минимум увеличивает объем занимаемой оперативной памяти на 1-2 Mb. Результатом загрузки является появление монстра, занимающего столько же памяти, сколько и полнофункциональное приложение. Приложения MS Office 97 - Word, Excel - сами по себе являются контейнерами, включающими большое количество ActiveX-компонентов и допускающим помещение новых, так что смешными становятся сравнения тонкого клиента-броузера с толстым приложением, обладающим некоторой собственной функциональностью.

Кстати, то, что содержание такого монстра (пресловутая цена владения) обойдется дешевле, весьма спорный вопрос - поскольку место администраторов локальных сетей займут администраторы Интернет/интранет, и хлеб их будет горше, чем у их предшественников. А стало быть, стоить они будут не меньше. Слухи же о дешевизне NC мягко говоря, необоснованны. РС, скорее всего, обойдутся вам дешевле, не говоря уж о расходах на смену машинного парка и обучение персонала.

Другим великим достоинством новых подходов является независимость от платформы. Что имеется в виду под многоплатформностью? Какие платформы? Если аппаратные, то стоит задуматься над существенностью такого достоинства в мире, почти полностью оккупированном Wintel-клонами. Остальные (8 процентов Мас, 2 процента рабочих станций и несколько мэйнфреймов) достаточно давно (не считая мэйнфреймов, им и так неплохо) обзавелись средствами совместимости с PС типа SoftWindows и др. Да и NT может при случае прикинуться Х-сервером. Так из-за чего ломаем копья? Из-за лозунга "написал однажды - работает везде"? В эту сказку поверит только человек, ни разу не загрузивший по Сети ни одного не работающего апплета Java. Для того чтобы апплет правильно заработал на нескольких платформах, его необходимо отладить на каждой из платформ, и, к тому же, отказаться от использования быстродействующих и функционально полных, но платформно-зависящих, так что на практике появился новый, и по-моему, более справедливый лозунг - "написал однажды - отлаживаешь везде". Все это заставляет задаться совсем другим вопросом - кто все это затеял и зачем?

Раньше я думал, что главным (хотя и невольным) виновником переполоха является корпорация Intel. Именно она, "разогнавшая" сверх всякой меры свои процессоры, поставила под угрозу благополучие основных зачинщиков сегодняшней смуты - производителей рабочих станций и UNIX-серверов. Но потом (при всем неоднозначном отношении к Intel как супер-монополисту) я понял, что взваливать вину на него просто непорядочно. В конце концов, сам Intel программного обеспечения почти не производит..

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

Ожидается, что IIOP благодаря кроссплатформности вытеснит или хотя бы значительно потеснит DCOM. В конце прошлого - начале этого года контуры противостояния определились со всей ясностью - после выхода спецификации Enterprise JavaBean (EJB). Видимо, в конце этого года можно будет сказать, кто победит. Но сегодня победитель неочевиден - поскольку MS приходится одновременно воевать на нескольких фронтах (как минимум на пяти).

В спорах о новых веяниях забывается, что только совокупность всех уровней (ярусов, подсистем…) составляют систему. Причем, как известно, надежность и производительность системы зависят от самого слабого звена. Из этого следует, что религиозные догмы или линия партии не должны влиять на построения корпоративного приложения. Тонкий клиент - это все-таки хуже, чем полнофункциональный. А "полнофункциональный" не запрещает выполнять на сервере те подзадачи, которые там выгодно выполнять. Так что надо действовать взвешенно, не поддаваясь рекламе кланов производителей программных продуктов и не искать панацеи в одной (пусть даже новейшей) технологии. Так, Java нужно использовать только в случае необходимости создания пользовательского интерфейса (ПИ) сразу для нескольких платформ, да и то, если ваша программа не нуждается в скоростном ПИ. Если же стоит задача создания распределенного приложения, то лучше использовать возможности CORBA и/или DCOM, а не полагаться на сервлеты. Если вашей задачей является вынести бизнес-логику на промежуточный слой, то самым простым способом будет использовать компонентно-ориентированный сервер транзакций, такой как MTS - Microsoft Transaction Server или Jaguar CTS (Sybase). В общем, вам необходимо самим решать, какие технологии необходимо применять в конкретном случае. Мы же, со своей стороны, постараемся как можно более полно осветить все интересующие вас технологии. Так что мы ждем ваши предложения и пожелания по адресу digraph@rinet.ru.


Copyright © 1994-2016 ООО "К-Пресс"