powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Архитектура разработки
25 сообщений из 105, страница 1 из 5
Архитектура разработки
    #34920584
pvs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pvs
Гость
Внутри компании разрабатываются приложения, которые взаимодействуют с различными источниками данными (Oracle, SQL Server, Web-Service и т.д.). Для облегчения разработки предлагается разработать универсальный сервис для доступа к различным источникам данных.

Сервис должен обладать следующими свойствами:

Единая точка входа для всех приложений, которые взаимодействуют с источниками данных.

Уровень абстракции для доступа к данным.

Хороша проработанная расширяемая система прав доступа.

Приложение для управления сервисом, как для администратора, так и для разработчика.

Автоматический выбор источника данных в зависимости от прав пользователей.

Механизм кэширования результатов.

Централизованные логи и статистка.

Мониторинг производительности.

Авто генерация кода.

Возможность писать плугины для подключения различных источников данных.

Уровень абстракции для доступа к данным и права доступа храниться в метабазе (СУБД). К одной метабазе можно подключить несколько сервисов. Метабаза представляет собой дерево объектов (проекты, сущности, команды, параметры, источники данных и т.д.). У каждого объекта для контроля прав доступа есть свой ACL.

Процесс разработки будет выглядеть приблизительно так:


Определение источников данных и создание их в метабазе.

Создание архитектуры приложения в терминах метабазы: проекты, сущности, команды, параметры и привязка к источникам данных.

Создание ролей, пользователей.

Раздача прав для доступа к различным объектам метабазы.

Авто генерация кода: классы на основе описания в метабазе.

Разработка приложения, где для доступа к данным используются классы, сгенерированные на предыдущем этапе.

Хотелось бы услышать мнения по поводу такой архитектуры. Существует ли уже что-нибудь подобное.
...
Рейтинг: 0 / 0
Архитектура разработки
    #34920601
Alexsalog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сервер приложений. Притом есть готовые (и много).
...
Рейтинг: 0 / 0
Архитектура разработки
    #34920768
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pvsВнутри компании разрабатываются приложения, которые взаимодействуют с различными источниками данными (Oracle, SQL Server, Web-Service и т.д.).
Так не бывает, всегда есть основная БД (какая ?)
...
Рейтинг: 0 / 0
Архитектура разработки
    #34920813
WJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 pvs
То, о чем Вы говорите - это BPM+SOA. Или скорее SOA+BPM. Слышали что-то об этом?
...
Рейтинг: 0 / 0
Архитектура разработки
    #34920968
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pvsХотелось бы услышать мнения по поводу такой архитектуры. Существует ли уже что-нибудь подобное.
существует . Только метаданные в базе конечно не хранятся. Для этого - сервер приложений.

модТак не бывает, всегда есть основная БД (какая ?)
еще как бывает
...
Рейтинг: 0 / 0
Архитектура разработки
    #34920984
Mainframe_старый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmТолько метаданные в базе конечно не хранятся. Для этого - сервер приложений.

еще как бывает

Еще как бывает, это правда. А вот почему не хранить метаданные в базе ?
...
Рейтинг: 0 / 0
Архитектура разработки
    #34921057
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mainframe_старыйА вот почему не хранить метаданные в базе ?
из соображений практичности. У нас они хранятся в "объектном" виде, исключается множество действий по преобразованию.
...
Рейтинг: 0 / 0
Архитектура разработки
    #34921079
