Bagikan melalui


Solusi Contact Manager

oleh Jason Lee

Rangkaian tutorial ini menggunakan solusi sampel—solusi Contact Manager—untuk mewakili aplikasi skala perusahaan dengan tingkat kompleksitas yang realistis. Topik ini memperkenalkan solusi Contact Manager, menjelaskan komponen utama solusi, dan mengidentifikasi tantangan dalam menyebarkan aplikasi semacam ini ke berbagai platform tujuan di lingkungan perusahaan.

Saat Anda mengerjakan topik dalam tutorial ini, Anda dapat menggunakan solusi Contact Manager sebagai implementasi referensi yang menunjukkan bagaimana Anda dapat memenuhi tantangan tertentu dalam skenario penyebaran perusahaan. Topik berikutnya, Menyiapkan Solusi Contact Manager, menjelaskan cara mengunduh dan menjalankan solusi di stasiun kerja pengembang Anda.

Gambaran Umum Solusi

Solusi Contact Manager terdiri dari empat proyek individual:

Solusi Contact Manager terdiri dari empat proyek individu.

  • ContactManager.Mvc. Ini adalah proyek aplikasi web MVC 3 ASP.NET yang mewakili titik masuk untuk solusi. Ini menawarkan beberapa fungsionalitas aplikasi web dasar, seperti memberi pengguna kemampuan untuk membuat dan melihat detail kontak. Aplikasi ini bergantung pada layanan Windows Communication Foundation (WCF) untuk mengelola kontak dan database layanan aplikasi ASP.NET untuk mengelola autentikasi dan otorisasi.
  • ContactManager.Database. Ini adalah proyek database Visual Studio. Proyek menentukan skema untuk database yang menyimpan detail kontak.
  • ContactManager.Service. Ini adalah proyek layanan web WCF. Layanan WCF mengekspos titik akhir yang memungkinkan penelepon untuk melakukan operasi buat, ambil, perbarui, dan hapus (CRUD) pada database ContactManager . Layanan ini bergantung pada database ContactManager dan rakitan ContactManager.Common.dll .
  • ContactManager.Common. Ini adalah proyek pustaka kelas. Layanan WCF bergantung pada jenis yang ditentukan dalam perakitan ini.

Solusi ini juga mencakup folder solusi bernama Terbitkan. Ini berisi berbagai file proyek kustom dan file perintah yang menunjukkan bagaimana Anda dapat mengontrol dan memanipulasi proses build dan penyebaran. Ini dibahas secara lebih rinci nanti dalam tutorial ini.

Pada tingkat konseptual, komponen solusi cocok bersama-sama seperti ini:

Bagaimana komponen solusi cocok bersama pada tingkat konseptual.

Catatan

Sementara aplikasi web ASP.NET MVC 3 menggunakan penyedia keanggotaan ASP.NET, semua halaman dalam aplikasi web memungkinkan akses anonim. Ini jelas bukan konfigurasi realistis. Namun, solusinya disiapkan dengan cara ini untuk memudahkan Anda menyebarkan dan menguji solusi tanpa mengonfigurasi akun dan peran pengguna.

Tantangan Penyebaran

Solusi Contact Manager menggambarkan beberapa tantangan penyebaran yang umum untuk banyak skenario penyebaran perusahaan:

  • Solusinya terdiri dari beberapa proyek dependen. Anda perlu menyebarkan proyek-proyek ini secara bersamaan.
  • String koneksi dan titik akhir layanan perlu diperbarui untuk setiap lingkungan, dan dalam banyak kasus informasi ini tidak akan tersedia untuk pengembang.
  • Saat Anda menyebarkan database ContactManager ke lingkungan penahapan dan produksi, Anda perlu mempertahankan data yang ada pada penyebaran berikutnya.
  • Saat Anda menyebarkan database layanan aplikasi ASP.NET, Anda perlu menyebarkan beberapa data konfigurasi tetapi menghilangkan data akun pengguna apa pun.
  • Proyek ini mencakup beberapa file dan folder yang tidak boleh disebarkan. Anda perlu mengecualikan file dan folder ini dari proses penyebaran.
  • Solusi ini perlu mendukung penyebaran otomatis dari server build Team Foundation Server (TFS).

Kesimpulan

Topik ini memberikan gambaran umum tingkat tinggi tentang solusi Contact Manager dan mengidentifikasi beberapa tantangan penyebaran melekat yang umum untuk banyak skenario penyebaran perusahaan. Topik yang tersisa dalam tutorial ini menjelaskan beberapa teknik yang dapat Anda gunakan untuk memenuhi tantangan ini.

Topik berikutnya, Menyiapkan Solusi Contact Manager, menjelaskan cara mengunduh dan menjalankan solusi di stasiun kerja pengembang Anda.