Сделать правильный набор “кубиков” для Web непросто
Интервзгляды
Имонн Салливан
Теперь наборы “Лего” делают не так, как раньше. Например из конструктора “Летающая тарелка”, который Санта Клаус принес моему сыну, можно собрать отличную летающую тарелку, но каждая деталь имеет такую специфичную форму, что ничего, кроме тарелки, собрать невозможно.
Имонн Салливан
Спустя месяцы или годы, посвященные разработке отдельных деталей, компании могут оказаться с интрасетями, которые во многом напоминают эту летающую тарелку: каждая часть сконструирована так, что подходит к другой единственным способом и собрать из них можно только одну вещь.
Такие наборы очень недолговечны. Наша полуторагодовалая дочь унесла рождественским утром важную часть летающей тарелки (и похоже, съела ее) после того, как тарелка была полностью собрана в первый и последний раз. Хрупкость многих приложений для интрасетей проявляется более тонким образом, обычно при попытке изменить их так, чтобы увеличить число поддерживаемых пользователей, перенести ПО на новую платформу или использовать часть одной программы в новом проекте.
Слабым местом могут оказаться несколько больших и загадочных сценариев на Perl, написанных давным-давно и содержащихся в ядре вспомогательных интрасетевых приложений. Или, что также типично, вы можете столкнуться с тем, что в ваших приложениях сделано слишком много допущений - относительно состояния, в котором они находятся, тех, кто к ним обращается, где они работают, - чтобы быть использованными заново или объединенными в новую конфигурацию.
Web разработана так, чтобы облегчить Лего-подобную сборку и повторное использование компонентов. Некоторые из лучших Web-приложений используют части приложений, взятые с множества разных узлов. На меня произвел впечатление Бостонский радиоузел WFNX (www.wfnx.com). Созданный маленькой компанией Agent Audio, он позволяет слушателям видеть, какая песня исполняется, прочитать обзор компакт-дисков, дать песне оценку и даже купить диск. И хотя приложения для страницы WFNX предоставляются пятью разными узлами (ведомыми пятью разными фирмами), с точки зрения пользователя все они полностью интегрированы.
Один читатель упрекнул меня за то, что я не отметил эту форму аутсорсинга в недавней своей публикации, посвященной электронной коммерции. Транзакции по кредитным картам - это не единственная сфера деятельности, к организации которой можно привлечь внешних подрядчиков. Аутсорсинг возможно использовать для всего, начиная от обзоров и форм и кончая поисковыми механизмами.
“Рассмотрим, например, как показать пользователю путь к штаб-квартире вашей корпорации, - пишет Джекоб Нильсен, исследователь из Sun Microsystems (Сан-Паоло, шт. Калифорния). - Очевидно, наилучший способ добиться этого - обеспечить связь с одной из онлайновых служб, которые предоставят ему карту, показывающую расположение строений компании, предложат ввести его начальное местонахождение, а затем покажут дорогу”.
К сожалению, большинству приложений Internet и интрасетей не хватает гибкости, чтобы вы могли обойти интерфейс и вызвать функции напрямую. Одной из немногих систем, позволяющих сделать это, является Lotus Domino, которая предоставляет доступ к облегченному интерфейсу прикладного программирования Notes через унифицированные указатели ресурсов (URL). Этот способ достаточно гибок, так что при помощи Domino вы вполне сможете реализовать на своем узле (с некоторыми трудностями, конечно) весь спектр функций, хотя можете и ограничиться одной-двумя. Например, с его помощью можно отображать или собирать статистические данные, используя URL для манипуляции и показа содержимого баз данных Notes.
Обеспечение гибкости ваших intranet-приложений - сложная задача, вначале отнимающая много времени. Та форма высокоуровневого разделения объектов, которая применяется в Web, не является настолько же гибкой и эффективной, как изначально специализированные технологии (например, CORBA или DCOM). Но, подобно хорошему набору “Лего”, группы таких приложений обладают практически неограниченным потенциалом.
Если вы занимаетесь разработкой на компонентном уровне, свяжитесь со мной по адресу: esullivan@zd.com.
Некоторые из лучших Web-приложений используют части программ со множества узлов