О чем эта статья

Несмотря на то что история развития систем коллективного управления информацией насчитывает уже не одно десятилетие, по-прежнему один из наиболее распространенных вопросов, который мне задают представители еще не прошедших крещение электронным документооборотом организаций, звучит примерно так: «А чем TDMS лучше обычного Windows Explorer?»

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

Чтобы играть на одном поле с бесплатными или условно бесплатными файловыми менеджерами, необходимо иметь альтернативу, которая так же проста в установке, обучении и администрировании и вдобавок свободно распространяется. Иначе сравнение может получиться довольно странным. «Мы тут для сравнения взяли ECM (PDM, PLM) систему, которая по расчетам с проектом внедрения обойдется заказчику в 30 тыс. рублей на рабочее место, и она по всем заявленным возможностям должна превзойти конкурента».

К счастью, в арсенале ЗАО «Нанософт» есть продукт, который можно рассматривать в качестве альтернативы проводнику Windows. Это система коллективной работы с документами nanoTDMS Корадо 1. Вы можете скачать ее с сайта www.nanocad.ru, там же получить бесплатную лицензию на необходимое вам количество рабочих мест и начать использовать ее в коммерческих целях.

Хочу сразу оговориться, что я не собираюсь преуменьшать достоинство и значимость персональных менеджеров файлов. Они с успехом выполняют задачи управления файловыми данными. Файловая система, по крайней мере внешне, проста как грабли, и у Windows Explorer и у клонов гениального Norton Commander были, есть и останутся верные поклонники.

У меня также нет задачи во что бы то ни стало доказать превосходство Корадо над проводником Windows. Кесарю кесарево. Но любопытствующей части населения я все-таки попробую объяснить, каким анахронизмом является «современная» файловая система и как было бы здорово, если бы вместо файлов мы имели дело с полноценными информационными объектами.

Трудности перевода

Чтобы подготовить материал для этой статьи, я провел предварительное сравнение Корадо и проводника Windows и получил около 10 важных отличий. Из полученных тезисов составил таблицу и думал использовать ее как «рыбу». Но вернувшись к написанию статьи примерно через неделю, я без черновика вспомнил только 5 отличий. Вот те на! Не случайно говорят, что больше шести вещей удержать в голове нельзя. А если я умудрился забыть ровно половину собственных идей, то что же останется после прочтения статьи в ваших головах?

Чтобы упростить структуру статьи и добиться поставленной цели, я выделил только три «большие разницы», три основных отличия файловой и объектной систем. Я сгруппировал отличия по тому, где хранятся документы, как хранятся документы и как с ними работают.

Итак…

Где хранятся документы

Происхождение файлов

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

Сильный центр

В противоположность анархичной файловой структуре, nanoTDMS обладает клиент-серверной архитектурой. Это означает, что приложение nanoTDMS Корадо состоит как минимум из двух основных связанных между собой модулей — клиентского и серверного. Клиентский модуль устанавливается на каждом рабочем месте. Серверный модуль устанавливается на выделенном компьютере с большим объемом оперативной и постоянной памяти. На сервере должна быть установлена СУБД — система управления базами данных — и собственно база данных nanoTDMS Корадо. nanoTDMS поддерживает работу с двумя наиболее распространенными СУБД — Microsoft SQL Server и Oracle.

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

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

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

Преимущества централизованного хранения

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

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

Каждый из нас когда-то искал файлы с помощью проводника или другого файлового менеджера. Сколько времени уходит на поиск? И каков результат? Думаю, и у вас и у меня он примерно одинаков. Через несколько минут «полузалипший» компьютер выдает несколько десятков или сотен файлов, из которых еще предстоит выбрать нужный. Файлы, кстати, не обязательно все разные. Несколько ярлыков с разными названиями, указывающими на один файл, несколько файлов с одинаковыми названиями, но на самом деле с разным содержимым. Знакомо?

