Замечание к документу "вложенная постановка задачи"   >>>   
Тема: увы, это не совсем то, что нужно , но , даже этого достаточно (+)

Создан:Mitka Akulov 06/21/2006 12:52 AM
Папка:
06. Разработка Notes-приложений
Тип сообщения:
Идея (работает!)

Сообщение:
я бы делал так, как уже раз 10 писал:
1. есть группа серверов, на которых живет приложение (есть реплики).
2. есть бизнес-процесс (далее б.п.), например, заявка (документ - хранимый образ б.п.)
3 у каждого документа есть сервер-хозяин (мастер-сервер), т.е. сервер на котором б.п. был запущен (документ-образ б.п. был создан)
4 на каждом сервере есть шедуленный агент(обработчик-толкатель-движок б.п., далее движок). Агент-движок работает , только со "своими" документами, т.е. с документами созданными на его сервере.
5 если допустимы локальные реплики приложения: документы без указанного мастер-сервера (т.е. документы созданные локально) обрабатывает единственный "центральный" (назначенный) сервер (после первой "обработки", он проставляет , например себя, или сервер приписки юзера, который его создал).
6 после создания документа пользователем, кроме агента-движка на сервере-хозяине, этот документ никто не редактирует.
7 любые комментарии, изменения состояния, классификации по этому б.п. оформляются отдельными документами (можно респонсами вешать, а можно просто поле с юнидом документа б.п. пропихивать). соответственно эти команды-месаджы обрабатывает тоже только движок на мастер-сервере этого б.п. ( он подтягивает в документ-образ нужную инфу, изменяет состояние б.п. и т.п.)
собственно, все.
авторы идеи: команда разработчиков Босс-Референта, образца 2002-2003 годов(точнее, не помню). Могу перечислить всех поименно, но страх кого-то забыть и этим обидеть, мешает это сделать. Реализовали ли эту идею в АйТи , после ухода, фактически, 90% команды в 2003 году - не знаю. Но у нас в компании она реализована и работает.
из плюсов такого построения приложения:
1. легкость сопровождения и развертывания
2. легкость изменений в б.п.(наращивание функционала, изменение флоу и т.д.), естественно при грамотной разработке движка.
3. принципиальное отсутствие конфликтных ситуаций
4. легкость "разбора полетов" (как б.п. попал в эту позу-состояние, кто виноват и т.д.)
5. как следствие пункта 4, фарш -таки можно немного провернуть назад.
5. прозрачность с доступом и управления им.

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

