OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 23 Апрель, 2024 10:20

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: Воскресенье, 01 Август, 2010 13:43 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Статья в Компьютерре, 1999 г.:

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 01 Август, 2010 13:54 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
И вторая часть:
http://offline.computerra.ru/1999/303/3781/

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 17 Октябрь, 2010 00:04 
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 17 Октябрь, 2010 08:45 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
alexus писал(а):
Илья Ермаков писал(а):
Если позволите, краткое резюме.
Спасибо, хорошее резюме.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB