Сегодня 27.04.2024 Вы зарегистрированы в системе под именем ANONYMOUS

Rambler's Top100
Начало
Обо мне
Моя семья и звери
Статьи
Проекты
Стихи
Фото-галерея
Досуги
Былое и думы
Универсальная Самообучающаяся Экспертная Система
Мудрости
Приколы
 
Новости
Карта сайта
Все материалы
Обсуждение
Опросы
 


КиноНавигатор поможет выбрать фильм, если не знаешь, что посмотреть.

Реплика:

Тема: Lotus Notes - миф и реальность
Автор: Автор: Горобчишин Андрей Викторович <gorinich@lotus.net.ua>  
Дата: 10.01.2003 15:48
Несколько раз слышал об этой статье, слышал много мнений, все (не большинство) не лестные (возможно потому, что кручусь именно в кругу специалистов Лотуса). Но вот добрался до оригинала только сейчас, только через год(!). Понимаю, что как специалиста, меня это характеризирует не с лучшей стороны, но факт остается, так вышло. Сначала думал просто прочесть: итак много обсуждено, наговорено, статья-опровержение вон даже есть (к стати, ее еще мне предстоит прочесть, т.е. сейчас будет только мое мнение, незапятнанное противовесом). Но теперь решил и свое замечание оставить.
Я полностью согласен с Автором в том, что по данной теме наблюдается просто катастрофический дефицит объективной информации. И в виду этого считаю, что материалы, подобные данному, имеют серьезный вес, значимость, и соответственно должны обсуждаться. Сейчас предпринимаются некоторые нерешительные попытки восполнить информационный голод, но исходят они опять не от туда, от куда дОлжно: Лотус полностью поглощен корпорацией IBM, русская страничка Лотуса исчезла, семинары и конференции (в том числе LotusSphere) действительно больше напоминают самолюбование или рекламную акцию. Пользователю, стремящемуся получить конкретную человеческую информацию, обратиться некуда: АйТи, Интертраст будут Вам доказывать, что они лучше всех, в том числе и лучше друг друга, КСК разочаровался в России и повернулся на запад, по соседним регионам и странам СНГ картина абсолютно аналогична.
Но вернемся к сути: все то, что Автор сообщает, как техническую информацию, верно. Остальное (мнения на различные пункты и пояснения 'от себя') хромает. Тут пару слов о своей компетентности: я Лотусом занимаюсь 'плотно' последних лет шесть-семь. Не как пользователь, а как программист Домино, в последнее время сильно пришлось углубиться и в администрирование. Имею ряд сертификатов на релизы четвертый и пятый, в том числе один уровня 'профи'. Надо заметить, что у Лотуса быть професионалом-программистом, и не быть совсем администратором, невозможно. Верно и обратное утверждение. И я полностью согласен с мнением Автора о том, что '..что Lotus Notes - это не просто одна из используемых компанией систем. Это целый мир, в который нужно погружаться полностью..'. Но мой взгляд на метод погружения отличается от метода, вырисовывающегося из данной статьи. Итак, обо всем попорядку.
Первое, что хочется отметить, не совсем корректное наименование самой технологии: статья написана в конце 2001 года, когда уже в эксплуатации была пятерка (пятый релиз Домино, по авторски - Ноутс). Еще с четвертого релиза произошло некое разделение в именах: теперь Lotus Notes - это только клиентская часть клубка, серверная носит название Lotus Domino. Вместе их также величают Домино-технология. Произошло это по той причине, что клиент вырос в самостоятельное приложение, а сервер так оброс всяческими 'попутными' службами, что чистым СУБД его теперь и не назвать. Клиент способен самостоятельно работать с базами (по человечески - локальная реплика базы, но наличие сервера для полноценной работы тут не предполагается), может служить почтовой 'выгребалкой' с любого сервера, совсем не обязательно Лотусиного, планировщик, адресная книга, календарь - все свое, автономное, запросто работает с кучей экаунтов, причем различного типа: доминошными или нет - без разницы. А сервер способен выполнять функции не только сервера СУБД и почтовые, как раньше, но и вэб-сервера, новостного, и еще пару, не столь явных. Вы можете заметить, что и раньше Ноутс был в вэбе. Да, но раньше его было легко узнать, в вэбе он выглядел весьма специфично из-за некоторых ограничений по вэб части (пример:intertrust.ru), а теперь на этом фронте полная свобода (пример:lotus-ua.com).
Второе, тоже касается технологий: исходя из статьи, кажется, Автор не знает о наличии двух типов СУБД: реляционные (которые Автором называются 'полноценные', ибо, видимо, имел с ними дело; пример: oralce, sql), и нереляционные (которые Автор назвал 'устаревшие', ибо, видимо, с ними дела не имел; пример: lotus domino). Различия между ними Автор описал с точки зрения пользователя реляционных. Следовательно, приписав их к недостаткам нереляционных. По моему, это нормально, любой автор имеет на это право. Вот только не стоило, в таком случае, в начале писать 'мне показалось важным рассказать - что такое LN на самом деле'. Эта фраза предполагает глубочайшие знания о предмете изложения. А они оказались у Автора статьи не такие уж глубокие (я имею в виду только lotus domino & notes). Возьмем к примеру стандартную доминошную ссылку на документ. Сначала Автор проводит паралель между ней и вэбовской, а затем списывает на недостаток тот факт, что она мертвеет при исчезновении ее объекта. По моему, вэбовский линк ведет себя аналогично. Но делая из этого недостаток, Автор сравнивает ее уже не с вэбом, а с реляционной ссылкой. Мне кажется, это некорректное замыливание, перевод стрелок. Любой маломальски грамотный специалист в Домино организует Вам жизнестойкую ссылку, аналогичную реляционной, в два счета: не знание законов не освобождает от ответственности (с), не знание функций и возможностей не означает их отсутствие.
Это же касается и транзакций. Автор вначале отметил, что LN принято считать 'системой организации корпоративного документооборота, хотя на самом деле это не совсем так'. За это замечание я его сразу полюбил :). Я считаю точно так же, и пытаюсь уже не первый год донести до народа, что Lotus Domino - это НЕ документооборот. Это только среда для разработки документоориентированных приложений. Что совсем не означает 'Документооборот'. Да, она почти идеально подходит для разработки любого типа документооброта, но также великолепно она подходит и для написания вэб-порталов, любой электронной коммерции, даже незатейливых игр. В моем багаже есть и такие примеры Домино-разработок: сетевые пятнашки, морской бой, шашки. Главное - изучить сами возможности того инструмета, который попал к Вам в руки (Lotus Domino в данном случае), а не то, для чего они предназначены по мнению продавца или даже производителя. И организовать механизм транзакции в Домино не бОльшая проблема, чем, скажем, дизайнеру в Фотошопе нарисовать собственную кнопку.
Также наблюдается путаница у Автора в сравнениях при изменении данных: он утверждает, что при обрыве репликации, если изменения записи были переданы только из одной таблицы, 'во всех современных' СУБД база откатится назад, а Домино (LN) оставит информацию покромсаной (т.е., делает вывод читатель, в одной таблице Домино информация будет обновленной, а в другой связанной с этим изменением, нет). Смею утверждать, что это полностью не соответствует действительности. Разница в подходах к репликации 'современных' СУБД (sql) и Домино действительно большая. Она заключается в основе, в устройстве всей технологии. Автор указал, что у Домино 'ориентация на хранение больших плохо структурированных документов'. Это так, можно с этим согласиться. С одним уточнением: совсем не структурированных. Это основное отличие нереляционных баз от реляционных. А поскольку Автор не понял, что это означает, он видимо и написал 'плохо структурированных'. Т.е., думается мне, представить себе абсолютно не имеющее структуры хранилище документов он не смог. И от сюда посыпались минусы Домино (с точки зрения Автора). Суть приблизительно такова: минимальным хранилищем информации в базах Домино является поле (как и в других СУБД, в принципе). Типов полей (соответственно и типов хранимых в них данных) великое множество. Дальше: группа полей, собранная вместе и имеющая общие свойства (автор, дата сохранения/открытия...), называется документом. По аналогии выходит с записью таблицы из реляционных БД. А вот следующий этап - это уже сама база данных: группа документов, собранных в один файл (с точки зрения операционки), и имеющая общие свойства. Т.е. никаких таблиц в структуре базы нет! Однако их заменитель таки присутствует. Это представление (View, далее 'вид'). Он является частью дизайна самой базы. Вид - это некая маска, трафарет, который накладывается на всю массу документов, хранимых в базе. Количество видов в одной базе теоретически не ограничено. Внешний вид и структура видов разрабатывается при программировании базы. Если сюда еще добавить форму, которая является аналогичным трафаретом для полей документа, то можно сказать, что структуру базы Домино Вы уже знаете. Таким образом, мы можем создать вид, в котором будет показан список всех документов базы, скажем, созданных за сегодня и откатегоризированных(!) по имени автора. Плюс, другой вид, содержащий все документы, отсортированные по дате/времени создания (понятие 'категоризация' в 'современных' СУБД отсутствует вообще, а ведь вещь эта очень логично вписывающаяся в понятие сортировки. почему ее нет у MS SQL - не известно, но вероятно скоро появится, как и многое другое уже появившееся). Теперь смотрите что получается: каждый сегодняшний документ будет для пользователя находится в двух различных видах-таблицах, представляя из себя две совершенно разные записи, показывающие возможно даже различную информацию (какая информация из каких полей документа должна показываться в каких колонках вида также программируется разработчиком). Но фактически, документ в базе-то один. Теперь, возвращаясь к оборванной репликации: вопрос перехода изменений при репликации в нашем кругу давно считался спорным: на уровне чего у Домино происходит репликация, на уровней полей или на уровне документов. Опытным путем (не прибегая к сказаниям Лотуса) достоверно установлено: единицей репликации у Домино является документ. Это означает, что изменения документа на другом конце появятся только тогда, когда там будет получен документ целиком. А коль уж его изменения были получены, то они отразяться во всех(!) таблицах базы данных Домино. После обрыва при следующей репликации будут докачаны те документы, которые не успели пройти до обрыва. Таким образом, смысл функции отката вообще теряется. В нем нет необходимости, система полностью самодостаточна при любом сбое.
Ну и последний серьезный минус, выделенный Автором: индексация. Совершенно справедливо замечено, что индексация в Домино - это отдельный процесс. Но точно также и полнотекстовая индексация - это отдельный процесс от обычной индексации. Кроме этого, каждый вид (см.выше) имеет собственный индекс, строящийся самостоятельно. Ни о какой потере документа при поиске речи быть просто не может. Главное - голова на плечах с нужным содержимым. Если Вы создали документ, который не попадает ни в один вид, да, согласен, Вы можете его потерять. Но я лично называю такую ситуацию ошибкой программирования, программист предоставил Вам возможность создать ошибочную ситуацию. Это не является системной потерей документа.
В данном случае наш Автор опять лукавит, смешивая воедино два различных процесса: он описывает ненахождение документа ПОЛНОТЕКСТОВЫМ поиском при недостройке полнотекстового индекса. Это совсем не означает потерю документа, это означает его отсутствие в таблице результатов выполненного запроса полнотекстового поиска. Во всех видах, где документ должен быть, он будет, при поиске пользователем документа по виду он будет найден.
К примеру, мы имеем неполный полнотекстовый индекс. К слову сказать, с этим я не спорю, такое возможно. Но настройки создания полнотекстового поиска - вещь отдельная от чего бы то ни было. Вы можете задать как обновление так и пересоздание, лимит размера и время - инструментарий довольно гибкий для того, чтоб избежать подобных огрех. Так вот, Вы открываете панель полнотекстового поиска, выполняете запрос
"Петров"AND"01.01.01" и ничего не находите. Варианты: а) открываете вид "по датам" и находите документ там, нажимая просто клавиши "01.01", б) на панели полнотекстового поиска нажимаете кнопку "обновить индекс" и выполняете запрос снова. К слову, такая ситуация возможна еще и тогда, когда документ был создан после последнего обновления полнотекстового индекса, например секунду назад. Но Автор вежливо умолчал, что все это также присуще всем другим системам, где используется поиск, подобный полнотекстовому в Домино (например, в MS Windows).
Теперь полнотекстовая индексация вложений. Здесь уж совсем просто. Автор абсолютно прав в том, что индексация вложений не производилась. Однако пару лет назад в настройках создания полнотекстового индекса появилась такая опция "индексация вложений". Плюс, чтоб совсем уж было хорошо, скажу, что в стандартной поставке клиента присутствует шаблон базы данных, который является хранилищем документов MS Office. Реализовано в нем все на уровне OLE и WinAPI, индексация всех документов проводится полная, контроль доступа и все прочие фишки Домино работают в полном объеме. О какой проблеме упоминается в статье, становится совсем непонятно.
Да, еще замечание о вложениях и их открытии: по умолчанию клиент настроен так, что двойным кликом на вложении в письме запускается приложение, связанное с данным типом вложения. Попросту, берется информация из привязок операционной системы. Кликнув правой кнопкой на вложении (открыв контекстное меню), Вы можете просмотреть вложение и встроенным вьювером Лотуса. Действие, выполняемое по умолчанию, описывается в настройках клиента Notes. Если Вы откроете вложение связанным приложением, измените его и просто нажмете 'Save', Вы действительно потеряете свои изменения, они не попадут во вложенный файл почтового сообщения. Связано с тем, что Ноутс сам перед открытием вложения создаст tmp-файл незаметно для Вас, куда и бухнутся все Ваши редакции. Но если вместо 'Save' Вы нажмете 'Save as..' то такого не случится, и сохранять предварительно вложение на винчестере совершенно не обязательно.
О скверной интеграции Домино со сторонними приложениями: есть такие вещи, как LDAP, DECS, которые не могут Вам позволить такое говорить. Создав базу по шаблону DECS, Вы сможете соединить любую свою лотусиную базу со сторонней (Oracle, SQL), правила описаны очень подробно в шаблоне. И в отличие от Oracle, Лотус за help денег не берет вообще никаких. Боитесь нового, используйте ODBC, WinAPI, XML. Это не редкость, когда приложение Домино создает отчеты в Экселевских таблицах, когда Коммерческое Предложение формируется из Доминошной базы клиентов в Вордовский документ. Все это возможно, доступно и не слишком сложно. Главное - глубина погружения :)
По поводу 'толстости' клиента, да, можно так сказать. Пятый клиент, не чищенный пол года, у меня занимает 200 Мб. Трафик можно подрегулировать настройками клиента. По умолчанию идут частые запросы, буржуи байты не считают.
А вот что касается дороговизны специалистов: себя я считаю специалистом, но найти работу хотя бы на $300 не могу. На $150 берут обома руками. Так скажите мне: это называть 'дороговизной' или 'врожденным чувством экономии' наших бизнесменов, 'жлобством' по народному? Для примера, Ява-разработчик у нас получает $400 на испытательный срок практически в любой конторе. Я бы описал эту ситуацию так: Лотус берут именно для того, чтоб экономить. SQL-сервер самый скромный по моему стоит около $7000 на 20 пользователей. А Домино-сервер приложений - $2000 и неограниченное кол-во пользователей. При этом кроме СУБД, Вы получаете полноценный почтовый сервер (не нравится Ноутсом почту с него выгребать, гребите Outlook, никто не запрещает, сам Майкрософт шлюз дает для полноты ощущений), полноценный вэб-сервер с кучей мониторингов и полным вэб-администрированием. Что еще нужно даже небольшой организации? Для большой это настоящее спасение. А не желаете покупать собственных специалистов, запросто можете стать на обслуживание примерно за $150 в месяц к конторе, которая и админа Вам заменит, и штат разработчиков.
А в остальном полностью согласен с Автором. Большое ему спасибо за то, что он таки реально заполняет информационный голод о Лотус Домино. Это сказано без сарказма или шуток, серьезно.
Последнее: есть сообщение, может кто не в курсе. Несколько месяцев назад вышла новая версия Lotus Domino, шестой релиз, уже под полным патронатом IBM. Продукт получился весьма серьезный, правда клиент стал еще толще :)

