powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Создание сервера приложений
25 сообщений из 440, страница 4 из 18
Создание сервера приложений
    #33307941
Черт, что-то файл не приаттачился. Попытка номер 2:)
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33308124
Простой рабочий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DrKonitoTSQL хорошо знать придется по-любому. А вот если сервер приложений будет делать работу сервера БД (изоляция, блокировки, сортировка, джойны, фильтры итп) то разработчикам кроме собственно бизнес-логики придется задумываться о действительно сложных вещах.

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

DrKonitoИз-за нестандартности интерфейса самопального сервера придется самому писать тонны кода, вместо использования стандартных решений.

Это самый главный аргумент против СП. Но почему все ведущие производители ERP-систем используют n-звенную архитектуру и никто не держит бизнес-логику в хп? У меня есть пример одного предприятия, в котором из-за обилия и сложности хп на пределе работал 4-хпроцессорный сервер. Только не говорите, что у них кривая структура БД.

ВМоисеевНадо учитывать высокую вероятность нежелательного перехвата конфиденциальной информации посторонними лицами. Вы обязаны криптографически защищать трафик.

А не проще ли шифровать трафик на шлюзах в интернет?

tygraА кто сказал, что сервер данных предназначен только для этого? Этак можно и в dbf данные держать - то же самое получится.
Если Вы не понимаете, в чём разница между обработкой 10^n строк в СУБД и dbf - дальнейшее обсуждение не имеет смысла.

ВМоисеевDrKonito
>Теперь эти люди в перерывах между объяснениями почему мы слезли с пальмы и как у нас все плохо, предлагают для начала написать побольше бизнес-логики на шарпе, запихнуть её "для начала" в толстого клиента, а потом уже разбираться с архитектурой :)

Примерно что-то аналогичное сделал. Работает. Бизнес-логика на шарпе. Толстый клиент. По сетям гоняю только данные. Свой подход описал в цетируемой статье. Не подскажешь как связаться с твоими аппанентами?

Работать-то работает, пока эта задача не выйдет за пределы локальной сети.

!!! Простой рабочийОт себя приведу пример - модуль проведения документа "Расходня накладная" в 1С:Бухгалтерии 7.7 занимает 1750 строк с использованием процедур и объектов.И что этот пример показывает, кроме низкого качества проектирования и реализации?

tygra Простой рабочийОт себя приведу пример - модуль проведения документа "Расходня накладная" в 1С:Бухгалтерии 7.7 занимает 1750 строк с использованием процедур и объектов.Это говорит о том, что вы не умеете работать с sql, с ХП и т.д.

Я привёл пример размера кода не самого большого документа, а всего лишь алгоритма формирования бухгалтерских проводок накладной. Меня поразили Ваши ответы. У нас с Вами слишком больша разница в понятии бизнес-логики. Возможно я ошибаюсь, но вы не рабтали с ERP-системами (или хотя бы приближенными к ним).

ASCRUS Простой рабочийнашёл в книжном магазине пару интересных книжек по пострению 3-хуровневых систем, которые меня ещё сильнее убедили в такой необходимости.Было бы конечно странно, если бы они разубедили. Может быть теперь купить и почитать пару книжек, наоборот описывающих плюсы и ньюансы двухзвенных приложений и критикующих 3-х звенки ?

Может. Жду примеры книг, с удовольствием прочту.

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

DrKonitoСравнивая Контору1 и Контору2 отмечаю следующие факты:
1) 3х звенка тормозила на 30 пользователях, в Конторе2 нормально работают 200 пользователей, несмотря на то что половина мест на жутко неэффективном ацессе.

Спасибо за замечания, очень полезные! По-порядку.
Контора1 делала случайно не 1Сv77 SQL? Эта на такое способна :-)

DrKonito2) Класс разработчиков в Конторе1 был серьезно выше. Им приходилось заниматься действительно нетривиальными проблемами. Но не сказал бы что это является преимуществом 3х звенки :)
Абсолютно согласен. Хочу найти технологию по-проще :-)

DrKonito3) Любого человека который приходил в Контору1 надо было учить фактически с нуля. Первые полгода-год от новых людей было очень мало толку. В Контору2 можно взять студента на 400 баксов с базовым знанием SQL и быстро поставить его в строй.
Не согласен. Когда система грамонтно организована на классовом уровне - как раз в этом случае студенту с улицы легче разобраться, чем копаться в жутком трёхэтажном коде запросов на T-SQL со множествами JOIN и подзапросами.

