AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.12.2008, 00:06   #1  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
MDA - это просто способ сохранить время
***** выделено отсюда Microsoft Appoints Nadella to Lead Microsoft Business Solutions ****


Цитата:
Сообщение от fed Посмотреть сообщение
вообще система идущая от концепции model-driven architechture,workflow,role-based functionality вообще пригодна только для достаточно узкого круга задач, связанных с обработкой слабоструктурированных данных и плохоформализуемого документооборота.
Поясни, пожалуйста. Например, MDA - это просто способ сохранить время. Не вводить несколько раз одну и ту же информацию. Понятное дело, что нужен баланс: пилить/точить пилу, но вот чтоб так сразу "пригодня только..."
Старый 02.12.2008, 11:04   #2  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,907 / 5717 (196) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Просто табличная форма - это не только удобный способ ХРАНЕНИЯ но и удобный способ ПРЕДСТАВЛЕНИЯ. А попытка слишком последовательно применять объектный подход при проектировании СУБД зачастую кончается тем, что сначала пишут кучу объектных врапперов вокруг плоской реляционной структуры, а потом мучаются с тем чтобы эти самые объекты в интерфейсе развернуть назад, в табличную форму. А полученные из анализа предметной области унаследованные методы - превратить в банальный набор insert/update/delete.
Ну то есть - может и можно как-то обойти все эти проблемы и скомпоновать разумный набор из объектных и реляционных примитивов, но мои собственные наблюдения над попытками претворения в жизнь объектных надстроек над СУБД это не подтверждают. Кстати - вспомнилось: Лет 8 назад было очень модно говорить что мол через 2-3 года все J2EE-сервера поддержват entity beans и наступит светлое будущее. Entity beans вроде бы все ведущие вендоры поддержали. Но как-то я сейчас про Entity beans редко слышу. Похоже что не прижились...
Старый 02.12.2008, 12:10   #3  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
а в MDA модель обязательно объектная? А про ORM тут хорошо написано, хотя я считаю, что в целом это недостатки текеущих распространненных обхектных сред, а не концепции в целом...
Старый 02.12.2008, 12:17   #4  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от fed Посмотреть сообщение
может и можно как-то обойти все эти проблемы и скомпоновать разумный набор из объектных и реляционных примитивов, но мои собственные наблюдения над попытками претворения в жизнь объектных надстроек над СУБД это не подтверждают.
Может, не совсем в тему, но вроде в LINQ именно это и пытались реализовать в части LINQ to SQL: именно что сделать из "плоских" SQL'евских скаляров объекты со свойствами, отображаемыми на поля реляционных таблиц, сохранив при этом возможность использования запросов.
Опять же, Active Directory в виндах - ни что иное как реляционная БД на базе Jet Database Engine с поддержкой запросов и объектным представлением сущностей в этой БД через те же интерфейсы ADSI.
Старый 02.12.2008, 14:04   #5  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,907 / 5717 (196) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Ну я в общем долго спорить не буду. Посмотрим насколько востребован будет механизм WorkFlow на внедрениях. Я вот долго думал куда бы его прикрутить и в общем большого количества мест не придумал. То есть - примочка удобная, ничего не скажешь, но все равно - скорее примочка чем существенный механизм, проходящий через всю систему. Просто workflow построен на модели, грубо говоря, универсального конечного автомата ( с возможностью программировать условия перехода из состояния в состояния). И как-то мне трудно представить как можно на такой штуке разноску в ГК сделать например или сопоставления проводок по поставщикам/клиентам...
Старый 02.12.2008, 14:58   #6  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
WF - не для замены языка программирования. Он для задания некоего протяженного по времени процесса. Типа:

"заявка должна быть одобрена руководителем
если сумма заявки > 1000 её одобряет бухгалтер
после чего материалы можно получить на складе"

Каждая стадия может быть разнесена во времени - то есть состояние этого автомата сохраняется.

В Аксапте, например, это реально выражается просто в проверке перед разноской, одобрили ли ее. Сама разноска не пишется на форкфлов.

X++:
public boolean validate()
{
    boolean isValid = true;
    ;

    if (! ledgerJournalTable.JournalNum)
    {
        isValid = checkFailed(strfmt("@SYS21496", ledgerJournalTable.JournalNum));
    }

    isValid = isValid && JournalTableData::newTable(ledgerJournalTable).checkOpen();

    if (post == NoYes::Yes && ledgerJournalTable.isInWFApprovalProcess() && !ledgerJournalTable.isWFApprovalApproved())
    {
        // The journal is in workflow approvals and not approved so it can't be posted.
        isValid = checkFailed(strfmt("@SYS110592", ledgerJournalTable.JournalNum));
    }

    return isValid;
}
Форкфлов просто описывает логику передачи заявки от одной инстанции к другой.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Время UP otkudao Обсуждение форума 0 15.10.2007 16:15
1. Знание-сила, 2. Время-деньги =>... mazzy Курилка 5 19.04.2007 07:43
Я так понимаю, что форум на зимнее время не перешел? Prof Обсуждение форума 7 25.11.2005 11:37
Стот ли таймер на время редактирования? axLog Обсуждение форума 12 16.05.2005 13:53
Время kvan Обсуждение форума 1 12.05.2005 17:39

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:52.