Обсуждение (всего 11 реплик, последняя - 16.05.2003 15:36)    Настройка

16.05.2003 15:36 Замечание по теме: Lotus Notes - миф и реальность
По поводу заработной платы.
Судя по адресу любимого Вами лотусовского сайта и проскакивающих украинизмов, можно предположить, что Вы уважаемый Г.А.В. имеете ПМЖ в Украине. А там зарплата в 300 баксов это знаете-ли очень даже ничего. Да и за 150 там очень еще поискать работу.
Уважаемый нами А.А. описывал расценки труда программистов в РФ и скорее всего в пределах московской кольцевой.>> >>

 
13.01.2003 13:27 Горобчишин Андрей Викторович Замечание по теме: Lotus Notes - миф и реальность

Да, согласен, перехожу.

>> >>

 
13.01.2003 12:58 Andrey Akopyantc Замечание по теме: Lotus Notes - миф и реальность
Предлагаю перейти в личную переписку. А то форум дюже распух, а это не всем интересно... Потом в форуме выложим "сухой остаток">> >>

 
13.01.2003 00:55 Горобчишин Андрей Викторович Замечание по теме: Lotus Notes - миф и реальность

У нас наблюдается явный прогресс, признаю.
1) Я решил задачу, которую Вы поставили, а не ту, которая подразумевалась. При решении любой задачи я стараюсь создать наипростейшее решение, которое будет и самым надежным. Но отступать от задания не в моей манере. Хотите усложнить задачу - я согласен. Только дайте точное описание того, что должно быть реализовано (не как). Иначе Вы снова на что-нибудь скажете, что это должно было быть, как само собой разумеещееся, а я упрощаю. Действительно, я придерживаюсь точки зрения, что Домино - система полнофункциональная. Еще раз повторю, что приведенно...>> >>

 

