Decs (domino Enterprise Connection Services)

rinsk

Lotus Team
12.11.2009
1 156
126
BIT
46
desc и lei мертворожденные изначально. правда изначально они сумели вызвать Вау! эффект - но не более того...
чисто мое имхо. Лучше обратить взор на jdbc - оно через ls2j отлично цепляется к LS и делает все более предсказуемо и надежно (если речь о classic).
 

garrick

Lotus Team
26.10.2009
1 367
152
BIT
364
А вот это уже интересно! Можно из толстяковых баз дергать веб-сервисы? Если можно, то с этого момента подробнее.
Ну, а чего тут объяснять-то? Всё просто. Пишите Web-service, который по обращению к нему лезет в реляционную базу, находит там что-то и возвращает в качестве ответа, скорее всего в виде XML, ну или JSON (как вам удобнее). На клиенте вызываете этот web-service, который работает на вашем же сервере, возможно даже в той же самой базе, и разбираете полученный от него ответ.
 

garrick

Lotus Team
26.10.2009
1 367
152
BIT
364
desc и lei мертворожденные изначально. правда изначально они сумели вызвать Вау! эффект - но не более того...
чисто мое имхо. Лучше обратить взор на jdbc - оно через ls2j отлично цепляется к LS и делает все более предсказуемо и надежно (если речь о classic).
С DECS как-то не сложилось, в вот LEI у нас на старой работе использовалось очень активно, всех устраивало. Техподдержка могла самостоятельно без программистов организовать выгрузку данных в реляционную базу для последующей обработки какой-либо аналитической системой, также загрузку справочников в Lotus Notes. Самое сложное было снабдить их информацией об именах полей в Lotus Notes. К тому же расписание и продолжительность выгрузок LEI никоим образом не зависит от прихотей менеджера агентов Domino, иногда это очень важно.
 

garrick

Lotus Team
26.10.2009
1 367
152
BIT
364
@lmike, мне кажется это не совсем то, о чём спрашивал @KingGLEB. Вроде DAS заточен на получение данных, которые хранятся в базе Domino, а ему надо из внешней системы. Или я не прав?
 
A

alxndr

Ну, а чего тут объяснять-то? Всё просто. Пишите Web-service, который по обращению к нему лезет в реляционную базу, находит там что-то и возвращает в качестве ответа, скорее всего в виде XML, ну или JSON (как вам удобнее). На клиенте вызываете этот web-service, который работает на вашем же сервере, возможно даже в той же самой базе, и разбираете полученный от него ответ.
Да, за выходные уже немного изучил эту тему. Нашел стандартный элемент дизайна webservice consumer. Но он, насколько я разобрался, дружит только с SOAP-сервисами.
Или можно еще самостоятельно Cunsomer'а реализовать?
Технологически только на java, как я понимаю? И в толстяке дергать через LS2J?

@lmike, мне кажется это не совсем то, о чём спрашивал @KingGLEB. Вроде DAS заточен на получение данных, которые хранятся в базе Domino, а ему надо из внешней системы. Или я не прав?
Полностью согласен с @garrick . DAS совсем из другой оперы и не подходит для первоначально озвученной задачи. Т.е. человеку нужно работать с внешними данными по отношению к Domino, а DAS - для доступа внешних систем через rest-сервисы к данным в домине.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
472
только которые хранятся в базе Domino?
если задача интеграции данных, между доминой и SQL, допускает создание сторонней проги...
достаточно чтобы со стороны домины она дергала REST, а из SQL - что там нужно
[DOUBLEPOST=1454953079,1454952815][/DOUBLEPOST]
Т.е. человеку нужно работать с внешними данными по отношению к Domino
и как это претит использованию REST?
LEI и DECS - это доп. инструменты, кот. надо подключать/настраивать (кот. явл. отдельными прогами, интегрирующимися с доминой)
т.е. создание собственно "простенькой" проги "снимает" головняк по настройке и интеграции выше озвученных инструментов
Ведь прогать придется полюбому (на томже SQL)
 
A

alxndr