Mainframe_старый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmУ нас они хранятся в "объектном" виде, исключается множество действий по преобразованию.
А что значит "объектный" вид ? Откровенно сказать, мне казалось, что удобнее, чем в базе хранения метаданных не придумать ...
...
Рейтинг: 0 / 0
Архитектура разработки
    #34921196
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mainframe_старый iscrafmУ нас они хранятся в "объектном" виде, исключается множество действий по преобразованию.
А что значит "объектный" вид ? Откровенно сказать, мне казалось, что удобнее, чем в базе хранения метаданных не придумать ...
объект метаданных - это некоторый посредник между СУБД и клиентами, которые работают с СУБД через него. Он содержит в себе информацию:
- в какой СУБД размещены его данные
- структура данных
- описание методов чтения, обновления, удаления и т.п.
- параметры шифрования и сжатия данных
и т.д. и т.п.
Выдумывать для этого монстрообразную структуру таблиц, индексов, связей и т.п. - имхо, нереально. Вернее реально конечно, с этого начинали... но на определенном уровне сложности этой структуры и закончили, надоело заниматься мазохизмом. Сейчас все просто.
Когда сервер приложений предоставляет свой контент клиенту, он просто читает описание объектов метаданных и без всяких преобразований создает физических провайдеров методом Assign (образно).. Чтобы приложения перенести на другой сервер,достаточно скопировать один файл...да много плюсов конечно в сравнении с хранением в БД (точнее в реляционной БД).
...
Рейтинг: 0 / 0
Архитектура разработки
    #34921308
WJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам не кажется, что вы загоняете проблему в узкие рамки - только организация доступа к данным.
Может стоит посмотреть на задачу шире?
pvsВнутри компании разрабатываются приложения, которые взаимодействуют с различными источниками данными (Oracle, SQL Server, Web-Service и т.д.). Для облегчения разработки предлагается разработать универсальный сервис для доступа к различным источникам данных.
Здесь сервисно-ориентированная архитектура просто доктором прописана. Приложения (не зависимо от того, какую СУБД они пользуют) могут представлять интерес не только как источники данных. Если не уже сейчас, то очень скоро захочется обращаться не только к данным, но и к функциям тех или иных приложений. К примеру, у вас есть отдельное приложение, которое (кроме чего-то еще) формирует и печатает платежное поручение. Можно обратиться не к данным, а непосредственно к функции, которая напечатает платежку. Обратиться через веб-сервис. Когда обратиться? На том шаге бизнес-процесса, на котором это требуется. Кому обратиться? Сотруднику, входящему в ролевую группу, назначенную для этого шага (или в случае, когда шаг назначается конкретному исполнителю - он и обратится). Точнее - не он, а BPM-система сделает это за него. При этом, исполнитель не задумывается над тем, к какому приложению обратилось приложение. Он работает с одним экраном - композитным приложением, которое может на одном шаге обращаться к разным приложениям и к разным СУБД как через веб-сервисы, так и напрямую.
В данном случае BPM играет роль дирижера, который управляет механизмами обращений и взаимодействий, встраивая имеющиеся приложения в бизнес-процессы.
...
Рейтинг: 0 / 0
Архитектура разработки
    #34921679
pvs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pvs
Гость
мод pvsВнутри компании разрабатываются приложения, которые взаимодействуют с различными источниками данными (Oracle, SQL Server, Web-Service и т.д.).
Так не бывает, всегда есть основная БД (какая ?)

Бывает. У нас очень большое кол-во различных покупных и своих систем. Основной СУБД, наверное, все-таки является Oracle, но есть много систем и на SQL Server, плюс веб-севрисы, LDAP. Как правило нашим приложениям нужны данные сразу из нескольких систем одновременно.
...
Рейтинг: 0 / 0
Архитектура разработки
    #34921697
pvs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pvs
Гость
WJ2 pvs
То, о чем Вы говорите - это BPM+SOA. Или скорее SOA+BPM. Слышали что-то об этом?

Да это и есть SOA. Про SOA не только слышал, но и использую :) а вот c BPM на практике плохо знаком..
...
Рейтинг: 0 / 0
Архитектура разработки
    #34921721
WJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pvs WJ2 pvs
То, о чем Вы говорите - это BPM+SOA. Или скорее SOA+BPM. Слышали что-то об этом?

Да это и есть SOA. Про SOA не только слышал, но и использую :) а вот c BPM на практике плохо знаком..Ну вот как раз и есть хороший повод познакомиться:) Можно начать здесь . А можно и прямо здесь, где находитесь:)
На самом деле - и это не только мое личное мнение, но и мнение многих ведущих аналитиков - SOA без BPM - это как оркестр без дирижера.
...
Рейтинг: 0 / 0
Архитектура разработки
    #34921728
pvs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pvs
Гость
Только метаданные в базе конечно не хранятся. Для этого - сервер приложений.
Спасибо за ссылку, почитаю. А почему бы не хранить метаданные в базе? Метаданные совсем не маленькие по объему, к тому же их может менять большое кол-во разрабочтиков одновременно. Здесь как-раз и напрашивается база данных.
...
Рейтинг: 0 / 0
Архитектура разработки
    #34921813
pvs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pvs
Гость
WJВам не кажется, что вы загоняете проблему в узкие рамки - только организация доступа к данным.
Может стоит посмотреть на задачу шире?


WJ
Здесь сервисно-ориентированная архитектура просто доктором прописана. Приложения (не зависимо от того, какую СУБД они пользуют) могут представлять интерес не только как источники данных. Если не уже сейчас, то очень скоро захочется обращаться не только к данным, но и к функциям тех или иных приложений. К примеру, у вас есть отдельное приложение, которое (кроме чего-то еще) формирует и печатает платежное поручение. Можно обратиться не к данным, а непосредственно к функции, которая напечатает платежку. Обратиться через веб-сервис. Когда обратиться? На том шаге бизнес-процесса, на котором это требуется. Кому обратиться? Сотруднику, входящему в ролевую группу, назначенную для этого шага (или в случае, когда шаг назначается конкретному исполнителю - он и обратится). Точнее - не он, а BPM-система сделает это за него. При этом, исполнитель не задумывается над тем, к какому приложению обратилось приложение. Он работает с одним экраном - композитным приложением, которое может на одном шаге обращаться к разным приложениям и к разным СУБД как через веб-сервисы, так и напрямую.
В данном случае BPM играет роль дирижера, который управляет механизмами обращений и взаимодействий, встраивая имеющиеся приложения в бизнес-процессы.

В идеале наша архитектура так и будет делать выглядить :) В качестве платформы будет использован .NET, в частности для сервиса WCF. Для метабазы Oracle или SQL Server на выбор.
...
Рейтинг: 0 / 0
Архитектура разработки
    #34921829
pvs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pvs
Гость
Ну вот как раз и есть хороший повод познакомиться:) Можно начать здесь . А можно и прямо здесь, где находитесь:)
На самом деле - и это не только мое личное мнение, но и мнение многих ведущих аналитиков - SOA без BPM - это как оркестр без дирижера.
Спасибо за сссылку - уже начал знакомиться :)
...
Рейтинг: 0 / 0
Архитектура разработки
    #34921978
АБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и до кучи стоит еще познакомиться с терминами composite application и mashup.
...
Рейтинг: 0 / 0
Архитектура разработки
    #34921982
Mainframe_старый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще говоря, если нужны сразу данные из разных баз данных, то это другая проблема, и архитекура SOA или там BPM - это частный вопрос (в армках этой задачи). У вас задача встает по-другому - как интегировать данные на лету, причем на высоком уровне абстракции, не загоняя в одну веб-службу несколько запросов к разным базам, причем жестких запросов, а сделать гибкий подход. Это уже область интеграции данных по требованию. Если возможно, в такие дебри лучше себя не загонять и обойтись более простой постановкой задачи. У Американцев занимается этим группа Alen Halevay, у наших - Антипин К.В., Фомичев А.В., Гринев М.Н., Кузнецов С.Д., Новак Л.Г., Плешачков П.О., Рекуц М.П., Ширяев Д.Р.. Оперативная интеграция данных на основе XML: системная архитектура BizQuery//Труды Института системного программирования РАН 2004 г. http://www.citforum.ru/internet/xml/bizquery/
...
Рейтинг: 0 / 0
Архитектура разработки
    #34922590