12.01.2003 20:15 Andrey Akopyantc Замечание по теме: Lotus Notes - миф и реальность
Андрей, вы не обижайтесь...

1) Я не выбрал единственно верный вариант. Я вам просто указываю на некоторые жизненные реалии - например, что подразделение сначала создается приказом, а потом уже туда нанимают сотрудников.

И что у подразделения (а тем более - у организации) есть свои СОБСТВЕННЫЕ атрибуты (полное/краткое название, код, начальник, телефоны, email, номер приказа о создании, и еще много чего), которые в вашей схеме хранения засунуть некуда, разве что дублировать их в каждом сотруднике, и что сотрудник может совмещать несколько должностей в разных подразделениях...

...>> >>

 
12.01.2003 14:08 Горобчишин Андрей Викторович Замечание по теме: Lotus Notes - миф и реальность

Приблизительно такой реакции я и опасался. Система естественно влияет, но не столько на мышление, сколько на реализацию задач в ней. В данном случае я вижу, что Вы выбрали для себя единственно верный вариант решения и никакие отклонения не возможны.
'Вы пытаетесь Предметную область, содержащую множество понятий, отобразить одним.' - не совсем так: я реализую их как единое целое, а вот отображаться они будут по привычному, как вещи отдельные, самостоятельные.
Можете мне нарисовать реалию, в которой в организации будет существовать подразделение без сотрудников? Штатная единица согласен...>> >>

 

