Rozwiązanie Contact Manager
Ta seria samouczków używa przykładowego rozwiązania — rozwiązania Contact Manager — do reprezentowania aplikacji w skali przedsiębiorstwa z realistycznym poziomem złożoności. W tym temacie przedstawiono rozwiązanie Contact Manager, opisano kluczowe składniki rozwiązania i przedstawiono wyzwania związane z wdrażaniem tego rodzaju aplikacji na różnych platformach docelowych w środowisku przedsiębiorstwa.
Podczas pracy z tematami w tych samouczkach możesz użyć rozwiązania Contact Manager jako implementacji referencyjnej, która pokazuje, jak sprostać konkretnym wyzwaniom w scenariuszach wdrażania w przedsiębiorstwie. W następnym temacie Konfigurowanie rozwiązania Contact Manager opisano sposób pobierania i uruchamiania rozwiązania na stacji roboczej dewelopera.
Omówienie rozwiązania
Rozwiązanie Contact Manager składa się z czterech pojedynczych projektów:
- ContactManager.Mvc. Jest to projekt aplikacji internetowej MVC 3 ASP.NET reprezentujący punkt wejścia dla rozwiązania. Oferuje ona niektóre podstawowe funkcje aplikacji internetowej, takie jak zapewnienie użytkownikom możliwości tworzenia i wyświetlania danych kontaktowych. Aplikacja korzysta z usługi Windows Communication Foundation (WCF) do zarządzania kontaktami i bazą danych usług aplikacji ASP.NET do zarządzania uwierzytelnianiem i autoryzacją.
- ContactManager.Database. Jest to projekt bazy danych programu Visual Studio. Projekt definiuje schemat bazy danych, która przechowuje dane kontaktowe.
- ContactManager.Service. Jest to projekt usługi internetowej WCF. Usługa WCF uwidacznia punkt końcowy, który umożliwia obiektom wywołującym wykonywanie operacji tworzenia, pobierania, aktualizowania i usuwania (CRUD) w bazie danych ContactManager . Usługa korzysta z bazy danych ContactManager i zestawuContactManager.Common.dll .
- ContactManager.Common. Jest to projekt biblioteki klas. Usługa WCF opiera się na typach zdefiniowanych w tym zestawie.
Rozwiązanie zawiera również folder rozwiązania o nazwie Publikuj. Zawiera on różne niestandardowe pliki projektów i pliki poleceń, które pokazują, jak można kontrolować i manipulować procesem kompilacji i wdrażania. Te elementy zostały szczegółowo omówione w dalszej części tego samouczka.
Na poziomie koncepcyjnym składniki rozwiązania pasują do siebie w następujący sposób:
Uwaga
Podczas gdy aplikacja internetowa ASP.NET MVC 3 używa dostawcy członkostwa ASP.NET, wszystkie strony w aplikacji internetowej zezwalają na dostęp anonimowy. Jest to wyraźnie nie realistyczna konfiguracja. Jednak rozwiązanie jest konfigurowane w ten sposób, aby ułatwić wdrażanie i testowanie rozwiązania bez konfigurowania kont użytkowników i ról.
Wyzwania związane z wdrożeniem
Rozwiązanie Contact Manager ilustruje kilka wyzwań związanych z wdrażaniem, które są typowe dla wielu scenariuszy wdrażania w przedsiębiorstwie:
- Rozwiązanie składa się z wielu projektów zależnych. Należy wdrożyć te projekty jednocześnie.
- Parametry połączenia i punkty końcowe usługi muszą być aktualizowane dla każdego środowiska, a w wielu przypadkach te informacje nie będą dostępne dla dewelopera.
- Podczas wdrażania bazy danych ContactManager w środowiskach przejściowych i produkcyjnych należy zachować istniejące dane w kolejnych wdrożeniach.
- Podczas wdrażania bazy danych usług aplikacji ASP.NET należy wdrożyć pewne dane konfiguracji, ale pominąć wszystkie dane konta użytkownika.
- Projekty obejmują niektóre pliki i foldery, które nie powinny być wdrażane. Należy wykluczyć te pliki i foldery z procesu wdrażania.
- Rozwiązanie musi obsługiwać automatyczne wdrażanie z serwera kompilacji Team Foundation Server (TFS).
Podsumowanie
W tym temacie przedstawiono ogólne omówienie rozwiązania Contact Manager i zidentyfikowano niektóre z typowych wyzwań związanych z wdrażaniem, które są typowe dla wielu scenariuszy wdrażania w przedsiębiorstwie. Pozostałe tematy w tym samouczku opisują niektóre techniki, których można użyć do sprostania tym wyzwaniom.
W następnym temacie Konfigurowanie rozwiązania Contact Manager opisano sposób pobierania i uruchamiania rozwiązania na stacji roboczej dewelopera.