Только из-за одного этого недостатка файловой системы я готов рассматривать ее альтернативы. Конечно, если попросить систему Корадо найти все документы, начинающиеся на «к», их тоже может оказаться довольно много. Наверно, придется потратить некоторое время, чтобы произвести новый поиск или воспользоваться фильтром уже в найденном. Но знаете, сколько времени в Корадо займет поиск, например, возвращающий по заданным критериям сто документов из миллиона? Несколько секунд. Не часов, не минут, а секунд. По сравнению с файловой системой это очень быстрый поиск.

Ну тогда, скажете вы, среди этой сотни документов уж точно будет куча одинаковых. В файловых системах мы привыкли действовать по принципу «поближе положишь, быстрее найдешь». Я неоднократно наблюдал (да и сам этим грешу, если по старинке что-то делаю вне нашей внутренней системы Корадо) сотни значков-документов на рабочем столе Windows. Многие пользователи копируют файлы в место, наиболее удобное для их многократного использования.

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

Как такое возможно?

Как хранятся документы

Один на всех

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

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

Объектная реальность

Документы nanoTDMS Корадо на системном уровне называются информационными объектами. Понятие «информационный объект» предполагает, что документ является контейнером, в котором хранится самая разная информация: атрибуты документа, его версии и история разработки, файлы, связи с другими информационными объектами. Файлов, кстати, у документа Корадо может быть сколько угодно, и они могут быть любых типов.

К слову, понятие «объект» активно используется и в самом Windows Explorer. Проводник нельзя назвать чисто файловой оболочкой. Многие понятия в нем являются проекцией объектных сущностей. Например, Рабочий стол, папки пользователя (Мои документы, Мои рисунки и т.д.), Корзина — все это объекты, чье представление хранится в файловой системе.

Тем не менее носителем информации в операционной системе Windows является файл — двоичная запись на диске без особых опознавательных знаков. Как правило, информация о формате данных файла не содержится в открытом виде, что не позволяет производить поиск файлов по их внутренним свойствам и просматривать их содержимое универсальными программами.

Информация же в nanoTDMS Корадо типизирована. Это означает, что типы информационных объектов уникальны, отличаясь друг от друга набором свойств и жизненным циклом. Например, у Задачи есть свойства, связанные со сроками ее выполнения, а в контактной информации Предприятия присутствует его ИНН и организационно-правовая форма. Свойства информационных объектов, или, иными словами, атрибуты, могут быть образованы из простых типов данных, таких как число, строка, флаг. Но nanoTDMS Корадо, в отличие от файловой системы, может себе позволить и более сложные, составные типы данных атрибутов. Например, свойство Тип документа задается с помощью классификатора — иерархического справочника, а список электронных адресов и телефонов контактов хранится в виде таблицы, содержащей несколько столбцов.

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

Еще одним полезным свойством объектного подхода является возможность использовать один объект в качестве контейнера для хранения произвольного числа файлов произвольного типа. Документ со вставленными в него изображениями, векторный чертеж с растровой подложкой и даже целый веб-сайт могут быть сохранены в одном документе nanoTDMS Корадо! Работа с файлами довольно подробно описана в двух частях статьи «Технологии TDMS», опубликованных в 4-м и 5-м номерах журнала CADmaster за 2007 год, поэтому здесь мы на этом задерживаться не будем, но за предоставляемые возможности поставим nanoTDMS Корадо твердую пятерку.

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

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

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

Как с ними работают

Быстрее, проще, удобнее

Попробуем сравнить эргономику работы и некоторые основные функциональные возможности двух систем. С моей точки зрения, интерфейс Windows Explorer выглядит немного привлекательнее. Во-первых, потому что он для большинства пользователей проще и привычнее, во-вторых, в нем есть drag&drop, в-третьих, содержимое некоторых типов файлов можно просматривать не только в отдельном окне просмотра, но и в виде больших значков. Над Windows Explorer работают настоящие профессионалы в области эргономики, разработчикам TDMS с ними тягаться трудно.

В защиту Корадо скажем, что платформа nanoTDMS 2.0 также будет поддерживать drag&drop, а просматривать одновременно много файлов удобно разве что для фотографий. Ни документы, ни чертежи так не посмотришь.