12.01.2003 11:13 Andrey Akopyantc Замечание по теме: Lotus Notes - миф и реальность
Вот я примерно об этом и говорил. Используемая система влияет на стиль мышления. Вы пытаетесь Предметную область, содержащую множество понятий, отобразить одним.

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

Кроме того, Должности тоже могут жить без сотрудника. Есть такое понятие - Штатное расписание.>> >>

 

12.01.2003 03:44 Горобчишин Андрей Викторович Замечание по теме: Lotus Notes - миф и реальность

Во первЫх строках спасибо за мирное отношение, для меня это важно.
Во вторых, я теперь немного по другому понял, почему Вы считаете систему Домино не способной на подобный подвиг :). Попробую описать, как бы я сам решал подобную задачу.
Для начала один момент: я не являюсь специалистом никакой другой технологии (к собственному стыду) кроме Домино, по этому могу не знать о каких-то общепринятых понятиях или названиях, я буду оперировать терминами Домино.
Итак, мы создаем форму карточки сотрудника с необходимыми нам пунктами: Организация, Подразделение, ФИО, Должность, Ставка, Notes...>> >>

 

11.01.2003 17:51 Andrey Akopyantc Замечание по теме: Lotus Notes - миф и реальность
Давайте конкретно - о транзакциях...

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

