Решение диспетчера контактов

Джейсон Ли

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

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

Обзор решения

Решение Диспетчера контактов состоит из четырех отдельных проектов:

Решение Диспетчера контактов состоит из четырех отдельных проектов.

  • ContactManager.Mvc. Это проект веб-приложения MVC 3 ASP.NET, представляющий точку входа для решения. Он предлагает некоторые основные функции веб-приложения, например предоставление пользователям возможности создавать и просматривать контактные данные. Приложение использует службу Windows Communication Foundation (WCF) для управления контактами и базой данных служб приложений ASP.NET для управления проверкой подлинности и авторизацией.
  • ContactManager.Database. Это проект базы данных Visual Studio. Проект определяет схему для базы данных, в которой хранятся контактные данные.
  • ContactManager.Service. Это проект веб-службы WCF. Служба WCF предоставляет конечную точку, которая позволяет вызывающим пользователям выполнять операции создания, извлечения, обновления и удаления (CRUD) в базе данных ContactManager . Служба использует базу данных ContactManager и сборку ContactManager.Common.dll .
  • ContactManager.Common. Это проект библиотеки классов. Служба WCF зависит от типов, определенных в этой сборке.

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

На концептуальном уровне компоненты решения сочетаются следующим образом:

Как компоненты решения подходят вместе на концептуальном уровне.

Замечание

Хотя веб-приложение ASP.NET MVC 3 использует провайдер членства ASP.NET, все страницы в веб-приложении доступны для анонимного доступа. Это явно не реалистичная конфигурация. Однако решение настроено таким образом, чтобы упростить развертывание и тестирование решения без настройки учетных записей пользователей и ролей.

Проблемы развертывания

Решение Диспетчера контактов иллюстрирует несколько проблем развертывания, которые являются общими для множества сценариев корпоративного развертывания:

  • Решение состоит из нескольких зависимых проектов. Эти проекты необходимо развернуть одновременно.
  • Строки подключения и конечные точки службы должны обновляться для каждой среды, и в большинстве случаев эта информация не будет доступна для разработчика.
  • При развертывании базы данных ContactManager в промежуточных и рабочих средах необходимо сохранить существующие данные при последующих развертываниях.
  • При развертывании базы данных служб приложений ASP.NET необходимо развернуть некоторые данные конфигурации, но исключить все данные учетных записей пользователей.
  • Проекты включают некоторые файлы и папки, которые не следует развертывать. Эти файлы и папки необходимо исключить из процесса развертывания.
  • Решение должно поддерживать автоматическое развертывание с сервера сборки Team Foundation Server (TFS).

Conclusion

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

Следующая тема, Setting Up the Contact Manager Solution, описывает, как скачать и запустить решение на рабочей станции разработчика.