2012-05-05 61 views
4

我是一名愛好程序員,試圖使用Delphi XE構建客戶端/服務器應用程序套件。IntraWeb/DataSnap?

我偶爾編寫獨立應用程序,供我個人使用。問題是,當涉及到網絡/多層時,我不知道任何事情。儘管我願意學習。

我尋找方法來做到這一點,DataSnap和IntraWeb跳出最有可能的候選人的工作。不過,在我開始使用一個或另一個,我想知道一些信息,我沒能在網上找到:

  1. 如果我建立一個IW獨立的應用程序和部署我的網站(作爲服務器)將能夠連接到它/使用客戶端應用程序檢索數據?我需要在Delphi編寫的應用程序中執行此操作,而不使用瀏覽器,也不使用HTML(我知道HTML很少,而且我不渴望學習)。我知道IntraWeb不是爲了這個,但它會工作嗎?

  2. 如果我使用DataSnap創建服務器應用程序,我能否將它部署到我的網站?或者我必須在網絡上製作一臺計算機嗎?

如果有人想知道,我想連接5臺電腦(來自不同的城市),在它們之間交換信息,如果使用ADO在所有可能的,因爲我很熟悉它。

+0

沒有太多託管提供商允許在共享託管帳戶上使用ISAPI DLL或其他服務器/服務類型的可執行文件,這就是您在使用DataSnap路由時所看到的內容。你將不得不找到一個允許這些的ISP,否則你將不得不去專門的服務器。雲託管可能是一種選擇。我對這些人自己沒有任何經驗,但是他們在工作中被調查過,似乎並不像運行你自己的服務器那樣允許你安裝/運行。 –

+0

我確信Windows/IIS託管可以運行自己的服務,並且可以在其中運行CGI/ISAPI DLL,這只是比您無法做到的更多的錢。無論如何,它的成本並不完全是編程相關的。如果你想做一個Web服務實現,它有一個SQL DB後端運行並連接到你自己的SQL數據庫,那麼主機託管,雲託管或專用服務器可能就是你正在看的東西了,是的,DataSnap是這種中間件的正確工具。最近他們也爲移動平臺添加了DataSnap連接器。 –

回答

1

Intraweb是一個基於服務器的工具,用於構建通過瀏覽器訪問的網站。它不是「合適的」多層次的,聽起來並不是你所需要的。

DataSnap旨在做你想做的事情,我認爲。首先,ADO部分將在服務器上,並且您將定義服務器提供的用於執行任務的接口。然後你的客戶會通過互聯網調用這個接口來獲取數據或執行這些任務等。

至於他們是否能在你的web服務器上工作,這取決於你的服務器是什麼,以及提供給它的訪問權限。 Web服務器只是一臺PC,但典型的託管服務僅限於在服務器上運行「腳本化」語言,該服務器駐留在託管目錄中。 Delphi服務器將是一個正在運行的可執行文件(通常是一個Windows服務),監聽一個端口,並且需要更多的訪問權限。您至少需要一臺具有管理員訪問權限的虛擬Windows服務器才能使其工作。然而,在第一個例子中,你可以在DSL線路或類似的地方快速運行服務器,並使其工作得很好。客戶支付費用時,您可以擔心將其託管在網絡上。

+0

好的,謝謝你的答覆。那麼,什麼是在Web上部署服務器的最佳方式(我可以爲我的站點獲得專用IP)並通過客戶端應用程序連接到它? – cipnec

+0

@cipnec對於在Web中部署原型,您可以嘗試Amazon Elastic Compute Cloud(EC2) - 它提供了小型的Windows服務器實例,這些實例並不昂貴(每小時付費,它們也用於提供一些免費的初始帳戶個月)。 – mjn

+0

謝謝大家的意見,這對我們幫助很大。我將採用DataSnap的方式。 – cipnec