Разработка в Lotus (очень старая тема)

  • Автор темы Fossil Code
  • Дата начала
Статус
Закрыто для дальнейших ответов.
K

K-Fire

<!--QuoteBegin-Mihal+8:02:2007, 15:29 -->
<span class="vbquote">(Mihal @ 8:02:2007, 15:29 )</span><!--QuoteEBegin-->1. В чём Вы измиряете производительность БД?[/quote]
Вот уж не думал что этот момент даже требует ответа. Встречный вопрос: Mihal, вы работали с базами в которых больше 200 тыс документов, в которых множество аттачментов, и в которых несколько десятков вьюх по этим документам? Такая база тормозит просто сама по себе, вне зависимости от того сколько пользователей одновременно работают с ней. Для современных условий это неприемлимо.

<!--QuoteBegin-Mihal+8:02:2007, 15:29 -->
<span class="vbquote">(Mihal @ 8:02:2007, 15:29 )</span><!--QuoteEBegin-->2. Откуда у Вас статистика о способах использования Лотуса? Я поверить не могу, что данные о подавляющем использовании Лотуса во всём мире только как почты взяты от фонаря.[/quote]
Да, статистика взята почти от фонаря. На основании поиска вакансий за рубежом. Лотус-программистов требуется очень мало, единицы. Плюс кол-во коммерческих приложений под лотус - исчезающе мало.

<!--QuoteBegin-Mihal+8:02:2007, 15:29 -->
<span class="vbquote">(Mihal @ 8:02:2007, 15:29 )</span><!--QuoteEBegin-->3. Интиресно, как вообще бедность GUI может быть связана с обратной совместимостью? Думал-думал... Не придумал...[/quote]
Прямой связи нет. Но мы используем самописный active-x компонент для эмуляции таблицы(редактируемой) в документе. Или попробуйте что-нибудь нарисовать в документе?

<!--QuoteBegin-Mihal+8:02:2007, 15:29 -->
<span class="vbquote">(Mihal @ 8:02:2007, 15:29 )</span><!--QuoteEBegin-->4. Какие существуют критерии "нормальности" средств работы с XML и Web (ну, в вашем понимании)?[/quote]
Тоже не думал, что потребуется ответ. Вы с XML-классами в 6ке пробовали работать? Пробовали запустить примеры из хелпа, выгрузки дизайна и загрузки потом его обратно? Это я к тому что официально(стандартными средствами) XML в лотусе использовать нельзя, приходится извращатся.
С вебом: вы наверняка смотрели html-код который генерит лотус по умолчанию? Это какой то кошмар! Все нормальные, качественные реализации веб-интерфейсов что я видел под лотусом генерят html сами, а это значит что проще поставить апач и работать с ним, чем с лотусом :)

<!--QuoteBegin-Mihal+8:02:2007, 15:29 -->
<span class="vbquote">(Mihal @ 8:02:2007, 15:29 )</span><!--QuoteEBegin-->Да, кстати, а в чём заключается устаревание парадигмы? Я чегой-то думал, что парадигма бывает либо подходящей под определённую задачу, либо нет. Но устаревшей... Как это?
[snapback]55465" rel="nofollow" target="_blank[/snapback]​
[/quote]

Вот с этим вопросом согласен, я написал кратко, "на эмоциях" :), не обосновывал, и вероятно употребил некорректный термин "парадигма".

Попробую написать, но тоже кратко:
Какова, на мой взгляд, парадигма лотуса как средства разработки: отсутствие ограничений на схему данных, плюс возможность работы клиента в отрыве от сервера.
Когда написал, понял что парадигма тут не причем. Причем - реализация этой парадигмы, прошу у всех прощения за дезу :)
Сама парадигма имеет право на жизнь, хотя и 2я часть при развитии современных средств связи уже не так существенна.

Эта парадигма реализована с помощью использования следующих вещей:
1) своей не-реляционной СУБД
2) "промежуточного слоя" для клиентских мест (клиент лотуса)
3) механизма репликации
4) поддержка вычислений как на клиенте так и на сервере.

