Маркетинг

Больше данных – меньше проблем!


Новые системы хранения данных для компаний малого и среднего бизнеса. Узнайте подробности и задайте вопросы на on-line-семинаре IBM




White Papers

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

Рассматриваются три типичных метода хищения данных: добронамеренные сотрудники, нацеленные атаки извне и мстительные сотрудники. Наряду с обзором способов противодействия даны конкретные советы по предотвращению взлома.

Открытые системы :: Программная инженерия

MediaWiki: серебряная пуля или швейцарский нож?

в buzz в мой мир в twitter версия для печатисохранить в pdf

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

Стас Фомин

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

Данная команда производит основной объем документации, но не менее значимы роли остальных участников процесса разработки: представителей заказчика, бизнес-аналитиков, экспертов-рецензентов, для которых в первую очередь важна не эффективность построения документации, а простота ее правки и рецензирования, доступность для чтения и изменений. Простота означает возможность включиться в работу практически сразу, посмотрев пару примеров и ориентируясь на интуицию. А доступность – это возможность быстро и независимо от местоположения подключиться к процессу без каких-либо ограничений и требований к оборудованию рабочего места. В идеале для этого достаточно обычного браузера, однако эффективность, простота и доступность плохо между собой совместимы. Нужен компромисс.

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

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

Итак, задачи управления знаниями и документирования весьма схожи, и для них разумно ожидать единого решения. Попробуем понять, что может представлять собой подобная «серебряная пуля».

Ожидаемое решение

Для эффективной совместной работы нужно радикально избавляться от артефактов в бинарных форматах – только для «плоского» текста, разбитого на строки ограниченной длины, существуют хорошо зарекомендовавшие себя универсальные алгоритмы вычисления различий и автоматического слияния различных версий. Но, выбрав текстовый формат документа, какой же язык разметки выбрать? Рассмотрим классификацию разметок (рис. 2).

Разметки, основанные на препроцессоре (TeX, LaTeX) и на жестких SGML-спецификациях (HTML, DocBook), непросто использовать – управляющие элементы разметки, будь то тэги или макросы, занимают много места, а разметка документа ориентируется не на удобство автора, а на обработку препроцессором или стандартизированным компилятором. В результате надо быть готовым к трудноуловимым и даже необъяснимым ошибкам при работе с TeX или держать в голове иерархию вложенности сотен тэгов при использовании структурной SGML/XML-разметки (DocBook, XHTML). Конечно, сильная команда сможет вполне успешно порождать документацию на любом языке разметки, но тогда не будет простоты, а необходимость развертывания системы сборки на каждом рабочем месте отрицательно сказывается на доступности.

Уже в 70-е и 80-е годы, когда зародились поколения разметок SGML и TeX, появились и так называемые «плоские» (plain text) разметки, основной смысл которых заключался в форматировании документа с помощью пустых строк, отступов и десятка символов пунктуации так, что текст оставался вполне читаемым и без обработки. Такая разметка не вызывает трудностей даже у начинающих пользователей и при этом вполне достаточна для ведения базы знаний или технической документации.

Что еще пожелать от «серебряной пули»? Доступности – просмотр гипертекста в любимом браузере, правка и редактирование там же. Ходить по гиперссылкам умеет и ребенок, но надо сделать так, чтобы и ссылаться можно было легко и понятно. Чтобы было управление версиями и обеспечивалось удобство: составные документы, шаблоны. В идеале должна быть также возможность подключения и использования любых предметно-ориентированных языков (Domain Specific Language), например построение графов и даже UML-диаграмм по краткому текстовому описанию, математических формул в общепринятой разметке TeX/LaTeX, автоматическое форматирование и синтаксическая раскраска для фрагментов кода и т.п. Ну и конечно, требуются средства поиска и навигации – категории и полнотекстовый поиск.

Wiki

В 2001 году на wiki-системе стартовала Wikipedia, а в 2007-м слово wiki* получило официальную прописку в Оксфордском словаре. Теперь практически все базы знаний сообществ сделаны на wiki-системах, где они вытесняют «классические» системы документооборота, в них же ведут техническую документацию к программным продуктам. Почему это происходит? Потому, что перечисленные ожидания от «серебряной пули» прекрасно покрываются средствами wiki: простой язык разметки; совместное редактирование; правка и публикация по месту, когда из чтения можно немедленно перейти к редактированию, не разыскивая исходные тексты документа; централизованное хранение и версионность; упрощенное построение ссылок.

