|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
Пусть есть некоторое решение по автоматизации, разработанное и внедренное для одного заказчика, скажем, на MS SQL + .Net. Потом приходит второй заказчик и говорит: мы хотим то же самое (с некоторыми изменениями, конечно), но на Oracle + Java. А в очереди третий заказчик, который говорит: а мы хотим на MS SQL, но чтобы клиент на Delphi был. Все хотят дать много денег :) Соответственно, возникает вопрос: в каком виде следует реализовать бизнес-логику исходного решения, чтобы ее можно было без изменений перенести на другую платформу? Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 14:58 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
1. трехзвенная архитектура 2. использование стандартных SQL-запросов (в случае использования ORM вопрос в большинстве случаев решается сам собой) 3. клиент подключается через межплатформенный протокол типа SOAP, CORBA ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 15:04 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
CodenamedСоответственно, возникает вопрос Я бы посоветовал не выдумывать [эпитет пропущен] вопросы, а обратить внимание на реальные потребности заказчика. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 15:06 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
Софтварер, не надо нервничать. Если бизнес-логика написана на T-SQL, ее чертовски неприятно, долго, нервно и дорого будет переписывать под PL/SQL. И глюки новые появятся. Хочется единую форму записи. А уж провайдеры для разных СУБД мы напишем. Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 15:11 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
2softwarer опять: а каждого заказчика хочется удовлетворить с минимумом головной боли и за минимальное время. Объем работы и сроки сократить при тех же деньгах. Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 15:13 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
CodenamedСофтварер, не надо нервничать. И снова Вы придумываете чушь. CodenamedЕсли бизнес-логика написана на T-SQL То это не имеет ровно никакого отношения к тому, что в Вашем посте является явной чушью. С бизнес-логикой ситуация вполне очевидна. В большинстве случаев можно показать клиенту цифры и убедить его, что поставить нужную СУБД гораздо дешевле, нежели заказывать подобную доработку. При определенном масштабе деятельности станет целесообразным создать группу гуру, дабы они спроектировали и реализовали метаязык и несколько адаптеров для него к различным СУБД. В этом случае основа пишется на метаязыке и не меняется, отдельные места - прежде всего ради оптимальной производительности - таки реализуются отдельно для каждой СУБД. Наконец, существует квазирешение выделения аппсервера. При этом заказчик вместо "не хочу MSSQL, хочу Oracle" начнет говорить "не хочу IIS, хочу WepSphaera", разницы никакой. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 15:16 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
2Kachalov: Трехзвенка - само собой, без этого никак. Кросс-платформенный протокол - не обязательно, протокол для каждого клиента свой может быть, это не проблема. А вот универсальные запросы... С этим хуже. Это же бизнес- логика , а не SQL-92, там условия, циклы есть, работа с курсорами иногда, и прочие радости жизни. Специфика сервера скажется обязательно. Вот и похоже, что ORM - единственное направление. Но это мутная штука. :( Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 15:23 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
CodenamedЭто же бизнес- логика , а не SQL-92, .... Специфика сервера скажется обязательно. Вы так говорите, словно в SQL-92 специфика не сказывается. Безнадежно. Лучше сообщите заранее название вашей чудо-системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 15:28 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
softwarer С бизнес-логикой ситуация вполне очевидна. В большинстве случаев можно показать клиенту цифры и убедить его, что поставить нужную СУБД гораздо дешевле, нежели заказывать подобную доработку. Это даже не чушь, а фантазийный бред. Убедить заказчика ради нескольких небольших проектов добавлять новые элементы в свою инфраструктуру, набирать людей для ее администрирования и потом возиться с лишней СУБД до скончания времен? А если это госпредприятие? И если такого заказчика нельзя терять? Бред. softwarer ... группу гуру, дабы они спроектировали и реализовали метаязык и несколько адаптеров для него... Хе... И много вы видели успешных таких проектов? Собственно, о таком метаязыке и речь. Можете назвать успешные распространные реализации? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 15:36 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
CodenamedУбедить заказчика ради нескольких небольших проектов Если это приложение уровня записной книжки, и при этом заказчика нельзя терять, то лучше всего действительно использовать какой-нибудь Hibernate. Я полагал, речь в этом форуме идет об информационных системах. CodenamedХе... И много вы видели успешных таких проектов? В названном масштабе этот подход не может быть успешен, в лучшем случае будет слишком дорог. Только что-то стандартное, тщательно изучив всего его глюки. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 15:48 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
Что-то стандартное? Например? Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 15:50 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
Я же назвал ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 15:55 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
Hibernate - это не метаязык. Это persistence engine, со всеми вытекающими. Он предназначен для сохранения в БД состояния объектов. При написании бизнес-логики приходится решать совсем другие задачи, в том числе, осуществлять перебор больших объемов данных, которые совершенно не хочется (точнее, нельзя) вытаскивать на сервер приложений для обработки. Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 16:02 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
Codenamed Соответственно, возникает вопрос: в каком виде следует реализовать бизнес-логику исходного решения, чтобы ее можно было без изменений перенести на другую платформу? в виде описания в формате PDF, например. а вообще, если продаете заказчику бизнес-логику, то какая разница. А если услуги по программированию - то программируйте, говорите же "Все хотят дать много денег". Если не можете убедить заказчика купить бизнес-логику и не хотите программировать, то давайте контакты заказчика. 10% агентское вознаграждение. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 16:07 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
iscrafmв виде описания в формате PDF, например Вы вообще разницу между спецификацией и реализацией, я извиняюсь, видите? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 16:16 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
Codenamed iscrafmв виде описания в формате PDF, например Вы вообще разницу между спецификацией и реализацией, я извиняюсь, видите? конечно. Поэтому правильно ответил на вопрос. Переносится элеменентарно. Никаких затрат. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 16:20 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
Ммм... А реализация в PDF - она должна быть с картинками? А то вдруг сервер приложений без картинок не поймет правила размещения товара на складе! :) Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 16:27 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
конечно с картинками! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 16:36 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
Тогда это действительно решение! Надо просто пойти по пути инновационных компания Яндекс и Гугл - посадить в дальний подвал много гастарбайтеров для обработки запросов, написав им несложный ГУЙ. В штат админов включить надсмотрщиков, раздать всем бизнес-логику, и все - можно сдавать в эксплуатацию :) Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 16:42 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
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? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 16:54 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
На самом деле я не хотел никого задеть. Но описание в PDF - это именно спецификация, то есть человеческое описание, предназначенное для воплощения в коде. А хочется иметь работающий с некоторой логической моделью этот самый код. То есть реализацию. Причем если манипулирование объектами проблем особых не вызывает, то написание запросов к данным больших объемов - это для "метаязыка" составляет проблему. Существенным требованием является, чтобы запросы, обрабатывающие большие объемы данных, и возвращающие существенно меньшие объемы, выполнялись на сервере БД. Ну и форма записи таких запросов должна быть удобной. Такая вот фигня... Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 16:56 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
2AlexTheRaven: скажу только что да, исходники заказчику отдадут, и он их сам должен будет сопровождать потом; и нет, СУБД ему тоже не безразлична, проект, как правило, становится частью уже имеющейся большой инфраструктуры. Остальное тут уже комментировалось. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 17:01 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
CodenamedНа самом деле я не хотел никого задеть. Но описание в PDF - это именно спецификация, то есть человеческое описание, предназначенное для воплощения в коде. это была шутка конечно же, черный юмор немного. Вы говорите несоместимые вещи: Codenamed1. условия, циклы есть, работа с курсорами иногда, и прочие радости жизни 2. перебор больших объемов данных, которые совершенно не хочется (точнее, нельзя) вытаскивать на сервер приложений для обработки 3.Если бизнес-логика написана на T-SQL, ее чертовски неприятно, долго, нервно и дорого будет переписывать под PL/SQL. на middleware нельзя, с одной СУБД на другую - неприятно, долго и т.п.. Остается только с картинками в PDF. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 18:04 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
iscrafm это была шутка конечно же, черный юмор немного. Я это заметил, оценил и даже пошутил в ответ :) iscrafm Вы говорите несоместимые вещи Я это признаю :) Универсального такого решения, конечно же, нет. Если бы это было просто и понятно, это давно было бы кем-нибудь реализовано и продавалось бы. Но увы, такого нет. Нечто похожее, есть, конечно. Например в JDE - там для бизнес-логики вообще "конструктор" придуман, с графическим интерфейсом, циклами, условиями, запросами и переборами. Полученный на выходе результат сохраняется как-то, а потом транслируется в ANSI C :) Но работать с этим, конечно, жутко. Шутка ли, там копипаста нет))) В общем, вы правы, это нереально. Другое дело, что интересно подумать, может быть, например, какие-то типовые очень конструкции есть, из которых можно сложить код хотя бы процентов на 50? Тогда всяко меньше работы надо будет делать руками. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2008, 20:16 |
|
Повторно используемая бизнес-логика
|
|||
---|---|---|---|
#18+
CodenamedПусть есть некоторое решение по автоматизации, разработанное и внедренное для одного заказчика, скажем, на MS SQL + .Net. Потом приходит второй заказчик и говорит: мы хотим то же самое (с некоторыми изменениями, конечно), но на Oracle + Java. А в очереди третий заказчик, который говорит: а мы хотим на MS SQL, но чтобы клиент на Delphi был. Все хотят дать много денег :) Соответственно, возникает вопрос: в каком виде следует реализовать бизнес-логику исходного решения, чтобы ее можно было без изменений перенести на другую платформу? Код: plaintext
Я конечно же скажу глупость, но в идеале мне видится так: надстройка времени разработки, оперирующая понятиями бизнес-логики. На выходе - сгенеренный серверный код в одном из диалектов SQL. Выбор диалекта осуществляется в ComboBox. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2008, 06:39 |
|
|
start [/forum/topic.php?fid=33&fpage=43&tid=1548725]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
107ms |
get tp. blocked users: |
2ms |
others: | 282ms |
total: | 470ms |
0 / 0 |