DrKonitoКстати в несколько другой области лучшим примером толстого клиента является пресловутая 1С-ка. Она тоже по сети гоняет только данные :)
Это её недостаток, но писать в ней код - одно удовольствие. Может это и кошмар для сисадминов, но для программеров - шоколад :-)

Дмитрий Сорокин Обратный пример - самописная учетная система - типичная 2-х звенка, вся логика в хранимых процедурах, MSSQL, 600 одновременных пользователей, 300Gb база, 300млн. проводок, перелезли с 8хXEON700+8Gb RAM на 8xITANIUM2+8Gb RAM , потому что стало подтормаживать - теперь снова летает. Но, конечно, система вылизывалась достаточно долго.
Сервер масштабируется до 24 процессоров и 32Gb RAM, поэтому лет на 10-20 хватит.
При этом года 3-4 назад vs активно игрались с MTS и DCOM. Переписали основную бизнес-логику по проведению проводок на С++, оформили как DCOM объект под MTS, запустили на тестирование. Может, конечно, у нас руки росли не оттуда, но там, где справлялся 1 MSSQL-сервер нужно было ставить десяток MTS-серверов, чтобы добиться той же производительности при 300 одновременных коннектов.
Круто! DCOM, значит отпадает...
Что такое MTS?
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33308218
Простой рабочий
Дмитрий Сорокин Обратный пример - самописная учетная система - типичная 2-х звенка, вся логика в хранимых процедурах, MSSQL, 600 одновременных пользователей, 300Gb база, 300млн. проводок, перелезли с 8хXEON700+8Gb RAM на 8xITANIUM2+8Gb RAM , потому что стало подтормаживать - теперь снова летает. Но, конечно, система вылизывалась достаточно долго.
Сервер масштабируется до 24 процессоров и 32Gb RAM, поэтому лет на 10-20 хватит.
При этом года 3-4 назад vs активно игрались с MTS и DCOM. Переписали основную бизнес-логику по проведению проводок на С++, оформили как DCOM объект под MTS, запустили на тестирование. Может, конечно, у нас руки росли не оттуда, но там, где справлялся 1 MSSQL-сервер нужно было ставить десяток MTS-серверов, чтобы добиться той же производительности при 300 одновременных коннектов.
Круто! DCOM, значит отпадает...
Что такое MTS?

Ну вот, дошли... Народ уже и забыл, что такое Microsoft Transaction Server. А шуму было, а пыли... Лучший сервер приложений, DCOM forever, бесплатно всем сували, даже в дистрибутив NT 4.0 включали! Не прошло и пары лет...
Эх, sic transit gloria mundi... Кто же о нас, бедных, вспомнит через пару лет
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33308379
Фотография !!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простой рабочий ВМоисеевНадо учитывать высокую вероятность нежелательного перехвата конфиденциальной информации посторонними лицами. Вы обязаны криптографически защищать трафик.

А не проще ли шифровать трафик на шлюзах в интернет?Нет уж, будьте последовательны - раз бизнес-логику уносим из сервера БД, то и шифрование тоже в сервер приложений :-))

Простой рабочий !!! Простой рабочийОт себя приведу пример - модуль проведения документа "Расходня накладная" в 1С:Бухгалтерии 7.7 занимает 1750 строк с использованием процедур и объектов.И что этот пример показывает, кроме низкого качества проектирования и реализации?

tygra Простой рабочийОт себя приведу пример - модуль проведения документа "Расходня накладная" в 1С:Бухгалтерии 7.7 занимает 1750 строк с использованием процедур и объектов.Это говорит о том, что вы не умеете работать с sql, с ХП и т.д.

Я привёл пример размера кода не самого большого документа, а всего лишь алгоритма формирования бухгалтерских проводок накладной. Меня поразили Ваши ответы. У нас с Вами слишком больша разница в понятии бизнес-логики. Возможно я ошибаюсь, но вы не рабтали с ERP-системами (или хотя бы приближенными к ним).Если я вижу процедуру более 100 строк, я спрашиваю разработчика, в чем причина появления подобной процедуры. Если более 200 строк - требую провести рефакторинг. Если процедура занимает более 1000 строк, то, скорее всего, я предложу разработчику подумать о смене рода деятельности, поскольку программировать он не умеет.

Простой рабочийЧто такое MTS?Дык, сервер приложений, елы-палы
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33308435
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эхххххххх...............

