powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Язык формул для бизнес логики
25 сообщений из 212, страница 1 из 9
Язык формул для бизнес логики
    #38205479
Влад Т.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все привет. Начальство поставило задачу внедрить в наш проект скриптовой язык или язык формул для бизнес логики. Чтобы админ сам мог дотачивать вычисления без разработчиков. Поскажите или ткните пожалуйста, как это можно сделать. Начальник просит сделать типа как "язык формул" в базе данных Cronos. У нас база у нас MSSQL2008, а клиент, админ на C# (.net).
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38205487
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Влад Т.Все привет. Начальство поставило задачу внедрить в наш проект скриптовой язык или язык формул для бизнес логики. Чтобы админ сам мог дотачивать вычисления без разработчиков. Поскажите или ткните пожалуйста, как это можно сделать. Начальник просит сделать типа как "язык формул" в базе данных Cronos. У нас база у нас MSSQL2008, а клиент, админ на C# (.net).А где делаются вычисления, в базе или на клиенте?

Можно использовать тот язык, где делаются вычислания, например, если в базе, то t-SQL. ИМХО это проще, чем придумывать свой язык, писать компмляторы, отладчик и т.п.
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38205495
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Влад Т. Поскажите или ткните пожалуйста, как это можно сделать.
C# вроде как поддерживает компиляцию на лету. Соответственно нехай админ пишет "формулу", а вам остаётся компильнуть класс с ней.
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38205507
Влад Т.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не понимаю пока, как я могу писать на C# формулы или логику обработки если я не вижу предметной области. У нас с помощью админа можно рихтовать структуру баз и таблиц где хранятся объекты (те наши данные) и тд. Идея нужна как сделать, чтобы админ мог обращаться к конкретному полю или полям таблицы, затем писал скрипт используя определенные формулы или функции в неком отладчике, потом компилил это все в dll, которая выкладывалась в определенную директорию и использовалась движком при работе.
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38205513
Влад Т.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вычисления у нас идут на сервисе. Сервис писан на C#. Админ может не знать TSQL, тем более предметная область раскидана по базам и таблицам. Все это необходимо знать. Хотелось что нибудь проще. Админ открыл структуру базы в админке. Наваял скрипт, используя графический редактор, отладил и сохранил (скомпилил), взял в определенной папке dll и выложил на сервис.
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38205654
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.cronos.ru/kb-1411.html
КРОНОСФормулой в "CronosPRO" называется выражение (или совокупность нескольких выражений), написанное на специальном языке и выполняющее некоторую последовательность вычислений.
недобэйсик наверное несложно написать? наверное - куча готовых примеров? можно ли задействовать компилятор vb .net ?
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38205671
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делали такое. Как раз в C#. Формулы хранились в базе, при потребности генерился C# класс, компилился, грузился в отдельный AppDоmain и выполнялся. Сделали еще красивый редаткор с деревом внутренних объектов приложения, чтобы при выборе элемента из дерева вставлялся код для его использования

В текущем проекте (C/C++/Linux HiLoad) используем LUA.
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38205731
Рус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если это действительно бизнес логика, то в 90% случаев достаточно табличных функций и простейшего мат процессора вроде того, что сделано в JRules, ILOG и т.п.
Например, в хорошо спроектированных страховых core системах и АБС для настройки тарифов страховых и кредитных продуктов в 90% случаев функционала табличных функций достаточно.
Кроме самого функционала бизнес правил, который можно написать или взять готовый, вам еще потребуется решить один вопрос. Как обеспечить контекст выполнения - единство подхода к передаче аргументов в бизнес правило.
Успехов!
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38205803
Влад Т.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно кинуть несколько ссылок где описывается теория как начинающих, т.к. я сам такое еще не делал. Мне подходит, если скрипт будет на C#. Просто не могу определиться с сложностью : типа работа с полями одной записи или всей таблицей или всей базой. Что будет достаточно в 90% случаев для работы пользователя, имеется ввиду функционал.
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38205877
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Влад Т.,
в гугле по поиску
"c# выполнить текст"
масса примеров

и еще наверняка должен быть прямой способ впилить visualbasic (VBA),
тогда будет как в excel

ps:я не спец .net
просто когда-то выбирал язык, и такая возможность была ключевой
но использую python - там любой текст можно выполнить,
QT - там есть QtScript
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38205880
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Влад Т.,
Делали давно. Ссылок я уже не помню. Гуглится по ключевым словам просто. AppDomain надо использовтаь потому, что в C# однажны загруженную DLL уже не выгрузить. А если их грузить в отдельный AppDomain, то можно просто уничтожать его. Заняла разработка две недели командой из 7 челоек (4 девелопера+3 тестера). Большую часть делали визуальную составляющую. Производительность была около 30 секунд на генерацию отчета из 30000 разных формул. Включая генерацию кода, компиляцию, и исполнение. Год был 2006-й вроде. Проект - программа для расчета стоимости строительства и себестоимости продукции для интела.
Посмотриет все-таки и в сторону LUA. Это сейчас фактически стандарт для встриваения в приложения. В текущем проекте мы им успешно пользуемся. Достаточно сложный скрипт может выполняться несколько тысяч раз в секунду. Язык более простой с точки зрения пользователя. В том смысле, что дока по C# включает описание кучи системных классов, которые не нужны в скриптах, у LUA дока более компактная.
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38206109
Влад Т.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо за советы. Почитал и попробывал примеры для динамической компиляции и тд. Да все работает, могу подгружать dll и выполнять методы. Для меня остался открытым вопрос - как правильно (вернее проще) мне нужно обращаться к структуре объекта, который раскидан по полям в таблице. По структуре сгенерю класс, который затем можно использовать в скрипте или как? Те как я понял, мне нужно связать реляционную модель со скриптом (как обращаться к полям, их значениям).
PS. Разработка велась до меня, поэтому там ничего не было предусмотрено, а разбираться и доделывать мне.
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38206192
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Влад Т.Для меня остался открытым вопрос - как правильно (вернее проще) мне нужно обращаться к структуре объекта, который раскидан по полям в таблице.Абсолютно так же, как это делается из приложения.
То есть это и есть разработка приложения, ваш "админ" будет программистом, который это ваше приложение модифицирует, расширяет, правит.

Разница только в том, что у него будет меньше возможностей испортить приложение.

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

Например, ограничивают изменение формул только одной строкой таблицы (можно писать формулы из полей этой строки), или набором таблиц с заранее определённой связкой (в рамках одной группы таблиц мастер-детали + справочники).

Тогда можно сделать свой редактор формул, а итоговый код плагинов генерить самому. Редактор может быть при этом как графический, так и текстовый, в котором задаётся входной шаблон с передаваемыми параметрами или используется специальный язык для обращения к данным.
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38206264
Влад Т.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg спасибо. Идея уже стала более менее понятна. Но все равно хотелось бы узнать: 1. по опыту, функционала формул или небольного скрипта хватало для покрытия нужд пользователей или нужно было изобретать что-то более серьезное? и 2. входной шаблон с передаваемыми параметрами - понятно, а вот "специальный язык для обращения к данным" - смущает как обратиться к конкретному полю? Предусмотреть в структуре для поля уникальную метку и ее использовать в скрипте или как-то по другому? Прости за вопрсы мне даже не с кем посоветоваться.
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38206567
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Влад Т.alexeyvg спасибо. Идея уже стала более менее понятна. Но все равно хотелось бы узнать: 1. по опыту, функционала формул или небольного скрипта хватало для покрытия нужд пользователей или нужно было изобретать что-то более серьезное?У нас хватило.
Но это естественно завизит от ваших задач.
Влад Т.2. входной шаблон с передаваемыми параметрами - понятно, а вот "специальный язык для обращения к данным" - смущает как обратиться к конкретному полю? Предусмотреть в структуре для поля уникальную метку и ее использовать в скрипте или как-то по другому?Допустим, у нас формула выглядит например так: SUM([ccc])/AVG([bbb]).
В квадратных скобках указываются некие названия (коды). По этим кодам берём имена таблиц и полей из справочника, потом строим динамический запрос, выполняем.

Но для вас это может и не подойти. Зависит, повторю, от бизнес-требований.
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38206854
Влад Т.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg большое спасибо за советы. Буду пробывать.
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38206861
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы писали простой напрасно на ANTLR и выдержку к нему, на java правда...
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38206907
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Влад Т.Все привет. Начальство поставило задачу внедрить в наш проект скриптовой язык или язык формул для бизнес логики. Чтобы админ сам мог дотачивать вычисления без разработчиков. Поскажите или ткните пожалуйста, как это можно сделать. Начальник просит сделать типа как "язык формул" в базе данных Cronos. У нас база у нас MSSQL2008, а клиент, админ на C# (.net).

А можно пример "бизнес формул" в разрез: простая, средняя, сложная.
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38206946
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38207113
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

21 век на дворе...
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38207115
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i.e., пора уходить от текстовых закорючек
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38207788
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лагманi.e., пора уходить от текстовых закорючекАхренеть. Неужели этим кто-то пользуется и не матерится?
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38207818
iscrafm__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bogdanov AndreyЛагманi.e., пора уходить от текстовых закорючекАхренеть. Неужели этим кто-то пользуется и не матерится?
сейчас время консьмеризации ИТ. Чем тупее - тем лучше. Главное чтобы это было как можно больше похоже на игрушку.
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38207823
iscrafm__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
консьЮмеризации ИТ.
...
Рейтинг: 0 / 0
Язык формул для бизнес логики
    #38207826
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лагманi.e., пора уходить от текстовых закорючекСкажите честно, вы сами при программировании на Java отказались от текстовых закорючек, используете свой редактор? То есть все версии, кроме первой, написаны на нём?
...
Рейтинг: 0 / 0
25 сообщений из 212, страница 1 из 9
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Язык формул для бизнес логики
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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