全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:11531
推到 Plurk!
推到 Facebook!

使用 Delphi7 開發 Web Service 程式, 會有問題嗎 ?

答題得分者是:darnell
boson
中階會員


發表:74
回覆:155
積分:85
註冊:2004-07-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-10-21 21:57:10 IP:220.140.xxx.xxx 訂閱
最近接到一個案子, 需要做到類似 Web 程式的功能, 讓分散在各地的 Client 端電腦能透過 Internet 來存取資料庫伺服器裏面的資料,
但 Client 端又必須要有 Win32 程式一般的使用者介面, 因此不能以網頁程式撰寫

我打算用 Delphi7 來寫, 資料則考慮透過 Web Service 的方式在 Server 與 Client 之間傳遞,
但我不知道 Delphi7 的 Web Service 方案, 究竟穩不穩定 ? Bug 多不多 ? 效能又如何 ?
想請有實務經驗的網友提供一下意見

darnell
版主


發表:25
回覆:103
積分:145
註冊:2003-03-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-10-21 23:08:09 IP:59.115.xxx.xxx 訂閱
基本上用Delphi7來開發此種程式沒太大問題,上百連線數應該可以負載的了
只是內建的那些方法很陽春,沒有辦法負載太多的連線數,所以必須自行開發
連線段的程式,也可以結合com 模型來增加穩定度(不用亦可),論壇中應該有不少文章
提到相關的開發方法,可以搜尋看看
boson
中階會員


發表:74
回覆:155
積分:85
註冊:2004-07-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-10-22 00:42:46 IP:218.170.xxx.xxx 訂閱
我手上有一本李維寫的『Delphi6 / Kylix2 SOAP Web Service 程式設計篇』
依照書中的解說來開發 Web Service 程式並不困難

但書中李維一再說明, Web Service (在當時)仍是開發中的技術, Delphi6 對其支援也有限,
基本上只能呼叫 Delphi 開發的 Web Service, 幾乎無法呼叫其他工具開發的 Web Service

不過反正我是 Server 與 Client 端都是使用 D7 來開發, 因此並不在意是否能呼叫其他工具開發的 Web Service,
我所擔心的是在穩定度與效能方面, 我怕萬一程式完成之後, 正式上線時, 才發現 D7 在這方面有難以處理的 Bug, 或穩定性不佳, 或效能不佳, 那就欲哭無淚了,
因此希望有實際用 D7 開發 Web Service 程式的朋友, 針對穩定性與效能以及 Bug 方面, 提供一點經驗說明, 謝謝 !
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-10-22 17:59:56 IP:61.66.xxx.xxx 訂閱
事實上並不穩定~
SERVER是12萬的主機(HP)規格不清楚>2年前購買(不是我買)
使用三層是架構AP server
超過30個人數同時上線,只有一個字"慢"
即使資料量不到100萬筆,公司2M專線一樣掛點(事實上跑都在1.5M左右)
所以是"電腦效能"問題

建議用JAVA來寫吧!!
跑TOMCAT或者IIS都OK至少不會30個掛點



===================引 用 boson 文 章===================
我手上有一本李維寫的『Delphi6 / Kylix2 SOAP Web Service 程式設計篇』
依照書中的解說來開發 Web Service 程式並不困難

但書中李維一再說明, Web Service (在當時)仍是開發中的技術, Delphi6 對其支援也有限,
基本上只能呼叫 Delphi 開發的 Web Service, 幾乎無法呼叫其他工具開發的 Web Service

不過反正我是 Server 與 Client 端都是使用 D7 來開發, 因此並不在意是否能呼叫其他工具開發的 Web Service,
我所擔心的是在穩定度與效能方面, 我怕萬一程式完成之後, 正式上線時, 才發現 D7 在這方面有難以處理的 Bug, 或穩定性不佳, 或效能不佳, 那就欲哭無淚了,
因此希望有實際用 D7 開發 Web Service 程式的朋友, 針對穩定性與效能以及 Bug 方面, 提供一點經驗說明, 謝謝 !
------
======================
昏睡~
不昏睡~
不由昏睡~
boson
中階會員


發表:74
回覆:155
積分:85
註冊:2004-07-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-10-22 23:05:42 IP:220.134.xxx.xxx 訂閱
ko 網友你說的三層式架構 AP Server 是指什麼 ? 是使用 MIDAS 技術寫的 AP Server 嗎 ?

hotswin
中階會員


發表:72
回覆:92
積分:52
註冊:2003-11-06

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-10-30 14:52:18 IP:220.134.xxx.xxx 訂閱
我也建議用JAVA來寫
最近我在學Axis2 MyEclipse來寫webservice
感覺真的超簡單,兩三下就可以上載 當services

