Бэкмология – искусство нахождения простоты. Это методология укрепления психики и контроллинга психической деятельности. Суть методологии состоит в корректировке мировоззрения и жизненных установок, гармонизации внутреннего мира человека, достижении открытости ума. В ее состав входят модели преодоления неопределенности, паттерны успешного поведения, сбалансированный инструментарий поддержки принятия и реализации решений.

Бэкмология включает более десяти пособий. К ним относится книга «Создание решений для деловых проблем», которое описывает строгий, детализированный и очень человечный процесс решения неструктурированных деловых проблем, пособие «Защита собственной психики» – полное руководство по приемам психологического воздействия (атака, давление, манипуляция, обман, блеф, зомбирование и др.) и техникам эффективной защиты от него. Также Бэкмология представлена методиками рациоконтроллинга и психоконтроллинга.


Те, у кого есть свой бизнес, могут начать знакомство с Бэкмологией с сессии «Улучшение продаж». Это честная профессиональная работа, ориентированная на результат.


вторник, 30 сентября 2014 г.

На пути к организации будущего

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

Содержание обзора:

  • Сетевые вычисления
  • Сервис-ориентированная архитектура
  • Нетбук, планшет, смартбук
  • Web 2.0
  • Облачные сервисы
  • Виртуализация ресурсов и организаций

Объем: 75 страниц.

В полном объеме работа доступна только для официальных пользователей Бэкмологии. Для остальных имеется возможность приобрести работу за 200 рублей.

Обращаться: becmology@gmail.com

Далее приводится фрагмент обзора, в котором описывается концепция сетевых вычислений конца 90-х годов.

***

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

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

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

Очевидно, что движущая сила перехода к сетевым вычислениям и виртуальным организациям – потребности рынка. Благодаря сетевым вычислениям, предприятия могут резко увеличить свою конкурентоспособность: Интернет позволяет управлять своей распределенной структурой, поддерживать с клиентами и смежниками самый тесный и постоянный контакт.

Обычно переход на новую модель вычислений связан с расходами и риском, так что предварительно нужно четко просчитать, что перевесит: временные неудобства или продолжительные выгоды, которые сулит новшество. Кстати, очень часто революционные идеи поначалу не оправдывают наших надежд. Однако некоторые из них могут сразу оказаться работоспособными, и не начать использовать их вовремя – значит, упустить выгоду. Поэтому обычно применяется подход «поживем – увидим», т.е. дождемся, пока кто-то другой попробует первым.

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

Сетевые вычисления


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

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

Сетевые технологии уже изменили наш образ жизни и работы. Интернет, и особенно появление в 1993 году WWW (Word Wide Web), сделали то же, что в свое время электричество или телефон. По мере расширения доступа к всемирной сети компьютеров географические границы стираются. В киберпространстве уже давно появились свои сообщества, в которых люди сходных интересов могут объединяться для обмена информацией и общения с помощью комнат переговоров (chat room) и дискуссионных форумов. Колонизация киберпространства предоставляет бизнесу новые, ранее недостижимые, возможности целенаправленной работы с определенными группами потенциальных клиентов.

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

Сетевые вычисления предусматривают наличие сервисов хранения и обработки данных на удаленных серверах, клиент же, обращается к предоставляемым сервисам через Интернет. Предполагается, что клиент работает на сетевом компьютере. Термин «сетевой компьютер» появился в конце 1990-х и обозначал, по сути, дешевый терминал, подключенный через Интернет к серверам. Фактически это компьютер с упрощенной архитектурой: небольшой объем памяти, возможно отсутствие дисковода и т.п.

Сетевой компьютер, или NC (Net Computer) – это компонент архитектуры клиент-сервер, имеющий минимальное программное обеспечение и предназначенный для работы в сети. Отсюда второе название сетевого компьютера – тонкий клиент (thin client).

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

Идея сетевого компьютера была публично заявлена Ларри Эллисоном (Larry Ellison), главой корпорации Oracle, на форуме в Париже 4 сентября 1995 года. Тогда он сказал: «По нашему мнению, в мире происходит переход от ориентации на рабочие места к ориентации на сети. Вы можете поставить терминал всего за 400-500 долларов США. При этом такое дорогое и сложное устройство, как ПК, становится нелепым анахронизмом. Гораздо проще воткнуть вилку в розетку и таким образом получить нужные данные». Так Эллисон заявил концепцию сетевого компьютера (СК). Вокруг идеи сразу же разгорелись страсти.

В парижском форуме участвовал и Билл Гейтс (Bill Gates), глава корпорации Microsoft – компании-лидера на рынке «нелепых анахронизмов» ПК. Речь Ларри Эллисона явно задела его самолюбие и Гейтс нанес ответный удар, сказав, что «тупой терминал» Эллисона никогда не будет доминировать среди настольных устройств. Комментируя утверждение Эллисона, что будущее настольное устройство будет удешевлено за счет отсутствия дисковой памяти, Гейтс сказал: «Вам по-прежнему потребуется способ хранения информации, полученной из сети, а также своих личных данных».

С этого момента компьютерщики всего мира встали по ту или иную сторону баррикад. С одной стороны бой вели Oracle, Sun Microsystems, Netscape, Apple и IBM, с другой – Microsoft, Intel и другие производители ПК, которые потерпели бы наибольшие убытки в случае распространения «тонкого клиента».

Сторонники ПК утверждали, что ПК на рабочих местах доминируют безраздельно и повсеместно, и что ни одна организация никогда не откажется от них, даже при переходе к сетевым вычислениям. Сторонники «тонкого клиента», в свою очередь, клялись, что их главный аргумент – низкая цена – неизбежно приведет к переходу всего мира на сетевой компьютер. По их мнению, стоимость использования ПК в бизнесе (так называемая общая стоимость владения – ОСВ), за последние 10 лет взлетела до небес.

Цифры, представленные в 1996 году Gartner Group, Inc. из Стамфорда (Stamford), штат Коннектикут, показали, что ОСВ ПК за типичный амортизационный период в три-пять лет составляет более 40 000 долларов или 8 000–13 000 долларов в год. Gartner Group также подсчитала, что эквивалентная стоимость ПК в 1987 году была менее 20 000 долларов, то есть за последние 10 лет ОСВ удвоилась.

Gartner Group строила свои расчеты исходя из методики четырех основных составляющих ОСВ ПК. Цена самого ПК – около 21 процента, затраты на администрирование – еще около 9 процентов, на техническую поддержку – 27 процентов. Огромные 43 процента стоимости падают на «операции конечного пользователя», то есть пользователь плохо использует ПК, теряя время на установку специального ПО или аппаратуры, или тратит ресурсы машины на задачи, не связанных с основной работой. Глава Sun Скотт Мак Нили (Scott McNealy) утверждал: «Фактором, предрешающим победу сетевого компьютера, будет ОСВ... Мы собираемся снизить ее до 2 500 долларов в год».

20 мая 1996 года Oracle, Apple, Netscape, Sun и IBM выпустили первое руководство по сетевому компьютеру под названием Network Computer Reference Profile. Этот документ должен был «обеспечить общий подход к созданию популярных и широко распространенных вычислительных технологий на всем диапазоне масштабируемых сетевых вычислительных устройств, включая персональные компьютеры». Подразумевалось, что создатели ПК могут присоединиться к этой программе, оснастив свою продукцию всеми атрибутами сетевого компьютера. При этом вопрос, сможет ли ПК с его большим жестким диском и памятью конкурировать с «облегченными», построенными в соответствие с новым общим подходом, устройствами, оставался открытым.

Network Computer Reference Profile определил ресурсы пользовательского интерфейса, такие как терминал VGA, указательное устройство и возможность ввода текста. Были также заданы коммуникационные протоколы, которых должны поддерживаться, чтобы обеспечить ориентацию сетевого компьютера на работу с сети. Таковыми объявлялись, в частности TCP/IP, Telnet с поддержкой терминалов 3270 и 5250 и SNMP (simple network management protocol). Кроме того, перед сетевым компьютером ставилась задача: поддерживать основные стандарты WWW, такие как HTTP, HTML и виртуальная машина Java.

