Использование синхронизации объектов Николай Соловьев «Школа Инноваций InterSystems 2007»

Презентация:



Advertisements
Похожие презентации
Использование AJAX для асинхронной передачи данных. Что такое AJAX. Как использовать. В чем преимущество. Примеры использования на крупных сайтах. Выполнила:
Advertisements

Администрирование БД. Репликация баз данных.. Процесс репликации Репликация – процесс автоматического распределения копий данных и объектов БД между экземплярами.
Применение иерархического метода для построения защищенной операционной системы. Выполнила Шилова О. И-411.
Галактика ERP: Вопросы интеграции c решениями «Intermech» Сергей Белый, Александр Дудорев Управление разработки ПО корпорации «Галактика»
Методы и средства обеспечения информационной безопасности в системе 1С:Предприятие 8.1 П.Б.Хорев доцент кафедры информационной безопасности РГСУ.
В заимодействи е «облачной бухгалтерии» города Москвы (ИС УАОСОФД) с ИС РНиП в части ПП «Парус-Бюджет 8. Онлайн»
Flash портал top4top.ru: структура, проблемы, решения.
Работа с таблицами в MS Access. Таблицы Единицей хранящейся в БД информации является таблица. Таблица представляет собой совокупность строк и столбцов,
Технические спецификации и программные комплексы E2EDM Белов С.В., Сухоносов С.В., Булгакова К.В ЦОД ВНИИГМИ-МЦД,2006.
Группа компаний APPIUS , Россия, Москва, Старопетровский проезд, д.7а Телефон/факс: +7(495) ,
Бизнес процессы и документооборот Введение. Бумаги и компьютеры Бумаги Бумаги, компьютер для поиска и хранения Бумаги – учасники системы Полностью цифровой.
Управление потоками работ в InterSystems Ensemble Федоров Вадим «Школа Инноваций InterSystems 2007»
S11-1MVI320, Section 11, June 2001 Раздел 11 Настройка MVISION – Часть 1.
Генерация средств импорта данных в рамках проектов ИС, реализованных в технологии REAL-IT Выполнил Комиссаров Антон Научный руководитель: Иванов А.Н. Рецензент:
Microsoft ® Office SharePoint ® Server 2007 Учебный курс Библиотеки документов SharePoint III. Работа с журналом версий.
Информация – это сведения об объектах и явлениях окружающей нас действительности, их свойствах, параметрах и состоянии.
Основы объектно-ориентированного программирования (ООП)
Высокоуровневые методы информатики и программирования Лекция 9 Делегаты.
Понятие информационной системы.Классификация информационных систем.
Высокоуровневые методы информатики и программирования Лекция 10 События.
Транксрипт:

Использование синхронизации объектов Николай Соловьев «Школа Инноваций InterSystems 2007»

Синхронизация объектов Журналирование объектов Журналирование объектов Асинхронное согласование Асинхронное согласование Экспорт изменений Экспорт изменений Импорт изменений Импорт изменений

Основные концепции Глобальный уникальный идентификатор (GUID) Глобальный уникальный идентификатор (GUID) Журнал изменений Журнал изменений Журнал синхронизаций Журнал синхронизаций –Идентификация «клиента» Экспорт/импорт набора для синхронизации Экспорт/импорт набора для синхронизации –Обработка коллизий

Принципы функционирования СерверЖурналтранзакцийЖурналсинхронизаций Клиент XML

Globally Unique Identifier Глобальный уникальный идентификатор (GUID) автоматически присваивается всем новым объектам. Глобальный уникальный идентификатор (GUID) автоматически присваивается всем новым объектам. Каждый экземпляр может иметь разные ID на разных серверах и GUID позволяет идентифицировать экземпляр и сохранить связи между объектами Каждый экземпляр может иметь разные ID на разных серверах и GUID позволяет идентифицировать экземпляр и сохранить связи между объектами Можно создавать GUID с помощью ##class(%Library.GUID).AssignGUID() Можно создавать GUID с помощью ##class(%Library.GUID).AssignGUID()

Параметры хранимых классов У класса %Persistent есть параметр OBJJOURNAL со значениями 0, 1 и 2. Если 1, тогда информация о транзакциях записывается в локальную структуру(^OBJ.JournalT). Если 2, тогда дополнительно сохраняются данные объектов. У класса %Persistent есть параметр OBJJOURNAL со значениями 0, 1 и 2. Если 1, тогда информация о транзакциях записывается в локальную структуру(^OBJ.JournalT). Если 2, тогда дополнительно сохраняются данные объектов.OBJJOURNAL У класса %Persistent также есть параметр GUIDENABLED. Если он установлен в 1, тогда для каждого объекта автоматически создается GUID. У класса %Persistent также есть параметр GUIDENABLED. Если он установлен в 1, тогда для каждого объекта автоматически создается GUID. GUIDENABLED

Системные классы %SyncSet необходим для создания набора синхронизации на конкретную систему. %SyncSet необходим для создания набора синхронизации на конкретную систему. %SyncSet сохраняет информацию о событиях импорта и экспорта. %SyncSet сохраняет информацию о событиях импорта и экспорта. %SwizzleObject отвечает за обработку объектов и разрешение конфликтов. %SwizzleObject отвечает за обработку объектов и разрешение конфликтов.

Порядок работы Для синхронизируемых хранимых классов переопределить параметры GUIDENABLED и OBJJOURNAL Для синхронизируемых хранимых классов переопределить параметры GUIDENABLED и OBJJOURNAL Сделать ряд изменений в экземплярах классов Сделать ряд изменений в экземплярах классов Создать новый экземпляр SyncSet и поместить туда любые транзакции для синхронизации Создать новый экземпляр SyncSet и поместить туда любые транзакции для синхронизации Экпортировать набор и передать на другую систему Экпортировать набор и передать на другую систему Импортировать набор и обработать встреченные коллизии Импортировать набор и обработать встреченные коллизии

Обработка конфликтов Если GUID импортируемого объекта совпадает GUIDом уже существующего объекта, то возникает конфликт, обработкой которого занимается пользовательское приложение. Для этого существует ряд методов Если GUID импортируемого объекта совпадает GUIDом уже существующего объекта, то возникает конфликт, обработкой которого занимается пользовательское приложение. Для этого существует ряд методов –ResolveConcurrencyConflict в классе %SwizzleObject Обработка конфликтаОбработка конфликта –UnresolvedFirst в классе %SyncSet Получение первого объекта в списке конфликтовПолучение первого объекта в списке конфликтов –UnresolvedNext в классе %SyncSet Получение следующего объекта в списке конфликтовПолучение следующего объекта в списке конфликтов

Пример

Спасибо за внимание! Вопросы? Николай Соловьев «Школа Инноваций InterSystems 2007»