2016-09-24 58 views
0

我正在研究需要Web應用以及移動應用的應用,並且正在考慮使用Azure應用服務。使用Azure應用服務的Web應用和移動客戶端的業務邏輯

在當前的實現中,我們需要在移動應用程序和Web應用程序中編寫相同的邏輯。我想爲兩個端點使用相同的存儲庫和數據庫。但我不想在兩個不同的地方爲業務邏輯編寫相同的代碼。

如何將Web應用程序和移動應用程序混合使用同一個存儲庫,數據庫和業務邏輯?

如果使用Web API,我可以創建可以在Web API和MVC 5應用程序中使用的服務層。我想要一個類似的系統。

+0

請詳細介紹要創建的應用程序類型:該應用程序是否僅在客戶端上運行設備,還是有一個服務器端組件?你需要華麗的圖形還是隻需要幾個按鈕和文本字段?網絡涉及?多線程? –

+0

是的,應用程序在客戶端設備上運行。該應用程序可以從Web應用程序和移動應用程序中使用。 –

+0

心靈告訴我們更多的應用程序是關於什麼?它是簡單的,就像計算器一樣嗎?複雜的東西,像微軟Outlook?像俄羅斯方塊的遊戲? 3D射手?辦公室應用程序?像記事本這樣的文本編輯器?請相信我 - 完全取決於你想達到的目標。 –

回答

5

你已經得到了你的答案,即。使用API​​。如果您在解耦架構中構建解決方案,則可以根據需要編寫儘可能多的前端,並重復使用相同的後端服務。考慮一個Web應用程序和移動應用程序是前端 - 它們應該只是用於控制UI的最小邏輯的表示層,而不是業務邏輯。以這種方式分離的典型解決方案如下所示。使用接口來描述API,因此您可以輕鬆地嘲笑,重構或重新處理後端服務,而不會影響使用API​​的應用程序。

sketch of decoupled architecture

  • Web App的
  • 移動應用
  • API項目(的WebAPI/REST推薦)
  • 接口的服務
  • 商務服務(可重複使用的,持久的,強勁而良好測試/可測試)
  • 存儲庫(抽象數據庫連接)
  • 其他抽象(Web服務,其他服務/系統)

所以你的業務邏輯可以寫一次,門前由接口和/或REST API,它是由你單獨的Web應用程序/移動稱爲應用。如果您使用Web API作爲將應用程序加入服務的機制,則您將有一個物理部署您的業務服務;如果您只是使用接口,則需要將二進制文件部署到每個實例(網絡應用程序,移動應用程序等)

相關問題