Работа над спецификацией сетевого компьютера (СК) началась в IBM задолго до того, как Ларри Эллисон в Париже сделал свой исторический доклад. Но небольшая группа инженеров в Рочестере была обеспокоена тем, что дело продвигается медленно, и решила создать свой собственный СК. В конце концов, говорили они, AS/400 – идеальный сервер для такого устройства, особенно если его оснастить шлюзом HTML (это планировалось на 1996 год). Под руководством инженеров Гленна Баталдена (Glenn Batalden) и Лу Беренса (Lou Behrens) эта небольшая группа быстро разработала свой СК на PowerPC. Они решили поместить свое творение в маленькую темную башенку размером примерно со среднего размера книгу, и даже скруглили заднюю часть корпуса, что оно больше походило на крошечную AS/400. В апреле 1996 года разработчики продемонстрировали прототип нового СК на конференции группы пользователей COMMON в Сан-Франциско, вызвав восторженные отклики заказчиков. После этого соответствующие службы немедленно занялись планами поставок нового СК на рынок.



Рис. IBM Network Station 300 8361 - PPC GCX 66 MHz - 16 MB - 0 GB

5 сентября 1996 года инженеры Рочестера с гордостью представили миру свое детище, получившее имя IBM Network Station. Новый компьютер был первым СК, разработанным в соответствии с документом Network Computer Reference Profile. Новый СК подключается к серверам IBM и других фирм, но черный цвет и скругленная задняя часть ясно выдают его происхождение от AS/400.

29 октября 1996 года Sun представила свою версию СК – JavaStation.


Рис. JavaStation

Первая модель JavaStation была построена на интегрированном 100 МГц микропроцессоре MicroSPARC II ep со встроенными интерфейсом шины PCI, контроллером ОЗУ и сопроцессором плавающей арифметики. Системы поставлялась с предварительно установленным оперативным компилятором (just-in-time, JIT-compiler), который повышает производительность при исполнении Java-программ.

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

Чтобы противостоять такому напору СК, за день до презентации Sun JavaStation, Microsoft и Intel объявили о своей разработке руководящей спецификации настольного компьютера нового типа, который они назвали NetPC. Подобно СК, NetPC проще обычного ПК, и кроме того, менее гибок и менее расположен к модернизациям. В отличие от СК, NetPC построен на процессоре Intel Pentium и работает только с Windows. В NetPC встроен жесткий диск.


Рис. Сетевой компьютер NetPC

Спецификация NetPC не планирует покупную стоимость системы ниже 500 долларов. Ее назначение – лишь сократить стоимость владения ПК, а также создать систему, которой легче управлять в корпоративной среде. Для этого в NetPC используются две новые концепции: одна от Intel под названием Wired for Management, а другая от Microsoft под названием Zero Administration for Windows. Wired for Management разработана Desktop Management Task Force, учрежденной несколькими компаниями в 1992 году. Она предоставляет собой продукт, который подразделения техобслуживания ПК могут использовать для упрощения управления ПК, подключенных к ЛВС. Концепция Zero Administration фирмы Microsoft включена в ОС Windows для автоматического обновления ОС NetPC с сервера при загрузке NetPC, а также для автоматической установки приложений при вызове их пользователем. Кроме того, все созданные или введенные пользователем данные могут автоматически копироваться на сервер, благодаря чему у пользователя всегда будет доступ к ним, независимо от того на каком NetPC в сети он работает. Центральный администратор также может управлять всеми аспектами конфигурации NetPC по сети.

В концепции сетевого компьютера Java позиционировался как универсальный открытый язык разработки приложений. Предполагалось, что Java будет везде и всюду.

Язык Java был разработан фирмой Sun Microsystems, Inc. Первоначально он предназначался для прикладного ПО бытовых электронных приборов, но скоро стал использоваться для приложений, выполнявшихся браузерами. В конце 1995 года Sun сделала Java доступной, разрешив загружать со своего сервера WWW компании Java Development Kit (JDK). Лицензии на спецификации языка стали выдавать всем желающим. В компьютерной индустрии этот язык был принят на «ура» и практически единогласно.

Для обеспечения модульности и быстрой загрузки программ по сети, в модели Java используются небольшие программы, называемые апплетами. Апплеты загружаются с сервера на клиент и выполняются в среде браузера. Таким образом, с помощью апплетов расширялись возможности страниц WWW.

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

Java – это больше чем просто язык; это целая программная платформа, так как включает виртуальную машину (ВМ), программно моделирующую компьютер. ВМ Java может быть встроена в любую ОС или браузер. Существует и аппаратура, предназначенная специально для Java. Для этих компьютеров Sun создала семейство Java-специфичных микросхем процессора.