И вот реализация этого уже безнадежно устарела. СУБД медленная до жути, клиентское место не развивается почти. Репликация часто глючит, реплицировать дизайн вообще страшно. Изменилось одно поле в документе - лотус тупо реплицирует весь документ.
Про вычисления отдельный вопрос - в лотусе 2х уровневая схема реализована View-Data, от этой схемы еще 10 лет назад все отошли. Использование то формул, то скрипта, то жабаскрипта вообще дает простор для всевозможных глюков. Использование внешних компонент (например active-x) в формах - невозможно почти, всё глючит.

Да что говорить, в лотусе уже 10 лет нет нормального дебаггера! это вообще позорище ужасное.


<!--QuoteBegin-nor+8:02:2007, 20:48 -->
<span class="vbquote">(nor @ 8:02:2007, 20:48 )</span><!--QuoteEBegin-->1. А какая "ПАРАГДИМА" актуальна на 2007 год? Можно поподробнее?
2. Сравнение производительности nsf относительно каких критерикв проводилось? И кем?
3. Lotus не предназначен для работы в web. Это его не первоочередная задача как продукта, а дополнительная возможность, расширяющая возможности продукта. Для работы в web IBM позицинирует другие продукты.
4. Каких элементов GUI конкретно критически не хватает?
[snapback]55501" rel="nofollow" target="_blank[/snapback]​
[/quote]

1. Парадигма web-приложений, включая XML-данные, схема MVC как минимум, наличие динамических вью и запросов. Прошу не сердится если мое понимание слова парадигма отличается от вашего.
2. Жизнью проводилась, сорри за такой ответ :)
3. Правильно, не предназначен, но если есть средства - хотя бы работали бы нормально.
4. Таблиц, нормальных гуевых компонент, которые например в дельфи стандартом являются, например нормальный едит-бокс для чисел, в которые нельзя ввести буквы.

А да, еще 1 момент: я не понимаю почему в лотусе так и не был реализована подсистема воркфлоу, раз уж он позиционируется как система для документооборота. Вместо этого мы используем кривущий и тормозной LWF.
 
E

Elena Nefedova

<!--QuoteBegin-LuMee+8:02:2007, 23:41 -->
<span class="vbquote">(LuMee @ 8:02:2007, 23:41 )</span><!--QuoteEBegin-->Встроенные вью, которые использую вместо них, конечно по-своему хороши, но уж больно у них много ограничений (даже нельзя узнать, какой документ выбрал юзер)
[snapback]55513" rel="nofollow" target="_blank[/snapback]​
[/quote]Ну не то чтобы совсем уж нельзя :) просто решение в глаза не бросается
<!--QuoteBegin-LuMee+8:02:2007, 23:41 -->
<span class="vbquote">(LuMee @ 8:02:2007, 23:41 )</span><!--QuoteEBegin-->взять и расширить границы применения той же Java
[snapback]55513" rel="nofollow" target="_blank[/snapback]​
[/quote]А вот с этим соглашусь.
Хотя... ЭХ - не все есть даже в Java
<!--QuoteBegin-LuMee+8:02:2007, 23:41 -->
<span class="vbquote">(LuMee @ 8:02:2007, 23:41 )</span><!--QuoteEBegin-->просто мне с релизом (R5 чего-то там) не повезло
[snapback]55513" rel="nofollow" target="_blank[/snapback]​
[/quote]Не то, чтобы не повезло, но... это примерно как устаревшая версия Java для профессиональных разработчиков на Java :)
 
K

K-Fire

<!--QuoteBegin-Mihal+9:02:2007, 11:11 -->
<span class="vbquote">(Mihal @ 9:02:2007, 11:11 )</span><!--QuoteEBegin-->Будет медленее. И про удобство я бы поспорил
[snapback]55562" rel="nofollow" target="_blank[/snapback]​
[/quote]

Обоснуйте!

Что бы вы хотели бы выбрать:

Лотусскрипт, транслируемый в свой байт-код, либо Java транслируемая в свой байт-код?
Лотусскрипт с недоразвитой ООП, либо Java?
Лотусскрипт, расширять который можно с кривуще рабоющем LSX (поэтому никто этим не занимается), либо Java с тысячами free-библиотек, реализующие почти любую функциональность?


<!--QuoteBegin-Elena Nefedova+9:02:2007, 11:21 -->
<span class="vbquote">(Elena Nefedova @ 9:02:2007, 11:21 )</span><!--QuoteEBegin-->Не то, чтобы не повезло, но... это примерно как устаревшая версия Java для профессиональных разработчиков на Java
[snapback]55565" rel="nofollow" target="_blank[/snapback]​
[/quote]

Багов в 6ке не меньше чем в 5ке :) А какие новые средства, которых вам нехватало вы нашли в 6ке(7ке) которых нет в 5ке? Это я просто спрашиваю, вне контекста какого-либо спора, может быть вы натолкнете на что-то полезное.
 

Wanderstep

Lotus Team
23.03.2006
493
66
BIT
26
<!--QuoteBegin-K-Fire+9:02:2007, 12:17 -->
<span class="vbquote">(K-Fire @ 9:02:2007, 12:17 )</span><!--QuoteEBegin-->Да, статистика взята почти от фонаря. На основании поиска вакансий за рубежом. Лотус-программистов требуется очень мало, единицы. Плюс кол-во коммерческих приложений под лотус - исчезающе мало.
[snapback]55563" rel="nofollow" target="_blank[/snapback]​
[/quote]
Интересные выводы сделаны. А обширная практика аутсорсинга в информационных системах на Западе не берется в расчет? Зачем компании заводить дорогостоящего гуру-программиста, когда можно воспользоваться услугами аутсорсинговых компаний только лишь тогда, когда это тебе потребуется? Если в России у нас в эту сторону только начинают смотреть, то на Западе - это широкораспространенная практика.
 
K

K-Fire

<!--QuoteBegin-Wanderer+9:02:2007, 11:30 -->
<span class="vbquote">(Wanderer @ 9:02:2007, 11:30 )</span><!--QuoteEBegin-->Интересные выводы сделаны. А обширная практика аутсорсинга в информационных системах на Западе не берется в расчет? Зачем компании заводить дорогостоящего гуру-программиста, когда можно воспользоваться услугами аутсорсинговых компаний только лишь тогда, когда это тебе потребуется? Если в России у нас в эту сторону только начинают смотреть, то на Западе - это широкораспространенная практика.
[snapback]55570" rel="nofollow" target="_blank[/snapback]​
[/quote]

Как вы думаете, чем я занимаюсь в своей конторе? Именно этим :)
А для аутсорсинговых компаний специалисты разве не нужны?
Вообще согласен, выводы могут быть спорными, но практика (моя лично) к сожалению подтверждает эти выводы. Вакансий лотус администраторов кстати в разы больше.
 
E

Elena Nefedova

<!--QuoteBegin-K-Fire+9:02:2007, 12:25 -->
<span class="vbquote">(K-Fire @ 9:02:2007, 12:25 )</span><!--QuoteEBegin-->А какие новые средства, которых вам нехватало вы нашли в 6ке(7ке) которых нет в 5ке?
[snapback]55566" rel="nofollow" target="_blank[/snapback]​
[/quote]Из семерки больше всего понравились Shared Columns - ужасно не хватало их, начиная с 5-ки, когда я впервые увидела лотус
Из шестерки - возможность работать с классами Java из LS; применяю крайне редко, но ООООчень помогает
Опять же - во вьюшках можно данные вводить и редактировать.

Вообще, вы не расстраивайтесь - просто по идеологии реляционных баз написаны тома. А вот по идеологии лотуса..... только хелп и редбуки.

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

Ну а что касается производительности... я просто не стану использовать лотус для ввода 2-3 миллионов документов ежедневно. Не отверткой это делается (см. другие темы форума :) )


<!--QuoteBegin-K-Fire+9:02:2007, 12:44 -->
<span class="vbquote">(K-Fire @ 9:02:2007, 12:44 )</span><!--QuoteEBegin-->Вакансий лотус администраторов кстати в разы больше.
[snapback]55571" rel="nofollow" target="_blank[/snapback]​
[/quote]Ага, больше! Только когда вы на собеседование придете, то убедитесь, что вам там не только администрированием придется заниматься, а еще шить и вязать, и на дудке играть...
 
K

Kee_Keekkenen

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

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

на скрипте получается большой код, на джаве очень короткий..

хотелось бы узнать о ваших результатах какой язык это быстрее обрабатывает, и где на клиенте и на сервере ??
 
M

Mihal

Вот уж не думал что этот момент даже требует ответа. Встречный вопрос: Mihal, вы работали с базами в которых больше 200 тыс документов, в которых множество аттачментов, и в которых несколько десятков вьюх по этим документам? Такая база тормозит просто сама по себе, вне зависимости от того сколько пользователей одновременно работают с ней. Для современных условий это неприемлимо.
В моей практике был случай когда база тышком-нышком разрослась до 64 Гиг. В ней были именно аттачи. Мало того, вся эта байда реплицировалась по всей Украине в обе стороны селективными репликациями. Разрослась она совершенно незаметно. Админу был сурпрыз.

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

Прямой связи нет. Но мы используем самописный active-x компонент для эмуляции таблицы(редактируемой) в документе. Или попробуйте что-нибудь нарисовать в документе?
Да, это несколько неудобно. Но при чём тут обратная совместимость? "Бедность" ГУИ, скорее, следтствие многоплатформености. А с редактируемыми таблицами. в основном, разбирался с помощью встроеных вьюх. И намана. Хотя напряжно иногда.

Тоже не думал, что потребуется ответ. Вы с XML-классами в 6ке пробовали работать? Пробовали запустить примеры из хелпа, выгрузки дизайна и загрузки потом его обратно? Это я к тому что официально(стандартными средствами) XML в лотусе использовать нельзя, приходится извращатся.

Пробовал, не поверите. Но DXL и XML не совсем одно и то же. А именно XML (импорт-экспорт данных) обрабатывал нормально.

С вебом: вы наверняка смотрели html-код который генерит лотус по умолчанию?

Это какой то кошмар! Все нормальные, качественные реализации веб-интерфейсов что я видел под лотусом генерят html сами, а это значит что проще поставить апач и работать с ним, чем с лотусом :)
Ну, любое средство, генерящее HTML "автоматом" на выходе даёт не совсем красивый код. Тем же PHP вы будете делать то же самое. Рисовать вручную и в нужные места вставлять данные из базы. В чём принципиальное отличие? В чём "плохость" лотуса? Вопрос тут в другом. А нафига смотреть исходный код?:blink: Что вы там найти хотите? Борьба за лишние килобайты-мегабайты? При нынешних каналах связи и расценках за инет?

Вот с этим вопросом согласен, я написал кратко, "на эмоциях" :), не обосновывал, и вероятно употребил некорректный термин "парадигма".

Попробую написать, но тоже кратко:
Какова, на мой взгляд, парадигма лотуса как средства разработки: отсутствие ограничений на схему данных, плюс возможность работы клиента в отрыве от сервера.
Когда написал, понял что парадигма тут не причем. Причем - реализация этой парадигмы, прошу у всех прощения за дезу :)
Сама парадигма имеет право на жизнь, хотя и 2я часть при развитии современных средств связи уже не так существенна.

Эта парадигма реализована с помощью использования следующих вещей:
1) своей не-реляционной СУБД
2) "промежуточного слоя" для клиентских мест (клиент лотуса)
3) механизма репликации
4) поддержка вычислений как на клиенте так и на сервере.

И вот реализация этого уже безнадежно устарела. СУБД медленная до жути, клиентское место не развивается почти. Репликация часто глючит, реплицировать дизайн вообще страшно. Изменилось одно поле в документе - лотус тупо реплицирует весь документ.
Про вычисления отдельный вопрос - в лотусе 2х уровневая схема реализована View-Data, от этой схемы еще 10 лет назад все отошли. Использование то формул, то скрипта, то жабаскрипта вообще дает простор для всевозможных глюков. Использование внешних компонент (например active-x) в формах - невозможно почти, всё глючит.

