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
Jawaban:
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.
sumber