КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Параллелизм. Дополнительные требования
Дополнительные требования В ходе разработки о системе ASEILM узнала другая группа заинтересованных лиц, пожелавшая объединить с ней свои данные. Никакой ясности по поводу содержания, цели интеграции и структуры этих данных поначалу не было. По результатам анализа выяснилось, что у самых разных людей хранились данные, том или иным образом связанные с данными, которые система ASEILM была призвана отслеживать. Для того чтобы максимально сократить влияние введения в ASEILM новых типов данных, разработчикам предстояло выделить в заказных компонентах уровень абстракции данных, изолировав его таким образом от бизнес-логики. В этом случае система могла бы функционировать, не зная источников и структуры хранилищ(а) данных. Уровни заказного компонента изображены на рис. 18.5..
Рис. 18.5. Уровни заказного компонента Ансамбль Java-сервлетов, удовлетворявший критериям, которым не смог соответствовать ансамбль Miva, поставил новые задачи, связанные с управлением параллелизмом. Во время работы над модельным решением разработчики поняли, что, в отличие от ансамбля Miva, ансамбль Java-сервлетов не справляется с параллелизмом. В документации по серверу приложений Tomcat параллелизм не упоминался вообще. Для того чтобы определить, насколько серьезна проблема, группе разработчиков пришлось проанализировать потоковую модель ансамбля. В частности, требовалось изучить отношения между IIS и Tomcat и их воздействие на систему Выполнив анализ потоковой модели, разработчики предположили, что в каждом случае регистрации пользователя создается особый поток. Ыа основе этой гипотезы они вывели три сценария. ♦ Два пользователя одновременно обращаются к системе за разными данными. После разделения заказного компонента на уровни бизнес-логики и абстракции данных было принято решение о кэшировании на последнем отдельных данных. Таким образом, при инициализации данные извлекались бизнес-логикой из базы данных, проходя при этом через уровень абстракции данных, и впоследствии обслуживались средствами бизнес-логики. Разработчики ne предпринимали никаких действий, направленных на организацию многопоточности бизнес-логики. В ситуации одновременного обращения двух пользователей к бизнес-логике она рассматривалась как критическая секция и пользовательский доступ к ней организовывался последовательно. Поскольку все значимые данные ОЗУ-резидентны, любой запрос выполняется быстро, и неприемлемая продолжительность ожидания фиксируется только при обработке многочисленных одновременных запросов. Учитывая условия использования, одновременные запросы обрабатываются в ограниченном количестве. ♦ Два пользователя одновременно обращаются к системе за одними и теми же данными. Один из аспектов этого сценария — обеспечение непротиворечивости данных в базе — является побочным продуктом решения сценария 1. Поскольку доступ к бизнес-логике осуществляется в последовательном режиме, любое обновление предполагает непротиворечивость данных. Второй аспект — вероятность просмотра и манипуляций с устаревшими данными — выражает проблему «проталкивания» данных пользователю средствами HTTP. Разработчики решили встроить в генерируемый HTML- код функцию периодической перезагрузку текущей веб-страницы — таким образом, в рамках заданного допуска гарантируется соответствие отображаемых и манипулируемых данных текущему состоянию. Это решение, которое, по большому счету, нельзя признать оптимальным, легко реализуется и, исходя из предполагавшейся пользовательской нагрузки, вполне допустимо. ♦ Один и тот же пользователь одновременно запускает два сеанса. Этот сценарий разработчики просто запретили. Группа разработчиков сопоставила получившееся решение с конечными критериями оценки, которые с момента проведения первого эксперимента с Miva оставались неизменными. Убедившись в том, что ансамбль Java-сервлетов удовлетворяет их всех, группа продолжила работу над реализацией. Решение на основе ансамбля Java-сервлетов обеспечило соответствие всем потребностям проекта, и к началу 2002 года система ASEILM была готова. Утверждать правомерность принятых допущений о моделях использования еще слишком рано, однако первые положительны. Стоит, впрочем, иметь в виду, что рассматриваемое решение не предполагает удобства масштабирования. 18.5. Заключение Атрибуты качества можно реализовать даже в такой системе, которая по большей части состоит из коробочных компонентов, и, соответственно, заложенные в ней механизмы проектирования и взаимодействия не поддаются контролю со стороны архитектора. С другой стороны, принципы реализации атрибутов качества в подобного рода системах сильно отличаются от тех, что приняты в отношении специально разработанного кода. Процесс выявления требований в таком случае теряет привычную жесткость — компоненты, имеющиеся на рынке, за счет корректности требовании повышают общее качество коммерческого решения, С другом стороны, важнейшие требования в процессе оценки осуществимости ансамблей компонентов должны выступать в качестве критичных ограничений. Необходимо учитывать возможность возникновения непредвиденных обстоятельств, а но мере расширения и усложнения важнейших требований предусматривать резервное решение в виде специальной разработки.
Дата добавления: 2015-04-25; Просмотров: 491; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |