Выбор Подхода Реализации Бд

Тема в разделе "Lotus - Программирование", создана пользователем juk-777, 2 май 2014.

  1. juk-777

    juk-777 Active Member

    Регистрация:
    5 авг 2013
    Сообщения:
    38
    Симпатии:
    0
    Доброго времени суток, уважаемые!
    Хочу попросить помощи в выборе метода реализации следующей задумки...
    Имеется БД, располагающаяся на сервере Сервер1, без возможности репликации с другими серверами в других организациях, то есть доступ к БД имеет ограниченное количество юзеров из Организации1, которые создают/накапливают свои документы.
    Необходимо в других организациях поставить ту же БД, но без документов Организации1, то есть чтобы в разных копиях этой БД у каждой организации в этой базе были только свои документы!
    НО, базу, находящуюся на Сервере1, необходимо (к примеру) раз в месяц пополнять всеми наработанными документами с других Организаций.
    Дело осложняется тем, что стандартными методами репликации воспользоваться нельзя, так как сервера будут располагаться в локальных сетях без доступа к вешнему миру и без видимости сетей между собой)

    Нужно инициировать выгрузку документов у сторонних организаций по кнопке в файл или базу. Думал сначала выгружать в файл csv, но передумал, так как в базе в полях на форме будут вложения (документы, картинки), в связи с чем нужно наверное выгружать в новую базу. Затем эту базу/файл необходимо на флэшке притащить в Организацию1 и произвести Импорт данных из базы/файла.

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

    Заранее огромное спасибо!
     
  2. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    А если выгрузить/сохранить нужные документы(*) через Dxl в формате XML и в конечной БД создать документы на основе(*). Повторно при заливке, можно выбрать действия для имеющегося в конечной БД документа, если по нему заливаем повторно информацию или измененную. Можно попробовать передавать XML-ки почтой, на стороне конторы с конечной БД обрабатывать такие сообщения, что бы флешку не гонять между конторами.
     
  3. juk-777

    juk-777 Active Member

    Регистрация:
    5 авг 2013
    Сообщения:
    38
    Симпатии:
    0
    Дело в том, что с DXL никогда не сталкивался. С помощью этого метода можно и прикрепленные документы передавать да? Если других вариантов не будет - то наверняка стоит копнуть в эту сторону. Спасибо.
     
  4. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    копайте ;)
    примеров здесь есть, знаний ХМЛ, для подобной операции, не нужно
     
  5. juk-777

    juk-777 Active Member

    Регистрация:
    5 авг 2013
    Сообщения:
    38
    Симпатии:
    0
    Понял Вас, спасибо.
    Тогда такой вопрос: а саму базу в Организации2 и других организациях делать через NewCopy существующей БД или сделать NewReplica ? Как сделать в общем лучше, дабы потом не рвать волосы)
     
  6. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    если нужна синхронизация - реплика
     
  7. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    шли их по почте прямо в БД ;)
     
  8. victorhalf

    victorhalf Well-Known Member

    Регистрация:
    29 май 2007
    Сообщения:
    64
    Симпатии:
    0
    Но связь то между ними в принципе возможна? Тогда почему не сделать как попроще(со стороны обслуживания лотуса)?
    Поднял ВПН тоннель - связь есть - запустил репликацию - выкл. ВПН.
    И всё. Тут и сикурити и отсутствие головных болей с обменом данными.
    А базу проектируешь как обычно со всем необходимым распределением доступов:АКЛями, читателями и писателями.

    Ну или тогда через промежуточные варианты:как уже писали -почта, текстовые файлы или отдельная база, с её пересылкой и последующей репликацией на месте.
    Как то так. :(
     
  9. alexas1

    alexas1 Lotus team
    Lotus team

    Регистрация:
    10 апр 2014
    Сообщения:
    567
    Симпатии:
    214
    Я бы, наверное, выгружал в отдельную базу "Для пересылки" (с пометкой доков в базе, из которой выгружают и базе "Для пересылки"), что док выгружен.
    Пометку - датой-временем выгрузки. Это удобно, если загрузка в "Головную" базу, по каким то причинам закончилась неудачей - всегда можно повторить выгрузку за "геморройную" дату.
    При загрузке - контроль пометки: если такая дата(время) выгрузки в целевой базе уже есть, то док пропускаем. Т.о. гарантированно не загрузим по ошибке одни и те-же доки два раза.
    И выгружать-пополнять можно с любой частотой и любыми кусками, без дублирования уже выгруженных доков. Можно возить базу флешкой, слать по почте или задействовать FTP, свой или любой "облачный" (в этом случае доки криптуем или ЗИПим базу с паролем).
    Практически - это односторонняя репликация. И автоматизируется "на ура". Реализация - 5 минут.

    P.S. Вариант с FTP очень хороший для секурных сетей. В своё время делал так большую распределёнку для 1С 7.7 (в организации с шизофренической манией преследования :( ) с двусторонней репликацией и актуализацией в 15 минут. Работало феерично - абсолютно без сбоев несколько лет.
     
Загрузка...

Поделиться этой страницей