Да что говорить, в лотусе уже 10 лет нет нормального дебаггера! это вообще позорище ужасное.
1. Парадигма web-приложений, включая XML-данные, схема MVC как минимум, наличие динамических вью и запросов. Прошу не сердится если мое понимание слова парадигма отличается от вашего.
2. Жизнью проводилась, сорри за такой ответ :)
3. Правильно, не предназначен, но если есть средства - хотя бы работали бы нормально.
4. Таблиц, нормальных гуевых компонент, которые например в дельфи стандартом являются, например нормальный едит-бокс для чисел, в которые нельзя ввести буквы.

А да, еще 1 момент: я не понимаю почему в лотусе так и не был реализована подсистема воркфлоу, раз уж он позиционируется как система для документооборота. Вместо этого мы используем кривущий и тормозной LWF.

Эээ... А почему-то думал, что в лотусе реплецирование идёт на уровне полей, а не документов. Хмммм... Чёта я не понял про скрипт, яваскрипт, формулы и просторами для глюков. Где связь? Я, например, яваскрипт в лотус-клиенте не использую. Использование формул и скриптов разграничено. Глюки вылазят обычные, как у всех :). Мутантов не замечал. Всё остальное тоже не совсем корректно.

P.S. И как лотус живёт? Как он продаётся, главное? Не, нада пойти и переквалифицироваться в кого-нить другого и сжечь сертификаты по лотусу. Пойти, что ль, заявление написать...
 
M

Mihal

Обоснуйте!

Что бы вы хотели бы выбрать:

Лотусскрипт, транслируемый в свой байт-код, либо Java транслируемая в свой байт-код?
Лотусскрипт с недоразвитой ООП, либо Java?
Лотусскрипт, расширять который можно с кривуще рабоющем LSX (поэтому никто этим не занимается), либо Java с тысячами free-библиотек, реализующие почти любую функциональность?
-----------------------------------------------------------------------------------------------------------
Для лотуса я предпочитаю "рисовать" агенты лотус-скриптом, а не явой. Вот не знаю почему. Сам удивляюсь! :rolleyes: А Вы?
 
K

K-Fire

<!--QuoteBegin-Mihal+9:02:2007, 11:59 -->
<span class="vbquote">(Mihal @ 9:02:2007, 11:59 )</span><!--QuoteEBegin-->P.S. И как лотус живёт? Как он продаётся, главное? Не, нада пойти и переквалифицироваться в кого-нить другого и сжечь сертификаты по лотусу. Пойти, что ль, заявление написать...
[snapback]55583" rel="nofollow" target="_blank[/snapback]​
[/quote]

Мои уже 5 лет валяются в шкафу дома, и никому они не нужны :rolleyes:
Насчет переквалификации вы зря иронизируете, лет через 5 всем нам придется это делать. Если конечно вы не хотите всю оставшуюся жизнь работать в одной конторе на поддержке лотус-решений :)
 
M

Mihal

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

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

на скрипте получается большой код, на джаве очень короткий..

хотелось бы узнать о ваших результатах какой язык это быстрее обрабатывает, и где на клиенте и на сервере ??

О моих результатах обработки этой задачи? :rolleyes: Вот щас всё брошу и начну кода писать. И с секундомером засекать. Вы эта, кода выложите. А мы посмотрим. Ведь скорость зависит не только от поставленой задачи, но и от способа решения ;).

Мои уже 5 лет валяются в шкафу дома, и никому они не нужны :)
Насчет переквалификации вы зря иронизируете, лет через 5 всем нам придется это делать. Если конечно вы не хотите всю оставшуюся жизнь работать в одной конторе на поддержке лотус-решений :)

Ну, не знаю. У мя объёмы разработок тока растут. И новые релизы Лотуса клепаются регулярно. Вон, Гановер на подходе.

А Вы, я так понимаю, все свои выводы строите на 5-ке?
 
K

K-Fire