Возможности по группировке и сортировке у проводника хоть и есть, и выглядят они эффектно, но я так и не понял, как сделать так, чтобы ими было удобно пользоваться. Это, наверно, потому, что удобство использования программного обеспечения состоит не только в привычности и простоте интерфейса. Например, чтобы найти эту статью у себя в Корадо, я набираю в адресной строке словосочетание «10 причин» или просто слово «проводник», нажимаю ENTER и через долю секунды получаю ответ.

Быстро и удобно, не правда ли? А ведь такая возможность была в TDMS еще до появления новых возможностей поиска в проводнике в Windows Vista.

Стоить отметить, что дополнения, появившиеся в Windows Vista и Windows 7, довольно серьезно продвинули функциональные возможности проводника. Но некоторые весьма важные изменения, например, появление панели для отображения свойств файлов и папок, быстрый просмотр файлов или возможность создавать поисковые папки (выборки), были реализованы в TDMS еще в 2004 году.

Ну так ведь догнали, скажете вы. Теперь у TDMS нет никаких преимуществ… Ну это как посмотреть:

  • вы можете настроить систему TDMS так, чтобы она раскрашивала список документов, например, в зависимости от состояния их разработки. Критерии и цветовые решения могут быть любыми;
  • вы можете настроить автоматическую сортировку — ваши документы будут располагаться в наиболее удобном для вас порядке. Сортировать можно по любым свойствам документов. Не нравится автоматически — сортируйте документы руками. Такой возможности вы точно не найдете в проводнике Windows;
  • если в результате поиска количество документов слишком велико, но вы не хотите тратить время на составление нового запроса, используйте фильтр. По дополнительным условиям вы мгновенно уменьшите количество найденных документов. Система может производить новый поиск как по целому слову, так и по нажатию любой клавиши.

Автоматизируй это

Если же мы попробуем сравнить проводник Windows и платформу TDMS по возможностям автоматизации, то многих пользователей ждет частичное разочарование от неудовлетворенного любопытства. Доработка Windows Explorer требует довольно серьезных усилий и программирования на системном уровне. В интернете можно найти довольно много статей и готовых программных продуктов, но если честно, я знаю очень мало людей, кто ими пользуется или даже вообще интересуется.

Для доработки TDMS вам будет достаточно уровня школьной информатики. Visual Basic и «визуальное программирование» — вот основа TDMS Developer Suite — главного инструмента для разработки конфигураций. Важно отметить, что часть настроек производится без какого-либо программирования. Чтобы дополнить систему новыми свойствами информационных объектов, отчетами, выборками, командами и т.п., в большинстве случаев вам будет достаточно визуальных инструментов. Для доказательства приведу один небольшой пример.

Возможно, некоторые из вас еще помнят, что в начале статьи я говорил о том, что сравнивал Корадо и Windows Explorer. Так вот, в результате этого сравнения я обнаружил, что в Корадо нет быстрого вызова списка недавно просмотренных или отредактированных документов. Я даже обратился к разработчикам и сказал: «Представляете, какой ужас? Как мы прожили столько времени без такой замечательной возможности?»

Мы начали думать, куда эту возможность добавить. Но почти сразу выяснился один подозрительный момент. Ни один пользователь не обратился к нам с просьбой сделать такую вроде бы удобную вещь. Почему?

Ответ оказался довольно прост. Платформа TDMS — это кладезь скрытых возможностей. На своем рабочем столе я открыл контекстное меню и выбрал команду Создать выборку. Эту выборку я назвал «Мои последние документы» и задал в ней следующие условия: «Тип объекта = Документ И Дата модификации за последние 30 дней И Изменен пользователем = Текущий пользователь». Как выглядит эта выборка в системе — показано на рисунке.

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

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

Наверное, вы уже догадались, куда я клоню. Основное, я бы даже сказал, принципиальное отличие двух рассматриваемых в этой статье систем заключается в их назначении. Windows Explorer был и останется персональным файловым менеджером. Хорошим, удобным, любимым. А в акрониме системы Корадо содержится другое ключевое слово — коллективная. Именно с требованием организации коллективной работы связаны обязательная аутентификация при входе в систему, ведение журнала действий пользователей, возможность использования коллективных кэширующих источников данных, встроенный в TDMS Viewer, защищенный просмотр файлов и другие возможности системы.

Что такое счастье