При работе с файлами в стандартных языках разметки (TeX, LaTeX, SGML Docbook, HTML) нужно держать в голове нетривиальные соответствия между идентификаторами и названиями структурных блоков (секций, глав, разделов) и плюс еще помнить, в каком файле что лежит. Это способствует целостности, но очень затрудняет внесение новой ссылки. Не говоря уже о том, что для грамотной работы с файлами обязательно нужна система контроля версий, и все это минусы к «простоте и доступности». В wiki реализовано централизованное хранение всех текстов: идентификатор, название и заголовок для каждого текста – это одно и то же. Еще одна дружелюбная к пользователю денормализация – перенаправления ссылок и опережающие ссылки на несуществующие статьи.

Отлично подходят для документирования и управления знаниями внутри компаний и социальные свойства wiki:

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

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

Конечно, надо помнить и о технических проблемах, ограничивающих область применимости wiki. Если нужна книга с высококачественной версткой или полиграфией, то лучше использовать LaTeX. Если заказчик требует сдавать документацию по ГОСТу, с проверкой форматирования службой нормоконтроля, то разумно использовать SGML DocBook. Но вообще тенденция такова, что ценность бумажной технической документации уже почти упала до нуля. Правда, есть еще области электронных документов, в которых требуется качественная верстка по «листу/экрану», – это презентации. Здесь можно порекомендовать LaTeX/beamer с использованием автогенерации текста, диаграмм, картинок под управлением системы сборки типа SCons. Но в целом wiki если и не тянет на «серебряную» пулю, то «посеребренной» называться вполне может. И самое главное, кроме словесных аргументов есть убедительная проверка этого подхода практикой. Почти все знают Википедию, но не все знают, что ее прародителем был проект Nupedia, основанный на иных подходах, и за четыре года его работы было сделано лишь 23 завершенные статьи. С переходом проекта на первый wiki-движок, начался настоящий бум: 2004 год – 300 тыс. статей; 2005 – 500 тыс. и 2007 – 2 млн статей.

Проблемы выбора

Wiki-систем уже больше сотни, и у каждой свой собственный язык разметки и интерфейс. Выбрать непросто, и дискуссии по выбору оптимальной wiki-системы ведутся очень жаркие – сравнивается функционал, эстетика и архитектура. Ошибка в выборе может надолго, если не навсегда, отпугнуть компанию от использования wiki-систем: «Вики? Даже не предлагайте! Мы тут пробовали: кошмар, убогая, неудобная, ничего найти нельзя, никто ее не знает, сломалась, и мы все потеряли». Чтобы этого не случилось, мы предлагаем в первую очередь ориентироваться на комплексную характеристику функционала системы — популярность и распространенность.

