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

juk-777

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

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

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

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

susinmn

Well-known member
16.10.2007
529
3
#2
Доброго времени суток, уважаемые!
Хочу попросить помощи в выборе метода реализации следующей задумки...


Заранее огромное спасибо!
А если выгрузить/сохранить нужные документы(*) через Dxl в формате XML и в конечной БД создать документы на основе(*). Повторно при заливке, можно выбрать действия для имеющегося в конечной БД документа, если по нему заливаем повторно информацию или измененную. Можно попробовать передавать XML-ки почтой, на стороне конторы с конечной БД обрабатывать такие сообщения, что бы флешку не гонять между конторами.
 

juk-777

Active member
05.08.2013
38
0
#3
А если выгрузить/сохранить нужные документы(*) через Dxl в формате XML и в конечной БД создать документы на основе(*). Повторно при заливке, можно выбрать действия для имеющегося в конечной БД документа, если по нему заливаем повторно информацию или измененную. Можно попробовать передавать XML-ки почтой, на стороне конторы с конечной БД обрабатывать такие сообщения, что бы флешку не гонять между конторами.
Дело в том, что с DXL никогда не сталкивался. С помощью этого метода можно и прикрепленные документы передавать да? Если других вариантов не будет - то наверняка стоит копнуть в эту сторону. Спасибо.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 599
277
#4
Если других вариантов не будет - то наверняка стоит копнуть в эту сторону.
копайте ;)
примеров здесь есть, знаний ХМЛ, для подобной операции, не нужно
 

juk-777

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

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 599
277
#6
если нужна синхронизация - реплика
 

victorhalf

Well-known member
29.05.2007
79
2
#8
Дело осложняется тем, что стандартными методами репликации воспользоваться нельзя, так как сервера будут располагаться в локальных сетях без доступа к вешнему миру и без видимости сетей между собой)
Но связь то между ними в принципе возможна? Тогда почему не сделать как попроще(со стороны обслуживания лотуса)?
Поднял ВПН тоннель - связь есть - запустил репликацию - выкл. ВПН.
И всё. Тут и сикурити и отсутствие головных болей с обменом данными.
А базу проектируешь как обычно со всем необходимым распределением доступов:АКЛями, читателями и писателями.

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

alexas1

Lotus team
10.04.2014
734
149
#9
Я бы, наверное, выгружал в отдельную базу "Для пересылки" (с пометкой доков в базе, из которой выгружают и базе "Для пересылки"), что док выгружен.
Пометку - датой-временем выгрузки. Это удобно, если загрузка в "Головную" базу, по каким то причинам закончилась неудачей - всегда можно повторить выгрузку за "геморройную" дату.
При загрузке - контроль пометки: если такая дата(время) выгрузки в целевой базе уже есть, то док пропускаем. Т.о. гарантированно не загрузим по ошибке одни и те-же доки два раза.
И выгружать-пополнять можно с любой частотой и любыми кусками, без дублирования уже выгруженных доков. Можно возить базу флешкой, слать по почте или задействовать FTP, свой или любой "облачный" (в этом случае доки криптуем или ЗИПим базу с паролем).
Практически - это односторонняя репликация. И автоматизируется "на ура". Реализация - 5 минут.

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