<!--QuoteBegin-Mihal+9:02:2007, 12:28 -->
<span class="vbquote">(Mihal @ 9:02:2007, 12:28 )</span><!--QuoteEBegin-->А Вы, я так понимаю, все свои выводы строите на 5-ке?
[snapback]55593" rel="nofollow" target="_blank[/snapback]​
[/quote]

Не имеет значения на какой версии делать выводы :rolleyes: 5ка, 6ка и 7ка не имеют значительных отличий.

<!--QuoteBegin-Mihal+9:02:2007, 12:28 -->
<span class="vbquote">(Mihal @ 9:02:2007, 12:28 )</span><!--QuoteEBegin-->Вон, Гановер на подходе
[snapback]55593" rel="nofollow" target="_blank[/snapback]​
[/quote]

Да, очень хочется уже пощупать эту версию. Очень надеюсь что там будет хоть что-то новое.
 
F

Fossil Code

Так-так-так! Придется для начала высказываться краткими репликами.

Для K-Fire: Первое, о чем сразу захотелось попросить, -- это показать хоть одну _современную_ парадигму, которая бы продержалась _хотя-бы_ 15 лет! :rolleyes:

Для Wanderer: Ну совсем недавно прочел, что на западе набирает силу обратная волна -- компании начинают набирать айтишников, чтобы уйти от зависимости от аутсорсеров.

Для Lu Mee: У меня 5-рка тоже работала весьма неустойчиво. Не сервер, связка клиент-дизайнер. Но на 5,0,11 стало полегче. Это, если не ошибаюсь, был один из ключевых релизов.

И повторюсь, меня не оставляет впечатление, что от Лотуса хотят (и делают на нем) не вполне то и не вполне так, как предполагает сам продукт и его "парадигма". Ну неудобно шлицевой отверткой крестовой винт закручивать!

Попробую привести пример. Почему, например, к МС Офису нет никаких претензий? Там тоже встроенный бейсик, там ОО, там тоже интерфейс к С и ОС. Почему офис всех устраивает, и никто не поносит его за отсутствие возможностей ГУИевого программирования? И за быстродействие? Правильно, продуктом пользуются по назначению...

Считаю, что Лотус изначально продукт _офисного_ класса. Причем, главным образом, на уровне программируемого текстового редактора. Почитайте историю Лотуса, чтобы в том убедится. И оцените, сколько сервиса наворочено вокруг _документа_, созданного в этом продукте. И сравните, с МС Офисом. Так вот, по-моему, Лотус так и следует воспринимать и использовать: как набор сервисов для документов. А здесь такие горизонты...

Естественно, в лотусе есть классические элементы и БД и терминологии БД. Но именно классические. Но лотус -- не СУБД общего назначения! Он использует собственные БД для хранения собственных докумнтов. Представьте себе, как нужная Вам задача решалась _до компьютеров_, при помощи бумажных документов, процедур регистрации, подшивки, поиска в архивах и т.п. И убедитесь, что это один-в-один, и очень легко ложится на Лотус.

Если же Вам нужно (или просто привычно) работать не с документами, а с _информацией_, которая из документов может быть извлечена, и, к тому же, писать пользовательские приложения с произвольным интерфейсом, для манипуляции этой _информацией_, то меняйте Лотус на РДБ, пересматривайте свои привычки, но сам Лотус -- абсолютно ни в чем не повинен и не дефектен!

Кто-то может сказать, что это -- максимализм. Верно, точка зрения намеренно заострена для выражения в ходе полемики. Но собственный опыт работы с Лотусом (10 лет), а до того опыт прикладного и системного программирования (~15 лет) меня абсолютно убедил в том, что если что-то не получается, то в 95% случаев это собственная вина разработчика-программиста. Будь то недостаток знаний, внимания и понимания, или избыток описок в коде, ошибок в алгоритмах, провалов в концепциях и постановках.
 
K

K-Fire

<!--QuoteBegin-Fossil Code+9:02:2007, 12:38 -->
<span class="vbquote">(Fossil Code @ 9:02:2007, 12:38 )</span><!--QuoteEBegin-->Для K-Fire: Первое, о чем сразу захотелось попросить, -- это показать хоть одну _современную_ парадигму, которая бы продержалась _хотя-бы_ 15 лет!
[snapback]55595" rel="nofollow" target="_blank[/snapback]​
[/quote]

Клиент-сервер + РСУБД :rolleyes:

<!--QuoteBegin-Fossil Code+9:02:2007, 12:38 -->
<span class="vbquote">(Fossil Code @ 9:02:2007, 12:38 )</span><!--QuoteEBegin-->Считаю, что Лотус изначально продукт _офисного_ класса. Причем, главным образом, на уровне программируемого текстового редактора. Почитайте историю Лотуса, чтобы в том убедится. И оцените, сколько сервиса наворочено вокруг _документа_, созданного в этом продукте. И сравните, с МС Офисом. Так вот, по-моему, Лотус так и следует воспринимать и использовать: как набор сервисов для документов. А здесь такие горизонты...
[snapback]55595" rel="nofollow" target="_blank[/snapback]​
[/quote]

А какие горизонты? С Оффисом он работает только через OLE. Интеграция лотусовых данных с внешними какими-то решениями - не знаю удачных примеров реализации. Т.е. почти что вещь в себе.

Тут подумал, может быть действительно перестать предлагать лотус как middleware решение, а исключительно как хранилище документов. Только боюсь что клиенты скажут: а у нас же есть Оффис, зачем нам лотус?
 
F

Fossil Code

Клиент-сервер + РСУБД :rolleyes:

Ой, не смешите! Если не врет тот же IBM, то Лотус был _первой_ коммерческой системой, реализовавшей технологию клиент-сервер! Концепция РСУБД, если не подводит общая эрудиция, появилась несколько позже Лотуса, но это не принципиально, важно то, что эти обе концепции суть старые, но не утратили своего значения до сих пор. А я спрашивал именно про новые парадигмы.

А какие горизонты? С Оффисом он работает только через OLE. Интеграция лотусовых данных с внешними какими-то решениями - не знаю удачных примеров реализации. Т.е. почти что вещь в себе.

А что, Лотус должен работать с МС Офисом как-то иначе? См. Лотус SmartSuite для тесной и легкой интеграции.

Очень точно сказано: вещь в себе. С рядом интерфейсов к окружающему миру. А насчет горизонтов -- прошу прощения за двусмысленное высказывание, имел в виду следующее:

А) Существует масса задач, эффективно решаемых при помощи Лотуса и его сервисов. Весь фокус в том, что задачи простые, решаются на "раз", но они очень важные для заказчика...

Б) Те кто не очень доволен Лотусом, требуют наличия "широких горизонтов", которых не находят в этой "вещи в себе". Лично я предпочитаю макетировать, а не программировать, писать формулы, а не скрипты, писать скрипты, а не примочки на С и т.п.... Так примерно.

Словом, выбирайте, что больше нравится.

Тут подумал, может быть действительно перестать предлагать лотус как middleware решение, а исключительно как хранилище документов. Только боюсь что клиенты скажут: а у нас же есть Оффис, зачем нам лотус?

А ведь верно: Лотус это никакое не middleware. Это самостоятельный продукт с массой сервисов, представляющий собою распределенную среду, которую можно населять лотусовыми приложениями с возможным интерфейсом к стандартному вебу, почте, РДБ.

И всего этого Офису и не снилось, а уж хранить документы в Офисе можно только на уровне файловой системы... И клиент ничего не скажет, если решать для него задачи, решаемые в Лотусе, но не решаемые в Офисе. Я ведь о парадигмах...
 
K

Kee_Keekkenen

Mihal, вот код джавы, интересно узнать твое мнение по поводу его оптимизации
Код:
import lotus.domino.*;
import java.util.*;

