簡體   English   中英

如何將桌面應用程序公開為安全Web服務?

[英]How to expose desktop application as a Secure Web Service?

Window桌面應用程序提供了C ++ API,該API提供了一系列客戶信息,例如姓名和地址。 我想將其公開為具有安全性的SOAP Web服務,以便該Web服務的授權客戶端(從遠程服務器Linux / Java通過ESB)可以隨時在SOA實現(基於Java)中獲取此信息。 桌面應用程序沒有標准數據庫。 它在內部存儲其數據。 它基本上是舊的定制CRM應用程序,安裝在每個代理的PC盒上。 每個代理商都有自己的客戶清單。

完成此任務需要采取哪些步驟?

我需要將其作為Windows服務運行嗎?

簡短的答案是,是的,您可以通過SOAP Web服務公開來自桌面應用程序的數據。 使用C#和.NET更容易,但使用C ++並非不可能。 您需要采取什么步驟取決於您要開發的平台。

大概-

實現支持SSL的端點,客戶端可以在該端點上連接到您的桌面應用程序(使用C ++中的套接字或使用.NET的HTTPListener)。

編寫可以接收和調度SOAP請求的代碼。

處理SOAP請求並返回格式正確的SOAP響應。

處理WSDL請求。

實施安全機制(基於cookie或其他方式)。

使用.NET,大部分已經在平台代碼中了,您只需要將各個部分放在一起。 使用C ++,您可能會找到一些第三方庫,但實際上您將編寫自己的庫。

僅當希望在桌面用戶未登錄並運行桌面應用程序時數據可用時,才需要實現Windows服務。 這里的挑戰是,您必須確保Windows服務可以訪問桌面應用程序正在使用的相同數據。

另一種策略是使用C ++ API和Interop從桌面應用程序訪問數據,並將Web服務作為IIS上托管的現成的asmx標准實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM