Помощник
Здравствуйте, гость ( Вход | Регистрация )
|
|
29:11:2006, 10:56
|
|
Гуру ![]() ![]() ![]() Группа: Lotus team Сообщений: 318 Регистрация: 22:11:2006 Из: Минск Пользователь №: 7 965 Репутация: 1
|
Разрешите поделиться некоторыми впечатлениями на тему об идеологии и методах разработки в Лотусе. Тема очень обширная, так что будет удачей хотя бы пунктиром наметить основные соображения. Сразу хочется оговориться, что, несмотря на подзаголовок, хотелось бы не провоцировать споры, а лишь высказать собственную точку зрения и пригласить Вас поделиться своей.
Во-первых, складывается (давно сложилось) впечатление, что люди, приходя в Лотус из традиционной разработки (C, Pascal, etc.), подсознательно не желают отказываться от своих умений и привычек, сопротивляясь новой среде с непохожей идеологией. Благо Лотус предоставляет им нишу под названием Lotus Script. Честно скажу, что лучшего объяснения "засилью" скрипта не представляю. Доводы о мощи скрипта по сравнению с формулами и т.п. , хоть и верны, но не слишком убеждают. Почему же в таком случае не С++ и Notes API? Потому, что для каждой работы есть свой инструмент: на мух -- с мухобойкой, на медведя -- с ружьишком, ну a на танк уже с С++... Это рассуждение плавно подводит нас к вопросу о том, какой же инструмент есть в Лотусе и для какой же работы он (инструмент, да и сам Лотус) предназначен? А это уже вопрос второй, имеющий явственный схоластически-философский оттенок... Во-вторых, невооруженным глазом видно, как народ, воспитанный на классических языках программирования и впитавший сызмальства идею реляционной базы данных (Что, бывают другие!?), отчаянно пытается сделать на Лотусе то, и так, как он к тому привык и знает... Что греха таить, 10 лет назад, начиная работать с Лотусом (принимаю поздравления по поводу юбилея), около полугода переживал болезненный период ломки стереотипов и "врастания" в Лотус, его, в широком смысле слова, инструментарий и идеологию. С тех времен осталась формула "если это тяжело и никак не получается сделать -- это не Лотус". То есть, нужно искать "ассимметричный ответ", который легко решит вопрос другим образом, естественным для Лотуса. Это и есть (была) главная проблема: должно быть именно так, а иначе я не представляю и вообще, по-другому не бывает, потому, что не может быть никогда. Для признания существования этой проблемы нужны серьезные усилия. Лично мне помог такой случай: наряду с Лотусом, мы, как ярые новообращенные, поставили себе Lotus Suite взамен MS Office. Что тут началось! Даже не представлял, что редактирование текста может быть иным! Если Вы тоже "даже не представляете" -- попробуйте, не пожалеете. Именно то, что нужно для ломки стереотипов... В-третьих, мне очень понравилась фраза какого-то зарубежного разработчика "За что я люблю Лотус? Представьте, приходит ко мне пользователь и говорит, что ему нужно не так, а эдак... И стоит над душой, возле меня, сложив руки, смотрит, пока я ему это не сделаю!" Представьте и вы: в какой иной среде, для какого продукта такое возможно?! Лотус сам по себе -- сплошная RAD. И не даром Лотус говорит о методологии "протоциклирования". Кстати, раньше было гораздо интереснее документацию к новым релизам читать: всегда было там что нибудь "воспитательное" про идеологию, методологию, правильное применение... И не даром у Лотуса, если не устарели цифры, что помнятся, второе место в мире по установочной базе после MS Office. Лотус, он гораздо ближе к офису, чем к монолитному высокоспециализированному приложению, целиком наваянному на ЯВУ. Соответственно, и способы решения одной и той же задачи для Лотуса и такого приложения -- разные. Но, как упоминалось, многие программисты пытаются работать на Лотусе, стремясь получить то самое монолитное приложение с высокоспецифичными и тесными взаимосвязями внутри своего проекта. Не всегда это правильно. Наконец, авторы Лотуса сами говорят, что пользователи постоянно изобретают такие ему применения, какие им и в голову не приходили. Интересно, что все такие применения в своей реализации напоминают "шанхай": множество простых по дизайну баз с простыми, но обширными взаимосвязями, когда центр тяжести лежит не в изобретательной разработке конкретной базы с ее специфичным функционалом, а в реализации концепции простых, но множественных баз нацеленных на обеспечение сохранения разнородной информации, установлении базовых связей и обеспечения ее доступности. Вот. |
|
Сообщение
#1
|
|
![]() |
|
|
30:11:2006, 15:40
|
|
Гуру ![]() ![]() ![]() Группа: Lotus team Сообщений: 325 Регистрация: 16:05:2006 Пользователь №: 4 244 Репутация: 2
|
Теперь немного про "наболевшее"
1. Тот, кто жалуется на "нереляционность" и описывает ужасы лотуса, видимо, привык к транзакционной обработке данных некоторыми РСУБД вроде Oracle. А кто попробовал использовать реляционную базу без транзакций (что было распространено для MySQL), тот уже ни на что не жалуется. 2. О языках. Ну вот нету в LS каких-то возможностей. В формулах нету других, в JS - третьих... Их на то 5 языков и встроено, чтоб программеры утюгом гвозди не забивали. Уважаемые коллеги! изучайте разные языки - это облегчит жизнь, не говоря уж об украшении вашего резюме PS: я ничего не имею против Oracle или других РСУБД |
|
Сообщение
#31
|
|
|
|
30:11:2006, 15:48
|
|
Продвинутый ![]() ![]() Группа: Lotus team Сообщений: 214 Регистрация: 27:10:2006 Из: Киев Пользователь №: 7 417 Репутация: 8
|
Пожалуйста. с точки зрения по соотношению занимаемых должностей: Представление1: ФДолжность, ОргДолжность, ФИО, ФАтрибуты ........................................... Брррр. К чему тут мой ход? Вы сказали, что реляционные принципы справедливы и для Лотуса. Я несогласился (причём категорически). Попросил пример. Вы пытаетесь меня втянуть в придумывание примера Но если уж на то пошло, то в вашем примере для Лотуса всё будет совсем не так, как для реляционки. В общем, реляционный принцип "несколько" не подходит. И у меня такое чувство, что вы пытаетесь доказать, что Лотус хуже реляционки |
|
Сообщение
#32
|
|
|
|
30:11:2006, 15:58
|
|
Гуру ![]() ![]() ![]() Группа: Lotus team Сообщений: 325 Регистрация: 16:05:2006 Пользователь №: 4 244 Репутация: 2
|
Физическая модель базы данных в РСУБД 4 Таблицы: ФДолжности, ОДолжности, Сотрудники, Отношение MxN ФОСотрудники и SQL запросами разруливаем вывод на экран При удалении ФДолжности или Переименовании ничего прогать не нужно Я не хочу лезть поперед Михала в пекло и предлагать свой вариант приложения в лотусе. Хочу только уточнить - если должность реально переименовали , то что у человека в трудовой книжке будет написано? Отдел кадров предыдущее название замазкой замажет? или все-таки напишет "переведен с должности дворника на должность менеджера метлы"? И лотус это замечательно зафиксирует. PS: "Есть многое на свете, друг Горацио, что и не снилось нашим мудрецам..." |
|
Сообщение
#33
|
|
|
|
1:12:2006, 07:34
|
|
Гуру ![]() ![]() ![]() Группа: Lotus team Сообщений: 318 Регистрация: 22:11:2006 Из: Минск Пользователь №: 7 965 Репутация: 1
|
В нескольких последних ответах заметно повышенное внимание к нескольким особым аспектам разработки в Лотусе, что вызывает желание заменить ранее намеченный пунктир тонкой, но сплошной линией
Понравилась реплика госпожи Нефедовой о mySQL... Разрешите напомнить, что есть "реляционность": это всего лишь wrapper, оболочка, предоставляющая доступ к данным в терминах теории множеств, с использованием элегантных математически строгих операций этой теории. Поэтому те, кто привык к реляциям, на деле привык именно к упомянутой абстрактной модели данных. Как ни удивительно ( К чему это? Да просто до мощных, промышленных RDB, все базы данных программировались, как ИСАМы. А это совсем другая методология и другая абстрактная модель данных! И другой набор операций над данными. И, нужно сказать, ИСАМ требует больше труда и изобретательности, хотя, в принципе, его возможности шире. Нужно опредилить состав записей, наборы ключей, по которым они будут индексированы, т.е. без четкого уяснения семантических и формальных (синтаксических) взаимосвязей результат определенно будет плачевным. В отличие от реляций, где простая (может быть автоматизирована, спасибо мат. модели) процедура нормализации практически гарантирует качество реализации БД. Все понятно: низкоуровневое средство (ИСАМ) по определению мощнее, но требует для достижения мощного результата больше труда и мастерства, чем качественно реализованная высокоуровневая оболочка. (Другой пример: ассемблер по сравнению с языками высокого уровня). И вот: тот, кому приходилось писать базы данных на обычных языках в файловой системе с помощью разных, поддерживаемых на уровне ОС методов доступа к файлам (в т.ч. ИСАМ), тот уже вообще ни на что никогда не жалуется! Уважаемые, Лотус реализует ISAM-идеологию доступа к данным! Виды с категориями, отсортированные по первым нескольким столбцам, getDocumentByKey... Еще вопросы будут? Второе. В документации к современным Лотусам этого нет, но в старых релизах очень хорошо прописывалась идеология работы пользователя. Это сейчас Лотус начал постепенно сползать неизвестно куда, но и теперь его насквозь пронизывает идеология "Офиса". То есть предполагается, что пользователь так же свободно создает свои базы, формы, виды, как и работает с электронными таблицами! И совершенно естественно, что для рядового пользователя не предусмотрены мощные хитромудрые средства, которыми нашпигованы т.н. профессиональные движки СУБД. Наверное это обстоятельство является определяющим по отношению к функционалу, доступному разработчику, и хорошо характеризует модель БД, принятую в Лотусе. Наряду с этим, Лотус реализовал системные сервисы, которые можно-таки считать образцом для подражания иных СУБД. Например, "родные" RTF поля выглядят чужеродными и неорганичными в реляционках. А чего вы хотели? Они не укладываются в мат. модель! Другой пример -- Лотус первая в мире СУБД, реализовавшая технологию клиент-сервер. Ну и так далее. Словом, модель данных Лотуса простая, но низкоуровневая, а интерфейс пользователя и разработчика рассчитан на RAD режим эксплуатации, в стиле настольной автоматизации "своими руками", поэтому сравнительно беден и не удовлетворяет гуру, привыкшего месяцами "копаться" в навороченных "бэкэндах", совершая ему одному заметное шаманство. Как говорилось: "приходит пользователь и стоит над душой, пока я ему это не сделаю..." Но, Лотус в то же время работает на движке, который реализовывал и реализует потрясающие по силе и новаторству технологии, которые служат образцом в индустрии. Вот такая оценка ситуации. |
|
Сообщение
#34
|
|
|
|
1:12:2006, 08:32
|
|
Гуру ![]() ![]() ![]() Группа: Lotus team Сообщений: 325 Регистрация: 16:05:2006 Пользователь №: 4 244 Репутация: 2
|
Для: Fossil Code
Видно, что вы проанализировали множество различной информации. Не накидаете ли ссылочек в тему? Особенно по моделям данных. |
|
Сообщение
#35
|
|
|
|
1:12:2006, 08:49
|
|
Гуру ![]() ![]() ![]() Группа: Lotus team Сообщений: 318 Регистрация: 22:11:2006 Из: Минск Пользователь №: 7 965 Репутация: 1
|
Для: Fossil Code Видно, что вы проанализировали множество различной информации. Не накидаете ли ссылочек в тему? Особенно по моделям данных. Как ни жаль, ссылками помочь не смогу |
|
Сообщение
#36
|
|
|
|
1:12:2006, 09:13
|
|
Гуру ![]() ![]() ![]() Группа: Lotus team Сообщений: 289 Регистрация: 8:04:2004 Из: Минск Пользователь №: 394 Репутация: 1
|
Я не хочу лезть поперед Михала в пекло и предлагать свой вариант приложения в лотусе. Хочу только уточнить - если должность реально переименовали , то что у человека в трудовой книжке будет написано? Отдел кадров предыдущее название замазкой замажет? или все-таки напишет "переведен с должности дворника на должность менеджера метлы"? И лотус это замечательно зафиксирует. PS: "Есть многое на свете, друг Горацио, что и не снилось нашим мудрецам..." Это был лишь пример реляционного подхода, который необходимо будет прогать в Lotus с довольно большими затратами времени на разработку и тестирование. В данной конкретной задаче работа с Функциональной Должностью совсем не требует записи в трудовую, а нужна лишь в рабочих целях для разделения пересекающихся и часто меняющихся контуров ответственности. Что касается трудовой, то там фиксируется именно организационная должность (штатная), и данные операции действительно нужно будет где-то в доп таблицах истории перемещений сотрудника фиксировать и проблем в реализации на РСУБД нет совсем. Это лишь операция, которую нужно будет программить как в РСУБД, так и в Lotus (легче чуток)!!! Но с РСУБД появится возможность применения средств построения отчетов |
|
Сообщение
#37
|
|
|
|
1:12:2006, 09:28
|
|
Гуру ![]() ![]() ![]() Группа: Lotus team Сообщений: 325 Регистрация: 16:05:2006 Пользователь №: 4 244 Репутация: 2
|
Для: GROMILA
На самом деле каждый стремится разрабатывать на том, на чем умеет. А приходится - на чем имеет. Так что вопрос хуже/лучше - он тупиковый изначально. В любой среде минусы компенсируются плюсами. Иначе - кому нужна такая среда? Я вас уверяю, что реальных проблем при реализации приведенного примера в лотусе гораздо меньше, чем вы описываете |
|
Сообщение
#38
|
|
|
|
1:12:2006, 10:58
|
|
Гуру ![]() ![]() ![]() Группа: Lotus team Сообщений: 289 Регистрация: 8:04:2004 Из: Минск Пользователь №: 394 Репутация: 1
|
Я вас уверяю, что реальных проблем при реализации приведенного примера в лотусе гораздо меньше, чем вы описываете Вот все теряют нити почему-то. Я говорил не о проблемах, а о трудоемкости решения на Лотус довольно примитивных задач, которые в РСУБД решаются очень просто. И тот факт, что в Лотусе можно быстро состряпать форму и кинуть туда поле не есть преимущество, так как скорее всего форму, представления и код прийдется быстро, но постоянно переделывать и тестировать на бедных пользователях. Из моего опыта следует, что сделать надежную систему на C#+MSSQL будет гораздо быстрее, чем на Lotus!!!! и пусть не пугает работа со ссылками и графикой, все это решаемо!!! И если IBM не почешется в сторону GUI и языка запросов в предсталвениях, Lotus так и останется ископаемым животным, дожившим до наших дней с дореляционного периода развития баз данных. |
|
Сообщение
#39
|
|
|
|
1:12:2006, 11:01
|
|
очень злой модератор ![]() ![]() ![]() ![]() ![]() Группа: Lotus team Сообщений: 3 034 Регистрация: 7:08:2006 Из: Украина, Киев Пользователь №: 5 807 Репутация: 51
|
Цитата(GROMILA @ 1:12:2006, 12:58 ) Из моего опыта следует, что сделать надежную систему на C#+MSSQL будет гораздо быстрее, чем на Lotus!!!! и пусть не пугает работа со ссылками и графикой, все это решаемо!!! Надёжную систему чего ? может документооборота или деловодства? Цитата(GROMILA @ 1:12:2006, 12:58 ) Lotus так и останется ископаемым животным, дожившим до наших дней с дореляционного периода развития баз данных. брэд... он так и остаеться ископаемым Нет, имхо Лотус харош и исчо дого будет , так как многие задачи он делат луше других |
|
Сообщение
#40
|
|
|
|
1:12:2006, 11:36
|
|
Гуру ![]() ![]() ![]() Группа: Lotus team Сообщений: 289 Регистрация: 8:04:2004 Из: Минск Пользователь №: 394 Репутация: 1
|
Брррр. К чему тут мой ход? Ну Вы же требовали пример. Вот и пример, который отражает, что прийдется в Лотусе писать код, аналогичный старым триггерам обновлений, коорые уже поддерживаются автоматом в РСУБД. А если можете решить по-другому, то буду рад поучиться. И у меня такое чувство, что вы пытаетесь доказать, что Лотус хуже реляционки Еще как относится!!! Чел написал первое сообщение в откровенно пиарном стиле. Это мне напомнило хвалебные статьи Лотусу, которые я читал в интернете прежде, чем начать его использовать и влип. Причем хвалят косвенно, применяя речевые обороты и т.п. Вот почитает такое какой-нить новенький разработчик и подумает: авось привыкну, авось ломку пройду и будет мне счастье. Мне болше всего нравится откровенная фраза на одном из форумов по лотус (дословно не помню): "для тех, кто вынужден работать с этой корявкой, и кому нужна помощь" вот. |
|
Сообщение
#41
|
|
|
|
1:12:2006, 12:04
|
|
Продвинутый ![]() ![]() Группа: Lotus team Сообщений: 214 Регистрация: 27:10:2006 Из: Киев Пользователь №: 7 417 Репутация: 8
|
Цитата(GROMILA @ 1:12:2006, 13:36 ) Ну Вы же требовали пример. Вот и пример, который отражает, что прийдется в Лотусе писать код, аналогичный старым триггерам обновлений, коорые уже поддерживаются автоматом в РСУБД. А если можете решить по-другому, то буду рад поучиться. Да, мне придётся строить что-то вроде тригеров. Но при чём тут общий реляционный подход?! Ведь я не буду заниматья нормализацией данных. Сущности у мя будут СОВСЕМ другими. Да, я буду писать "синхронизатор" данных. Ну, в реляционке это можно повесить на тригер. Но где ОБЩИЙ подход я не вижу в упор. А теперь, раз уж на то пошло... Раз уж начинаем меряться этим самым... Простая задача. Сделать одбласть для приаттачивания файла. За сколько я это сделаю на лотусе. А на реляционке? Мало того, файл бы неплохо и назад получить Опять же сокрытие информации. На Лотусе это делается влёт и нашару. Через Ридерс/Авторс поля. А в реляционке? Та же репликация. В Лотусе она делается нараз и без дополнительных затрат. Пришёл на работу с ноутбуком, среплицировал базу на локал, пришёл домой, кнопки потыкал, вернулся на работу и среплицировал назад. И это влёт. Без дополнительных настроек и мУченья админов. Есть прекрасная аналогия. Молоток и отвёртка. Молотком можно одуренно забивать гвозди. Но вот вкручивать саморезы не выйдет. Хотя, конечно, молотком можно вбить саморез. Но держать он будет оч. шатко. А отвёрткой прекрасно вкручиваются саморезы! Но оч. плохо вбиваются гвозди. P.S. Может, вы просто не умеете на нём готовить, а? Может всё дело в том, что мыслите таблицами-запросами-транзакциями, а? |
|
Сообщение
#42
|
|
|
|
1:12:2006, 12:28
|
|
Гуру ![]() ![]() ![]() Группа: Lotus team Сообщений: 325 Регистрация: 16:05:2006 Пользователь №: 4 244 Репутация: 2
|
Для: GROMILA
Сочувствую, что не сложилось нормально разрабатывать в лотусе. Я работала с Oracle + MS Access, потому что такая пара была стандартом на старом месте работы Теперь работаю с Lotus, потому что это стандарт на новом месте. Ей-богу, принципиальная разница лишь в уровне владения программным средством! Кстати, из практики известно, что небольшая (не компьютерная) фирма не возьмет Oracle, даже если есть специалисты - она возьмет либо Access, либо MySQL. А вот если есть специалисты по лотусу, то может закупить лотус, так как это "не только ценный мех, но и 3-4 килограмма диетического мяса..." А теперь представьте, что фирма развивается... Вот то-то и оно-то! |
|
Сообщение
#43
|
|
|
|
1:12:2006, 12:33
|
|
Гуру ![]() ![]() ![]() Группа: Lotus team Сообщений: 289 Регистрация: 8:04:2004 Из: Минск Пользователь №: 394 Репутация: 1
|
Да ладно, браза, мы же одной крови
Я отдаю должное серверу Domino, репликации, почте и нотус-полям на формах Иначе вообще каюк мне был бы, и Lotus не был бы распространен именно как средненький (middleware) сервер Только вот именно этих возможностей совершенно не достатчно для организации ДО на крупном предприятии или предприятиях!!!! Нужно применять и РСУБД обязательно, если нет, то будет тяжело. Вот именно сейчас я и мучаюсь без РСУБД |
|
Сообщение
#44
|
|
|
|
1:12:2006, 12:41
|
|
очень злой модератор ![]() ![]() ![]() ![]() ![]() Группа: Lotus team Сообщений: 3 034 Регистрация: 7:08:2006 Из: Украина, Киев Пользователь №: 5 807 Репутация: 51
|
Для: GROMILA
Почему не достаточно для ДО? неправда, более чем.. вот для полной автоматизации предприятия, согласен , лотуса может не хватить, нужны будут РСУБД... но для ДО нормально, хватит. Старая моя раота железная дорога, стоит лотус... везде и в большом количестве ))) и великолепна ... ДО летает и только на лотусе. Другие задачи отдельно, на РСУБД |
|
Сообщение
#45
|
|
|
|
1:12:2006, 12:44
|
|
Гуру ![]() ![]() ![]() Группа: Lotus team Сообщений: 325 Регистрация: 16:05:2006 Пользователь №: 4 244 Репутация: 2
|
Для: GROMILA
Все равно не убедили. Вот один московский аэропорт (а может, и не один) живет на лотусе, а у них около 5000 пользователей, занимающихся самыми разными задачами, притом распределенные домены и проч. и проч... Есть банки - вся система межфилиальных платежей на лотусе, по всей стране! Да, они ругаются на писанные лотусистами системы. Но если б вы только слышали, каким матом ругаются на писанные ораклоидами!!! (не вру - сама много раз слышала |
|
Сообщение
#46
|
|
|
|
1:12:2006, 12:45
|
|
Продвинутый ![]() ![]() Группа: Lotus team Сообщений: 214 Регистрация: 27:10:2006 Из: Киев Пользователь №: 7 417 Репутация: 8
|
Для полной автоматизации предприятия Лотуса может не хватить. Да. Но! Для полной автоматизации предприятия и РСУБД может не хватить
А для ДО лотуса вполне хватит. Сообщение отредактировал Mihal - 1:12:2006, 12:47 |
|
Сообщение
#47
|
|
|
|
1:12:2006, 13:11
|
|
очень злой модератор ![]() ![]() ![]() ![]() ![]() Группа: Lotus team Сообщений: 3 034 Регистрация: 7:08:2006 Из: Украина, Киев Пользователь №: 5 807 Репутация: 51
|
|
|
Сообщение
#48
|
|
|
|
1:12:2006, 13:16
|
|
Гуру ![]() ![]() ![]() Группа: Lotus team Сообщений: 325 Регистрация: 16:05:2006 Пользователь №: 4 244 Репутация: 2
|
Для: Morpheus |