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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

Надо просто пойти по пути инновационных компания Яндекс и Гугл - посадить в дальний подвал много гастарбайтеров для обработки запросов, написав им несложный ГУЙ. В штат админов включить надсмотрщиков, раздать всем бизнес-логику, и все - можно сдавать в эксплуатацию :)
Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
25.05.2008, 16:54
    #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
25.05.2008, 16:56
    #35333783
Codenamed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно используемая бизнес-логика
На самом деле я не хотел никого задеть. Но описание в PDF - это именно спецификация, то есть человеческое описание, предназначенное для воплощения в коде. А хочется иметь работающий с некоторой логической моделью этот самый код. То есть реализацию.

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

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

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

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

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

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

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

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

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

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

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


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

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


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