Простой рабочийПочему сервер приложений должен заниматься такими вещами, как изоляция, блокировки, сортировка, джойны, фильтры итп?
Ну если ему этим не заниматься - тогда чем? :))
авторЭто самый главный аргумент против СП. Но почему все ведущие производители ERP-систем используют n-звенную архитектуру и никто не держит бизнес-логику в хп? У меня есть пример одного предприятия, в котором из-за обилия и сложности хп на пределе работал 4-хпроцессорный сервер. Только не говорите, что у них кривая структура БД.
Не скажем. У них просто кривые руки
А вы считаете, что если система любой сложности работает на пределе на 4-х процессорном сервере, то трехзвенка тут уж конечно форы даст, наверное будет работать гораздо лучше на пяти двухпроцессорных нодах плюс тот же самый 4-х процессорный сервер .
Наверное вы не знаете, что существуют большие задачи и под них существуют большие сервера - с 8-и и даже 16-ю процессорами. Это не для вас? Вы боитесь таких серверов?
И кто такие ведущие производители, которые используют n-звенную архитектуру? И как дела у них идут? Неужели вы сравнивали похожие системы на к-с и n-звенке?
авторЕсли Вы не понимаете, в чём разница между обработкой 10^n строк в СУБД и dbf - дальнейшее обсуждение не имеет смысла.
Я не понимаю, причем тут многозвенка :))
авторЯ привёл пример размера кода не самого большого документа, а всего лишь алгоритма формирования бухгалтерских проводок накладной. Меня поразили Ваши ответы. У нас с Вами слишком больша разница в понятии бизнес-логики. Возможно я ошибаюсь, но вы не рабтали с ERP-системами (или хотя бы приближенными к ним).
Наверняка действительно у нас с вами слишком большая разница в понятии БЛ. Давайте определимся, чтобы точно знать, у кого какие понятия.
А если вы считаете, что 1С:Бухгалтерия 7.7 это крутая ERP система, код которой нужно считать за эталон - вы ошибаетесь. Тут на форуме найдется куча людей, бухгалтерия которых работает на порядки лучше 1С. И возможно без 1750 строк кода :))
Хотя с другой стороны, если вы не можете написать то, что в этих 1750 строках кода, в ХП - то чьи проблемы? :)
авторЯ бы и не задумывался над СП, если бы система была бы не сложной.
А у нас всех системы то конечно наипростейшие - вот почему мы в КС можем их запихать, вот оно как! :)
авторНе согласен. Когда система грамонтно организована на классовом уровне - как раз в этом случае студенту с улицы легче разобраться, чем копаться в жутком трёхэтажном коде запросов на T-SQL со множествами JOIN и подзапросами.
Вы точно знаете по опыту или просто sql не знаете? :))
авторЭто её недостаток, но писать в ней код - одно удовольствие. Может это и кошмар для сисадминов, но для программеров - шоколад :-)
Для тех, которые СУБД и sql не знают - а как же! На чем же еще им писать остается?

=======

ЗЫ Хоть отдохнуть тут от работы
-- Tygra's --
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33309016
DrKonito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Простой рабочий DrKonitoTSQL хорошо знать придется по-любому. А вот если сервер приложений будет делать работу сервера БД (изоляция, блокировки, сортировка, джойны, фильтры итп) то разработчикам кроме собственно бизнес-логики придется задумываться о действительно сложных вещах.

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


Простой рабочий
DrKonito3) Любого человека который приходил в Контору1 надо было учить фактически с нуля. Первые полгода-год от новых людей было очень мало толку. В Контору2 можно взять студента на 400 баксов с базовым знанием SQL и быстро поставить его в строй.
Не согласен. Когда система грамонтно организована на классовом уровне - как раз в этом случае студенту с улицы легче разобраться, чем копаться в жутком трёхэтажном коде запросов на T-SQL со множествами JOIN и подзапросами.


Да это не очевидно сначала :) Вообще это конечно сильно зависит от сервера приложений и решаемых задач. Ну вобщем опять реальная история.
Приложение требовало отчетов и сложных списков на клиенте.
В Конторе1 от тупых внедренцев спрятали "неудобный SQL" и дали им "удобные" объекты типа эээ... Контора1Селект. Заполняешь его свойства, вызываешь метод Экзекуте и тебе выдается объект типа Контора1Лист.
Хорошо это работало только для очень простых запросов. Сложные запросы либо нельзя было сформулировать вообще либо заполнение свойств объекта Контора1Селект представляло из себя головоломку, которую могли решить только гуру проработавшие там хотя бы годик.
Т.к. некоторые запросы не выражались вообще, то все внедренцы очень скоро начинали становится экспертами по структурам данных. Сейчас я знаю как по-умному называются эти приёмы, тогда не знал. Вобщем на ВБА приходилось писать хэш-джойны и мердж-джойны 2-3 массивов, сортировки, группировки итд итп Собирался написать объект балансированного дерева, чтобы делать нестед-луп-джойн, но так и не собрался :)