В Лотусе изменение одного документа (записи) - транзакционно. Оно либо происходит, либо нет. Но согласованное изменение нескольких документов оформить как транзакцию нельзя (по крайней мере так было).

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

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

Но вот вам классический реляционный пример - фрагмент какдровой системы. Имеются подразделения, сотрудники, и факты занятия определенным сотрудником определенных должностей в определенных подразделениях на полную/частичную ставку с некоторым окладом. Да, и возможно совмещение, естественно...

Причем смотреть на это нужно как в разрезе сотрудников (где он сейчас работает на каих должностях и с каким окладом), так и в разрезе подразделений. А так же переводить людей из одного подразделения в другое, менять должность и оклады и др.?

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

Если вы сумеете меня переубедить - отлично, вам зачтется...>> >>

 

11.01.2003 13:50 Горобчишин Андрей Викторович Замечание по теме: Lotus Notes - миф и реальность

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

 

10.01.2003 20:30 Andrey Akopyantc Замечание по теме: Lotus Notes - миф и реальность
Проходит время и приходят новые бойцы...

Спасибо Андрею за поптыку объективного разбора. На самом деле он полностью (за исключением уже замеченных и впоследствие исправленных фактических ошибок) подтверждает мои впечатления.

Как о позиционировании системы, так и об ее ограничениях.

Он еще раз демонстрирует, что Лотусисты не понимают, зачем нужны транзакции и ссылочная целостность. И тем самым хорошо характеризует область применимости системы.

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

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

Говорят, кстати, что в 6-ке наконец сделали честные транзакции.>> >>

 



В начало страницы (C) Andrey Akopyants
Перепечатка авторских материалов сайта приветствуется! Ссылка на первоисточник при перепечатке обязательна.