Генерация объектной модели для DocsVision и использование ее при синхронизации сервисов

Содержание

Слайд 2

DocsVision – корпоративная система электронного документооборота,  позволяющая, автоматизировать бизнес-процессы, ведение делопроизводства и

DocsVision – корпоративная система электронного документооборота, позволяющая, автоматизировать бизнес-процессы, ведение делопроизводства и
электронный документооборот в организации.

DocsVision

Слайд 3

Архитектура DocsVision

Архитектура DocsVision

Слайд 4

Создаем сессию:
var sessionManager = SessionManager.CreateInstance();
var session = sessionManager.CreateSession();
Для доступа к данным используется

Создаем сессию: var sessionManager = SessionManager.CreateInstance(); var session = sessionManager.CreateSession(); Для доступа
CardManager
session.CardManager.GetCardData(Guid);
session.CardManager.GetCardDictionaryData(Guid);

Работа с DocsVision.Platform

Слайд 5

var cardData = session.CardManager.GetDictionaryData(staffId);
var rowDataUnit= cardData.Sections[unitSectionId].CreateRow();
rowDataUnit["Name"] = "NewOrganization";
var rowDataEmployee = rowDataUnit.ChildSections[employeeSectionId]
.Rows.AddNew();
rowDataEmployee["LastName"]

var cardData = session.CardManager.GetDictionaryData(staffId); var rowDataUnit= cardData.Sections[unitSectionId].CreateRow(); rowDataUnit["Name"] = "NewOrganization"; var rowDataEmployee
= "Ivanov";

Пример работы со справочником сотрудников

Слайд 6

Написание объектной модели для разработки на платформе DocsVision
Написание объектной модели для промежуточного

Написание объектной модели для разработки на платформе DocsVision Написание объектной модели для
хранений данных при синхронизации
Контролируемое обновление данных на всех уровнях
Управление репликациями при синхронизации DocsVision

Цель работы

Слайд 7

Model First

В DocsVision, как и в Entity Framework, используется подход model first:
Мы

Model First В DocsVision, как и в Entity Framework, используется подход model
описываем схемы карточек
По этим схемам создается SSDL

Было решено для генерации объектной модели использовать те же схемы карточек

Слайд 8

Custom Tools
T4
Отдельно сгенерировать код для нескольких схем и подложить в проект
MetaCreator

Технологии для

Custom Tools T4 Отдельно сгенерировать код для нескольких схем и подложить в
генерации кода

Слайд 9

MetaCreator

http://code.google.com/p/metacreator/

MetaCreator http://code.google.com/p/metacreator/

Слайд 10

Написан парсер для схем карточек
Собирает всю информацию о полях
Типизация ссылочных полей
Выявлен отдельный

Написан парсер для схем карточек Собирает всю информацию о полях Типизация ссылочных
интерфейс
Написано 4 различных генератора для различных подсистем сервиса синхронизации

Что было сделано?

Слайд 11

В парсере и генераторах около 2000 строк кода
Паттерны, заполняемые при генерации, занимают

В парсере и генераторах около 2000 строк кода Паттерны, заполняемые при генерации,
около 700 строк кода
Из схем 12 схем карточек получилось около 100 000 строк кода

Статистика

Слайд 12

Написана объектная модель, которая может применяться не только в этом проекте, либо

Написана объектная модель, которая может применяться не только в этом проекте, либо
может быть доработана
Достигнута улучшенная управляемость кода в проекте
Запущен в тестовую эксплуатацию сервис синхронизации DocsVision

Результаты работы