Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Реализация машины состояний на Oracle / 6 сообщений из 6, страница 1 из 1
04.02.2003, 12:06
    #32100808
Oracle_Developer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация машины состояний на Oracle
Приходиться сталкиваться с многостадийными объектами в предметной области. Для их отображения на таблицы обычно вводят 2 поля DOC_TYPE и поле STATUS. Это поле STATUS где-то и чем-то заполняют. А при смене значения этого поля в триггерах вызывают какие-то обработчики.

Пример
Если поле статус Было 'A' а столо 'B' то выполнить Pack_1.F1.

и т.д

Нет ли ссылок на грамотную реализацию машины состояний на Oracle? А нет ли для этого механизма в самом Oracle с какой-то версии?
...
Рейтинг: 0 / 0
04.02.2003, 12:47
    #32100862
va_kochnev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация машины состояний на Oracle
Можно создать таблицу вида:
create table status_moving (
status_from ...
,status_to ...
,proc_num ... )

еще процедуру
status_moving_exe(p_proc_num ..., ........) is
begin
if p_proc_num=1 then
...
elsif p_proc_num=2 then
...
end if;
end;

На таблицу вешаем триггер for each row где
...
begin
select proc_num into v_proc_num from status_moving
where status_from=:old.status and status_to=:new.status;
status_moving_exe(v_proc_num,......);
exception
when no_data_found then null;
end;

При желании можно в таблице status_moving хранить имя процедуры-обработчика и запускать ее с помощью dbms_sql или execute immediate
...
Рейтинг: 0 / 0
04.02.2003, 12:54
    #32100875
Ekuku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация машины состояний на Oracle
Привет всем
..хранение и обработка статусных состояний является типичной задачей систем учета и документооборота.
Для тотального решения этой и ряда других задач существует компонент Oracle Workflow(Builder,Engine,API), посл.версия 2.6. Основан на модели работ с Oracle AQ, работает в 3-х звенной архитектуре.
Стандартная документация в поставке Oracle 817,9 в разделе Oracle Integration Server
...
Рейтинг: 0 / 0
04.02.2003, 12:57
    #32100879
Oracle_Developer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация машины состояний на Oracle
2 Ekuku, а есть ли опыт его реального использования.

Интересует вопрос а достаточно ли он гибкий этот механизм чтобы подойти под любую задачу практики?
...
Рейтинг: 0 / 0
04.02.2003, 13:12
    #32100899
Ekuku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация машины состояний на Oracle
уверенно отвечаю - ДА ,т.к.сам на нем делал задачи.
Подробнее - Oracle817 + ApacheJServ(SunJava) +Oracle Forms6i(servlet)
код можно делать в Формсе,на Java,на PL/SQL,на JavaScript
Главное - продукт абсолютно открыт на свои API PL/SQL и можно динамически переопределять правила обработки WF-Engine.
--
К примеру, по загруженной схеме из WF-Builder процессы и статусы привязаны к статичным ролям,а в ходе выполнения вычисляется конкретный юзер или группа по заданной роли которым идет message на обработку с урлами на формсы,отчеты,web-page.... ну там много всего.. пользуй не пожалеешь! .. а таблицы с триггерами - это прошлый век
...
Рейтинг: 0 / 0
04.02.2003, 17:07
    #32101072
ShgGena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация машины состояний на Oracle
Я реализовал модель финитных атоматов в Oracle.
Основное API на java. В качестве лексем используются несколько причесанные
url + реализован контроь доступа и разделение задач на уровнях:
-- состояний
-- переходов состояний
-- выполняемых задач в процессе перехода состояний.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Реализация машины состояний на Oracle / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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