Вобщем с тех пор у меня есть сильное подозрение, что проблему построения сложных списков аппсервера удовлетворительно могут решить только одним путем- заведением отдельного объекта на каждый такой список\отчет. Под "крышкой" объекта естественно прячется обычный SQL.

Думаю сложные списки это только один из вопросов, которые прямой SQL решает объективно лучше.
Простой рабочий
DrKonitoИз-за нестандартности интерфейса самопального сервера придется самому писать тонны кода, вместо использования стандартных решений.

Это самый главный аргумент против СП. Но почему все ведущие производители ERP-систем используют n-звенную архитектуру и никто не держит бизнес-логику в хп? У меня есть пример одного предприятия, в котором из-за обилия и сложности хп на пределе работал 4-хпроцессорный сервер. Только не говорите, что у них кривая структура БД.
Недавно читал книжку про Enterprise Applications Integration, так там эти системы называли словом stovepipe-application, что в переводе значит - "устанешь интегрироваться" :)

Простой рабочий
Контора1 делала случайно не 1Сv77 SQL? Эта на такое способна :-)Нет
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33309136
Один1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DrKonito
Да это не очевидно сначала :) Вообще это конечно сильно зависит от сервера приложений и решаемых задач. Ну вобщем опять реальная история.
Приложение требовало отчетов и сложных списков на клиенте.
В Конторе1 от тупых внедренцев спрятали "неудобный SQL" и дали им "удобные" объекты типа эээ... Контора1Селект. Заполняешь его свойства, вызываешь метод Экзекуте и тебе выдается объект типа Контора1Лист.
Хорошо это работало только для очень простых запросов. Сложные запросы либо нельзя было сформулировать вообще либо заполнение свойств объекта Контора1Селект представляло из себя головоломку, которую могли решить только гуру проработавшие там хотя бы годик.
Т.к. некоторые запросы не выражались вообще, то все внедренцы очень скоро начинали становится экспертами по структурам данных. Сейчас я знаю как по-умному называются эти приёмы, тогда не знал. Вобщем на ВБА приходилось писать хэш-джойны и мердж-джойны 2-3 массивов, сортировки, группировки итд итп Собирался написать объект балансированного дерева, чтобы делать нестед-луп-джойн, но так и не собрался :) О, видно что человек знает проблему не по наслышке. Да, в итоге построение "бизнес логики на сервере приложений" выраждается в что-то такое, о чем вы написали. А ведь как славно все выглядит в учебниках... Контора1Селект.... :)
DrKonito
Вобщем с тех пор у меня есть сильное подозрение, что проблему построения сложных списков аппсервера удовлетворительно могут решить только одним путем- заведением отдельного объекта на каждый такой список\отчет. Под "крышкой" объекта естественно прячется обычный SQL. Да, так и делают, когда надоедать придумывать как же таки "сджоинить" 5 результатов выборок a la Контора1Селект

Простой рабочий
Но почему все ведущие производители ERP-систем используют n-звенную архитектуру и никто не держит бизнес-логику в хп? У меня есть пример одного предприятия, в котором из-за обилия и сложности хп на пределе работал 4-хпроцессорный сервер. Только не говорите, что у них кривая структура БД.
С т.з. теории построения БД у них таки "кривая структура БД". Это раз.
Но она портируемая под разные сервера БД. Это два.
Грубо говоря, отсутствие логики на ХП - это в какой-то мере попытка маркетологов выдать нужду за добродетель.

PS: все больше убеждаюсь, что каждый разработчик бизнес приложений должен хоть раз поучаствовать в проектировании, разработке _и внедрении_ системы с трехзвенной архитектурой и пресловутой "логикой на сервере приложений", чтобы понять чем это грозит и что в итоге получается. На слово юные читатели книг под названием "архитектура коорпоративных систем" не верят, ведь все так здорово описано в умной книжке
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33309222
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНедавно читал книжку про Enterprise Applications Integration
DrKonito, поделитесь,
что за книжка, что пишут, какие ощущения?
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33309297
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один1PS: все больше убеждаюсь, что каждый разработчик бизнес приложений должен хоть раз поучаствовать в проектировании, разработке _и внедрении_ системы с трехзвенной архитектурой и пресловутой "логикой на сервере приложений", чтобы понять чем это грозит и что в итоге получается. На слово юные читатели книг под названием "архитектура коорпоративных систем" не верят, ведь все так здорово описано в умной книжке
Это точно.
Но также им не мешало бы и поучаствовать в обычных КС проектах - только в путевых, чтобы понять огромную разницу... да и вообще научиться правильно их писать, КС-системы :))

-- Tygra's --
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33309368
Один1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tygraЭто точно.
Но также им не мешало бы и поучаствовать в обычных КС проектах - только в путевых, чтобы понять огромную разницу... да и вообще научиться правильно их писать, КС-системы :))
Согласен. Но у меня вот через комнату сидят примеры. Работают с действительно хорошо спроектированным КС. Достаточно удобным и шустрым. А как начинаем обсуждать новый проект, так сразу "только 3 уровня !". Книг начитались, а практического опыта нет. Удалось охладить тем, что 3 уровня - это сейчас не острие науки. Самый писк - service oriented programming (вместо service подставлять language, business, full-circle, короче что угодно). Ушли читать книги.
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33309426
Совсем затютали простого рабочего:) Все, конечно, правильно. 2-хзвенка, точнее говоря т.н. "терминальные" решения, когда все-все крутится на SQL-сервере, а у клиента лишь создается интерфейс, при хорошей архитектуре данных и вылизанном коде и проще и производительнее и дешевле многозвенки. Но есть один неприятный недостаток SQL-языка - это его "процедурность", что ли. В таком стиле писали в 70-е годы на мэйнфреймах. Вспомните фортран и PL/1:)

Когда я смотрю в Query Analyser на структуру нашей БД - э ато тысячи таблиц, вьюх, хранимых процедур, функций - меня коробит, прямо.

В нормальных языках программирования творческая мысль не стояла на месте -OOP, методы коллективной разработки, контроль версий и т.д. Кто сейчас лабает на чистом C? Или на форте (а класный был язык:). А вот SQL почему-то застыл на месте. Нет, появляются, конечно, всякие новые операторы, вот SQL2005 уже до TRY/CATCH почти дорос:), но, блин, почему нельзя сделать из SQL нормальный объектно-ориентированный язык? Только не надо мне говорить насчет объектно-ориентированных баз данных - это совсем другое. БД пусть остается реляционной - но язык пусть станет нормальным! Кстати, лет 5 назад microsoft громогласно кричал, что вместе с TSQL в SQL2005 можно будет native програмировать на C# или VB.NET. И во что это вылилось? В возможность регистрировать свои сборки на сервере? Блин! Extended SP, только вид сбоку. По моему, это заговор сторонников трехзвенки:)

Может подумать, как из SQL с минимумом изменений сделать что-то вроде OOP языка? Типа SQL++? Да еще и стандартизовать его. Тогда, наверное, никто больше о серверах приложений и не вспомнит:)
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33309446
DrKonito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Calm авторНедавно читал книжку про Enterprise Applications Integration
DrKonito, поделитесь,
что за книжка, что пишут, какие ощущения?

David S. Linthicum "Enterprise Application Integration"
Publisher: Addison Wesley
First Edition November 05, 1999
ISBN: 0-201-61583-5, 400 pages

Где брал не помню - поищите где-нибудь на http://ebuki.apvs.ru/ и в подобных местах
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33309476
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий СорокинСовсем затютали простого рабочего:) Все, конечно, правильно. 2-хзвенка, точнее говоря т.н. "терминальные" решения, когда все-все крутится на SQL-сервере, а у клиента лишь создается интерфейс, при хорошей архитектуре данных и вылизанном коде и проще и производительнее и дешевле многозвенки. Но есть один неприятный недостаток SQL-языка - это его "процедурность", что ли. В таком стиле писали в 70-е годы на мэйнфреймах. Вспомните фортран и PL/1:)

Когда я смотрю в Query Analyser на структуру нашей БД - э ато тысячи таблиц, вьюх, хранимых процедур, функций - меня коробит, прямо.

