powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Люди, свершилось. Я сделал объектное ядро
25 сообщений из 105, страница 4 из 5
Люди, свершилось. Я сделал объектное ядро
    #33029910
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процедуры базового класса имеют проверки, в остальных я это не вставляю, хотя по идее и при желании в каждой ХП можно вызывать CheckAccess

Да, именно администратор раздает права на выполнение методов объекта. Методами являются те, что вызываются с клиента. Запрещено все что не разрешено администратором
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33032256
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Old NickПроцедуры базового класса имеют проверки, в остальных я это не вставляю, хотя по идее и при желании в каждой ХП можно вызывать CheckAccess Понятно, спасибо.

Прошу прощения за назойливость, но все-таки...
Old NickДа, именно администратор раздает права на выполнение методов объекта. Методами являются те, что вызываются с клиента. Запрещено все что не разрешено администраторомВот этот ответ сам по себе никаких вопросов не вызывает. Но вот вместе с предыдущим ответом
Old NickУ меня же каждый объект является записью, соответственно на каждую запись (объект) можно дать право на различные действия различным пользователям.
получается, что две различных записи в таблице, в общем случае, являются не экземплярами класса (объекта), а разными классами (объектами), которые имеют различные методы. Это так? Как со всем этим хозяйством управляется администратор?
Или, может быть, вы имеете ввиду, что в зависимости от значений атрибутов записи процедура CheckAccess (перекрытый метод базового класса?) определяет доступность для того или иного пользователя соответствующих методов?
И еще одно... Old NickМетодами являются те, что вызываются с клиента.А те, что не вызываются с клиента - общедоступны?

Спасибо.
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33032880
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У каждого объекта есть метод(форма) назначения прав доступа, смотри приложение

Общедоступны, но при желании в каждый можно вставить CheckAccess
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33032891
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CheckAccess работает просто.
Он шарит по таблице-матрице прав и определяет доступ на выполнение метода для пользователя над объектом найдя запись в этой таблице.

Так что метод не полиморфный.

--------------------
Не учи отца и баста!
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33074546
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем! Это опять я с новостями.

На днях все-таки сделал своей системе автоформы.
Опишу что это из себя представляет:

В системе создал такие классы:
1. Форма
2. Набор данных

Класс набор данных имеет подтаблицу - список атрибутов. Для грида - это колонки, а для одной записи - это список ДБаварных контролов.

Класс форма имеет две подтаблицы - список контролов (то бишь панели, пейджконтролы, табы и в принципе можно любые дельфовые контролы указать с указанием иерархии и размеров расположения). И вторая подтаблица - список наборов данных с привязкой к контролу формы (к панели, например).

На клиенте это представлено компонентами, расположенными на базовой форме. Так что для наследника класса создавать новую форму не нужно, новые датасеты и контролы создадутся в рантайме. При этом осуществляется проверка на наличие этих контролов и компонент на форме. Это дает возможность для нестандартных форм создавать наследников и вставлять контролы и датасеты по собственному усмотрению, дабы наделать всяких выкрутасов.

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

Спасибо за внимание.
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33076799
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2: Old Nick

По опыту разработки подобных приложений, есть очень много подводных камней:

1) Реализация настройкой выбора полей из српавочников при заполнении форм
2) Генератор процедур (задача была решена только написание своего макро-языка)
3) Наследование документов (вообщем полностью реализовать не смог)
4) Поддержка перечней документов в документах (многоуровневый master-detail)

Но на мой взгляд идея правильная ;)
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33077828
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По первому вопросу не понял, поясните, плз

По второму:
Я писал генераторы для своей системы, даже 2, один скульный, один дельфевый, но пока не использую, причем сделал за несколько часов.
Смысл в том что генератор дает шаблон, который можно подправить или сразу скомпилить.

По третьему:
В прототипе моей системы была сделана довольно успешная иерархия типов документов. Проблем не было. В моей системе кроме иерархии классов еще есть иерархия форм, которая может несоответствовать классовой. Так что полная свобода творчества.

