powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Повторно используемая бизнес-логика
44 сообщений из 44, показаны все 2 страниц
Повторно используемая бизнес-логика
    #35333681
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пусть есть некоторое решение по автоматизации, разработанное и внедренное для одного заказчика, скажем, на MS SQL + .Net. Потом приходит второй заказчик и говорит: мы хотим то же самое (с некоторыми изменениями, конечно), но на Oracle + Java. А в очереди третий заказчик, который говорит: а мы хотим на MS SQL, но чтобы клиент на Delphi был. Все хотят дать много денег :)

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

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333688
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. трехзвенная архитектура
2. использование стандартных SQL-запросов (в случае использования ORM вопрос в большинстве случаев решается сам собой)
3. клиент подключается через межплатформенный протокол типа SOAP, CORBA
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333689
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedСоответственно, возникает вопрос
Я бы посоветовал не выдумывать [эпитет пропущен] вопросы, а обратить внимание на реальные потребности заказчика.
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333692
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Софтварер, не надо нервничать.
Если бизнес-логика написана на T-SQL, ее чертовски неприятно, долго, нервно и дорого будет переписывать под PL/SQL. И глюки новые появятся.

Хочется единую форму записи. А уж провайдеры для разных СУБД мы напишем.


Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333693
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2softwarer опять: а каждого заказчика хочется удовлетворить с минимумом головной боли и за минимальное время. Объем работы и сроки сократить при тех же деньгах.

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333698
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedСофтварер, не надо нервничать.
И снова Вы придумываете чушь.

CodenamedЕсли бизнес-логика написана на T-SQL
То это не имеет ровно никакого отношения к тому, что в Вашем посте является явной чушью.

С бизнес-логикой ситуация вполне очевидна. В большинстве случаев можно показать клиенту цифры и убедить его, что поставить нужную СУБД гораздо дешевле, нежели заказывать подобную доработку. При определенном масштабе деятельности станет целесообразным создать группу гуру, дабы они спроектировали и реализовали метаязык и несколько адаптеров для него к различным СУБД. В этом случае основа пишется на метаязыке и не меняется, отдельные места - прежде всего ради оптимальной производительности - таки реализуются отдельно для каждой СУБД.

Наконец, существует квазирешение выделения аппсервера. При этом заказчик вместо "не хочу MSSQL, хочу Oracle" начнет говорить "не хочу IIS, хочу WepSphaera", разницы никакой.
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333703
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Kachalov:

Трехзвенка - само собой, без этого никак. Кросс-платформенный протокол - не обязательно, протокол для каждого клиента свой может быть, это не проблема.

А вот универсальные запросы... С этим хуже. Это же бизнес- логика , а не SQL-92, там условия, циклы есть, работа с курсорами иногда, и прочие радости жизни. Специфика сервера скажется обязательно. Вот и похоже, что ORM - единственное направление. Но это мутная штука. :(

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333707
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedЭто же бизнес- логика , а не SQL-92, .... Специфика сервера скажется обязательно.
Вы так говорите, словно в SQL-92 специфика не сказывается.

Безнадежно. Лучше сообщите заранее название вашей чудо-системы.
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333714
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
С бизнес-логикой ситуация вполне очевидна. В большинстве случаев можно показать клиенту цифры и убедить его, что поставить нужную СУБД гораздо дешевле, нежели заказывать подобную доработку.


Это даже не чушь, а фантазийный бред. Убедить заказчика ради нескольких небольших проектов добавлять новые элементы в свою инфраструктуру, набирать людей для ее администрирования и потом возиться с лишней СУБД до скончания времен? А если это госпредприятие? И если такого заказчика нельзя терять? Бред.

softwarer
... группу гуру, дабы они спроектировали и реализовали метаязык и несколько адаптеров для него...

Хе... И много вы видели успешных таких проектов? Собственно, о таком метаязыке и речь. Можете назвать успешные распространные реализации?
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333727
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedУбедить заказчика ради нескольких небольших проектов
Если это приложение уровня записной книжки, и при этом заказчика нельзя терять, то лучше всего действительно использовать какой-нибудь Hibernate. Я полагал, речь в этом форуме идет об информационных системах.

CodenamedХе... И много вы видели успешных таких проектов?
В названном масштабе этот подход не может быть успешен, в лучшем случае будет слишком дорог. Только что-то стандартное, тщательно изучив всего его глюки.
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333730
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то стандартное? Например?

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333732
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я же назвал
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333734
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hibernate - это не метаязык. Это persistence engine, со всеми вытекающими. Он предназначен для сохранения в БД состояния объектов. При написании бизнес-логики приходится решать совсем другие задачи, в том числе, осуществлять перебор больших объемов данных, которые совершенно не хочется (точнее, нельзя) вытаскивать на сервер приложений для обработки.

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333737
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed
Соответственно, возникает вопрос: в каком виде следует реализовать бизнес-логику исходного решения, чтобы ее можно было без изменений перенести на другую платформу?

в виде описания в формате PDF, например.
а вообще, если продаете заказчику бизнес-логику, то какая разница. А если услуги по программированию - то программируйте, говорите же "Все хотят дать много денег". Если не можете убедить заказчика купить бизнес-логику и не хотите программировать, то давайте контакты заказчика. 10% агентское вознаграждение.
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333743
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmв виде описания в формате PDF, например

Вы вообще разницу между спецификацией и реализацией, я извиняюсь, видите?
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333746
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed iscrafmв виде описания в формате PDF, например

Вы вообще разницу между спецификацией и реализацией, я извиняюсь, видите?
конечно. Поэтому правильно ответил на вопрос. Переносится элеменентарно. Никаких затрат.
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333751
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ммм... А реализация в PDF - она должна быть с картинками?
А то вдруг сервер приложений без картинок не поймет правила размещения товара на складе! :)

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333760
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конечно с картинками!
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333766
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда это действительно решение!