В нормальных языках программирования творческая мысль не стояла на месте -OOP, методы коллективной разработки, контроль версий и т.д. Кто сейчас лабает на чистом C? Или на форте (а класный был язык:). А вот SQL почему-то застыл на месте. Нет, появляются, конечно, всякие новые операторы, вот SQL2005 уже до TRY/CATCH почти дорос:), но, блин, почему нельзя сделать из SQL нормальный объектно-ориентированный язык? Только не надо мне говорить насчет объектно-ориентированных баз данных - это совсем другое. БД пусть остается реляционной - но язык пусть станет нормальным! Кстати, лет 5 назад microsoft громогласно кричал, что вместе с TSQL в SQL2005 можно будет native програмировать на C# или VB.NET. И во что это вылилось? В возможность регистрировать свои сборки на сервере? Блин! Extended SP, только вид сбоку. По моему, это заговор сторонников трехзвенки:)

Может подумать, как из SQL с минимумом изменений сделать что-то вроде OOP языка? Типа SQL++? Да еще и стандартизовать его. Тогда, наверное, никто больше о серверах приложений и не вспомнит:)
И что Вы на этом ООП SQL делать собираетесь ? Учитесь запросами и с множествами работать, а не записи лопатить. Тогда окажется, что в ХП и триггерах минимум кода, а динамический SQL дает колоссальные возможности в динамической сборке и выполнения скриптов для задач с изменяющимися версиями алгоритмов, что кстати в ООП языках, не так то легко достигается.

P.S. И спрашивается, зачем по TSQL судить о языках хранимых процедур других РСУБД ? Мало ли, когда там MS догадалась сделать обработку исключений, когда у других все с прошлого века есть - это личные проблемы MS и не нужно под их гребенку равнять остальные РСУБД.
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33309477
Пользователь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один1 Самый писк - service oriented programming Ушли читать книги.
Эти самые сервисы - тоже трехзвенка вроде - только доступ стандартизирован.
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33309602
DrKonito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий Сорокин Только не надо мне говорить насчет объектно-ориентированных баз данных - это совсем другое. БД пусть остается реляционной - но язык пусть станет нормальным! Кстати, лет 5 назад microsoft громогласно кричал, что вместе с TSQL в SQL2005 можно будет native програмировать на C# или VB.NET. И во что это вылилось? В возможность регистрировать свои сборки на сервере? Блин! Extended SP, только вид сбоку. По моему, это заговор сторонников трехзвенки:)

Может подумать, как из SQL с минимумом изменений сделать что-то вроде OOP языка? Типа SQL++? Да еще и стандартизовать его. Тогда, наверное, никто больше о серверах приложений и не вспомнит:)

Заговора никакого нет- голая целесообразность:

Для Микрософта это простой расчет:
при двузвенке - 1 сервер БД = 20тыс
при трехзвенке - 1 сервер БД + 10 апп серверов по Win 2000Server = 20 + 20 = 40 тыс
+ стратегические выгоды от перетаскивания разработчиков с относительно космополитичного SQL на проприетарную платформу НЕТ

Для Сана все также очень просто:
при двухзвенке: железка под сервер БД - 1 штука
при трехзвенке: железка под сервер БД + 10 железок под апп-сервера
+ стратегические выгоды от перетаскивания разработчиков на платформу Жаба

Для поставщиков апп-серверов (БЕА) и так все понятно

Про Оракл не скажу- очень далек я от него. Хотя и без оракла денег у первых двух игроков достаточно чтобы как следует пропиарить любые архитектурные решения :)
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33309761
DrKonito
Про Оракл не скажу- очень далек я от него. Хотя и без оракла денег у первых двух игроков достаточно чтобы как следует пропиарить любые архитектурные решения :)
Оракл тоже производит свой J2EE сервер, с которым работает их E-Business Suite.
Я бы сюда добавил еще ИБМ с вебсферой и SAP - когда то давно они придумали некий заменитель SQL - ABAP - язык и процессор отчетов (читай - сервер приложений). Делали они это не от хорошей жизни - им надо было слезть с ассемблера:) Тогда, насколько я понимаю, SQL еще не придумали:)

Еще я сказал бы, что сервера приложений выгодны IT-менеджерам - под них можно выбить дополнительные ставки админов и программеров, новое железо и серверное помещение, да и откаты растут:)

Еще она выгодна программерам - изучая ABAP или J2EE повышаешь свою рыночную стоимость:) Все мы видели объявления "ищу программистов на ABAP, оклад - 3 штуки... А кто видел объявления "ищу программистов на SQL за 3 штуки"?

Вообщем - трехзвенка, похоже, выгодна всем, кроме тех, кто на ней работает:) Но кого интересуют такие мелочи:) Так что, господа ретрограды - вперед, к трехзвенке!
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33309852
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Дмитрий Сорокин
Вы хоть пример такого ООП-SQL языка предложите - а то я не пойму, об чем вы? Чем вам не нравится sql? Что там такого нельзя сделать?