По четвертому:
Вот с этим не понятно тоже, поясните, плз
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33078952
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Реализация настройкой выбора полей из справочников при заполнении форм
Как ни странно столкнулся с тем что это одна из самых сложных задач интерфейса.
Например есть счет, нужно выбрать партнера и его расчетный счет.
Есть на форме поля:
код партнера
наименование партнера
банк
РС

И две кнопки, по первой необходимо с возможностью поиска/фильтрации выбрать партнера (возможно с предварительно установленной фильтрацией например только по Юр. лицам), и заполнить поля код/наименование. А по второй из расчетных счетов привязанных к выбранному партнеру выбрать нужный и заполнить поля ID_счета/Банк/Номер счета. При смене партнера очистить поля ID_счета/Банк/Номер счета.

Вообщем задача не очень сложная если писать скрипт на клиенте, но если реализовать это все настройками для автоматической отработки нажатий кнопок, то получается достаточно разлапистая структура.

4) Поддержка перечней документов в документах (многоуровневый master-detail)

Тот же счет, пользователь вносит шапку с датами, и хочет сразу набить перечень позиций счета, а в перечне позиций есть перечень привязок позиции к реальным операциям. Сразу возникает вопрос в какой момент получать идентификаторы записей, и пр.

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

Old NickЯ писал генераторы для своей системы, даже 2, один скульный, один дельфевый, но пока не использую, причем сделал за несколько часов.
У нас например исходя из настройки и шаблона на макро-языке генерятся достаточно сложные процедуры, включающие в себя проверки, расчеты остатков, проводки... так что при сохранении процедуры получить сообщение об ошибке в 8154 строке очень даже можно было... правда в данном случае это конечно перебор ;)
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33080201
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По первому вопросу:

Для ссылок на объекты у меня используется объектный контрол. Он внутри себя хранит идентификатор объекта, в текстовом поле показывает наименование объекта, а на кнопочке значок, соответствующий классу объекта.

При описании атрибута указываем минимальный базовый класс для выбора объектов, в данном случае это юр. лицо. После выбора клиента, выбираем счет. Для атрибута можно указать не только минимальный базовый класс, но и папку, в которой лежат объекты, в данном случае папкой будет сам клиент.

По второму вопросу:

Все что делается у меня на форме просиходит только на клиенте, никаких идентификаторов записей еще нет. И только во время сохранения в открытой транзакции берутся идентификаторы. Так что проблем пока не испытывал.

А вообще очень дельные замечания. Именно они определяют правильно ли спроектирована система. :-)
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33080304
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Old NickА вообще очень дельные замечания. Именно они определяют правильно ли спроектирована система. :-)

Несколько лет потратил на решение подобных задач правда PB - Sybase/MS.
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33080345
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Old NickСистема прав представляет собой матрицу Object, Method, User
Под методом подразумевается форма. Формы бывают всякие, какие

