OberonCore
https://forum.oberoncore.ru/

А. Акопянц "Блеск и нищета клиент-серверных технологий"
https://forum.oberoncore.ru/viewtopic.php?f=86&t=2765
Страница 1 из 1

Автор:  Илья Ермаков [ Воскресенье, 01 Август, 2010 13:43 ]
Заголовок сообщения:  А. Акопянц "Блеск и нищета клиент-серверных технологий"

Статья в Компьютерре, 1999 г.:

http://offline.computerra.ru/1999/302/3766/

Цитата:
Но не тут-то было. Сложности, носящие принципиальный характер, никуда не делись - их просто искусно замаскировали, точнее, протоптали и заасфальтировали некоторое количество обходных дорожек и обсадили их красивыми формочками, Help'ами и Wizard'ами. При этом в любой реальной разработке добраться по этим дорожкам до цели почти никогда не удается. Приходится выходить на обочину или вообще на бездорожье, и тут-то и выясняется истинная цена всей этой красоты.

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

Автор:  Илья Ермаков [ Воскресенье, 01 Август, 2010 13:54 ]
Заголовок сообщения:  Re: А. Акопянц "Блеск и нищета клиент-серверных технологий"

И вторая часть:
http://offline.computerra.ru/1999/303/3781/

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

Автор:  alexus [ Воскресенье, 17 Октябрь, 2010 00:04 ]
Заголовок сообщения:  Re: А. Акопянц "Блеск и нищета клиент-серверных технологий"

Илья Ермаков писал(а):
Если позволите, краткое резюме. Автор, по сути дела, говорит о том, что очень плохо, когда за проект берутся дилетанты. Но это справедливо для любых проектов, безотносительно клиент-серверных технологий.
Вздохи автора по поводу того, что раньше было... не слишком обоснованы. Раньше, в основном, были отдельные АРМы (автоматизированные рабочие места), сейчас, как правило, речь идет о более комплексных проектах. Мало кому нужен АРМ бухгалтера или инспектора отдела кадров, нужна бухгалтерия и отдел кадров, желательно интегрированные с другими подсистемами. Ну, а сравнивать АРМ с подсистемой некорректно, прежде всего, с идеологической точки зрения.
Однако не это в статье самое неприятное... Сам автор допускает довольно много ляпов... Вот, например,
Цитата:
На самом деле есть еще такая вещь, как View, - это тот же запрос, но подготовленный средствами SQL-сервера. Из клиентских программ с ним можно работать почти как с таблицей, но редактировать, естественно, нельзя...
SQL-сервер не готовит View, View - это запрос сохраненный на сервере. View могут быть изменяемые (редактируемые) и не изменяемые (не редактируемые) (см. стандарт SQL-92).
Цитата:
К пониманию необходимости динамического порождения SQL-запросов рано или поздно приходят все разработчики, кроме разработчиков базового инструментария. Видимо, им самим не приходится пользоваться своими творениями.
Динамическое порождение запросов, в общем случае, не является необходимым. Для подавляющего количества применений вполне достаточно стандартной (то есть, принятой стандартами SQL, начиная с SQL-92) параметризации запросов. Это относится и к запросам на выборку, и к запросам на изменение (добавление, удаление, редактирование). Реально, динамические запросы необходимы в случае, если происходит модификация схемы базы данных (модификация метаданных) из приложения, что, само по себе, является нонсенсом в большинстве задач.
Цитата:
Вообще говоря, многопользовательские приложения - это частный случай многозадачности. А многозадачность, как известно, влечет одну фундаментальную проблему: многозадачные приложения практически невозможно отлаживать, поскольку смоделировать все многообразие вариантов взаимодействий асинхронно работающих процессов крайне сложно.
Многозадачность, строго говоря, может быть разной... Работа с БД относится к многозадачности над одним набором данных, но и этот класс многозадачности ограничен конечной сериализуемостью, когда, не взирая на внешний параллелизм, обработка данных выполняется строго последовательно. Такие задачи допускают достаточно простую отладку, хотя она, конечно, отличается от отладки однозадачного приложения.
Цитата:
Оптимистическая стратегия исходит из того, что мы пытаемся выполнить операцию и уже в момент закрытия транзакции узнаем, что кто-то поменял наши данные до нас. После чего повторяем попытку.
Повторение попытки в рамках той же транзакции не имеет ни малейшего смысла. Транзакцию необходимо перезапустить.
Цитата:
Длинные отчеты, не меняющие данные, но привязанные к определенному моменту времени, также нужно защищать. Если мы хотим получить состояние склада на 14:00, а соответствующий отчет генерируется полчаса, то за это время в систему введут еще десяток проводок, и мы получим отчет, не соответствующий никакому моменту времени.
Для этого существует высокие уровни изолированности, в частности, REPEATABLE READ и SERIALIZABLE. Если необходимо обеспечить доступность данных, в том числе и для изменения, при работающих транзакциях с высокими уровнями изолированности, необходимо применять версионные СУБД, которые позволяют сосуществовать/работать "пишущим" и "читающим" транзакциям. И т.д.

В целом, статья не оставляет положительного впечатления.

Автор:  Info21 [ Воскресенье, 17 Октябрь, 2010 08:45 ]
Заголовок сообщения:  Re: А. Акопянц "Блеск и нищета клиент-серверных технологий"

alexus писал(а):
Илья Ермаков писал(а):
Если позволите, краткое резюме.
Спасибо, хорошее резюме.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/