Надо просто пойти по пути инновационных компания Яндекс и Гугл - посадить в дальний подвал много гастарбайтеров для обработки запросов, написав им несложный ГУЙ. В штат админов включить надсмотрщиков, раздать всем бизнес-логику, и все - можно сдавать в эксплуатацию :)
Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333778
AlexTheRaven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed<...>для одного заказчика, скажем, на MS SQL + .Net. <...> второй заказчик и говорит: мы хотим то же самое (с некоторыми изменениями, конечно), но на Oracle + Java. <...> мы хотим на MS SQL, но чтобы клиент на Delphi был. Все хотят дать много денег :)Заинтересованное лицо, которое выдвигает требования относительно средств реализации, обладает нездоровым техническим бэкграундом. Какая ему разница, из чего скомпиллирован исполняемый файл - из .Net или Delphi? У него где-то остались рабочие станции на Windows 95? Или он серьёзно рассчитывает, что ему дадут исходники и он будет самостоятельно копаться в чужом коде?
Поговорите с заинтересованным лицом позицией повыше. Оно, скорее всего, скажет, что средства реализации ему почти безразличны, и максимум, что ему важно - это ОС.

CodenamedСоответственно, возникает вопрос: в каком виде следует реализовать бизнес-логику исходного решения, чтобы ее можно было без изменений перенести на другую платформу?
<...>IMHO в каком-нибудь одном, но качественно. Всё равно на всех не угодите.
Чем эффективнее решение - тем сильнее оно привязано к платформе.
Самым "кросс-платформенным" из перечисленных выглядит Oracle + Java. Но кривая обучения, цена разработки, приобретения и владения...

softwarerВ большинстве случаев можно показать клиенту цифры и убедить его, что поставить нужную СУБД гораздо дешевле, нежели заказывать подобную доработку.+1

softwarerПри определенном масштабе деятельности станет целесообразным создать группу гуру, дабы они спроектировали и реализовали метаязык и несколько адаптеров для него к различным СУБД. В этом случае основа пишется на метаязыке и не меняется, отдельные места - прежде всего ради оптимальной производительности - таки реализуются отдельно для каждой СУБД.Сдаётся мне, что этот масштаб - SAP.

softwarerНаконец, существует квазирешение выделения аппсервера. При этом заказчик вместо "не хочу MSSQL, хочу Oracle" начнет говорить "не хочу IIS, хочу WepSphaera", разницы никакой.Независимый от вендора Apache Tomcat?
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333783
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле я не хотел никого задеть. Но описание в PDF - это именно спецификация, то есть человеческое описание, предназначенное для воплощения в коде. А хочется иметь работающий с некоторой логической моделью этот самый код. То есть реализацию.

Причем если манипулирование объектами проблем особых не вызывает, то написание запросов к данным больших объемов - это для "метаязыка" составляет проблему. Существенным требованием является, чтобы запросы, обрабатывающие большие объемы данных, и возвращающие существенно меньшие объемы, выполнялись на сервере БД. Ну и форма записи таких запросов должна быть удобной.

