Bagaimana cara membangun lapisan layanan yang baik di ASP.NET?

10

Saya telah melihat beberapa pertanyaan, teknologi untuk membangun lapisan layanan yang baik tetapi saya memiliki beberapa pertanyaan mengenai hal ini yang perlu saya bantu.

Pertama beberapa informasi tentang apa yang saya miliki untuk persyaratan. Saat ini kami memiliki sejumlah aplikasi web yang berbicara satu sama lain dengan cara mencari laba-laba (semua berbicara satu sama lain dengan cara yang membingungkan melalui layanan web dan data basis data).

  • Kami ingin mengubahnya sehingga semua aplikasi melewati lapisan layanan tempat kami dapat bekerja lebih banyak dengan cache dan merangkum fungsionalitas umum dan banyak lagi.
  • Kami ingin lapisan ini juga memiliki API Web sehingga klien pihak ketiga dapat menggunakan informasi dari layanan.

Masalah yang saya lihat adalah bahwa jika kita membangun lapisan layanan dengan mengatakan MVC4 Web API tidakkah kita perlu berkomunikasi antara aplikasi menggunakan webAPI artinya kita harus membuat URL dan menggunakan JSON / Xml. Itu kedengarannya tidak terlalu efektif. Saya berasumsi metode yang lebih baik akan bekerja dengan entitas dan WCF untuk berkomunikasi antara aplikasi tapi kemudian kita mungkin kehilangan keajaiban Web API?

Jadi pertanyaannya adalah apakah ada cara untuk mengkonsumsi lapisan layanan baik sebagai Web API (JSON / XML) dan sebagai lapisan layanan yang lebih backend dengan entitas. Jika kita terpaksa menggunakan 2 lapisan layanan yang berbeda, kita mungkin harus menduplikasi beberapa fungsi dan hal-hal buruk lainnya.

Semoga pertanyaannya cukup jelas dan tanyakan apakah Anda memerlukan informasi lebih lanjut


sumber
Pertanyaan bagus. +1 untuk itu!
Kangkan

Jawaban:

1

Untuk satu set aplikasi yang di-host di intranet dan mungkin dalam satu LAN, yang terbaik adalah koneksi TCP untuk layanan.

Dalam hal itu, saya sarankan, membuat aplikasi layanan yang mengekspos satu set titik akhir dan antarmuka layanan yang dapat bekerja pada TCP. Ini dapat dikonsumsi oleh aplikasi buatan sendiri atau tepercaya.

Aplikasi layanan yang akan memiliki satu set titik akhir dan antarmuka layanan yang terpapar untuk dikonsumsi melalui web (web API).

Jadi aplikasi layanan dapat di-host menggunakan WCF dan titik akhir / antarmuka harus ditambahkan sesuai dengan kebutuhan.

Kangkan
sumber
Jadi menciptakan 1 set endpoint untuk komunikasi internal dan 1 set untuk Web API? (Dan ya itu pada LAN dengan sekitar 20 server termasuk intranet, externalwebs dan semacamnya)
Ok membaca lebih banyak di WCF (maaf saya sedikit pemula di perairan ini) jadi saya memiliki layanan yang sama atau aplikasi layanan yang sama tetapi kemudian menggunakan titik akhir yang berbeda untuk layanan itu sehingga aplikasi layanan dapat digunakan melalui kedua TCP dan HTTP, koreksi? Mungkin pertanyaan yang lebih sulit .. adakah yang punya informasi tentang web API MVC4 jika itu dapat dikonsumsi melalui TCP?
Anda melakukannya dengan benar. Di MVC4 web API, saya belum membaca apa pun. Anda mungkin perlu membacanya.
Kangkan