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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

В идеале наша архитектура так и будет делать выглядить :) В качестве платформы будет использован .NET, в частности для сервиса WCF. Для метабазы Oracle или SQL Server на выбор.
...
Рейтинг: 0 / 0
07.11.2007, 13:33
    #34921829
pvs
pvs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Архитектура разработки
Ну вот как раз и есть хороший повод познакомиться:) Можно начать здесь . А можно и прямо здесь, где находитесь:)
На самом деле - и это не только мое личное мнение, но и мнение многих ведущих аналитиков - SOA без BPM - это как оркестр без дирижера.
Спасибо за сссылку - уже начал знакомиться :)
...
Рейтинг: 0 / 0
07.11.2007, 14:09
    #34921978
АБ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Архитектура разработки
ну и до кучи стоит еще познакомиться с терминами composite application и mashup.
...
Рейтинг: 0 / 0
07.11.2007, 14:10
    #34921982
Mainframe_старый
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Архитектура разработки
Вообще говоря, если нужны сразу данные из разных баз данных, то это другая проблема, и архитекура SOA или там BPM - это частный вопрос (в армках этой задачи). У вас задача встает по-другому - как интегировать данные на лету, причем на высоком уровне абстракции, не загоняя в одну веб-службу несколько запросов к разным базам, причем жестких запросов, а сделать гибкий подход. Это уже область интеграции данных по требованию. Если возможно, в такие дебри лучше себя не загонять и обойтись более простой постановкой задачи. У Американцев занимается этим группа Alen Halevay, у наших - Антипин К.В., Фомичев А.В., Гринев М.Н., Кузнецов С.Д., Новак Л.Г., Плешачков П.О., Рекуц М.П., Ширяев Д.Р.. Оперативная интеграция данных на основе XML: системная архитектура BizQuery//Труды Института системного программирования РАН 2004 г. http://www.citforum.ru/internet/xml/bizquery/
...
Рейтинг: 0 / 0
07.11.2007, 16:17
    #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
07.11.2007, 16:47
    #34922801
Lunx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Архитектура разработки
Прочитал про искру. Точно то же самое мне рассказывали кашисты. Они как раз позиционируют свой продукт (Летограф что-ли) как интегральное управляющее ядро для всех ИТ систем, при этом у них даже что-то типа сертифицированного ODBC драйвера для SAP есть. Я вообще никак к каше не отношусь (не реклама), но идея делать интеграцию на workflow кажется мне разумной. Вообще - правильно начинать с workflow - это систематизирует.
...
Рейтинг: 0 / 0
07.11.2007, 16:54
    #34922829
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Архитектура разработки
Lunxчто-то типа сертифицированного ODBC драйвера для SAP есть.
c SAP работаем через IDOC. Напрямую к базам через ODBC думаю не стоит в такую систему влазить. имхо.
...
Рейтинг: 0 / 0
07.11.2007, 17:06
    #34922895
WJ
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
07.11.2007, 17:19
    #34922976
мод
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Архитектура разработки
pvsБывает. У нас очень большое кол-во различных покупных и своих систем. Основной СУБД, наверное, все-таки является Oracle, но есть много систем и на SQL Server, плюс веб-севрисы, LDAP. Как правило нашим приложениям нужны данные сразу из нескольких систем одновременно.
Каждая покупная система работает со своей БД и только ваши собств. с разными. Я бы сделал БД оракле основной и прицепил к ней все остальные. Т.о. ваши приложения видели бы только одну БД. Т.е. использовать оракле как ср-во интеграции.
...
Рейтинг: 0 / 0
07.11.2007, 17:23
    #34922995
АБ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Архитектура разработки
Lunxправильно начинать с workflow - это систематизирует Есть и более весомый довод: у большинства бизнес-руководителей workflow вызывает самый живой интерес. Объясняется это тем, что схема бизнес-процесса в типовой BPM-системе соответствует той "картинке" бизнеса, которую они рисуют в голове или на клочке бумаги. Workflow предлагает сделать эту картинку исполняемой, т.е. без искажений довести ее до каждого исполнителя - фантастика! Это порождает энтузиазм с их стороны, выливающийся в поддержку проекта - и моральную, и бюджетную. Заручившись этим энтузиазмом, ИТ получает шанс "заодно" реализовать и необходимую инфраструктуру в виде SOA и ESB. Как советуют умные люди, "если хотите реализовать SOA - не называйте то, что вы собираетесь сделать, SOA". То же справедливо по отношению к любой "прогрессивной" ИТ-архитектуре: ищите аргументы для бизнеса. В случае SOA такие аргументы - BPM и процессный подход к управлению.
...
Рейтинг: 0 / 0
08.11.2007, 02:38
    #34923707
pvs
pvs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Архитектура разработки
мод Каждая покупная система работает со своей БД и только ваши собств. с разными. Я бы сделал БД оракле основной и прицепил к ней все остальные. Т.о. ваши приложения видели бы только одну БД. Т.е. использовать оракле как ср-во интеграции.
Основоные покупные системы у нас, как правило, взаимодействуют с друг другом и работают не только со своей СУБД.
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Архитектура разработки / 25 сообщений из 105, страница 1 из 5
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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