public class JavaAgent extends AgentBase {
Database DB;
DocumentCollection coll;
String query, objectName;
String[]params = new String[1];
Vector responce = new Vector();

public void NotesMain() {

try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
DB = agentContext.getCurrentDatabase();

// параметры: 
params = getParams(DB, params.length);
if (params != null){				
query = params[0];			// формула отбора			
objectName = params[1];		// поле, по которому строится отбор					

if (query != ""){
try {
coll = DB.search(query);//коллекция по формуле отбора				
if (coll.getCount() > 0){							
// получить сортированный массив соответствий запросу							
responce = getSortedData(coll,objectName);
if (responce != null){
//занести массив в поле документа
setData(DB,responce);								
}							
}	
}catch(Exception e) {
e.printStackTrace();
}
}
}				
} catch(Exception e) {
e.printStackTrace();
}
};

// занести Vector-массив в поле документа
void setData(Database db, Vector v){
try {			
Document doc = db.createDocument();			
doc.replaceItemValue("Form", "Formula");			 
doc.replaceItemValue("Responce", v);			
doc.save();												
}catch(Exception e) {
e.printStackTrace();			
}	
}

// получить сортированный Vector-массив соответствий запросу
Vector getSortedData(DocumentCollection coll, String objectName){		
Document doc;
Vector resp = new Vector();				 
String objectValue;			
try { 
doc = coll.getFirstDocument();
while (doc != null){
objectValue = doc.getItemValueString(objectName);
if (resp.contains(objectValue)== false )
resp.add(objectValue);							
doc = coll.getNextDocument(doc);					
}	 
Collections.sort(resp);				
}catch(Exception e) {
e.printStackTrace();			
}	
return resp;
}

// получение параметров
String[] getParams(Database db, int dim){
String[] p = new String[dim+1];		 
try {
Document profile = db.getProfileDocument("Formula", null);
if (profile.hasItem("Formula")){
p[0] = profile.getItemValueString("Formula");
p[1] = profile.getItemValueString("FieldName");	
profile = null;
return p;					
}
else
return null;									
}catch(Exception e) {
e.printStackTrace();
return null;
}		
}
};
 
K

K-Fire

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

Это меня печалит очень сильно. Я недавно спросил коллегу, который на J2EE-технологиях сидит, спрашиваю: а вот есть у вас это, а есть то? Он мне говорит: есть и это, если и то. Простые и бесплатные библиотеки, легко интегрируются. Так что скоро может оказаться так: мне надо написать приложение для которого я бы взял лотус как 100% подходящее решение. Но я использую совсем другие технологии, потому что они дешевле, быстрее и надежнее. А IBM в своем роадмапе ясно сказал - лотус после Ганновера будет лишь подсистемой для Websphere. Может конечно передумают...
 
F

Fossil Code

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


Вот почитал и возник вопрос: а полнотекстовый поиск чем-то не устраивает? Быстрее, чем он вряд-ли найдется метод. А доступ к нему -- хотите из стандартного ГУИ, хотите, из скрипта или той же Явы.
 
K

K-Fire

<!--QuoteBegin-Fossil Code+9:02:2007, 14:04 -->
<span class="vbquote">(Fossil Code @ 9:02:2007, 14:04 )</span><!--QuoteEBegin-->Для Kee_Keekkonen:
Цитата по поводу медленнее.. попробуйте написать код на скрипте и джаве, который бы делал следующее:
по ключевому совершал бы поиск вхождений этого слова только в одном поле по документам определенной формы и выдавал бы в итоге сортированный массив уникальных данных вхождений этого слова
пример ситуации - создание документа непосредственно из взгляда, колонки редактируемые, к примеру по целкаем по персой колонке вводим слово, затем нам выдается список уникальных сортированных значений по этой колонке, где есть вхождение введенного слова..

Вот почитал и возник вопрос: а полнотекстовый поиск чем-то не устраивает? Быстрее, чем он вряд-ли найдется метод. А доступ к нему -- хотите из стандартного ГУИ, хотите, из скрипта или той же Явы.
[snapback]55620" rel="nofollow" target="_blank[/snapback]​
[/quote]

Ну скорее всего Kee_Keekkonen имел в виду следущее: идити и напишите сами функцию сортировки строк, а я возьму Java.Utils и оттуда заюзаю нужный мне метод :rolleyes:
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!