Создание приложений COM+ в среде Visual Basic. Руководство разработчика
Скот Хильер
Назначение этой книги - дать читателю возможность быстро приступить к созданию бизнес-приложений на основе COM+. Книга содержит не больше теории, чем необходимо, чтобы приступить к решению коммерческих задач. Основной круг читателей этой книги - разработчики среднего уровня с практическим знанием компонентов ActiveX. Это не должно означать, что новички или опытные программисты не извлекут выгоду из ее содержания, но предполагается, что потенциальный читате
ль уже сталкивался с архитектурой Windows DNA и нуждается в некотором руководстве к дальнейшим действиям (и, кроме того, способен его понять). Эти читатели найдут в книге большое количество кода, который можно использовать. В книге вводятся фундаментальные принципы, необходимые для понимания структуры и работы приложений Windows DNA и COM+, подробно рассматривается строение уровней служб данных, деловых служб и служб пользователя в приложениях COM+. Представлены испытанные методы работы с данными д
ля создания масштабируемых транзакционных систем, методы защиты приложений и новые функции COM+. Показано также, как повысить эффективность приложений и как проще всего развернуть их у конечного пользователя. Каждая глава книги содержит объяснения в описательной форме, перемежаемые "быстрыми проверками" - краткими упражнениями, помогающими усвоить материал. В конце большинства глав помещается подробное упражнение, в котором объединяются элементы, рассмотренные в соответствующей главе. Книга заверш
ается подробным разбором процесса проектирования и написания Web-приложения - электронного книжного магазина.
Об авторе
Скот Хильер (Scot Hillier) - директор по инженерно-техническому персоналу корпорации DataLan. Эта компания, имеющая отделения в Уайт-Плейнз и Нью-Йорке, обладает обширной
компетенцией в стратегическом консультировании, организации сетей и управлении ими, технологиях связи, информационной безопасности, а также опытом в создании бизнес-решений
и организации экспертных систем. Скот написал несколько книг, включая MTS Programming with Visual Basic (Sams Publishing) и Inside Microsoft Visual Basic Scripting Edition (Microsoft Press).
Кроме своей писательской деятельности, Скот регулярно выступает на конференциях по информационным технологиям, таких как VBITS и Developer Days. Адрес его электронной почты - shillier@datalan.com.
Введение
Несколько лет назад, когда я работал над моей второй или третьей книгой, я спросил одного из своих коллег: "Что прежде всего нужно разработчикам программ в этой книге?". Его ответ был прост: "Код, который можно списать!" Это мнение стало для меня руководящим принципом при создании настоящей книги. Ее назначение - дать вам возможность быстро приступить к созданию бизнес-приложений на основе COM+. Книга содержит не больше теории, чем необходимо, чтобы приступить к решению коммерческих задач.
Основной круг читателей этой книги - разработчики среднего уровня с практическим знанием компонентов ActiveX. Это не должно означать, что новички или продвинутые программисты не извлекут выгоду из ее содержания, но читатель, на которого я рассчитываю, уже сталкивался с архитектурой Windows DNA и требует некоторого руководства к дальнейшим действиям (и способен его понять). Эти читатели найдут в книге большое количество кода, который можно использовать.
В этой книге предполагается, что у вас есть определенный навык в работе с несколькими ключевыми технологиями. У вас должна быть серьезная подготовка по объектам Visual Basic. Вы должны уметь создавать модули класса с процедурами и методами свойств, компилируемые в динамические библиотеки (DLL). Вы также должны хорошо ориентироваться в Visual InterDev для создания приложений активных серверных страниц (Active Server Pages - ASP).
Во всей этой книге я разрабатываю архитектуру для создания приложений COM+, пригодную для повторения. Это не означает, что предлагаемый мной способ - единственный способ создания приложений COM+. У меня нет сомнений в том, что некоторые читатели не согласятся, возможно, даже категорически, с описанной здесь архитектурой. Впрочем, я представляю эту книгу, скорее, как вклад в обсуждение архитектуры, основанной на Windows DNA 2000. Если вы будете следовать приведенным здесь рекомендациям, ваше прилож
ение будет работать.
В заключение, я надеюсь, что представленный здесь материал пригодится вам при создании коммерческих приложений более высокого качества.
Структура книги
Каждая глава содержит объяснения в описательной форме, перемежаемые "быстрыми проверками" - краткими упражнениями, помогающими усвоить материал. В конце большинства глав помещается подробное упражнение, в котором элементы, рассмотренные в этой главе, соединяются вместе.
Часть I. Основы приложений COM+
Четыре главы, составляющие часть I, представляют собой введение в фундаментальные принципы, необходимые для понимания структуры и работы приложений Windows DNA и COM+.
Глава 1, "Windows DNA и COM+", знакомит вас со службами Windows DNA и COM+. В кратком обзоре многоуровневых (tiered) приложений читателю предоставляется возможность изучить основные принципы разделения на уровни и преимущества создания приложений COM+. Также вы получите инструкции по созданию приемлемого тестового окружения. Этот раздел поможет подготовиться к упражнениям, используемым в остальной части книги.
В главе 2, "Администрирование COM+", рассматриваются все административные задачи, связанные с COM+. Приводится краткий обзор всех доступных атрибутов компьютеров, приложений и компонентов. Читатель узнает, как управлять компьютерами, на которых работает COM+. Также показано, как воспользоваться возможностями COM+ на уровне приложения. Представлена информация об управлении безопасностью, что позволит предотвратить несанкционированные изменения вашего приложения COM+. Наконец, в этой главе подробн
о перечислены атрибуты компонента, что поможет вам в использовании функций управления ресурсами и транзакциями для создаваемых компонентов.
В главе 3, "Проектирование приложений COM+", анализируется процесс разработки приложения COM+ - начиная с постановки задачи до развернутого приложения. Читатель получит представление о методике, основанной на рациональном унифицированном процессе (Rational Unified Process - RUP), которая помогает должным образом описывать приложения COM+. Эта методика дает реальные результаты, которые можно применять для успешного создания приложений. В этой главе также представлен краткий обзор унифицированного
языка моделирования (Unified Modelling Language - UML), который используется в последующих главах при проектировании приложений COM+.
В главе 4, "Принципы работы приложений COM+", представлены фундаментальные концепции, на которых основана модель COM+. Эта информация создает базу для последующих глав, в которых рассматриваются определенные функции. Здесь описана концепция контекста - фундаментального контейнера для компонента в COM+. Контекст помогает управлять ресурсами и транзакциями. В этой главе также представлены такие фундаментальные понятия, как активизация объекта и управление состоянием. Вы узнаете, почему при с
оздании приложений COM+ необходим другой ход мышления, чем для обычных приложений Visual Basic.
Часть II. Службы данных
В трех главах, составляющих часть II, подробно рассматривается строение уровня служб данных в приложениях COM+. Представлены испытанные методы работы с данными для создания масштабируемых транзакционных систем.
В главе 5, "Доступ к данным в COM+", показаны основные принципы доступа к данным в компонентах COM+. Упор делается на использовании для доступа к данным объектов ADO, а также на группировании подключений к базам данных. Эта последняя функция ускоряет доступ к данным за счет поддержки группы подключений, которые могут применяться многократно. Также в приложениях COM+ требуется, чтобы данные перемещались от одного компонента к другому. В этой главе объясняется, как эффективно перемещать данные межд
у компонентами COM+. Описано несколько различных возможностей создания и представления наборов данных.
Глава 6, "Компоненты данных COM+", посвящена созданию компонентов специально для служб данных. Вы прочтете о передаче параметров и инкапсуляции запросов, узнаете, как отделить процесс доступа к данным от логики приложения, а также как обрабатывать ошибки, происходящие при доступе к данным. В этой главе также рассматриваются полиморфные интерфейсы в контексте доступа к данным. Показано, как использовать интерфейсы для упрощения компонентов доступа к данным и повышения удобства сопровождения компон
ента.
В главе 7, "Транзакции COM+", вы прочтете о том, как создавать транзакции, управлять ими и контролировать их в приложении COM+. Вы узнаете, как координатор распределенных транзакций (Distributed Transaction Coordinator - DTS) осуществляет строгий контроль над транзакциями и как обратиться к нему из COM+. Также объясняется, как контексты транзакций позволяют компонентам COM+ голосовать за успех или неудачу ожидающей транзакции.
Часть III. Деловые службы
В трех главах части III описано, как создать средний уровень для приложения COM+. Эти главы помогут вам защитить систему и воспользоваться новыми возможностями COM+.
Глава 8, "Безопасность COM+", посвящена безопасности приложений и компонентов COM+. Центральной базой данных по безопасности и настройкам пользователей приложения является Active Directory. Вы научитесь использовать его для регистрации пользователей в приложении и затем настраивать приложение для отдельных пользователей. Кроме того, вы получите представление о функциях безопасности, как основанных на ролях COM+, так и программных, которые позволяют ограничивать доступ к функциям компонента COM+.
В главе 9, "Новые возможности COM+", представлено несколько новых возможностей COM+, которые раньше, в Microsoft Transaction Server, были недоступны. Например, слабосвязанные события позволяют компоненту COM+ посылать сообщения о событиях другим компонентам. Это увеличивает гибкость и удобство эксплуатации приложения. Кроме того, появились конструкторы - специальные строки, передаваемые в компонент COM+ при его активизации. С помощью конструкторов можно настроить поведение любого компонента. Нак
онец, компенсирующие диспетчеры ресурсов (Compensating Resource Managers - CRM) позволяют создавать компоненты, которые могут участвовать в транзакциях, привлекая ресурсы, не относящиеся к базе данных. Эта функция расширяет транзакционные возможности COM+ за счет таких ресурсов, как неструктурированные файлы.
В главе 10, "Асинхронные приложения COM+", основное внимание уделено созданию приложений, работающих асинхронно. Такие приложения могут обрабатывать информацию как один пакет. Рассматриваются основные принципы службы очередей сообщений Microsoft (Microsoft Message Queue - MSMQ) и показано, как использовать их при настройке асинхронной обработки. Новая особенность COM+ - так называемые компоненты очереди. Такие компоненты, основанные на MSMQ, обеспечивают более простой механизм интегрирования асин
хронных приложений в COM+.
Часть IV. Службы пользователя
Пять глав, составляющих часть IV, помогут вам в создании как компонентов для Internet, так и клиентских интерфейсов с широкими возможностями для приложений COM+. Здесь показано также, как повысить эффективность приложений и как проще всего развернуть их у конечного пользователя.
Глава 11, "COM+ и Internet", посвящена возможностям, службам и методам, специфическим для разработки в Internet. Internet Information Server 5.5 предоставляет несколько новых функций, важных для разработчиков COM+. Вы узнаете о новых возможностях безопасности и изоляции, доступных для приложений COM+. Также будет рассказано о новых функциях ASP и о создании транзакционных Web-страниц, сценарии на которых дают возможность воспользоваться функциями COM+.
В главе 12, "COM+ и Win32", представлена информация, необходимая для создания продвинутых клиентских интерфейсов для приложений COM+. Обработка состояний транзакций в приложениях COM+ требует серьезного планирования. В этой главе рассказано об основных стратегиях использования клиентских ресурсов для эффективной обработки транзакций в приложениях. В то же время формы Visual Basic - не единственное средство создания клиентских интерфейсов с богатыми возможностями. В этой главе приводится и несколь
ко других вариантов, более легких для реализации, но, тем не менее, обеспечивающих полный набор возможностей пользовательского интерфейса.
Глава 13, "Интеграция COM+ с групповым программным обеспечением", посвящена использованию COM+ с функциями программирования Microsoft Exchange 2000 и Outlook 2000. C помощью Microsoft Exchange 2000 можно создавать полнофункциональные приложения COM+ для совместной работы. В этой главе показано, как получить доступ к новому Web-хранилищу данных с помощью объектов общих данных (Collaboration Data Objects). Outlook 2000 предоставляет простой способ создания приложений для совмест
ной работы в рамках предприятия. Также здесь показано несколько простых способов создания приложений для совместной работы с использованием существующих возможностей Outlook 2000.
В главе 14, "Отладка и развертывание приложений COM+", рассматриваются вопросы развертывания окружения и анализа производительности приложений. Поскольку количественная оценка производительности традиционно считается трудным делом, вы узнаете, как использовать программу Web Application Stress для оценки производительности приложения COM+. В Windows 2000 предлагается новый способ развертывания приложений COM+ с использованием Windows Installer и политик групп. В комплексе эти технологии дают
сетевым администраторам возможность развертывать приложение на нескольких пользовательских машинах с единственного сервера.
В главе 15, "Администрирование каталогов COM+", описывается, как с помощью программируемого интерфейса COM+ можно легко создавать автоматизированные административные средства. При рассмотрении объектной модели администрирования каталогов (Catalog Administration) COM+ будет показано, как автоматизировать такие задачи, как создание приложения и установка компонента. В этой главе также упоминается сервер сценариев Windows (Windows Scripting Host - WSH), применительно к которому описаны основные прин
ципы создания сценариев для автоматизации администрирования COM+.
Часть V. PubsOnLine.com
В двух последних главах показано, как все, чему вы научились в предыдущих главах, применяется на практике при создании приложения PubsOnLine.com. Это приложение моделирует электронный книжный магазин, в котором для подбора и покупки книг используется метод "тележки для покупок". Его назначение - продемонстрировать в работе большую часть функций, описанных в книге.
В главе 16, "Проектирование приложения PubsOnLine.com", представлена проектная документация для приложения, которое будет создано в следующей главе. Здесь также показан цикл разработки приложения, которым вы должны руководствоваться.
В главе 17, "Написание приложения PubsOnline.com", приведен фактический код проекта, разработанного в главе 16. После завершения этой главы вы получите работающий пример, который можно использовать как образец для ваших собственных разработок COM+.