Догадываюсь, что некоторые читатели уже в полном негодовании. Даже слышу: «И при чем же тут САПР? Где мои чертежи и как мне их тут редактировать?»

И тут у меня есть чем вас удивить и порадовать. С появлением новой версии nanoCAD 2.0 (бета 2) TDMS органично встраивается в эту систему, становясь ее частью.

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

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

Для самых стойких

Я не хочу делать никаких рекламных выводов в конце этой статьи. Если честно, их даже слишком много по тексту. На самом деле, я лишь постарался ответить на детский вопрос. Если вы посчитаете выделенные жирным рефрены, их будет ровно десять. С арифметикой у меня все нормально, а вот получилось или нет у меня «замахнуться на Вильяма нашего Шекспира» — решать вам.

TDMS и nanoTDMS

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

Платформа TDMS разрабатывается компанией CSoft Development с 2002 года. TDMS задумана и выполнена как открытое, программируемое, модульное приложение, хорошо приспособленное для адаптации под конкретную предметную область и требования заказчика. Система TDMS состоит из трех основных частей:

  • набора программ, относящихся к самой платформе TDMS — программная оболочка (интерфейс) пользователя, средства просмотра файлов, средства генерации отчетов, файловый сервер и другие компоненты;
  • системы управления базами данных (СУБД). В качестве серверов баз данных TDMS может использовать две промышленные СУБД: Microsoft SQL Server и Oracle;
  • специализированной настройки (конфигурации) платформы, состоящей из метаданных и открытого программного кода, обрабатываемых средой TDMS на рабочем месте пользователя. Именно конфигурация определяет набор возможностей системы, ее предметную направленность и в конечном итоге стоимость внедрения.

Платформа nanoTDMS, родившись практически одновременно с главным детищем «Нанософт» — графической платформой nanoCAD, является производной от TDMS. «Нанософт» использует TDMS в качестве исходного материала и, внося некоторые изменения, выпускает продукт под своей торговой маркой.

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

Чтобы не было домыслов, приведу список всех отличий nanoTDMS от TDMS:

  • изменена система контроля используемых лицензий. Вместо сетевой многопользовательской лицензии и ограничения по количеству одновременных подключений, в nanoTDMS используется персональная лицензия и ограничение по количеству активных пользователей, зарегистрированных в системе;
  • платформа nanoTDMS поставляется только вместе с готовой конфигурацией. Лицензионное соглашение nanoTDMS легализует использование обеих частей поставляемого решения: и платформы, и конфигурации;
  • nanoTDMS не имеет собственных средств разработки конфигурации. Чтобы, например, добавить собственную форму ввода или изменить маршрут движения документа, необходимо приобрести программный продукт, который входит в линейку платформы TDMS, а именно Developer Suite.

Почему компания «Нанософт» не пошла по пути продаж «обычного» TDMS, а продвигает собственный бренд?

Ответ довольно прост. Главная задача «Нанософт» на российском рынке — сделать САПР доступными. Выпуская TDMS под своей торговой маркой, компания получает возможность поставлять на рынок конфигурации nanoTDMS по беспрецедентно низким ценам. Так, конфигурация электронного архива Корадо бесплатна, а ежегодный платеж за более сложную систему Эларос для проектной компании в 50 человек составляет 200000 руб. В планах «Нанософт» как развитие существующих систем, так и выпуск аналогичных продуктов, предназначенных для решения задач управления офисом, легких PDM-систем и других готовых конфигураций.

Чтобы более точно понять экономику nanoTDMS, рекомендую почитать статью Сергея Нужненко «Мост над пропастью" 3.

  1. Чтобы вам было понятно, как соотносятся nanoTDMS Корадо и TDMS, я дополнил статью небольшим сравнением этих систем и выделил его в отдельный фрагмент. 
  2. В оригинале у Дарвина именно так — «The fittest will survive» — «выживет наиболее приспособленный». К сожалению, применительно к файлам «приспособленный» иногда означает первый попавшийся из похожих на требуемый, что и порождает одну из наиболее неприятных проблем работы в распределенных файловых средах. 
  3. CADmaster, № 4/2009, с. 44−49