powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Архитектура настраиваемой ИС
8 сообщений из 8, страница 1 из 1
Архитектура настраиваемой ИС
    #36718809
ArikKh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет.
Почитал тут уже достаточно топиков на эту тему, и хоть говорят что это велосипед и полно готовых решений(та же ИСКРА) все таки решился писать.

Во первых меня впечатлила ИСКРА... и порадовала тем что, я хоть и начинающий программист, но сам дошел до тех задач которые реализованы в ИСКРЕ. Мне конечно же не нужна настолько мощная и гибкая система, но некоторые ее фичи хотелось бы реализовать.

Итак мое ТЗ(верней часть): есть несколько БД разбросанных по сети организации. Нужно уметь взаимодействовать(читать\писать) с любой из них. Процесс взаимодействия (в дальнейшем "Процесс") абсолютно произвольный, это может быть работа с одно БД, двумя... независимо, или в зависимости от результатов работы с предыдущей БД.

Дальше идут мои рассуждения, которые возможно ошибочны и я надеюсь что вы мне подскажите верное направление.
Я полагаю что результатом декомпозиции Процесса(P) являются запросы(Q) осуществляемые либо последовательно, либо параллельно(условно).

То есть Q - неделимая частица из набора которых строится процесс. При этом запросы могут быть двух типов - возвращающие "набор" значений и не возвращающие.

Введем такой синтаксис:

Q1(DB1)[]: NULL - запрос Q1 без входящих переменных(условий) в базу DB1 не возвращающий ничего.
Q2(DB1)[A]: NULL - запрос Q2 с входящей переменной(условий) A в базу DB1 не возвращающий ничего.
Q3(DB1)[]: R(A,B,C) - запрос Q3 в базу DB1 возвращающий одну запись (A,B,C)
Q4(DB1)[K]: T(A,B,C) - запрос Q4 в базу DB2 с входящей переменной(условий) K возвращающий таблицу (A,B,C)

Тогда процессы могут выглядеть так:
P1: Q1(DB1)[] - просто выполнить запрос Q1
P2: Q1(DB1)[] + Q2(DB1)[A] - выполнить последовательно Q1 b Q2.(В одну и туже базу данных!!)
P3) Q5(DB2)[ Q6(DB1)[]:P ] - выполнить запрос Q6 и на базе его результата P выполнить запрос Q5(В разные базы данных!!)

Вообщем тут можно придумать массу процессов, но думаю суть я передал.

Вопросы которые меня мучат:
1) Как разработать базу данных для хранения процессов, запросов и их взаимодействия чтоб потом не наступить на грабли.
2) Как осуществлять взаимодействие между запросами в разные БД, то есть как лучше хранить результат.
...
Рейтинг: 0 / 0
Архитектура настраиваемой ИС
    #36719233
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArikKh,
1. Хранить процессы не нужно. По кпайней мере из постанвки это не видно
2. Результат лучше хранить так, как скажет бизнес (в виде теста \ виски \ avi \ ..). Читай ТЗ.
...
Рейтинг: 0 / 0
Архитектура настраиваемой ИС
    #36719403
rokstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArikKh,

Что является результатом взаимодействия запросов (а правильно - результирующих данных) из разных БД? некий сводный набор данных для анализа? или же вы хотите еще и логику на это навесить?
...
Рейтинг: 0 / 0
Архитектура настраиваемой ИС
    #36719426
Фотография AlexandrPlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каждой БД - свою СУБД.
И теоретизирования - уже станут лишними, так как не о чем, а точнее уже
стоит теоретизовать о том, что пока может ещё плохо получается в популярных СУБД. Но в описанной постановке ничего своеобразного не отмечено.

1) "процессы" будут храниться в БД в виде процедур, функций, а запросы в виде вью,
а взаимодействие - это что будет написано в процедурах-функциях, вью
2) как лучше, так как возможно по всякому, то есть технических реализационных вопросов не видно,
а есть вопросы проектирования
P.S. Если все типично, то и делать по-простому как рекомендуют создатели СУБД в своих документациях и книгах и публикациях.


БД уже есть наверно? Если сеть, наверно магазинов или складов или пунктов госконтроля или ..., уже есть, то БД как-то ведутся.
То есть наверно требуется поднять это всё на более высококачественный уровень????
...
Рейтинг: 0 / 0
Архитектура настраиваемой ИС
    #36719545
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) процесс (запрос) = программа => хранение программы (логики, ГУИ) в БД
2) промежуточный (временный) формат данных - любая удобная СУБД, или XML
...
Рейтинг: 0 / 0
Архитектура настраиваемой ИС
    #36721925
ArikKh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexandrPlus
1) "процессы" будут храниться в БД в виде процедур, функций, а запросы в виде вью,
а взаимодействие - это что будет написано в процедурах-функциях, вью


1) Не всегда можно хранить свои процедуры и вью в чужих БД. Но допустим что даже можно хранить. Не всегда разные инстансы SQL Server-a залинкованы.

Вообще меня больше волнует как спроектировать именно взаимодействие. То есть модель данных которая бы описывала набор запросов, их последовательность, зависимости входяших и исходяших переменных. Когда мы находимся в рамках одного инстанса SQL Server-a то все эти вопросы не встают, но что делать когда инстансы разные(и не обязательно линкованные).

Если можно, подскажите что то в этом направлении?
...
Рейтинг: 0 / 0
Архитектура настраиваемой ИС
    #36721932
ArikKh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rokstarArikKh,

Что является результатом взаимодействия запросов (а правильно - результирующих данных) из разных БД? некий сводный набор данных для анализа? или же вы хотите еще и логику на это навесить?

Результатом взаимодействия, так же как и результатом отдельно взятого запроса могут быть:
1) модификация данных(в общем то это бизнес-логика)
2) набор извлеченных данных, который дальше можно отобразить в каком-нибудь объекте(грид, дерево...)

Объекты отображения в свою очередь могут вызывать запросы.
...
Рейтинг: 0 / 0
Архитектура настраиваемой ИС
    #36723168
Фотография AlexandrPlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArikKhAlexandrPlus
1) "процессы" будут храниться в БД в виде процедур, функций, а запросы в виде вью,
а взаимодействие - это что будет написано в процедурах-функциях, вью


1) Не всегда можно хранить свои процедуры и вью в чужих БД. Но допустим что даже можно хранить. Не всегда разные инстансы SQL Server-a залинкованы.

Вообще меня больше волнует как спроектировать именно взаимодействие. То есть модель данных которая бы описывала набор запросов, их последовательность, зависимости входяших и исходяших переменных. Когда мы находимся в рамках одного инстанса SQL Server-a то все эти вопросы не встают, но что делать когда инстансы разные(и не обязательно линкованные).

Если можно, подскажите что то в этом направлении?

Вообще когда линкованные сервера, то никаких особых вопросов не возникает - как угодно комбинируются объекты из разных БД на SQL Server-ах.
А когда нелинкованные, то тогда и сервера на местах филиалов наверно особо ни к чему, но всё всё же в зависимости от объемов перерабатываемых и пересылаемых данных при совместной работе и ради автономной работы, когда связи нет. А КАКИЕ ПРОБЛЕМЫ СО СВЯЗЬЮ-ТО? Какая связь возможна?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Архитектура настраиваемой ИС
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]