Иерархия документов данной дискуссии:
Добрый день никто не посоветует какой механиз отправки документов лучше с удаленного филиала через mail in или copy to database- я имею ввиду..по параметрах скорость, трафик,и тд (igor Bozhinsky) (20.06.2006 10:28:19)
.... а почему репликацию не включили в список ? Потом фраза "отправка документов" недостаточна для определения способа (+) (Mitka Akulov) (20.06.2006 10:44:12)
........ Ну селективная репликация не подходит ИМХО в данном случае (igor Bozhinsky) (20.06.2006 12:32:01)
............ слово "селективная" сказали Вы, а не я. это редкоземельная фича, "трудная вода" (с) Лагутенко. 99% обходилсь без нее. Прямой save в центральную БД риск, что заявку так никто в центре и не увидит. (Mitka Akulov) (20.06.2006 12:52:02)
................ Под прямым Savom вы имеете ввиду doc.copyToDatabase? т е это не механизм аналогичный репликациям.. Если так то значит что в этом случае идет прямое обращение к базе, интересно, а почему риск.. (igor Bozhinsky) (20.06.2006 14:07:48)
.................... те я имею ввиду что может быть репликация тоже прямое обращение...к базе по сути и если даже репликация маленького обьема изменений , то копирование одного файла аналогичны или не так? (igor Bozhinsky) (20.06.2006 14:38:35)
.................... репликация процесс регулярный до полной победы, а скрипт это раз и все, если в этот момент база была недоступной вам надо как-то фиксировать этот факт, так зачем велосипед изобретать. (Mitka Akulov) (20.06.2006 15:21:06)
........................ Ну дело в том что я так понимаю мне нужно всего лишь среплецировать один документ (igor Bozhinsky) (20.06.2006 17:06:00)
............................ Работайте напрямую в той БД, где создаёте документ (+) (Ivan Tsibanenko) (20.06.2006 17:17:50)
................................ без комментариев. (Mitka Akulov) (20.06.2006 17:21:30)
.................................... Спасибо. Цель была - срочность. Или уведомить немедленно, если "срочность" недоступна. Связь - только 1352. А теперь комментарии? ;-) (-) (Ivan Tsibanenko) (20.06.2006 17:23:28)
........................................ аааа делайте что хотите, только вспомните когда центральный начнет задыхаться от прямых подключений, что я был против ;) (Mitka Akulov) (20.06.2006 17:39:27)
............................................ Не начнёт. Как я уже упоминал, прямое подключение - это исключительный случай. В остальных случаях (несрочных) я за репликацию. И сильно против Copy ToDatabase с клиентской рабочей станции. (-) (Ivan Tsibanenko) (21.06.2006 8:13:19)
................................ Все таки репликация и СоpyToDATABASE это разные вещи...Хотя СоpyToDATABASE действует тоже секунду..(+) (igor Bozhinsky) (20.06.2006 18:55:56)
.................................... вложенная постановка задачи (igor Bozhinsky) (20.06.2006 19:00:40)
........................................ увы, это не совсем то, что нужно , но , даже этого достаточно (+) (Mitka Akulov) (21.06.2006 0:52:29)
............................................ Наверное, надо ещё добавить, что мастер-сервер документа может быть изменён, но только самим текущим мастер-сервером. Мало ли - бизнес-процесс "уезжает" куда-то. (-) (Ivan Tsibanenko) (21.06.2006 8:11:06)
................................................ это следствие пункта 6 ;) (Mitka Akulov) (21.06.2006 8:41:05)
.................................... Проблема с mail-in и кое что ещё (+) (Ivan Tsibanenko) (21.06.2006 8:32:27)
........................................ Ну насчет mail in тут поступила инфа от админов(+) (igor Bozhinsky) (22.06.2006 14:43:20)
............................................ вернее о двух агентах один after new mail arrived другой шедульный один запускает другой (igor Bozhinsky) (22.06.2006 14:46:51)
............................................ Эх, юноша, юноша... (+) (Ivan Tsibanenko) (22.06.2006 16:07:34)
................................................ По-белому завидую: писать с 17 до 22... Завтра тоже выделю часа 3-4, почитаю. ;-) (-) (Gennadiy I. Zalutskiy) (22.06.2006 22:52:58)
.................................................... В 17 и в 22. Не люблю опечатки. (-) (Ivan Tsibanenko) (23.06.2006 11:58:02)
................................................ Ну да я больше увлекаюсь..икрой заморской кабачковой… (igor Bozhinsky) (04.07.2006 13:36:54)
.................................................... ПРО РЕПЛИКАЦИЮ: К сожалению я даже не могу определить корень и глубину Ваших заблуждений по данной теме. Должен рекомендовать Вам изучить документацию по данному вопросу. (+) (Ivan Tsibanenko) (04.07.2006 14:38:38)
.................................................... ПРО ПОВТОРНУЮ ОТПРАВКУ: Сообщение Вы отправлять будете из системы, а переотправку пользователь из п/я будет выполнять? Причём на добровольной основе? (-) (Ivan Tsibanenko) (04.07.2006 14:22:57)
........................................................ Ну у каждого пользователя допустим есть локальная база в которой он создает заявки и нажимает action "отправить в OИТ" ,почтовый ящик у каждого находится на сервере..(+) (igor Bozhinsky) (04.07.2006 17:35:32)
............................................................ Делайте так, как Вам угодно. Я лишь скажу то, что должен сказать для будущих читателей нашей дискуссии. (-) (Ivan Tsibanenko) (05.07.2006 8:49:01)
.................................................... ПРО ПОЧТУ: подскажите админам, что созданные по-умолчанию документы Connection заставляют отправляющий сервер собирать пакет из 5 писем, прежде чем начинать доставку. См. поле: "Route at once if"(-) (Ivan Tsibanenko) (04.07.2006 14:21:00)
........................................................ в поле "Route at once if стоит 1" видимо Router тормозит доставку писем..надо будет включить трассировку.. (igor Bozhinsky) (05.07.2006 10:59:13)
............................................................ Проверьте тип доставки почты. Может быть этот Connection заставляет почту лежать в mail.box до тех пор, пока сервер-получатель не запросит доставку (тип "Push Wait") (-) (Ivan Tsibanenko) (05.07.2006 12:16:32)
.................................................... ПРО АГЕНТ ПО РАСПИСАНИЮ: Он нужен для того, чтобы пользователи не имели возможности модифицировать в разных репликах одни и те же данные. (+) (Ivan Tsibanenko) (04.07.2006 14:46:43)
................................ Все таки репликация и СоpyToDATABASE это разные вещи...Хотя СоpyToDATABASE действует тоже секунду..(+) (igor Bozhinsky) (20.06.2006 18:56:06)
................................ Все таки репликация и СоpyToDATABASE это разные вещи...Хотя СоpyToDATABASE действует тоже секунду..(+) (igor Bozhinsky) (20.06.2006 18:56:01)
........................ Дим, это смотря что нужно... (+) (Ivan Tsibanenko) (20.06.2006 17:21:30)
............................ вот с этого и надо начинать. с постановки задачи. а то сейчас навали кучу советов и цена ей будет ? (Mitka Akulov) (20.06.2006 17:23:12)
................................ Согласен... :-) Мне почему-то кажется, что в данном случае краски (по поводу срочности) могут быть немного сгущены. И, если это так, метода лучше, чем репликация, не существует. (-) (Ivan Tsibanenko) (20.06.2006 17:26:10)
............ А почему для извещения не воспользоваться альтернативными каналами, а доставку оставить надежной репликации ? (Николай Г. Голещихин) (21.06.2006 8:07:16)
................ Всё, опять же, зависит от требований к системе (+) (Ivan Tsibanenko) (21.06.2006 10:15:20)
.................... Вань , может тебе пора книгу напсать. имхо на рынке дыра, пару сотен экз. продать запросто. тоже будешь хотеть 100к, как Женя. (Mitka Akulov) (21.06.2006 10:35:12)
........................ Являются ли миллионерами авторы книг о том, как стать миллионером? (+) (Ivan Tsibanenko) (21.06.2006 11:38:28)
............................ ;) (Mitka Akulov) (21.06.2006 12:18:48)
................................ {Как говорил один мой знакомый... покойник! - "Я слишком много знал..."} (+) (Ivan Tsibanenko) (21.06.2006 12:28:16)
.................................... ааа, так ты про это ... так это не я первый начал. а на обиженных воду возят, удар держать надо. а глубокоуважаемый Писатель (никаких имен ) свои требования сам озвучил, поиск не даст соврать. (Mitka Akulov) (21.06.2006 13:48:46)
........................ Не могу молчать (с), а еще я в Париж второй раз собираюсь (сс :) (Evgeny V Polyakov) (21.06.2006 12:34:55)


Разработчикам и администраторам: курсы, книги, сертификация