Не пойму я.

-- Tygra's --
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33309871
vkn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Сорокин
Может подумать, как из SQL с минимумом изменений сделать что-то вроде OOP языка? Типа SQL++? Да еще и стандартизовать его. Тогда, наверное, никто больше о серверах приложений и не вспомнит:)

Есть такой язык, OQL называется. Кое-где даже реализован.
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33310017
tygra2 Дмитрий Сорокин
Вы хоть пример такого ООП-SQL языка предложите - а то я не пойму, об чем вы? Чем вам не нравится sql? Что там такого нельзя сделать?

Не пойму я.

-- Tygra's --

Сделать то на SQL все можно! Сам делаю.
Только возмите к примеру С и С++. Или обычный паскаль и Delphi. А еще лучше С и С#. На ООП-языках можно добиться гораздо более красивой и стройной архитектуры приложения, чем на процедурных.
Можно порассуждать, что тут можно сделать с SQL. У ООП есть 3 важнейшие свойства:
1. Инкапсуляция - код и данные вместе. В SQL уже есть что-то подобное - триггера. Может пойти дальше и привязывать к таблицам хранимые процедуры? Или вообще отказаться от понятия отдельно стоящей процедуры, пусть любая процедура является чьим-то методом (да хоть некоего функционального класса). Кстати, сюда можно будет впихнуть и понятие области видимости - public и private.
2. Полиморфизм - один общий интерфейс объединяет множество процедур, делающих похожие вещи. Ну, к примеру, иметь возможность объединять процедуры с разными форматами вызова под одним названием - сервер пусть сам решает, какую процедуру вызыват - например в зависимости от типов и числа параметров.
3. Неследование. Пусть таблицы и привязанные к ним процедуры (объекты) можно будет использовать как шаблон (или родитель) при создании новых объектов. У этих объектов потом можно будет переопределять свойства (поля) и методы (процедуры)

PS. Прошу ногами не пинать - сам вижу, что бред получается:)
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33310119
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все дело в том, что Вы пытаетесь в РСУБД мыслить рамками реализации вот уж действительно процедурных ООП языков. Как говориться, привыкли уже думать известными способами решения. Однако и ООП языки были придуманы не просто так, я для реализации поставленных задач. Так вот если рассматривать именно решение задач, то оказывается, все навороты ООП абсолютно не нужны, просто нужны другие подходы и другой взгляд на решение проблем в абсолютно другом разрезе. ООП изначально предполагает работу с единичными обьектами, SQL изначально работа с множествами. Имея на борту динамический SQL (фактически свой встроенный интрепретируемый язык), можно логику расписывать на уровне метасхемы, которая хранится в табличках и при сборке можно запросами выжать с алгоритмов гораздо больше и гибче, чем реализовывая это на интерфейсах в ООП. Имея представления об организации деревьев на SQL (и тем более, если РСУБД поддерживает рекурсивные запросы), можно элементарно организовать наследование на уровне аттрибутов обьектов. Делать наследование самих таблиц в БД я смысла совершенно не вижу - достаточно сделать главную таблицу и дочерние, которые в зависимости от типа обьекта в записи содержат необходимые для него аттрибуты и использовать LEFT JOIN, функциональность будет та же. В общем список можно долго продолжать - выглядит в SQL совершенно по другому, но по спектру решений ничем не уступает, а даже превосходит ООП в той области, для которой SQL и был создан - обработка данных. Как аналогично функциональные языки так же превосходят ООП в своих областях применения. Я лично не могу сказать, что ООП удобен для обработки данных, он удобен для реализации алгоритмов, здесь даже функциональные языки оказываются предпочительней, где в принципе и SQL в какой то мере можно наверное отнести близким родственником к функциональным языкам с моей точки зрения.
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33310278
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простому рабочему.

>А не проще ли шифровать трафик на шлюзах в интернет?
Ссылку на статью, где рассказываю как строю прототип (типовую модель) многозвенки, ранее уже приводил.
Схема передачи данных

клиентские приложения <--> .Net сервис <--> абонентские <--> сервера
(WinForm приложение) поверх IIS ящики приложений

<--> сервер
данных

с точки зрения безопасности более разумно делать криптооперации на клиентых и серверах приложений.
Серверов приложений столько, скольно надо для опримизации работы сервера данных.
Клиентские приложения и сервера приложений сериализуют/десериализуют, архивируют/деархивируют и шифруют/дешифруют запросы/ответы