Кстати, пока тема активна - задам вопрос к "гуру" DECS'а и LEI.
Кто нибудь в курсе как реализовать конвертацию данных из, скажем, текстовых полей (в документе Domino) в integer (MS SQL)? Дело в том, что стандартно "приводятся" только близкие по смыслу типу (например числовые integer в double или float) . Попробовал использовать pre- и post- @формулы для конвертации полей в домино, но эти промежуточные поля потом не удается вычистить - остается в документе конвертационный "мусор", что некузяво...
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
472
хотелка ТС была
Т.е. хочу чтобы запрос в SQL шел от клиента Лотуса на сервер Лотуса, сервер Лотуса связывался с SQL и обратно данные поступали на клиента
т.е. можно и на сервере, в домине, монтырить агент или чё там, а можно развернуть (там же) сервис, кот. будет интегрить домину с SQL
я ни в коем случае не уговариваю делать так...
я просто предлагаю еще один путь, исходя из того - что неизвестно кто и как это будет делать (какая команда)
ведь с ДБадминами (СКЛ) тоже придется говорить...
 
A

alxndr

если задача интеграции данных, между доминой и SQL, допускает создание сторонней проги...
достаточно чтобы со стороны домины она дергала REST, а из SQL - что там нужно
[DOUBLEPOST=1454953079,1454952815][/DOUBLEPOST]и как это претит использованию REST?
LEI и DECS - это доп. инструменты, кот. надо подключать/настраивать (кот. явл. отдельными прогами, интегрирующимися с доминой)
т.е. создание собственно "простенькой" проги "снимает" головняк по настройке и интеграции выше озвученных инструментов
Ведь прогать придется полюбому (на томже SQL)
Ну относительно DECS не соглашусь - это "базовый" функционал Domino, сервис "из коробки", не требующий покупки и кодинга - просто галочка при инсталляции. Да, он ограничен по своим возможностям, но там где его хватает - он намного изящнее самописки работающей с домино через rest.
Хотя бы потому, что синхронизация в DECS происходит на основе события (realtime), а промежуточный синхронизатор сможет работать только по-расписанию...
И да, запрос "из коробки" идет от имени сервера.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
472
Хотя бы потому, что синхронизация в DECS происходит на основе события (realtime), а промежуточный синхронизатор сможет работать только по-расписанию...
сама домина не реал-тайм ;), а уж все остальное...
а промежуточный синхронизатор может работать - как напишут :)
хоть из тригеров на РСУБД
 
A

alxndr

сама домина не реал-тайм ;), а уж все остальное...
а промежуточный синхронизатор может работать - как напишут :)
хоть из тригеров на РСУБД
Изначально речь шла о том, что лотус - это фронтэнд. При чем тут скуль-триггеры, если для их отработки требуется изменить данные в скуле? Под реал-таймом, естественно, понималась не работа ПЛК в системе АСУ электростанции, а то, что к моменту, когда лотус сохранит документ данные в сторонней системе уже точно будут обновлены. С внешним синхронизатором (по какой бы технологии он ни работал), если он не использует hook на событиях домины - такой уверенности нет и быть не может. к сожалению...
 

garrick

Lotus Team
26.10.2009
1 367
152
BIT
364
Технологически только на java, как я понимаю? И в толстяке дергать через LS2J?
Можно и на Lotus Sctipt, даже без LS2J. Только там могут быть проблемы с приведением типов данных, но со "своим" сервисом это легко решаемо, с чужими может быть всё плохо. Java конечно предпочтительнее, для неё это всё (web-service) родное, всё решается гораздо проще, чем в Lotus Script.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
472
Изначально речь шла о том, что лотус - это фронтэнд.
не было такого условия, цитата выше
При чем тут скуль-триггеры, если для их отработки требуется изменить данные в скуле?
см. цитату - "данные поступали на клиента" , т.е. опять - не факт ;)
Под реал-таймом, естественно, понималась не работа ПЛК в системе АСУ электростанции, а то, что к моменту, когда лотус сохранит документ данные в сторонней системе уже точно будут обновлены
не стоит придумывать процесс, кот. ТС не описывал и реалтайм - это не то что у вас "подразумевается" ;)
. С внешним синхронизатором (по какой бы технологии он ни работал), если он не использует hook на событиях домины - такой уверенности нет и быть не может. к сожалению...
хук используется для перехвата событий в домине и никак не связан с СКЛ, а ускорение в процессе, кот. не нужно ускорять - это лишний повод задуматься об оптимальности "вклада"
при этом DECS несет кучу кастылей и ограничений, лишний экстеншн менеджер - это повод для глюков
типа данных... ну вы сами уже вопрос задавали ;)
сложная обработка - отказать
не вижу смысла в DECS и за 17 лет знакомства не испытывал в нем необходимость :)
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
45
Попробовал использовать pre- и post- @формулы для конвертации полей в домино, но эти промежуточные поля потом не удается вычистить - остается в документе конвертационный "мусор", что некузяво...
1 для всех "конвертаций" достаточно использовать тока 1 поле
2 сохранение этого айтема можно просто запретить
 
