Архитектура системы Публично-правовое образование «Финансово-аналитическая служба» Министерство финансов Октябрь 2015 года Димитрий Раквиашвили, руководитель.

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



Advertisements
Похожие презентации
Администрирование информационных систем Лекция 4. Система управления базами данных.
Advertisements

1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Работу выполнила студентка гр. 9 Бд 111 Евженко Дарья.
Проекты ONLINE Ведение проектов в распределённом режиме, с участием заказчиков, исполнителей и соисполнителей Назначение.
Consilium credo experto Решения доверяйте экспертам «ИБР: Бюджетирование» «Информационные Бизнес Решения» © 2010 Москва Алексей АНДРЕЕВ коммерческий директор.
Презентация компании АО «РАМЭК-ВС». Решения АО «РАМЭК-ВС» по интеграции данных и системам анализа связей.
Технические возможности. Наши цели Максимальная гибкость Максимальная скорость считывания и обработки данных Стабильность работы Максимальная простота.
Апробация технологий Silverlight/LINQ/WCF для создания web-приложений, ориентированных на интенсивную обработку данных Дипломная работа студента 545 группы.
MCP-клуб Белгород Роман Гонтарь Технический директор Группа компаний Денекси.
Быстрая разработка кадастровых приложений муниципального уровня с использованием системы «ИнМета» Вячеслав Томилин ООО НВЦ «Интеграционные технологии»
Корпоративный портал Разработка решения на платформе ASP.NET + MS SQL 2005.
Реализация концепции построения и формирования отраслевой системы государственного учета, регистрации и мониторинга (ОСГУРМ) информационных ресурсов сферы.
Организация распределенных прикладных систем. Попытаемся ответить на вопросы Как устроены распределенные прикладные системы? Каковы наиболее важные их.
Эффективность в каждом решении Управление разработкой Корпоративного портала: как грамотно выстроить работу с подрядчиком.
Анализ данных и интеграция информационных систем Станислав Чистяков Старший Консультант 5 апреля 2011 года, гостиница «Золотое кольцо»
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 2 Понятие об облачных вычислениях. Обзор платформ.
Лекция «Основные понятия баз данных» 4 семестр. Определения База данных - это электронное хранилище, предназначенное для структурированного хранения информации,
Опыт разработки системы удаленного обслуживания клиентов финансовых компаний Private Banking через Интернет ООО «Компания «Мастер-Домино. Информационные.
Интеграция информационных систем банка Опыт компании «Итворкс»
МОСКВА 9 июля 2009 г.. Центр Обработки Данных это здание или его часть, первичной функцией которых является размещение оборудования обработки и хранения.
Транксрипт:

Архитектура системы Публично-правовое образование «Финансово-аналитическая служба» Министерство финансов Октябрь 2015 года Димитрий Раквиашвили, руководитель отдела программного обеспечения

2 Введение и план презентации Введение Архитектура системы. Общие темы: технология, шаблоны, уровни, набор инструментов Архитектура системы. Взгляд внутрь: центральные компоненты и вспомогательные сервисы Обсуждение (вопросы и ответы)

3 Общая картина : центральные и вспомогательные компоненты Электронное казначейство СУГФ Электронный бюджет Электронная система управления долгом Вспомогательные системы Электронный паспорт, кэш базы данных о закупках, курсы валют (кэш), кэш Гражданского реестра… Внешние системы Система валовых расчетов в режиме реального времени (RTGS), Курсы валют (Национальный банк), Закупки, Гражданский реестр … Электронная система управления кадрами

4 Распределенная архитектура При проектировании центральных компонентов системы использовалась распределенная архитектура. Каждая базовая система способна работать автономно в течение определенного периода времени, выполняя текущие ежедневные операции. Каждая базовая система зависит от другой базовой системы при выполнении определенных бизнес-процессов. Каждая базовая система имеет отдельную базу данных, которая содержит в кратком виде синхронизированную информацию о партнере, необходимую для осуществления текущей деятельности. Все системы созданы на основе общих стандартов программирования. Все системы разработаны и управляются отдельно – с помощью общего шаблона управления и среды разработки. Интеграционные темы контролируются «интеграционной группой». Все системы размещены независимо друг от друга.

5 Распределенная архитектура ( преимущества ) Преимущества использования распределенной архитектуры Повышенная масштабируемость Повышенная стабильность Сокращение количества единых точек отказов Снижение вероятности отказов системы Более высокая степень гибкости при разработке, релизе, модификации Отдельные сроки реализации проектов Упрощение процесса управления

6 Архитектура системы : разделение на уровни Сервер или кластер базы данных Движок реляционной базы данных, постоянное хранилище приложений Сервер отчетов Отдельный движок выдачи отчетов Сервер многомерной базы данных Отдельный движок для факультативной агрегации реляционных данных Уровень 1: уровень серверов баз данных Уровень 2: уровень серверов приложений Уровень 3: клиентский уровень Сервер веб-приложений (ферма) Публикует логику приложений с помощью открытых протоколов. Предоставляет конечные точки для клиентских приложений и обрабатывает запросы клиентов в режиме реального времени (без визуализации ПИ) Сервер внутренних приложений (ферма) Содержит используемую в процессах логику приложений, отделенную от клиента. Выполняет внутренние операции, обработку данных, коммуникации, текущие и запланированные задачи… Клиентские приложения Обеспечивает визуальный интерфейс и функционал для пользователей. Организован как «тонкий клиент», не содержит отдельного компонента бизнес-логики. Внешние системы Используется функционал системы, опубликованный для внешних клиентов Системы внутренней интеграции Действия по интеграции системы

7 Архитектура системы : организация сети Серверы баз данных Сервер отчетов Внутренняя сеть Серверы веб-приложений и внутренних приложений Внутренние операции, интеграция Общедоступная сеть (интернет) Клиентское приложение Внешняя система Ненадежная интеграция «Демилитаризованная зона» (ДМЗ) Серверы веб-приложений Внешние операции, ненадежная интеграция Межсетевой экран Виртуальная частная сеть Внешняя система Надежная интеграция Межсетевой экран

8 Архитектура системы : общие принципы Надежные корпоративные шаблоны Многоуровневый дизайн (архитектура) Сервис-ориентированная архитектура Платформа/библиотеки/шаблоны/помощники корпоративного уровня Платформа, поддерживаемая поставщиком Структурные шаблоны и библиотеки, приобретаемые на коммерческой основе

9 Архитектура системы : логическая организация, уровни Источники данных Компоненты доступа к данным Помощники/ утилиты Сервис- агенты Уровен ь данных Службы Рабочие процессы Бизнес- компоненты Бизнес- единицы Уровень бизнес- процессов Интерфейсы служб Сервисные контракты Виды сообщений Контракты на предоставление данных Уровень сервиса Модель представления Уровень представления Представление, компоненты Модель Пользователи Внешние системы

10 Архитектура системы – сервис - ориентированная (SOA) Электр. управление долгом Ядро СУГФ Электр. бюджет Электр. казначейство Пользователи Клиентское приложение Внешние системы Партнеры по интеграции Архитектура СУГФ также соответствует принципам сервис-ориентированной архитектуры Базовая часть СУГФ извне видится как сервис. Сервисы используются при взаимодействии между компонентами СУГФ Ядро СУГФ предоставляет открытые и документированные публичные сервисные интерфейсы, совместимые с открытыми стандартами (SOAP) (1) Ядро СУГФ и ее клиентские приложения, в т.ч. блоки ПИ, слабо связанны между собой – клиенты не зависят от реализации бизнес- логики (они зависят от сервисной модели) (2) Реализация СУГФ с клиентами не связана, обмен осуществляется только в части контрактов (3) Электр. управление кадрами

11 Архитектура системы : общие принципы (2) Базовые принципы программирования Разделение ответственности (функциональности) Не повторяйся (DRY) Делай короче и проще (Не усложняй, тупица) (KISS) Создавай, имея в виду возможную адаптацию Избегай масштабного проектирования наперед (BDUF) Базовые принципы объектно-ориентированного программирования (SOLID) Принцип единственности ответственности (SRP) Принцип открытости/закрытости Принцип замещения Лисков Принцип разделения интерфейса Принцип инверсии зависимости

12 Архитектура системы : общие принципы (3) Базовые принципы надежной архитектуры Минимум привилегий Разделение обязанностей Глубокая оборона (многоуровневая защита) Отказоустойчивость Экономичность механизмов Полная посредническая функция Заимствование общих механизмов, а не использование существующих компонентов Открытый дизайн Самое слабое звено Единая точка отказа

13 Архитектура системы : масштабируемость и результативность … PFMS Service Core Операционн ый сервис 1 Пользователи и внешние системы Клиентское приложение, партнеры по интеграции системы Архитектура СУГФ имеет масштабируемый дизайн. Базовый сервис СУГФ основывается на вызывной модели. Поэтому состояния как такового нет. Данные авторизации передаются при каждом вызове. В результате сервисы являются масштабируемыми. Для обеспечения требуемой результативности к веб- ферме можно добавить любое количество серверов приложений. Кэширование статических объектов также повышает общую результативность. Даже медленно меняющийся объект данных можно кэшировать по первому требованию на специальном сервисном узле. При последующих запросах клиента используются кэшированные данные. В случаях когда компоненты системы не могут быть дублированы (например, СУБД), для обеспечения дополнительной масштабируемости используется визуализация. Операционн ый сервис N Классификаторы постоянных сервисов, другие медленно меняющиеся данные Центральная часть сервиса СУГФ

14 Архитектура системы : масштабируемость и результативность (2) PFMS Service Core СУГФ реализует операции, требующие значительных затрат времени и ресурсов, как отдельные компоненты системы. Оперативная служба регистрирует запрос пользователя на выполнение затратной операции и ставит ее в «очередь на выполнение асинхронных операций», которая организована в виде буфера FIFO (принцип «первым вошел – первым вышел»). Контроль немедленно возвращается к клиенту. Асинхронные операции обрабатываются на любом свободном внутреннем сервере приложений на ферме или ставятся в очередь для обработки по графику. Этот процесс можно масштабировать. Пользователь периодически опрашивает Оперативную службу относительно статуса и результатов асинхронной операции, которая выполняется на внутреннем сервере приложений. Регистрация запроса Сервер оперативных приложений Пользователи и внешние системы Клиентские приложения, партнеры по интеграции Операция, требующая много времени и ресурсов Обработка запроса Сервер внутренних приложений Опрос состояния запроса Сервер оперативных приложений

15 Архитектура системы : клиентские приложения и метод доставки контента Функционал СУГФ реализуется через сеть Интернет. Клиентские приложения СУГФ организованы в виде апплетов. Апплет клиента системы единожды загружается в веб-браузер и впоследствии инициализируется клиентом просто путем открытия ссылки URL в браузере. Все последующие запросы ориентированы на обработку данных, и на стороне сервера визуализации ПИ не осуществляется. Развертывание трудности не составляет, поскольку необходимости в установке новой версии программного обеспечения на компьютере пользователя нет. Апплеты должны быть опубликованы на веб-сервере приложений. В середине 2016 года должна быть сдана одностраничная версия клиентских приложений центральной части СУГФ в формате HTML/CSS/JS. При этом архитектура системы останется без изменений. Заявка клиента размещается на отдельном веб-сайте Сервер оперативных приложений Пользователи Клиентское приложение в веб- браузере Запрос в апплет, загрузка, инициализация Веб-сайт сервиса обработки заявок Сервер оперативных приложений Последующие запросы данных СУГФ: сервер приложений