之前用Delphi來寫,實在有夠複雜
------
xinjier禮品贈品
Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-10-30 15:49:05 IP:220.128.xxx.xxx 未訂閱
你該不會只用了 WEB SERVICES 而已吧, 你難道沒有再用分散式模型再加點東西嗎 ? 如 COM

===================引 用 ko 文 章===================
事實上並不穩定~
SERVER是12萬的主機(HP)規格不清楚>2年前購買(不是我買)
使用三層是架構AP server
超過30個人數同時上線,只有一個字"慢"
即使資料量不到100萬筆,公司2M專線一樣掛點(事實上跑都在1.5M左右)
所以是"電腦效能"問題

建議用JAVA來寫吧!!
跑TOMCAT或者IIS都OK至少不會30個掛點



===================引 用 boson 文 章===================
我手上有一本李維寫的『Delphi6 / Kylix2 SOAP Web Service 程式設計篇』
依照書中的解說來開發 Web Service 程式並不困難

但書中李維一再說明, Web Service (在當時)仍是開發中的技術, Delphi6 對其支援也有限,
基本上只能呼叫 Delphi 開發的 Web Service, 幾乎無法呼叫其他工具開發的 Web Service

不過反正我是 Server 與 Client 端都是使用 D7 來開發, 因此並不在意是否能呼叫其他工具開發的 Web Service,
我所擔心的是在穩定度與效能方面, 我怕萬一程式完成之後, 正式上線時, 才發現 D7 在這方面有難以處理的 Bug, 或穩定性不佳, 或效能不佳, 那就欲哭無淚了,
因此希望有實際用 D7 開發 Web Service 程式的朋友, 針對穩定性與效能以及 Bug 方面, 提供一點經驗說明, 謝謝 !
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
boson
中階會員


發表:74
回覆:155
積分:85
註冊:2004-07-31

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-10-30 16:34:32 IP:220.140.xxx.xxx 訂閱
正反意見都有, 我想是因為大家運作的環境不同, 所以會有不同的感受

在我的 case 裏, 由於 WebService 有需要進行大量且高速的運算, 因此比較適合使用 Delphi 來開發 ISAPI 型態的 WebService,
但坦白說, 比起 Visual Studio , 用 Delphi 開發 Web 方面的應用程式, 實在不是很方便,
我在考慮要把一部份不需要高速運算的 WebService , 採用 Visual Studio 與 C# 來寫

至於網友建議的 Java , 不在我的選項之內, 因為 ...............我不會 Java 啦
不過還是謝謝了

boson
中階會員


發表:74
回覆:155
積分:85
註冊:2004-07-31

發送簡訊給我
#9 引用回覆 回覆 發表時間:2008-10-31 02:25:59 IP:218.170.xxx.xxx 訂閱
這兩天摸索了一下, 對於 Delphi7 開發 CGI 或 ISAPI 型式的 WebService 已經有了初步的瞭解,
寫了幾支測試用的小小程式, 在 Windows Server 2003 / IIS6 底下, 似乎運作得蠻順利的

後來我想要移植到 Vista / IIS7 底下, 卻發生了問題,
ISAPI 的程式可以正常運作, 但 CGI 的程式卻發生錯誤, 看起來是 D7 編譯出來的 CGI 執行檔, 跟 IIS7 有不相容的情形,
搜尋網路, 發現有許多人都發生了相同的情況, 原因指向 D7 的 CGIApp.pas 有與 IIS7 不相容的地方

我再用 Delphi 2009 測試, 發現 Delphi 2009 並沒有這個問題, 看來可能要考慮改用 Delphi 2009 了

-----------------------------------------------

我將 Delphi 2009 的 CGIApp.pas 裏面的 procedure TCGIApplication.Run 程式內容,
用來取代 D7 裏頭的 CGIApp.pas 的程式, 問題就消失了,
這樣 D7 還是可以繼續撐一陣子
編輯記錄
boson 重新編輯於 2008-10-31 02:59:09, 註解 無‧
boson 重新編輯於 2008-10-31 03:14:58, 註解 無‧
boson
中階會員


發表:74
回覆:155
積分:85
註冊:2004-07-31

發送簡訊給我
#10 引用回覆 回覆 發表時間:2008-10-31 23:36:43 IP:220.134.xxx.xxx 訂閱
順便提一下這兩天遇到的經驗, Vista 底下的 IIS7, 會和 Skype 衝突, 因為 Skype 也佔用 tcp port 80,
所以如果 Skype 是隨開機啟動的, 將造成開機後無法啟動 IIS7
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#11 引用回覆 回覆 發表時間:2008-11-02 00:16:10 IP:121.15.xxx.xxx 訂閱
用 D7 开发 WebServices 应该是没什么问题的。我甚至用 D7 做了基于 Indy Web Server 的 WebServices,自己写的程式直接就带 WebServices 不需要另外的 Web Server 比如 IIS 的支持,也跑得很好。

