Опубликован: 24.11.2006 | Уровень: специалист | Доступ: платный
Лекция 1:

Программирование для интернета с использованием COM

Лекция 1: 12345678910 || Лекция 2 >

Модульный тест библиотеки COM DLL

Для тестирования библиотеки ConfigSeat.dll можно создать несложный код ASP, реализующий экземпляр класса clsChair для вывода значения color в браузер и изменения этого значения. Файл ASP DescribeChair.asp (см. листинг 1.2) можно расположить в веб-приложении на сервере с библиотекой ConfigSeat.dll. Файл ASP можно расположить на веб-сайте по умолчанию, созданном при установке IIS. Если сервер не настроен на выполнение exe-файлов, то проведите соответствующую настройку. Для получения инструкций по реализации работы ASP в IIS6 обратитесь к лекции 12 курса "Администрирование web-серверов в IIS".

<%@ Language=VBScript %>
<HTML>
<HEAD>
</HEAD>
<BODY>
<%
dim o

 Response.Write("<p>start Test</p>")
 
 'create the object since this is hard work
 set o = Server.CreateObject("ConfigSeat.clsChair")
 
 'demonstrate that values were changing
 Response.Write("<p> color=" & o.color & "</p>")
 Response.Write("<p>change color to blue</p>")
 o.color = "blue" 
 Response.Write("<p> color=" & o.color & "</p>")

 'destroy object so it can be created again
 set o = nothing
%>
</BODY>
</HTML>
Листинг 1.2. ASP DescribeChair.asp used to test the COM component ConfigSeat.DLL

Для демонстрации возможностей служб компонентов DescribeChair.asp следует запустить много раз. Нагрузка на веб-сервер, созданная запросами на файл ASP, не обеспечивает достаточный спрос на компонент COM или сервер, на котором он расположен, поэтому службы компонентов не зарегистрируют потребность в ресурсах. Microsoft предлагает две утилиты, предназначенные для проведения проверки нагрузкой.

  • Тест Microsoft Application Center Test
  • Тест Microsoft Web Application Stress (WAS)

WAS – бесплатная программа; Microsoft Application Center Test входит в пакет Visual Studio .NET Enterprise Edition.

Для создания нехватки ресурсов в ASP и просмотра реакции на это условие в Microsoft Application Center Test был создан простой сценарий, моделирующий одновременную работу ста пользователей в течение 5 минут. Такая нагрузка достаточно велика, и службы компонентов испытывали большую нагрузку при обслуживании экземпляра clsChair. В каждый момент времени создавалось от нуля до пяти экземпляров clsChair, обеспечивавших 175 запросов на страницы в секунду. На рисунке 1.17 показана консоль управления службами компонентов, отображающая состояние класса clsChair при тестировании нагрузкой.

Использование VB в COM

До сих пор мы показывали построение простейшего веб-приложения COM, включая все этапы процесс разработки. В реальном COM-объекте должен присутствовать набор классов, отражающий объекты, выявленные в процессе сбора требований. Среди возможностей веб-приложений COM следует отметить хранение данных, связанных с выявленными объектами, чтение данных об этих объектах, упорядочивание данных с помощью XML и их форматирование для отображения в браузере. В данной лекции мы пропустим шаги, связанные со сбором требований. В "Процесс разработки программы и методология построения приложений для интернета" показаны действия, входящие в цикл разработки программного обеспечения.

Объектно-ориентированное (ОО) проектирование и анализ представляют собой большую редкость в современном сообществе разработчиков программного обеспечения. Веб-программы не менее сложны, чем другое комплексное программное обеспечение, имеют неопределенную структуру при разработке и дизайне, поэтому не следует игнорировать зарекомендовавшие себя правила и подходы к разработке.

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

Существует проблема, связанная с ОО-анализом и проектированием в VB6. VB6 не позволяет создать действительно объектно-ориентированное программное решение. Эта среда программирования не поддерживает наследование реализации. Отсутствие реального полиморфизма и других возможностей ограничивает его эффективность при разработке приложений, обеспечивающих долговечность, особенно для масштабируемого программного решения. Объекты COM можно построить на других ОО-языках, например, на C++ и Java.

VB6 поддерживает другие возможности истинно полиморфного языка, но наследование классов – очень важная функция – в нем отсутствует. Не следует воспринимать наследование в VB6 за истинное наследование. Документация Microsoft описывает VB6 как объектно-ориентированный язык, обеспечивающий наследование классов с помощью команды implements. Однако команда implements обеспечивает только наследование интерфейса. С практической точки зрения это означает, что IDE в VB6 заново конструирует интерфейс суперкласса в дочернем классе и заставляет программиста поддерживать весь интерфейс суперкласса в подчиненном классе. Программист создает весь объем кода наследуемых функций в дочернем классе.

VB6 позволяет быстро разработать надежные компоненты, обеспечивающие функциональность, связанную с экземпляром класса. Классы используют другие классы, что весьма полезно. Вероятно, лучшей демонстрацией возможностей VB6 является проект, в котором на этапе сбора требований выявлено немного объектов, или проект с небольшим потенциалом для масштабируемости в будущем и с коротким циклом разработки. VB6 является альтернативой истинно полиморфного языка типа C++, требующего от программиста высокого уровня знаний, и технологии сценариев типа VBScript ASP.

Лекция 1: 12345678910 || Лекция 2 >
Дмитрий Васюков
Дмитрий Васюков
Россия, Брянск
Maxim Kuzmin
Maxim Kuzmin
Россия