Кстати по поводу допусков, как показал опыт всяких внедрений, для большого количества пользователей структура Object-Method-User неудобна, лучше
Object-Method-Role-User. У нас около 1000 методов (к которым можно дать допуска) и расстановка галочек 5 ролей на 1000 методов это уже утомительное занятие, а на 40 пользователей.... ;(

А вот для маленьких систем я в свое время разрабатывал иерархическую систему допусков, когда у пользователей есть уровень безопасности и у методов есть уровень безопасности (вообщем у документов тоже есть уровень безопасности) и пользователь видит метода с уровнем безопасности <= своего. Закладки в таб-ах, меню, документы в списках тоже зависят от уровня безопасности.
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33080385
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле у меня в данной матрице атрибут класса DBOAUser - абстрактный пользователь, от него наследуется группа пользователей, пользователь и еще планирую сделать класс роль, хотя пока и не понадобился.

Поэтому каждому конкретному пользователю можно назначать права, но зачастую это делается группами.
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33080818
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь совсем не понятно зачем нужно это ядро. В Оракле, к примеру, объеты БД типа юзер есть, и роли есть, и тщательный контроль доступа есть. И вроде получается, что ядро тока ухудшит ситуацию для этих задач - лишнее звено.
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33081613
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в Оракле можно раздавать права записям?
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33081656
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Old NickА в Оракле можно раздавать права записям?можно. и уже давно. по крайней мере с версии 8.1.5
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33082069
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Old Nick
А в Оракле можно раздавать права записям?

Там это и называется "Тщательный контроль доступа". Я его упомянул в пред посте.
Но это детали. Мне до конца главное не ясно. Что могут давать подобные ядра?
Ведь если бы они что давали, то их бы лабали софтверные фирмы. А они вместо этого занимаются генраторами приложений, библиотеками классов, в том числе и для задач приложений БД и проч.
Кроме того, не доконца понял что из себя представляет ядро. Почему оно ядро, а не просто тулз какой-то? Ну пусть еще какая-то библиотека классов. Его цель дальнейшая автоматизация разработки?
Вы про детали уже говорите, а с концепцией не все ясно.
Мне интересно, потому что и у нас на фирме один проггер завел разговор про ядро, и про его роль в качестве успешности проектов. Т.е. типа два высокооплачиваемых будут сидеть на этом ядре, а другие тока к ним обращаться и вставлять проект, что тем им выплюнут из ядра.
Но поскольку идеи с ядрами были всегда, а широкого применения не нашли, мне пока не верится в пользу. Наоборот. Када надо что-то будет, они просто скажут: "на это наше ядро не расчитано. Давайте бабки, тех задание". А парни из соседней фирмы просто налабают тоже в среде без всяких заморочек. А может и лучше, так как ядро, скорее всего, наложит ограничения на решения. В общем сомневаюсь я.
Вместо этого я им гру, чтобы лучше какой-нибуть полезный компонент склепали.
Опасаюсь, что нач-ву втюхают это. Баьки получат, а лучше не станет. Мне бы аргументов в ту и обратную сторону подсобрать бы.
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33082328
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoМне до конца главное не ясно. Что могут давать подобные ядра?
Они реализуют уровни kernel и system
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33082915
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А причем здесь кернел и систем? Ведь там систем - это СУБД, а кернел - это Ось. Я так понял, что это ядро где-то между СУБД и сераерным приложением и (или) клиентским. А реалным ядром ИС считалоась вроде БД.
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33083519
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoА причем здесь кернел и систем? Ведь там систем - это СУБД, а кернел - это Ось. Я так понял, что это ядро где-то между СУБД и сераерным приложением и (или) клиентским. А реалным ядром ИС считалоась вроде БД.
Нет, эта схема не включает платформу реализации/развертывания для ИС.
kernel и system - уровни логики самой системы.
Если ваш проект небольшой и одноразовый, то забудьте про схему.
Если планируется, например, делать несколько интегрированных приложений, то придется так или иначе реализовать такую схему. Если у вас нет спецов для проектирования, но много времени, то возможно даже эволюционным путем: общие компоненты, библиотеки, функционал, будучи реализованным ad hoc в приложении, "спускаются" из application на system и kernel.
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33083704
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoА причем здесь кернел и систем? Ведь там систем - это СУБД, а кернел - это Ось. Я так понял, что это ядро где-то между СУБД и сераерным приложением и (или) клиентским. А реалным ядром ИС считалоась вроде БД.
Не буду спорить на счет терминов, но типичным представителем ядра может служить 1С ;) программирование бизнес логики идет внутри. А само ядро предоставляет функции по работе с бизнес объектами.

vadiminfoНо поскольку идеи с ядрами были всегда, а широкого применения не нашли, мне пока не верится в пользу.
Пример 1С, SAP, Axapta и множества более мелких и менее известных контор и приложений по моему свидетельствует об обратном.
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33084284
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Templar
kernel и system - уровни логики самой системы.

общие компоненты, библиотеки, функционал, будучи реализованным ad hoc в приложении, "спускаются" из application на system и kernel.



Estets
А само ядро предоставляет функции по работе с бизнес объектами.


Но что это за архитектура? Многозвенка? А system и kernel похожа на контейнер в EJB? У Оракла в JDeveloper есть тоже, по-моему, своя трехзвенка, с таким уровнем. Но, возможно, в отличии от EJB он не интерпрайзного масштаба. (EJB и CORBA в JDeveloper тоже присутствуют).