У каждой из популярных и распространенных wiki-систем есть как положительные, так и отрицательные особенности. Например, Confluence очень хорошо интегрируется с известным баг-трекером Jira, но является платной. TWiki бесплатна и поддерживает управление правами на статьи, но написана на Perl. Система MoinMoin понравится любителям Python, а JotSpot уже понравился Google и его превратили в Google Sites. У MediaWiki объем размещенного контента, количество пользователей и разработчиков на порядки больше, чем у любой другой wiki-системы. Разметка MediaWiki дает возможность копировать или публиковать материалы в Википедии, а ее открытая архитектура имеет сотни точек расширения (Hooks, Extensions), куда можно подключать свои модули, реализуя собственные предметно-ориентированные языки, дополнительные интерфейсы редактирования и публикации, поиска и навигации. Имеются тысячи готовых расширений, которые устанавливаются простым копированием в каталог /extensions, – именно система расширений превращает MediaWiki в многофункциональный «швейцарский нож». Вот несколько «штопоров», «напильников» и «пассатижей» из «ножа» MediaWiki:

  • автоматическое построение графов – создание направленных и неориентированных графов по краткому текстовому описанию, например графов информационных и материальных потоков, диаграмм состояний или иерархий счетов, схем проводок или каких-либо классификаций;
  • автоматическое построение некоторых типов UML-диаграмм, сформулированных на специальном текстовом языке UMLGraph, рекомендованном Мартином Фаулером, известнейшим популяризатором UML;
  • построение графиков по тексту – создание двух- и трехмерных графиков и диаграмм по записанным формулам или наборам данных, например, иногда требуется очень быстро публиковать или обновлять Scrum Burndown Chart (http://www.osp.ru/os/2007/04/4220063);
  • LaTeX – вставка формул и целых LaTeX-фрагментов,
  • Mindmaps – публикация интеллектуальных карт;
  • MediaWikiQuizzer – система тестов, превращающих wiki-систему в систему дистанционного обучения;
  • полнотекстовый поиск – используется отличный поисковик Sphinx, поддерживающий русскую морфологию.

Особенности внедрения

Для внедрения и поддержания wiki полезно, чтобы в компании был один или несколько энтузиастов, получающих удовольствие от «борьбы за качество», – поищите их среди технических писателей или тестировщиков. Wiki – это не помойка, требующая регулярной уборки, это скорее сад, где регулярные усилия садовника придают растениям правильную форму.

Многие беспокоятся, что статьи в wiki-системах не будут иметь смысловой или стилистической целостности, напоминая «сборную солянку». С другой стороны, в Википедии у большинства статей один или два выделенных автора, а остальные участники вносят пренебрежимо малые правки. В корпоративных wiki все будет еще более «авторским», а роль остальных сотрудников сводится к правкам, дополнениям, замечаниям.

Встречаются жалобы, что если не следить за wiki-системой, то за год-другой она превращается в информационную свалку, в которой ничего нельзя найти. Здесь рекомендуется обязательно сделать полнотекстовый поиск с русской морфологией, причем если встроенный поиск в wiki плохой, то самое простое решение – установить бесплатный OmniFind Yahoo! Edition. Чуть сложнее подключить поисковую библиотеку Sphinx. Не надо забывать и о встроенных функциях wiki-систем по борьбе с нецелостностью и неактуальностью: поиск двойных перенаправлений, битых ссылок и т.п. Здесь можно порекомендовать LinkChecker.

Другая крайность – пустота wiki-систем, когда никто из сотрудников туда не пишет. В таких случаях сначала надо выяснить, могут ли сотрудники вообще что-либо написать, хотя и ведут активную переписку с заказчиком и между собой по почте. Покажите им преимущества накопления знаний по сравнению с использованием компьютера как телеграфа («коммуникация не есть информация»). Найдите тех, кому wiki будет наиболее полезна, и помогите им начать, а остальные подтянутся. Возможно, сотрудники стесняются выкладывать статьи на всеобщее обозрение, тогда мотивируйте их, попробуйте и кнут, например потребовав отчеты именно в wiki-системе.

Что делать, если, несмотря на все попытки и усилия, wiki-системы не приживаются? Значит, они вам и не нужны, а если все-таки есть нерешенные проблемы в управлении знаниями или гибком документировании при взаимодействии с заказчиком, то дело явно в другом: в людях, в задачах компании и ее приоритетах. Возможно, тогда никакой другой волшебный инструмент не сможет вам помочь.

При всем богатстве выбора не идеальное, а местами и «косое» решение стало востребованным, ибо остальные, при всех возможных преимуществах, проигрывают wiki.

Стас Фомин (stas@custis.ru) – заместитель директора по информационным технологиям компании «Заказные ИнформСистемы» (Москва).


Рис. 1. Аспекты документирования и взаимодействия с заказчиком

Рис. 2. Языки разметки текстовых документов


*Технологию wiki предложил Уорд Каннингем – американский программист, один из пионеров применения паттернов и экстремального программирования. В конце 1980-х он начал разрабатывать концепцию wiki, впервые реализовав ее на практике в середине 1990-х.


Гипертекст – от Memex до wiki

Прошло немного времени с момента изобретения электронной почты, Internet-конференций, форумов и чатов, а их уже стали называть коммуникационными средствами первого поколения –
появилось второе, к которому относят технологии blog, wiki и RSS feeds. Для корпоративных применений наибольший интерес представляет wiki – технология, позволяющая простыми и дешевыми средствами перейти к использованию гипертекстов.

http://www.osp.ru/os/2003/11/183615

30.04.2009г


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


Для того, чтобы оставить комментарий авторизуйтесь или зарегистрируйтесь.

Новости ОСП-ТВ - 03.09.10


30/05/2007 №04

Безопасные архитектуры

Миражи интеграции
Герман Хохлов
ИТ-рынок наконец-то осознал необходимость интеграции приложений — интеграционные платформы сегодня на пике популярности, а еще пару лет назад приходилось убеждать, что интегрировать лучше «на шине», чем с помощью прямых интерфейсов. Однако сегодня ожидания от внедрения интеграционных платформ часто значительно превосходят их реальные возможности. Мало того, встречаются даже случаи, когда шины рассматриваются как волшебные палочки, решающие все проблемы автоматизации и бизнеса. Интеграция приложений и интеграционные платформы постепенно становятся существенной статьей ИТ-бюджета.
Виртуализация: за и против
Александр Замятин
Сегодня технологии виртуализации вызывают большой интерес со стороны всех участников ИТ-рынка — все больше заказчиков видят в ИТ реальный инструмент бизнеса и все меньше внимания потребители информационных услуг уделяют оборудованию и программным средствам, на которых будет выполняться интересующая их задача. ИТ-инфраструктура все чаще оценивается как единое информационное поле, позволяющее получать, структурировать, обрабатывать и хранить необходимую компании информацию. Концепции виртуализации, начавшие развиваться около 40 лет назад, стали ответом на эти требования, однако виртуализация таит в себе не только преимущества.
Scrum: гибкое управление разработкой
Михаил Борисов
В большинстве случаев программирование — сложный, слабо определенный процесс, требующий от разработчиков творческого подхода. Различные agile-технологии позволяют организовать процесс постепенного приближения к цели проекта путем проведения циклов испытаний с корректировкой последующих, основанных на анализе результатов предыдущих. Scrum — одна из первых методологий циклического наращивания функциональности и корректировки хода проекта на основе анализа обратной связи от пользователей. Методология Scrum устанавливает правила управления процессом разработки и позволяет использовать уже существующие практики кодирования, корректируя требования или внося тактические изменения. Использование этой методологии дает возможность выявлять и устранять отклонения от желаемого результата на более ранних этапах разработки программного продукта.
Метрики управления качеством защиты приложений
Гуннар Петерсон, Элизабет Николс
Функциональность Web-приложений и их пользовательская база развиваются одновременно с ростом угроз, и хотя специальное оборудование (например, сетевые экраны) играет важную роль в деле защиты приложений, для обеспечения их полной безопасности одного оборудования недостаточно. Все эти устройства обеспечивают защиту хостов и средств связи, но почти бессильны перед атаками на сами программные модули или дизайн (интерфейсные экраны) приложения, поэтому предприятия должны сосредоточиться на усилении защиты Web-приложений. Однако здесь сразу появляется ряд вопросов. Какие проблемы могут возникнуть у моих программ? Насколько установленные приложения уязвимы перед лицом наиболее общих угроз? Какие изменения в цикле разработки программного обеспечения могут повлиять на защиту этих уязвимых мест?
Комбайн автоматизации
Александр Александров
Корпоративные платформы управления бизнес-процессами претендуют на то, чтобы, отделив логику выполнения процессов от их программной реализации, включить в единый цикл взаимодействие людей, потоки документов, распределенные информационные системы и базы данных. Когда появился такой «комбайн» с возможностью объединения анализа и моделирования процессов, управления действиями людей и работой информационных систем при обеспечении мониторинга и оптимизации производительности на протяжении жизненного цикла процессов, потребовалось переосмысление организации системы управления бизнес-процессами.
BPM со всех сторон
Наталья Дубова
Ежегодная конференция «Управление бизнес-процессами на предприятии: интеграция в корпоративные системы» вновь собрала полную аудиторию. С чем связан повышенный интерес к BPM и какие решения в данной области предлагаются сегодня отечественному бизнесу? Дисциплина управления бизнес-процессами сложилась в последнее десятилетие в ответ на неэффективную организацию бизнеса по функциональным подразделениям и избыточную сложность предлагаемых подходов к реинжинирингу бизнес-процессов, обычно предписывающих полную и одномоментную перестройку процессов из состояния «как есть» в состояние «как должно быть».
Транзакционная память — первые шаги
Леонид Черняк
Память современных компьютеров в принципе отличается от легендарных ферритовых колечек только своей емкостью и быстродействием: она последовательна по своей природе. С появлением многоядерных процессоров возникает необходимость в альтернативных решениях. Возможно, таким решением станет транзакционная память.

Содержание

Тема номера

Книжная полка ОС

Академия ОС

Программная инженерия

Безопасность

Платформы

Новости

От редакции



Эта рубрика в архиве
Список номеров за



Инфозоны

DIRECTUM EVERYWHERE

УРАЛХИМ признал DIRECTUM

Система DIRECTUM стала корпоративным стандартом электронного документооборота в масштабах всего холдинга "Уралхим".

Уфа внедряет электронный муниципалитет

Платформа DIRECTUM стала центральным звеном в создаваемой информационной системе, направленной на повышение эффективности и открытости местных органов власти.

Цена вопроса

Кто и когда должен оценивать эффективность ECM-проектов? Как перейти от общих результатов к конкретным количественным характеристикам?

DIRECTUM во власти

Внедрение СЭД в Правительстве Астраханской области: система управления делами для 12 министерств и более 1300 сотрудников.
OSP.RU :: Написать письмо.