A

alxndr

1 для всех "конвертаций" достаточно использовать тока 1 поле
2 сохранение этого айтема можно просто запретить
1. Как? Формула вычисляется однократно, затем производится маппинг полей. Т.е. На момент маппинга в одном поле одно значение
2. Как запретить сохранение отдельного айтема? Это бы все решило
 
A

alxndr

не было такого условия, цитата вышесм. цитату - "данные поступали на клиента" , т.е. опять - не факт ;)не стоит придумывать процесс, кот. ТС не описывал
ТС четко отписал, что запрос идет от клиента лотуса и далее по маршруту домино-скуль. Неуж то не очевидно где здесь фронтенд? Да он не уточнял, что запрос должен идти при открытии документа, возможно в процессе работы с документом потребуется запрос в скуль и тогда это может быть уже не decs... но и не DAS, тем более
и реалтайм - это не то что у вас "подразумевается"
Realtime activity - термин, применяемый ибм в документации по LEI и на мой взгляд очень точно отражающий суть работы DECS. А что по-вашему реалтайм?
хук используется для перехвата событий в домине и никак не связан с СКЛ
Фишка decs'а - запросить свежие данные из скуля на событии open, т.е. в тот момент, когда пользователь непосредственно открывает док. пропихнуть их в скуль на событии update, т.е. непосредственно в момент сохранения в домино (вопрос обновления данных скуль ТС не поднимался, это так, к слову)
Все вышеописанные огороды с промежуточным сервисом синхронизации могут иметь место быть, но не соответствуют постановке задачи - данные не запрашиваются пользователем, а проталкиваются в домино и, видимо, хранятся там. (тут я опять додумал, конечно... ;) )
а ускорение в процессе, кот. не нужно ускорять - это лишний повод задуматься об оптимальности "вклада"
почему бы нет, если это практически ничего не стОит? у меня нет опыта использования decs в продакшн, но в тестовой среде он показал себя молниеносным - сохранение дока занимает по времени примерно одинаково, что с включенным дексом, что без, потребляемые ресурсы - копеейки.
при этом DECS несет кучу кастылей и ограничений, лишний экстеншн менеджер - это повод для глюков
типа данных... ну вы сами уже вопрос задавали ;)
DECS несет ограничения, достаточно примитивная схема маппинга без изысканной трансформации и валидации данных, особенно критично если обе базы (домино и скуль) писаны не вами и нет возможности (желания, времени) менять схему данных в одной из них.
По поводу глюков не соглашусь. Не думаю, что стоит сравнивать надежность встроенной задачи домино с самопиской. Особенно учитывая сроки внедрения (т.е. с дексом можно разобраться за неделю-две), а более-менее годный самописный сервис интеграции - месяцы кропотливой работы. А сервис состряпанный на коленке за 2 недели уж точно не будет надежнее. Плюс сроки настройки и перенастройки маппинга, плюс требования к квалификации - все не в пользу самопала.
не вижу смысла в DECS и за 17 лет знакомства не испытывал в нем необходимость :)
Это конечно субъективно.
Обобщая вышесказанное - decs не панацея и не единственный способ и в ветке много полезных советов по использованию других технологий.
При этом decs, возможно, вполне годный способ для решения задачи ТС, а про него то никто и не отписался - отмели с порога и увели в другую степь...
ЗЫ мой опыт "знакомства" с domino чуть более 2-х лет, отсюда, видимо, следует, что все вышесказанное в 8 раз менее авторитетно, чем сказанное @lmike ;)

на LS - поставить соответ.
за ссылку спасибо, не @ (а decs понимает только их), но полезно

ЗЗЫ если мериться по количеству постов, то все сказанное мной в 320 менее весомо, чем у @lmike
 
Последнее редактирование:
Мы в соцсетях:

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