Где можно прочитать про подобные концепции? Чтобы понять архитектуру всей системы и роль этих system и kernel в ней? Потому что все еще кажется, что это application пусть и серверный.
Ваш рисунок тока порождает новые вопросы. Особенно хочется понять где это находится по отношению к СУБД. То что оно ниже application следует из Вашего прежнего поста. Но не ясно почему оно не application. Ведь все архитектуры ИС сводятся тока к БД->СУБД->application. Где application может состоять из серврных и клиентских. Но вроде больше ничего там никогда не видел.


Estets
Пример 1С, SAP, Axapta и множества более мелких и менее известных контор и приложений по моему свидетельствует об обратном.

Про 1С я думал, что это готовая ИС для определенных ПО, состоящая из нескольких модулей. Имеет свой генератор форм, отчетов и какой-то язык для настройки. Т.е. я думал, что это все те же средства разработки приложений, только более узкого плана, ориентированые на ИС 1С. Не считал это ядром.
Возможно, термин ядро - нуждается в уточнении?

А где можно почитать концепции SAP? Он какой-то совсем загадочный, если не обращать внимание на все те же СУБД. Я думал его преимущество в том, что это готовая ИС для многих ПО и остается ее тока настроить с помощью каких то их генераторов приложений и всего того инструментария, тока тоже заточенного под эти ИС.
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33084499
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoПро 1С я думал, что это готовая ИС для определенных ПО, состоящая из нескольких модулей. Имеет свой генератор форм, отчетов и какой-то язык для настройки. Т.е. я думал, что это все те же средства разработки приложений, только более узкого плана, ориентированые на ИС 1С. Не считал это ядром.
Возможно, термин ядро - нуждается в уточнении?

А где можно почитать концепции SAP? Он какой-то совсем загадочный, если не обращать внимание на все те же СУБД. Я думал его преимущество в том, что это готовая ИС для многих ПО и остается ее тока настроить с помощью каких то их генераторов приложений и всего того инструментария, тока тоже заточенного под эти ИС.Таких "готовых" систем сегодня практически не существует. Любая современная система состоит из некоторого ядра (движка, интерпретатора, термины разные), имеющего некоторые средства написания программного кода (в R/3 это АВАР, в 1С свой внутренний язык, в системе ФЛАГМАН Salute) и набора написанных с помощью этих средств прикладных функций, объединенных в конфигурацию (в терминах 1С), настройку. Вендор поставляет разумеется какой-то набор готовых конфигураций, плюс их делают независимые разработчики плюс конечные пользователи собственными силами.
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33084900
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoНо что это за архитектура? Многозвенка?
А system и kernel похожа на контейнер в EJB?
Программная архитектура здесь ортогонально. Может быть и многозвенная, а может быть и монолит из одного *.ехе.
Да, сервер EJB реализует уровни kernel и system.
Вопрос в том, в какой мере реализует. Достаточно ли этой реализации по отношению к требованиям ваших applications. Например, не придется ли реализовывать свою систему безопасности. Если ваша система документно-ориентированная, то system должен давать сервис базовый для всех документов, чего в универсальном сервере приложений быть не может по определению. Значит - опять реализовывать и т.д.

Особенно хочется понять где это находится по отношению к СУБД. То что оно ниже application следует из Вашего прежнего поста.
Она вне схемы, справа. Это просто еще один data storage layer, который вам не нужно реализовывать, поскольку в 99% используется готовая СУБД.
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33085355
dimonana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видел ли автор:

1. ОРмэппинги Hibernate/Cayenee/JDO/EntityEJB?
2. Системы кэширования JSC/TreeCache/SwarmCache/OSCache?
3. АППСервера Weblogic/JBoss/Websphere с встроенной системой декларативной безопасности?
4. Системы биндинга для Swing/Winforms (JSF/Tapestry для HTTP)?

сомнительно
...
Рейтинг: 0 / 0
Люди, свершилось. Я сделал объектное ядро
    #33085712
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Системы маппирования изучал издавна. Не устраивают.
во-первых с данными удобнее работать реляционно, во-вторых маппинг не дает преимуществ при построении клиента

Системы кеширования слышу первый раз

Аппсервера для веба мне не интересны, занимаюсь только винформами

Системы биндинга тоже слышу впервые
...
Рейтинг: 0 / 0
25 сообщений из 105, страница 4 из 5
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Люди, свершилось. Я сделал объектное ядро
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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