Байт-код – это внутреннее представление программы на Java. Он генерируется компилятором Java и не зависит от какой-либо аппаратной платформы. Именно этот байт-код пересылается по сети с сервера на клиент. Так как Java – интерпретируемый язык, обычно, в состав среды выполнения входит интерпретатор байт-кода. Для некоторых приложений скорости интерпретации недостаточно, так что в состав среды выполнения может быть включен мгновенный компилятор JIT (just-in-time compiler). JIT-компилятор повышает производительность, преобразуя байт-код Java в машинный код процессора, что устраняет необходимость интерпретации.

Главное достоинство Java состоит в том, что он принят всеми основными производителями аппаратных и программных средств. Программирование на этом языке часто характеризуют так: «Пишется однажды – исполняется всегда». Разработчики, создавая программу на одной машине Java, уверены в том, что она будет работать и на любой другой Java-машине.

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

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

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

  • функции ввода и отображения данных (обеспечивают взаимодействие с пользователем);
  • прикладные функции, характерные для данной предметной области;
  • функции управления ресурсами (файловой системой, базой даных и т.д.)


Рис. Классическая многозвенная архитектура

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

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

Трехзвенная архитектура может быть расширена до многозвенной (N-tier, Multi-tier) путем выделения дополнительных серверов, каждый из которых будет представлять собственные сервисы и пользоваться услугами прочих серверов разного уровня.

Многозвенное приложение обеспечивает отдельные слои для каждой из следующих служб:

  • Представление данных: В типичном Web приложении презентацией управляет браузер, запускаемый на клиентской машине.
  • Динамическое создание представления данных: Несмотря на динамические возможности браузеров, для поддержки их различных типов, динамическая обработка, как правило, должна проводиться на Web-серверах с использованием JSP и Servlet или XML (расширяемый язык разметки) и XSL (расширяемый язык таблиц стилей).
  • Бизнес логика: Бизнес логика наиболее хорошо реализуется в Session EJB.
  • Доступ к данным: Доступ к данным наиболее хорошо реализуется в Entity EJB с использованием JDBC.
  • Интеграция с прикладными серверными системами : Для интеграция с прикладными серверными системами могут использоваться различные технологии. Лучший выбор будет зависеть от точной природы этих систем.

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

Сама J2EE включает поддержку компонентов Enterprise JavaBean (EJB), Java servlets, JavaServer Pages (JSPs), и технологию XML.

Среда JavaBeans является надстройкой над стандартной Java-технологией. Основой среды JavaBeans является компонентная объектная модель, представляющая собой совокупность архитектуры и прикладных программных интерфейсов. Архитектуру образуют основные понятия и связи между ними. Прикладные программные интерфейсы характеризуют набор сервисов, предоставляемых элементами среды. Они описываются в терминах синтаксиса и семантики Java-классов и интерфейсов.

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

Компонент JavaBeans – это:

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

Неформально компонент («кофейное зерно» – Java Bean) можно определить как многократно используемый программный объект, допускающий обработку в графическом инструментальном окружении и сохранение в долговременной памяти. С реализационной точки зрения компонент – это Java-класс и, возможно, набор ассоциированных дополнительных классов.

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

Компоненты JavaBeans могут упаковываться для более эффективного хранения и передачи по сети. Описание соответствующего формата является частью спецификаций JavaBeans.

Компоненты взаимодействуют между собой и с инструментальным окружением. Взаимодействие осуществляется двумя способами – вызовом методов и распространением событий.

Спецификации JavaBeans описывают только локальное взаимодействие компонентов, осуществляемое в пределах одной виртуальной Java-машины. Удаленные объекты могут связываться по протоколам архитектуры CORBA, с помощью удаленного вызова методов (Remote Method Invocation – RMI) или иными способами, не относящимися к области действия спецификации JavaBeans .

Протокол RMI вызывает методы удаленных объектов. Он использует сериализацию (serialization) для передачи данных между клиентом и сервером. RMI лежит в основе протокола, используемого EJB.

Технология CORBA – это стандарт написания распределенных приложений, предложенный консорциумом OMG (Open Management Group). Создавая CORBA-объекты, можно существенно уменьшить время решения задач, требующих выполнения большого объема вычислений. Это возможно благодаря размещению CORBA-объектов на разных машинах. Каждый удаленный объект решает определенную подзадачу, тем самым разгружает клиент от выполнения лишней работы.

Рассмотрим взаимодействие объектов в архитектуре CORBA.


Рис. Взаимодействие объектов в архитектуре CORBA.