>Работать-то работает, пока эта задача не выйдет за пределы локальной сети.
На каких фактах базируется это заключение? IIS?

С уважением, Владимир.
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33310405
vialexis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий СорокинМожет подумать, как из SQL с минимумом изменений сделать что-то вроде OOP языка? Типа SQL++? Да еще и стандартизовать его. Тогда, наверное, никто больше о серверах приложений и не вспомнит:)

Ну не могу не вспомнить старый добрый Visual FoxPro 8.0 :)
Как раз он позиционируется Microsof для написания слоя БЛ (ессно что командой разработки его самого). Кстати, Fox живет и развивается ...
С ностальгией вспоминаю дни работы с VFP (даже наверное, не работы, а учебы).
В общем, вкратце о разработанной мной системе:
В 2002 писал по курсовому проекту для предприятия ЖЭУ систему (прием платежей, расчета квартплаты и пр. бизнес-правила).

Уровень представления был написан на Borland C++ Builder 6.0 - лучшего средства в те времена для построения UI, я считаю, не было.


Уровень бизнес-логики был реализован в in-process automation сервере на VFP 7.0/8.0 beta


Уровень данных на том же VFP. БД с триггерами и ограничениями целостности.

Система реально тестировалась как многопользовательская файл-серверная, т.е. файлы БД лежали на сетевом ресурсе. Здесь могло быть много вариантов физического расположения слоев (при минимальном изменении технологий) и, как следствие, хорошее масштабирование.

В планах было: перевод БД на MS SQL, а уровня БЛ в out-of-process automation server и связи с уровнем представления по DCOM – ну чем не 3-х уровневая архитектура с сервером приложений? Но что мог сделать один студент в насквозь совковой конторе? (Они до сих пор работают в файл-серверной ДОСовской программе).

Конечно, у VFP куча минусов и непоняток, но для написания уровня БЛ я, до сих пор, считаю, что это лучшее решение и причиной тому - самая сладкая синтаксическая парочка SQL+OOP-language (из виденных мною). Сейчас появился Cw (си-омега) .NET с поддержкой SQL, XPath и параллельного программирования (и пр. полезных вещей), но среда разработки интегрированная в VS ещё слишком сырая (редактор XAML-овских форм).

Может, кто использовал VFP для написания уровня БЛ, может с Web-services, или ещё как?
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33310707
vialexis
Конечно, у VFP куча минусов и непоняток, но для написания уровня БЛ я, до сих пор, считаю, что это лучшее решение и причиной тому - самая сладкая синтаксическая парочка SQL+OOP-language (из виденных мною). Сейчас появился Cw (си-омега) .NET с поддержкой SQL, XPath и параллельного программирования (и пр. полезных вещей), но среда разработки интегрированная в VS ещё слишком сырая (редактор XAML-овских форм).

Блин, так как раз таких сладких парочек и хочется избежать! Получается, мы должны использовать сервер приложений только для того, чтобы "объектизировать" данные, хранящиеся в БД и создать красивую архитектуру приложения. Мы сейчас сами занимаемся этим (см. мои посты выше), но ведь не из-за того, что нам заняться нечем! Посмотрите все стандартные рекомендации по созданию среднего слоя: "создайте класс INVOICE, опишите связь этого класса с таблицей INVOICE на уровне get/set, добавьте необходимые методы (чья логика обычно остается в хранимых процедурах) и тд. Почему нельзя это делать уже на уровне сервера БД, где хранятся все данные?
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33310780
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему же нельзя? Посмотрите в сторону Cashe.
--------------------
Не учи отца и баста!
...
Рейтинг: 0 / 0
Создание сервера приложений
    #33310791
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Дмитрий Сорокин
ASCRUS уже ответил, добавить нечего.

Кстати, этот же пост желательно прочитать vialexis .
Потому как утверждение
авторКонечно, у VFP куча минусов и непоняток, но для написания уровня БЛ я, до сих пор, считаю, что это лучшее решение и причиной тому - самая сладкая синтаксическая парочка SQL+OOP-language (из виденных мною).
именно как раз из-за того, что пытаетесь скрестить ежа и ужа, и не видели ничего другого (наверное), путево реализованного с БД на сервере БД.
Это конечно естественно - я после Фокса тоже не сразу привык разделять систему на клиентскую часть, которая только отображает, и серверную часть, а собственно БД, которая все и делает. Но ничего, прошло - сейчас уже не могу по другому. Никто не заставит держать БЛ на клиенте или каком там звене - бррр.

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


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