Операционные системы, технологии и шаблоны для хостинга Infrastructure Сервер Microsoft Windows (2012).NET Runtime (4.5) IIS-службы Microsoft (8) Службы активации Windows (Windows Activation Services) Движок SQL-сервера для СУРДБ (Microsoft SQL Server Database Engine) (2012) Службы отчетов - SQL-сервер отчетов Microsoft Службы аналитики – SQL-сервер Microsoft

Набор инструментов – среда разработки системы : бизнес - логика Infrastructure.NET Framework Class Library 4.5 C# 5.0 Windows Communications Foundation 4.5 Windows Services Microsoft Visual Studio 2013

Среда разработки системы : базы данных и отчетность Infrastructure Базовая платформа: SQL-сервер Microsoft 2012, службы аналитики и службы отчетов Transact-SQL Язык MDX (многомерные выражения) Язык определения отчетов (RDL) Единая среда управления - Microsoft SQL Server Management Studio 2012

Среда разработки системы : пользовательский интерфейс Infrastructure Действующая версия (с 2010 года) XAML (расширяемый язык разметки приложений - Extensible Application Markup Language) + модуль Silverlight Интегрированная среда разработки: Microsoft Expression Blend for Visual Studio Визуальная библиотека Telerik Пилотная версия (стартовала в 2015 году, апробацию планируется завершить в 2016 году) HTML/JavaScript/CSS - одностраничное приложение Angular JS Пользовательский интерфейс Kendo

20 Архитектура системы. Взгляд внутрь : компоненты электронного казначейства Первичная БД Первичная операционная БД системы Отчетность Движок отчетов Куб данных Нереляционная многомерная база данных Хранилище БД Разделенная денормализованная база данных Центральная часть приложений Электронный паспорт системы ФАС– курсы валют ФАС – Гражданский реестр ФАС –реестр юр.лиц Утилиты GPSS / RTGS Электронный бюджет Электронное казначейство Электронная система управления долгом Фронт-офис Приложение фронт-офиса Операционная служба фронт- офиса Служба кэширования фронт- офиса Служба общедоступных программных интерфейсов (API) Приложение хранилища Операционная служба хранилища Мидл-офис Приложение мидл-офиса Операционная служба мидл- офиса Служба кэширования мидл- офиса Бэк-офис Приложение бэк-офиса Операционная служба бэк- офиса Служба кэширования бэк- офиса Служба интегрирования доходов Служба интеграции эл. бюджета и эл. системы управления долгом Служба интеграции закупок Служба по средствам API хранилища Специалист по фоновым задачам Задачи по GPSS/RTGS Задачи по курсам валют Задачи по SWIFT Асинхронные операции

21 Архитектура системы. Взгляд внутрь : компоненты электронного паспорта Модульный движок для управления данными Клиенты-поставщики данных Консоль управления Управление приложениями, разрешениями, ролями Единый портал входа в систему Сервисы для членов Интеграционные сервисы (API) для клиентов/авторизация физических лиц Сервисы для систем- членов Интеграционные сервисы (API) для клиентов /машинная авторизация Точки интеграции Партнерская система 1 Партнерская система N … База данных Кластерное реляционное хранилище DigiPass Инфраструктура обеспечения безопасности Инфраструктура открытых ключей (PKI) ФАС Инфраструктура обеспечения безопасности PKI Гражданского реестра Инфраструктура обеспечения безопасности

22 Архитектура системы. Взгляд внутрь : компоненты ФАС Единая точка интеграции Единый коммуникационный пункт для всех внешних данных. Централизованное ведение журнала и контроль выдачи разрешений по всем внешним запросам данных. Клиентская система 1 Клиентская система N … База данных База данных кассовой наличности на местах Сервисы синхронизации Сервисы Windows для фоновых задач Гражданский реестр Национальный банк Реестр юридических лиц …

Благодарю за внимание! С удовольствием отвечу на ваши вопросы.