2011-03-11 160 views
2

我正在尋找關於如何最好地處理我需要開發的新項目的建議。從一開始我必須補充一點,我沒有任何級別的Web開發經驗。REST服務器,Delphi和Web服務 - 需要的建議

我需要做的是通過將服務器後端通信的瀏覽器提供了一個Web界面。檢索到的數據將來自數據庫或其他來源 - 服務器本身將通過IP與之通信的外部設備。從外部設備檢索到的數據將始終爲長度爲n的字符串格式(非Unicode),並且DB數據將主要是字符串和數字,並帶有奇數blob(存儲圖片)。通信將始終從客戶端(網絡瀏覽器)到服務器。我不相信服務器需要煽動通信。

我有Delphi XE,所以開始考慮使用REST服務器進行通信,我認爲這似乎是確定的。但是,從我所看到的情況來看,我需要創建HTML網頁來在Web瀏覽器上「呈現」數據。真的嗎?我可以將IW組件與REST服務器一起使用嗎?如果是這樣,我不知道如何從瀏覽器UI獲取數據。我更喜歡研究Ruby on Rails嗎?從我在這裏看到的另一個線索看,它是基於MVC和其他一些我認爲是設計明智的領域適合我如何創建應用程序(我計劃基於MVP或類似的設計模式創建應用程序)。

我認爲REST最有意義,所以如果IW組件不能使用,是否有任何第三方產品可以使用,這將允許我設計「漂亮」的UI html。鑑於我不知道Java腳本,這是否也是REST的絆腳石。

謝謝,希望我已經提供了足夠的信息。

感謝

傑森

回答

1

將一個人負責輸入從外部設備檢索到網頁的數據?

如果是這樣,並且您沒有Web開發經驗,Intraweb絕對是德爾福程序員希望在不學習新技能的情況下構建Web應用程序的途徑。對於創建更漂亮UI的其他組件,我建議使用TMS Software's Intraweb Component Pack Pro

如果您不需要人手動輸入這個數據,那麼你不需要的IntraWeb的。相反,您會編寫一個客戶端應用程序,它可能會詢問您的外部設備的數據,然後將其傳輸到REST服務器。看看你用來構建REST服務器的文檔,它應該有一個關於如何構建REST客戶端的章節。

+0

是的。將會有人類需要互動。不是很多,但是來自客戶端的所有請求都將被用戶有效地實例化。例如,他們會點擊一個按鈕,說「獲取詳細信息」或類似的東西。 我已經下載了TMS包,並開始有一個外觀,但不知道如何 - 在我的重置服務器應用程序 - 我如何創建使用這些組件的HTML頁面。儘管我猜測我創建了「TMS Intraweb」表單或其他東西,但我沒有機會創建這些表單。與標準Intraweb組件相同。是對的嗎? 謝謝 – Jason 2011-03-13 22:23:38

1

你可以用delphi構建一個ISAPI模塊來完成這項工作,或者直接在你的Indy,ICS或Synapse中包含一個HTTP服務器。

ISAPI會給你自由選擇Apache或IIS,給你所有的力量如此。嵌入式HTTP服務器會給你一個很好的小應用程序,在這個應用程序中你可以控制它的工作原理。

是的,去REST,因爲它很簡單,乾淨。您所需要的只是思考和設計API(您的服務器將支持的功能)。您可以使用REST原則將API綁定到URL模式。我會這樣做。

  1. 客戶發出請求。您展示了某種形式的GUI(加載或呈現可能具有javascript的HTML頁面)
  2. 用戶做出一個操作,您調用適當的API(或者用戶直接執行)。
  3. 顯示用戶的一些結果
  4. 通過一系列API調用的只是引導用戶進程,直至結果由

您可以使用純HTML,然後根據需要添加JavaScript(jquery),也可以使用Sencha的ExtJS,這使得建立一個很好的圖形用戶界面變得更容易,結構也非常好。

我不會使用任何「所見即所得」的網絡工具。我最喜歡的編輯器寫的簡單的舊HTML仍然是我的觀點。

+0

是的。你的過程就是我想要做的。這是我努力的第一步。特別是「...某種形式的GUI ......」。我可能會混淆我的方式通過Java腳本來調用其餘的服務器API。 我想能夠嵌入或添加一個窗體或東西到m REST服務器應用程序,但是當我去新|其他我沒有得到這個應用程序類型的選項。 謝謝 – Jason 2011-03-13 22:29:12

+0

正如我所說,我更喜歡純HTML,但正如你所說,你沒有網頁設計經驗。如果你有時間,我建議你深入研究並儘量學習。如果時間是一個問題,那麼很可能intraweb將是一個很好的解決方案,即使我不喜歡它:) – Runner 2011-03-15 09:25:43

+0

順便說一下,簡單的網頁圖形用戶界面非常容易構建。對於基本的GUI設計,HTML非常容易學習。 – Runner 2011-03-15 09:26:22