Поделиться через


Проектирование для развертывания

Планирование область приложений COM+ является важной задачей проектирования, которые следует рассмотреть на раннем этапе. Распределенные системы, предназначенные для запуска с помощью COM+, должны быть разработаны для развертывания с наименьшим количеством отдельной конфигурации и наиболее эффективно использовать каждый процесс. Существуют также методы, которые позволяют достичь оптимальной производительности при развертывании приложения COM+. (Дополнительные сведения см. в разделе Развертывание для более быстрого взаимодействия.)

При просмотре с помощью средства администрирования служб компонентов каждое приложение COM+ отображается как папка, в которой наборы компонентов логически группируются. Хотя можно перемещать отдельные компоненты между папками компонентов приложения COM+ (другими словами, из одного приложения в другое), несколько служб, установленных на уровне приложения COM+, например безопасность, могут отличаться. Эти параметры службы могут повлиять на переносимость.

Приложение COM+ Server определяет границу процесса

При создании нового серверного приложения COM+ вы действительно определяете новую границу процесса. (Обратите внимание на исключение для приложений библиотеки, описанных ниже.) Этот процесс становится управляемым экземпляром приложения для компонентов, содержащихся в приложении COM+. Эти компоненты выполняются во всех процессах в новом экземпляре исполняемой программы COM+, когда программа вызывает приложение COM+ в первый раз. Это означает, что все компоненты в заданной папке компонентов приложения COM+ выполняются в одном пространстве процесса, который служит сервером DCOM. В приложении COM+ COM+ управляет памятью, координацией с координатором распределенных транзакций (DTC), активацией экземпляра jit-компонента, обнаружением сбоев и восстановлением, а также безопасностью на основе ролей.

Вызов между границами приложений COM+

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

Примечание.

По сути, нет ничего неправильного в том, чтобы занести этот штраф за производительность; Вы просто должны знать, что это произойдет. В зависимости от требуемого времени отклика количество пользователей, которые одновременно запрашивают бизнес-службы, и добавленное бремя запуска, которое каждый компонент добавляет в каждое приложение COM+, может оказаться, что производительность, связанная с вызовами между приложениями, допустима.

 

Одна из возможных возможностей, которые устраняют производительность вызовов между границами приложений COM+, заключается в том, чтобы пометить данное приложение COM+ как приложение библиотеки. Приложение библиотеки COM+ запускается в процессе создания клиента. Конечно, ни один прирост производительности не имеет нулевой стоимости. В этом случае компромисс включает ограничения приложений библиотек COM+ . Хотя приложение библиотеки может использовать безопасность на основе ролей, оно не может поддерживать компоненты очереди или удаленный доступ.

Развертывание для быстрого взаимодействия

Проектирование для доступности

Проектирование для масштабируемости

Проектирование для обеспечения безопасности