Такая вот фигня...

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333788
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2AlexTheRaven: скажу только что да, исходники заказчику отдадут, и он их сам должен будет сопровождать потом; и нет, СУБД ему тоже не безразлична, проект, как правило, становится частью уже имеющейся большой инфраструктуры.

Остальное тут уже комментировалось.
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333847
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedНа самом деле я не хотел никого задеть. Но описание в PDF - это именно спецификация, то есть человеческое описание, предназначенное для воплощения в коде.
это была шутка конечно же, черный юмор немного. Вы говорите несоместимые вещи:
Codenamed1. условия, циклы есть, работа с курсорами иногда, и прочие радости жизни
2. перебор больших объемов данных, которые совершенно не хочется (точнее, нельзя) вытаскивать на сервер приложений для обработки
3.Если бизнес-логика написана на T-SQL, ее чертовски неприятно, долго, нервно и дорого будет переписывать под PL/SQL.
на middleware нельзя, с одной СУБД на другую - неприятно, долго и т.п.. Остается только с картинками в PDF.
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35333943
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
это была шутка конечно же, черный юмор немного.

Я это заметил, оценил и даже пошутил в ответ :)

iscrafm
Вы говорите несоместимые вещи

Я это признаю :)
Универсального такого решения, конечно же, нет. Если бы это было просто и понятно, это давно было бы кем-нибудь реализовано и продавалось бы. Но увы, такого нет.

Нечто похожее, есть, конечно. Например в JDE - там для бизнес-логики вообще "конструктор" придуман, с графическим интерфейсом, циклами, условиями, запросами и переборами. Полученный на выходе результат сохраняется как-то, а потом транслируется в ANSI C :) Но работать с этим, конечно, жутко. Шутка ли, там копипаста нет)))
В общем, вы правы, это нереально.

Другое дело, что интересно подумать, может быть, например, какие-то типовые очень конструкции есть, из которых можно сложить код хотя бы процентов на 50? Тогда всяко меньше работы надо будет делать руками.
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35334240
Alexsalog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedПусть есть некоторое решение по автоматизации, разработанное и внедренное для одного заказчика, скажем, на MS SQL + .Net. Потом приходит второй заказчик и говорит: мы хотим то же самое (с некоторыми изменениями, конечно), но на Oracle + Java. А в очереди третий заказчик, который говорит: а мы хотим на MS SQL, но чтобы клиент на Delphi был. Все хотят дать много денег :)

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

Код: plaintext
Step softly, but carry a big gun


Я конечно же скажу глупость, но в идеале мне видится так: надстройка времени разработки, оперирующая понятиями бизнес-логики. На выходе - сгенеренный серверный код в одном из диалектов SQL.

Выбор диалекта осуществляется в ComboBox.
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35334405
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed
может быть, например, какие-то типовые очень конструкции есть, из которых можно сложить код хотя бы процентов на 50? Тогда всяко меньше работы надо будет делать руками.
нет такого, и в скором времени не наблюдается.
Все попытки универсального, настолько сырые и дорогие, что смахивают на голимую рекламу.
AlexTheRaven
MHO в каком-нибудь одном, но качественно. Всё равно на всех не угодите.
+1
если заказчик дейсвительно важен, то пусть оплачивает создание в вашей организации доп.направления на перенос кода (уже отлаженного на одной платформе).
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35334632
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexsalogЯ конечно же скажу глупость, но в идеале мне видится так: надстройка времени разработки, оперирующая понятиями бизнес-логики.

Ну почему же глупость? Вовсе нет. Только какие они - понятия бизнес-логики? Вот в чем вопрос.
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35334715
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed AlexsalogЯ конечно же скажу глупость, но в идеале мне видится так: надстройка времени разработки, оперирующая понятиями бизнес-логики.

Ну почему же глупость? Вовсе нет. Только какие они - понятия бизнес-логики? Вот в чем вопрос.
простейший случай - хранимая процедура "Создать счёт" (правда автогенерацией кода здесь не пахнет).
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35334845
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читаю этот топик и удивляюсь :)

- в технологии EJB предусмотрен доступ для клиентов через SOAP или CORBA, что позволяет писать клиента почти на любом ЯП.
- в технологии EJB запросы к БД описываются на языке Java Persistence Query Language который транслируется ORM-менеджером в native SQL запросы конкретной БД
- сами EJB-компоненты пишутся на Java и не зависят от используемого Application Server-а, т. е. могут считаться межплатформенными