Awful
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
с BPM это жестко все таки, достаточно ESB будет
а лучше вот это
http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/aqualogic/data_services/
или
http://www-111.ibm.com/ecatalog/Detail.wss?locale=ru_RU&synkey=J106029J33633I56
у других тоже вроде есть
...
Рейтинг: 0 / 0
Архитектура разработки
    #34922801
Lunx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитал про искру. Точно то же самое мне рассказывали кашисты. Они как раз позиционируют свой продукт (Летограф что-ли) как интегральное управляющее ядро для всех ИТ систем, при этом у них даже что-то типа сертифицированного ODBC драйвера для SAP есть. Я вообще никак к каше не отношусь (не реклама), но идея делать интеграцию на workflow кажется мне разумной. Вообще - правильно начинать с workflow - это систематизирует.
...
Рейтинг: 0 / 0
Архитектура разработки
    #34922829
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lunxчто-то типа сертифицированного ODBC драйвера для SAP есть.
c SAP работаем через IDOC. Напрямую к базам через ODBC думаю не стоит в такую систему влазить. имхо.
...
Рейтинг: 0 / 0
Архитектура разработки
    #34922895
WJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Awfulс BPM это жестко все таки, достаточно ESB будет
а лучше вот это
http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/aqualogic/data_services/
или
http://www-111.ibm.com/ecatalog/Detail.wss?locale=ru_RU&synkey=J106029J33633I56
у других тоже вроде естьBPM - жестоко, а голая ESB - это в самый раз?:) Легких путей не ищем, так? А как с ролевыми группами, с единой точкой входа и т.д.?
...
Рейтинг: 0 / 0
Архитектура разработки
    #34922976
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pvsБывает. У нас очень большое кол-во различных покупных и своих систем. Основной СУБД, наверное, все-таки является Oracle, но есть много систем и на SQL Server, плюс веб-севрисы, LDAP. Как правило нашим приложениям нужны данные сразу из нескольких систем одновременно.
Каждая покупная система работает со своей БД и только ваши собств. с разными. Я бы сделал БД оракле основной и прицепил к ней все остальные. Т.о. ваши приложения видели бы только одну БД. Т.е. использовать оракле как ср-во интеграции.
...
Рейтинг: 0 / 0
Архитектура разработки
    #34922995
АБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lunxправильно начинать с workflow - это систематизирует Есть и более весомый довод: у большинства бизнес-руководителей workflow вызывает самый живой интерес. Объясняется это тем, что схема бизнес-процесса в типовой BPM-системе соответствует той "картинке" бизнеса, которую они рисуют в голове или на клочке бумаги. Workflow предлагает сделать эту картинку исполняемой, т.е. без искажений довести ее до каждого исполнителя - фантастика! Это порождает энтузиазм с их стороны, выливающийся в поддержку проекта - и моральную, и бюджетную. Заручившись этим энтузиазмом, ИТ получает шанс "заодно" реализовать и необходимую инфраструктуру в виде SOA и ESB. Как советуют умные люди, "если хотите реализовать SOA - не называйте то, что вы собираетесь сделать, SOA". То же справедливо по отношению к любой "прогрессивной" ИТ-архитектуре: ищите аргументы для бизнеса. В случае SOA такие аргументы - BPM и процессный подход к управлению.
...
Рейтинг: 0 / 0
Архитектура разработки
    #34923707
pvs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pvs
Гость
мод Каждая покупная система работает со своей БД и только ваши собств. с разными. Я бы сделал БД оракле основной и прицепил к ней все остальные. Т.о. ваши приложения видели бы только одну БД. Т.е. использовать оракле как ср-во интеграции.
Основоные покупные системы у нас, как правило, взаимодействуют с друг другом и работают не только со своей СУБД.
...
Рейтинг: 0 / 0
25 сообщений из 105, страница 1 из 5
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Архитектура разработки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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