2007 г.
Влияние исследований на технологию промежуточного программного обеспечения
Вольфганг Эммерих, Микио Аояма, Джо Свентек
Перевод: Сергей Кузнецов
Назад Содержание
9. Резюме
Во время нашего исследования мы наблюдали ряд общих черт переноса технологии из исследовательской области в успешные продукты. Мы подводим итоги этой статьи изложением сути этих общих черт в надежде способствовать будущей передаче технологии.
9.1. Для передачи технологии требуется время
Обсуждение воздействия, которое оказали исследования на ряд ключевых сегментов рынка промежуточного программного обеспечения, полностью соответствует данным, приводимым в [116], где в заключении статьи говорится следующее: «Опыт показывает, что от 15 до 20 лет уходит на то, чтобы технология развилась до такого уровня, когда ее можно целиком пропагандировать и распространять среди технического сообщества». Для передачи в широкое использование технологии промежуточного программного обеспечения потребовалось такое же время.
Удаленные вызовы процедур – 16 лет. Ключевые идеи сокрытия информации и языков компоновки модулей были опубликованы в промежутке между 1972 и 1979 годами; соответствующие публикации, описывающие исследования подходов к обеспечению удаленных вызовов процедур, появились в промежутке между 1980 (диссертация Брюса Нельсона) и 1987 (Network Computing Architecture компании годами Apollo) годами. RPC начали включать в состав операционных систем (Domain and SunOS), и этот механизм был стандартизован в промежутке между 1988 (IETF ONC RFC) и 1991 (OSF/DCE) годами.
Распределенные транзакции – 20 лет. После появления в 1980 г. диссертации Мосса по поводу нестандартных механизмов транзакций был опубликован ряд статей. Понятие транзакций было впервые внедрено в область распределенных объектов в диссертации Диксона в 1988 г. В промежутке между 1994 и 1996 гг. механизмы распределенных транзакций были стандартизированы Open Group (спецификации ODTP XA и RM) и OMG (спецификация OTS). Последующее включение Java Transaction API и Java Transaction Service в спецификацию J2EE, на которой основываются многие серверы приложений, привело к широкому распространению технологии распределенных транзакций на рубеже нового тысячелетия.
Распределенные объекты – 15 лет. Значительная исследовательская работа в области распределенных объектов была выполнена в промежутке между 1985 (Eden) и 1988 (Emerald и Argus) годами. Результаты этой работы были объединены Андрю Бирреллом и Грегом Нельсоном в 1990 г. в Network Objects, перенесены Вальдо в 1996 г. в Sun, стандартизованы JCP в конце 1990-х гг. и стали широко использоваться в связи с распространенностью серверов приложений начиная с 2000 г.
9.2. Междисциплинарность
Заметим, что трассы воздействий, показанные нами в предыдущих разделах, часто пересекают границы разных дисциплин, определенных в классификаторе ACM. Например, трассы для RPC основываются на ссылках из литературных источников, посвященных операционным системам, сетям, языкам программирования и инженерии программного обеспечения. Аналогично, трассы для распределенных транзакций основываются на ссылках из статей из областей операционных систем, баз данных и инженерии программного обеспечения.
Заметим также, что наибольшее воздействие иногда проявляется в области индустрии, связанной совсем не с той дисциплиной компьютерной науки, в связи с которой была впервые опубликована соответствующая идея. Свои идеи по поводу транзакций Джим Грей впервые опубликовал в книге «Заметки об операционных системах» [60]. Эти идеи зародились в сообществе баз данных и со временем были интегрированы с концепциями объектно-ориентированного подхода. Наиболее широко распределенные транзакции сегодня используются в промежуточном программном обеспечении серверов приложений. Аналогично, первые идеи механизмов передачи сообщений были опубликованы Стивом Рейсом в связи с поддержкой интеграции инструментальных средств разработки программного обеспечения, и впоследствии эти идеи были восприняты поставщиками инструментальных средств и распространены в подразделения промежуточного программного обеспечения.
9.3. Значимость диссертационных исследований
Еще одним интересным наблюдением является значительное число диссертаций на соискание степени PhD, фигурирующих в трассах воздействий. Приведем несколько примеров. Для трасс воздействий на RPC в число таких работ входят диссертационная работа Нельсона, выполненная в CMU [102], и диссертация Фабио Панзиери (Fabio Panzieri, Design and development of communication protocols for local area networks), над которой он работал в Ньюкасле. Для трасс воздействий в области распределенных транзакций можно упомянуть выполненную в MIT диссертацию Элиота Мосса (Nested Transactions: An Approach to Reliable Distributed Computing) про вложенные транзакции, в которой были введены основные понятия вложенных транзакций, используемые в CORBA OTS, и диссертационную работу Диксона [46], выполненную в Ньюкасле и посвященную интеграции распределенных объектов и управления распределенными транзакциями. Что касается распределенных объектов, то в статье Эндрю Биррелла и Грега Нельсона про Network Objects [20] имеется ссылка на систему Orca, модель программирования для которой разработана в диссертационной работе Бола [10]. Аналогично, модель распределенных объектов, повлиявшая на Network Objects, была определена в диссертации Хатчинсона [71] из Вашингтонского университета.
Поэтому мы полагаем справедливым утверждать, что в этих диссертациях обеспечивались основы многих понятий, используемых в современном промежуточном программном обеспечении, и проводилась их экспериментальная проверка с использованием программных прототипов. И мы полагаем, что без этих диссертационных работ у нас не было бы моделей распределенных объектов, семантики и архитектуры RPC, распределенных транзакций и серверов приложений в их современной форме.
9.4. Перемещение людей
Однако обеспечение понятийных основ и экспериментальной проверки является лишь одной стороной создания воздействия. Требуется передать эти понятия и знание о способах их применения в тщательно разработанных системах в производственное использование. По нашему мнению, чрезвычайно удачным механизмом такой передачи, которому уделяется недостаточное влияние, является подвижность исследователей, передающих эти понятия из области исследований в индустрию. Мы снова приведем всего лишь несколько примеров.
После завершения работы над своей диссертацией в Cambridge Computing Lab, во время выполнения исследований после защиты диссертации совместно с Роджером Нидхэмом (Roger Needham) Эндрю Херберт в 1984 г. был принят на работу в должности технического директора проекта ANSA, финансировавшегося программой Alvey. В течение следующих десяти лет группа ANSA создала эталонную модель ANSA, промежуточное программное обеспечение и опубликовала серию статей. В более поздние годы проект финансировался программой Esprit и напрямую партнерами из индустрии через компанию APM. После получения степени PhD в CMU Брюс Нельсон поступил на работу в Xerox PARC, где он написал важную статью про RPC совместно с Эндрю Бирреллом. Биррелл получил степень PhD в компьютерной лаборатории в Кембридже. Затем он перешел в DEC System Research, где написал совместно с Грегом Нельсоном статью про Network Object, которая обеспечила основу для Java RMI. Эндрю Ватсон, который работал в APM надо многими исследовательскими проектами европейской программы ESPRIT, посвященными ANSA, перешел в OMG, где он сыграл центральную роль в определении стандарта CORBA. Джо Свентек перешел из APM, где он работал вместе с Эндрю Хербертом и Эндрю Ватсоном, в Hewlett Packard, где написал спецификацию CORBA 1.0 совместно с Джимом Вальдо. Затем Джим Вальдо перешел из Hewlett Packard в Sun, где написал спецификацию RMI. Грейм Диксон перешел из Ньюкасл и Arjuna Labs в компанию Transarc, где написал спецификации OMG OTS и CCS.
9.5. Стандартизация
Заметим, что все сектора рынка промежуточного программного обеспечения, обсуждавшиеся в этой статье, подвергались существенным усилиям по стандартизации. Технология Web-сервисов стандартизуется консорциумом World Wide Web, спецификация J2EE была разработана в организации Java Community Process. CORBA была определена консорциумом Object Management Group, и две основные ветви RPC были определены Open Group и IETF. Open Group также стандартизовала интерфейсы обработки распределенных транзакций, а Международная организация по стандартизации (ISO) сыграла важную роль при стандартизации как обработки распределенных транзакций, так и SGML. Мы можем даже пойти дальше и сказать, что мы не увидели бы существенного воздействия результатов исследований, если бы эти результаты не были использованы в процессе стандартизации.
Стандартизация не только способствует достижению согласия между основными индустриальными компаниями, которое требуется для достижения широкого признания технологии, но и играет другие важные роли, являющиеся менее очевидными. Во-первых, стандартизация является необходимым, хотя и недостаточным предварительным условием для достижения интероперабельности различных технологий. Это свойство существенно для сохранения инвестиций, для обеспечения возможности миграции с одной технологии на другую, для облегчения крупномасштабной интеграции. Во-вторых, комитеты по стандартизации представляют собой теплицы передачи технологии. При создании стандартов подготавливаются, пишутся, оцениваются и сливаются конкурирующие предложения. Как показывает значительное число протоколов, в течение этих собраний происходят интенсивные обсуждения достоинств и недостатков предлагаемых методов, и эти обсуждения позволяют добиться согласия между участниками по существу обсуждаемого вопроса. В результате в процессе стандартизации происходит очень успешная передача технологии. В-третьих, к стандартизации привлекается внимание аналитиков рынка. Как только в процесс стандартизации осуществляется существенная инвестиция, для чего часто требуется наличие продуктов, в которых реализуется стандартизируемая технология, аналитики обретают уверенность в успешном развитии этой технологии, и это подтверждается опытом прошлых лет. В результате стандарты и их оценки аналитиками рынка становятся центральными точками будущих инвестиций.
10. Заключение
В этой статье мы показали огромное влияние, которое оказали исследования в разных областях компьютерной науки на разработку стандартов промежуточного программного обеспечения и продуктов, в которых реализуются эти стандарты. Без исследователей, закладывающих фундамент технологий на факультетах компьютерной науки в Brown, CMU, Cambridge, Newcastle, MIT, Vrije, University of Washington, без индустриальных исследователей из Xerox PARC, IBM Research, HP Labs, DEC Research, AT&T Research, APM, консолидирующих результаты фундаментальных исследований, участвующих в их стандартизации и информирующих о них подразделения разработки продуктов, у нас не было бы 8.5-миллиардного рынка промежуточного программного обеспечения в том виде, в котором мы имеем его сегодня.
Благодарности
Мы очень признательны Майку Мэхони (Mike Mahoney) из Принстонского университета, опыт и методические указания которого в области истории науки помогли нам избежать в своем исследовании многих ошибок при выходе за пределы своей непосредственной области знаний. Мы не смогли бы выполнить наше исследование и написать эту статью без серьезной помощи большого числа людей. Среди прочих, мы признательны Эндрю Ватсону, Дино Мандриоли (Dino Mandrioli), Фрэнку Лейману (Frank Leymann), Эндрю Херберту, Сантошу Шриваставе (Santosh Shrivastava), Фабио Панзиери, Эндрю Бирреллу, Джо Конрону (Joe Conron), Воду Розеберри, Полу Кетли (Paul Kettley), Андриану Кольеру (Adrian Colyer), Стефану Таю (Stefan Tai), Дику Дивендорфу, Полу Личу, К. Мохану, Робу Дрю (Rob Drew) и Стивену Рейсу. Авторы также обязаны членам проекта Impact и, в особенности, членам руководящего комитета Ли Остервейлу (Lee Osterweil), Джеффу Крамеру (Jeff Kramer), Александру Вольфу (Alexander L. Wolf) и Карло Гецци (Carlo Ghezzi) за методическое руководство и поддержку, которую они оказывали нам в течение пяти последних лет. Авторы благодарны ACM SIGSOFT, Institution of Electrical Engineers и National Science Foundation за существенную финансовую поддержку, сделавшей возможным проведение этого исследования.
Назад Содержание