- зачем изобретать велосипеды когда все уже придумано? прошу не считать мое замечание выпадом против других существующих технологий, просто мне кажется что с помощью технологии EJB вполне возможно решить задачу поставленную автором топика.
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35334850
Alexsalog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed AlexsalogЯ конечно же скажу глупость, но в идеале мне видится так: надстройка времени разработки, оперирующая понятиями бизнес-логики.

Ну почему же глупость? Вовсе нет. Только какие они - понятия бизнес-логики? Вот в чем вопрос.
Тут полная свобода творчества. Мир, который проектируется с нуля.

Например (держу перед мысленным взором нашу систему) - нам бы подошли:
На верхнем, самом агреггированном уровне:

Код: plaintext
[Внешний документооборот], [Внутренний документооборот], [Бизнес-правила]

Код: plaintext
1.
[Внутренний документооборот]  = [{Атрибуты}=( 1 )=>{Объекты данных}=( 2 )=>{Документы}=( 3 )=>{Переходы}, [Пользователи]] 

под '=(*)=>' подразумеваются отношения, цифра в скобочках - идентификатор.

[Бизнес-правила] могут влиять на:
- видимость Атрибутов,
- на возможность присвоения значений Объектов данных документам и
- на осуществимость Переходов.

[Бизнес правила] формулирутся в терминах Атрибутов, как условные выражения. Кроме вычисления условия, бизнес правило имеет несколько модификаторов Действие:
- Запрет всего действия
- Исключение мешающего элемента в ОбъектеДанных
- Перемещение мешающего объекта в другую плоскость переходов

Например: полный запрет формирования накладной из счета если один из товаров это грабли=

Код: plaintext
БизнесПравило1 = {Действие=Запрет, Условие= "good_name like 'грабли'", Место=Переход(СчетНакладная)}

Указанное правило легко транслируется, например в T-SQL:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
set @rule1_check =  0 ;
set @canDo =  0 ;

select  1  into @rule1_check from doc, docspec, goods where doc_id = @currdoc_id -- это пишется исходя из значения Места.
and docspec.doc_id=doc.doc_id -- определяется контекст исходя их схемы данных,
and docspec.good_id=goods.good_id -- заданной в системе отношений {Атрибуты}=(1)=>{Объекты данных}
and goods.good_name like '%грабли%'; -- подключили заданное в БизнесПравил-е Условие

if @rule1_check ==  1  then set @canDo =  0 ; -- используем параметр Действие
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35334925
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аффтар Пусть есть некоторое решение по автоматизации, разработанное и внедренное для одного заказчика, скажем, на MS SQL + .Net. Потом приходит второй заказчик


Kachalov - зачем изобретать велосипеды когда все уже придумано? прошу не считать мое замечание выпадом против других существующих технологий, просто мне кажется что с помощью технологии EJB вполне возможно решить задачу поставленную автором топика.
всё выкинуть и переписать?
ДОрого!


Alexsalog Например: полный запрет формирования накладной из счета если один из товаров это грабли=
слабоватое бизнес-правило.
2. Такое уже есть в ErWin - генератор кода на шаблонах под каждую СУБД. Только вот, неприжилось...
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35335421
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Kachalov: а можно ссылочку, где хорошо написано про Java PQL?
Судя по описаниям, это действительно нечто близкое к решаемой задаче.

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35335429
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Alexsalog:

Любая свобода, а тем более творчества, в нашем деле - проблема, а не плюс.
Идеальным вариантом является взять готовое решение, и либо купить его, либо сделать свою реализацию, которую можно будет подкручивать.

Поэтому и интересно узнать, кто с таким сталкивался или пытался делать.

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35335493
chp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexTheRavenЗаинтересованное лицо, которое выдвигает требования относительно средств реализации, обладает нездоровым техническим бэкграундом. Какая ему разница, из чего скомпиллирован исполняемый файл - из .Net или Delphi? У него где-то остались рабочие станции на Windows 95? Или он серьёзно рассчитывает, что ему дадут исходники и он будет самостоятельно копаться в чужом коде?
Поговорите с заинтересованным лицом позицией повыше. Оно, скорее всего, скажет, что средства реализации ему почти безразличны, и максимум, что ему важно - это ОС.