Основу CORBA составляет объектный брокер запросов (Object Request Broker). ORB управляет взаимодействием объектов в распределенной сетевой среде. IIOP (Internet Inter-ORB Protocol) – это специальный протокол взаимодействия между ORB.

В адресном пространстве клиента функционирует специальный объект, называемый заглушкой (stub). Поучив запрос от клиента, он упаковывает параметры запроса в специальный формат и передает его серверу, а точнее скелету.

Скелет (skeleton) – объект, работающий в адресном пространстве сервера. Получив запрос от клиента, он распаковывает его и передает серверу. Также скелет преобразует ответы сервера и передает их клиенту (заглушке).

За исключением редкого случая прямых вызовов методов между классами одного и того же языка программирования необходим механизм кодирования вызова метода в некоторую последовательность байт (byte stream) у клиента и декодирования этой последовательности у сервера. Для этой цели спецификация CORBA определяет Общий Протокол обмена между Брокерами Объектных Запросов (General Inter-Orb Protocol – GIOP). Кроме того, определен протокол передачи сообщений протокола GIOP поверх транспортного протокола TCP/IP, являющегося основным видом взаимодействия в Internet, ввиду чего этот протокол получил название Протокола обмена между Брокерами Объектных в Internet (Internet Inter-Orb Protocol – IIOP). Протокол IIOP должен поддерживаться всеми Брокерами Объектных Запросов независимо от особенностей их реализации, что является главным требованием для обеспечения взаимодействия между произвольными ORB-ами двух разных и совершенно независимых производителей.

Протоколы GIOP и IIOP допускают взаимодействие между различными ORB независимо от платформ, на которых они выполняются, операционных систем, под управлением которых происходит взаимодействие и прочих аппаратно- и программно-зависимых аспектов.

Спецификация протокола GIOP состоит из следующих элементов:

  • Определение Общего Представления Данных (Common Data Representation – CDR). CDR – это способ кодирования типов данных, определенных в IDL в низкоуровневое представление, пригодное для передачи их по имеющимся каналам связи между ORB.
  • Формат сообщения протокола GIOP. Сообщения протокола GIOP обеспечивают нахождение объекта, отработку запросов, а также простейшее управление каналом коммуникации.
  • Предположения о транспорте. Спецификация GIOP описывает общие предположения, которые делаются при рассмотрении любого сетевого транспортного слоя, который может быть использован для обмена сообщениями протокола GIOP. Также описываются общие принципы управления соединением.

Спецификация IIOP добавляет к спецификации протокола GIOP следующий пункт:

  • Транспорт для сообщений протокола IIOP.

Спецификация IIOP описывает, каким образом агенты могут установить соединение по протоколу TCP/IP и использовать его для передачи сообщений протокола GIOP.

Протокол IIOP не является самостоятельной спецификацией – это специализированное отображение протокола GIOP поверх транспортного слоя TCP/IP. Спецификация GIOP (без элементов, специфичных для IIOP) может рассматриваться как самостоятельный документ, являющийся базовым для обеспечения в будущем отображения на новые транспортные протоколы.

Таким образом, за идеей сетевого компьютера стояло множество сложных технологий, и сам по себе тонкий клиент рассматривался как «рабочий стол», на который выкладывались результаты работы системы с весьма комплексной архитектурой. Естественно, конечного пользователя внутренний мир организации сетевых вычислений интересовал мало. Он оценивал то, что было на самом «верху». А ситуация здесь складывалась следующим образом.

Интернет в конце 90-х был слишком медленным, дорогим и недостаточно распространенным, так что идея загружающихся «на лету» приложений-апплетов просто не могла стать популярной. К тому же мощных сетевых приложений попросту не существовало. Была лишь создана системная архитектура и предпринимались первые попытки ее реализовать. Если сама по себе технология CORBA и была реализована, то широкого распространения она не получила. Все это и предрешило судьбу сетевого компьютера. К середине 2003 года компания Ларри Эллисона по производству сетевых компьютеров вышла из бизнеса. А сама корпорация Oracle направила свои усилия на приобретение в 2004 году более чем за 5 биллионов долларов своего конкурента в области бухгалтерского ПО компании PeopleSoft. В апреле 2009 года Oralce покупает Sun Microsystems за 7.4 биллионов долларов.

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


Комментариев нет:

Отправить комментарий