当然,如果想要运行效率高,要考虑使用 ISAPI,使用 ISAPI,则要求写程式的人要小心,不要有 Memory leak 之类的 bug 在代码里面。

如果要支持的客户端多,就要有 Database 连接 Pool ,Object Pool 等。这些都可以自己写的,也不难。

D7 写 WebService 还是蛮简单的。
hotswin
中階會員


發表:72
回覆:92
積分:52
註冊:2003-11-06

發送簡訊給我
#12 引用回覆 回覆 發表時間:2008-11-02 04:02:23 IP:220.134.xxx.xxx 訂閱
如果考慮Delphi升級gearcode使用Apache server的支持,可能要放棄嘍,
http://delphi.ktop.com.tw/board.php?cid=169&fid=1369&tid=91231
這是他們講的.

另一方面,印象中,Delphi.Ktop之前的查詢功能似乎使用webservice
(請幫我赳正一下)
可以介紹一下它的效能嗎?

===================引 用 pcplayer99 文 章===================
用 D7 开发 WebServices 应该是没什么问题的。我甚至用 D7 做了基于 Indy Web Server 的 WebServices,自己写的程式直接就带 WebServices 不需要另外的 Web Server 比如 IIS 的支持,也跑得很好。

当然,如果想要运行效率高,要考虑使用 ISAPI,使用 ISAPI,则要求写程式的人要小心,不要有 Memory leak 之类的 bug 在代码里面。

如果要支持的客户端多,就要有 Database 连接 Pool ,Object Pool 等。这些都可以自己写的,也不难。

D7 写 WebService 还是蛮简单的。
------
xinjier禮品贈品
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#13 引用回覆 回覆 發表時間:2008-11-04 15:14:00 IP:61.66.xxx.xxx 訂閱
sorry~最近又忙了一陣子沒時間回來看
關於架構方面的確是只有類似WEB SERVICES
實際上他是中介的AP程式但是是由SERVIVE來呼叫
所以效能是差了點至於他的版本是D7寫的
我沒用過D2008以後的版本~我已經老摳摳了!!!!!(哈一口茶
所以我給的意見是D7的版本~請見諒

===================引 用 Jasonwong 文 章===================
你該不會只用了 WEB SERVICES 而已吧, 你難道沒有再用分散式模型再加點東西嗎 ? 如 COM
------
======================
昏睡~
不昏睡~
不由昏睡~
junlin
初階會員


發表:66
回覆:94
積分:42
註冊:2002-03-13

發送簡訊給我
#14 引用回覆 回覆 發表時間:2008-11-07 16:49:30 IP:220.130.xxx.xxx 訂閱
在Delphi2009的發表會中, 李維不是有小小Demo了一下,
好像是TDSServer, 有點忘了....
http://www.delphifans.com/infoview/Article_4623.html

Server端好像只要簡單的拉一拉, 就可以用JSON的格式傳了, 不用像以前寫MIDAS那樣複雜.
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#15 引用回覆 回覆 發表時間:2009-07-25 00:46:37 IP:116.24.xxx.xxx 訂閱
我没用过 D2009,看李维那个 JSON 的例子,D2009 的服务器端是采用的 INDY 10 作为通讯架构,因此不需要额外的 WEB SERVER。只是不知道 INDY 10 TCP SERVER 是否稳定,以及效率如何,能否应付大数量的连接和访问。

如果采用 WEB SERVICES,则通讯层是 IIS 负责,只要你的程式本身没问题,剩下的稳定性和效率就由 IIS 负责了。

如果涉及到 DATA BASE 的存取,那么最好做成 COM ,让 WEB SERVICES 去调用 COM 来获得来自 DATABASE 的 DATA,这样可以利用 COM 的 POOL 等好处,效率会有提升的。不过似乎现在提倡用 DOT NET 了,不知道 DOT NET 架构底下代替 COM 的东西是什么。

===================引 用 junlin 文 章===================
在Delphi2009的發表會中, 李維不是有小小Demo了一下,
好像是TDSServer, 有點忘了....
http://www.delphifans.com/infoview/Article_4623.html

Server端好像只要簡單的拉一拉, 就可以用JSON的格式傳了, 不用像以前寫MIDAS那樣複雜.
wangyunyong
一般會員


發表:1
回覆:9
積分:12
註冊:2007-02-16

發送簡訊給我
#16 引用回覆 回覆 發表時間:2009-07-29 08:51:41 IP:218.90.xxx.xxx 未訂閱
我想问一下,Delphi开发出的Web Service程序能不能被。NET和JAVA等其它语言正确调用,因为我到现在为止只是见到.NET的web service是可以被DELPHI调用的,不知道反过来怎么样。
现在如果做一个大型系统的话很情况下都是要跨语言来实现的。
系統時間:2024-04-23 20:17:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!