Я работал в банке. Была куплена банковская АБС. Работала она на Oracle и до сих пор работает. Причем огромным плюсом ее было то что исходники ее были открыты. Мы постоянно в ней что-то доделывали или как минимум смотрели как и что работает. Можно сказать что это было неправильно и надо было делать заказы у разработчика. Только разработчик просто не в силах был удовлетворить все запросы клиентов. И для нас было принитцпиально то что она работала на Oracle, потому что все кадры тех поддержки были заточены под Oracle и под эту АБС. Людям позицией выше было все равно на чем она будет написана, они считают деньги: если есть готовая платформа за лицензию которой уплачено, если есть техника под эту базу/операционку, и самое главное люди, умеющие работать с такими программами/системами, то в реальности переход на другую платформу был бы сродни закрытию банка на неопределнный срок, это не считая прямых затрат. Так что не все так просто с выбором операционки и базы. Насчет Win95 - к примеру у нас есть организации (ФСБ, ЦБ ) ради которых приходится до сих пор использовать дискеты - и это в 21 веке.
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35339461
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamedа можно ссылочку, где хорошо написано про Java PQL?
Java Persistence Query Language
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35342768
AlexTheRaven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpЯ работал в банке. Была куплена банковская АБС. Работала она на Oracle и до сих пор работает. Причем огромным плюсом ее было то что исходники ее были открыты. Мы постоянно в ней что-то доделывали или как минимум смотрели как и что работает. Можно сказать что это было неправильно и надо было делать заказы у разработчика. Только разработчик просто не в силах был удовлетворить все запросы клиентов.
Наверняка до этой АБС была какая-то другая, пусть даже "лоскутная". Для неё была инфраструктура, и у кадров тех. поддержки также были по ней какие-то знания. И тоже некоторое время банк был в подвешенном состоянии. Но это никого не остановило, т.к. новая АБС давала большие преимущества и/или кто-то получил за неё хороший откат.

chp
И для нас было принитцпиально то что она работала на Oracle, потому что все кадры тех поддержки были заточены под Oracle и под эту АБС.
Так был ли Oracle в банке до этой АБС?

chp
Людям позицией выше было все равно на чем она будет написана, они считают деньги: если есть готовая платформа за лицензию которой уплачено, если есть техника под эту базу/операционку, и самое главное люди, умеющие работать с такими программами/системами, то в реальности переход на другую платформу был бы сродни закрытию банка на неопределнный срок, это не считая прямых затрат. Так что не все так просто с выбором операционки и базы.
Согласен, здесь, как и везде, нужно считать. Впрочем, переписывание и перетестирование АБС специально под ваш банк - по цене сродни созданию АБС с нуля. Наверное, для банков первой десятки, у которых тысячи сотрудников поддержки АБС и сотни серверов, это имеет смысл, для остальных - вряд ли.

chp
Насчет Win95 - к примеру у нас есть организации (ФСБ, ЦБ ) ради которых приходится до сих пор использовать дискеты - и это в 21 веке.
Мы всё-таки обсуждаем коммерческие организации, основной целью которых является получение прибыли. Разработка ПО для гос. организаций, большинство из которых в силу различных причин очень неравномерно распределяют деньги на IT - отдельный вопрос.
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35347794
Николай1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123
2. Такое уже есть в ErWin - генератор кода на шаблонах под каждую СУБД. Только вот, неприжилось...

Почему не прижилось? У нас впролне успешно тригеры генерит.
Делал, правда, не я, поэтому начаьные затраты мне неизвестны.
А так - работает.
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35348221
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай1 Petro123
2. Такое уже есть в ErWin - генератор кода на шаблонах под каждую СУБД. Только вот, неприжилось...

Почему не прижилось? У нас впролне успешно тригеры генерит.
Делал, правда, не я, поэтому начаьные затраты мне неизвестны.
А так - работает.
- код на макросах ErWin совершенно нечитабельный (в 10 раз больше, и т.д. и т.п.)
- в ErWin не заложена декларативная ссылочная целостность (через Cascade)
- порог вхождения программиста в код ErWin занимает кучу времени
- при накате скриптов в БД средсвами ErWin, он пропускает некоторые ошибки (приходится генерить скрипт, а потом извне его накат)
- ....
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35349697
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
от себя добавлю, что еще хочется иметь в своем распоряжении такие приятные вещи, как, например, Code Completion (a/k/a IntelliSence), в целом удобную IDE, ну и так далее.

Пока наиболее близкое к желаемому - это код, использующий конструируемые запросы по типу (n)Hibernate, Java PQL, MS EntityFramework + LINQ.

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

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35349764
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, в догонку пришла идея, как все-таки можно несколько облегчить себе жизнь.

Проблема, которая занимает меня, состоит в следующем: хочется иметь возможность прописывать бизнес-логику так, чтобы ее потом можно было отрендерить для любой СУБД, для которой написан провайдер. Это не касается некоторого количества критичного в плане эффективности кода, который обречен быть переписанным для каждой платформы, но значительная экономия времени и нервов разработчиков (а кому нравится переписывать что-то один в один?) была бы, это факт. Ну и, конечно, при каждом переписывании неизбежны ошибки, которые надо еще найти, да и сопровождать одновременно две версии тяжело поддерживать. В общем, понятно.

И написать ее в таком виде, в принципе, можно. С использованием средств, перечисленных в предыдущем посте. Но это намного менее удобно для отладки, чем непосредственно SQL-код, особенно если его писать в хранимых процедурах.

Отсюда компромиссное решение - система изначально разрабатывается на конкретной СУБД, и лишь в том случае, если система или ее фрагменты понадобились где-то еще, имеет смысл один раз упереться и перенести уже отлаженную бизнес-логику с голого диалекта SQL на уровень промежуточного звена, непрерывно проверяя идентичность результатов выполнения кода. То есть система должна продолжать функционировать и проходить все тесты во время постепенного перевода бизнес-логики. Заодно станут видны места, заведомо не допускающие такого обобщения. Если повезет - получится достаточно эффективная кросс-платформенная бизнес-логика. Если ей удастся покрыть хотя бы 70% всего объема - жизнь станет чуточку лучше.

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35350018
Фотография shelsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedКстати, в догонку пришла идея
На посошок

Идея не пришла в голову разделить бизнес-логику
1) по степени трудоемкости
2) по степени быстродействия

Фмысл !
1) Я могу реализовать логику ввода счета на интерпретаторе Фортрана написанного на Васике и никто не заметит что данное решение тормозит.
2) Но за такую реализацию отчета суммирования допустим итогов дня я буду два раза трижды четвертован

Т. е.
1) переписываем только что критично
2) не забывая про прозрачность рашения





______________________________________________________
Задолбали вихри яростных атак ...
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35369172
aag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed
Проблема, которая занимает меня, состоит в следующем: хочется иметь возможность прописывать бизнес-логику так, чтобы ее потом можно было отрендерить для любой СУБД, для которой написан провайдер.
...
И написать ее в таком виде, в принципе, можно.
Можно, можно.
Только, как правило, адаптация существующей системы под новую СУБД оказывается дороже, чем интеграция у заказчика в его инфрастурктуру другую СУБД. И даже если вы с самого начала начнете проектировать архитектуру под несколько СУБД - вы просто перенесете эти затраты на др. этап.
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35371455
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, всё так. Сложности действительно переносятся на другой этап. Поэтому смысл делать что-то подобное если и есть, то только тогда, когда ожидается массовое внедрялово одного и того же функционала разным заказчикам на разных платформах. В общем, ну его пока нафег :)

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Повторно используемая бизнес-логика
    #35477599
winc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedПусть есть некоторое решение по автоматизации, разработанное и внедренное для одного заказчика, скажем, на MS SQL + .Net. Потом приходит второй заказчик и говорит: мы хотим то же самое (с некоторыми изменениями, конечно), но на Oracle + Java. А в очереди третий заказчик, который говорит: а мы хотим на MS SQL, но чтобы клиент на Delphi был. Все хотят дать много денег :)

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

Код: plaintext
Step softly, but carry a big gun

Всё зависит от степени этих изменений - "с некоторыми изменениями, конечно". Быть может, это будут такие изменения, что лучше взять от старого проекта всё самое лучшее - прописанные бизнес-процессы, готовые библиотеки, архитектуру и, проведя предварительный анализ бизнес-процессов заказчика, разработать новый проект и внедрить.
Не хватает данных для ответа на ваш вопрос. Для этого нужно знать, какой размер системы, насколько она покрывает потребности вашего предприятия, насколько она соответствует потребностям новых заказчиков и т.д.
Если система достаточно большая, то и переделка может вылиться в стоимость разработки и внедрения новой системы.
...
Рейтинг: 0 / 0
44 сообщений из 44, показаны все 2 страниц
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Повторно используемая бизнес-логика
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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