網路城邦
上一篇 回創作列表 下一篇   字體:
逐字同步的網頁資料,炫啊!
2009/07/27 20:54:37瀏覽2100|回應1|推薦7

此篇比較屬於電腦技術專業話題,沒有興趣者可以提前跳過。

學生暑假打工,當老師的我也不甘寂寞,接連替兩家診所寫程式,算是我的暑期打工。當然帳面上的冠冕堂皇的理由是為教學作準備,也對啦!我這幾年的教學主要課程之一就是網路資料庫程式(Web程式),沒辦法到大公司當程式師,就接些小案子,當當個體戶,體驗一下真實的資訊服務市場。但是說穿了只是自己覺得很好玩而已,哈哈!

其中一個案子其實是去年就開始作的,是為一個非常繁忙的復健科診所寫預約診療時間系統,今年他們業務量已經大增,本來只是一個櫃台操作的網路預約系統變成三個櫃台同時接受預約,這下子就必須面對一個網路程式非常尷尬的問題→資料即時同步。簡單說,甲櫃台接受了某時段預約,理論上應該立即讓乙櫃檯及丙櫃檯知道,不然就可能重複預約,資料互相衝突。

但是網頁資料的更新時機通常不是由伺服器主動控制的,伺服器即使知道資料改變了,但應該如何『主動』告知其他客戶?有點困難,伺服器主動推播的技術不是沒有,但是究竟不如一般桌上型程式(如MSN)那麼順暢,難免會中斷使用者的動作。在這個案例中,各個櫃檯常常都在接受預約輸入打字,伺服器一更新網頁,可能打到一半的名字就會被網頁更新清除,就必須重來了!

這個問題算是一個很難的技術挑戰(至少對我來說啦),就是要精確的使用AJAX的技術,讓所有櫃檯資料同步立即更新,同時間各櫃檯自己的打字輸入又不能中斷。這個問題我想了約半年,最近終於覺得有可能做到,診所老闆也積極鼓勵,說願意再出點錢(很少的啦)要我嘗試做出來,算是改版。

結果我真的做到了!測試網站網址是http://ycc.dwu.edu.tw/hospital/,當然這不是該診所實際運作的網站,即使有帳密進去亂改資料也不會動到真實業務資料。不太方便的是目前不能公開帳密給各位看官玩,怕資料太混亂。我目前會拿這個網站當作論文發表時與教學中的示範之用,兩台電腦同時登入此系統時就可以看出,其中一台電腦輸入名字時,另一台如果切到同一頁會『逐字』的看到別人的資料輸入!夠同步了吧?同時間自己同步打字也不會受影響,兩個人同時在一個網頁的不同欄位填資料,還可以逐字互相看到,應該算是網頁程式的『奇觀』了吧?

我自己是覺得蠻得意的,因為做到了這樣的地步,以後像是演唱會、電影院或職棒比賽,甚至火車票等等需要多個窗口售票的系統就可以用Web架構作了!只要做一個網站,不用在多台電腦都安裝專用桌上型程式,成本降低很多,設計難度也低很多。以我的了解目前這類系統還是以非網頁的程式製作為主流,主要就是資料同步在網頁上很不容易做好的緣故。所以也將心得投稿TANET2009研討會了!

當然我是個窮人,我使用的技術與軟體都是免費的,如Visual Web Developer 2008 Express,沒有複雜的外掛程式技術,就是ASP.NET 3.5預設的AJAX工具機制,加上一些自製的JavaScript程式而已。不怕各位知道,我是致遠管理學院數位資訊系的老師,本校學生的錄取分數或許不如台清交成,但是『不保證』老師的研究能力低於上述各校!

( 知識學習科學百科 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=yccsonar&aid=3172412

 回應文章

kalman
等級:7
留言加入好友
有同感~
2009/07/27 22:43

敝碩職班同學大論文前三章通過前要先過2關

1外審期刊或研討會論文審查必發表通過

2跟指導教授的研究通常是國科會計畫

全職碩士班的研究生要畢業就更操了

而通常得掛國立大學教授的名字

只能說您太晚出來教書

國立及私大前段卡死

筆者22y才開始讀書

已輸人一大截

騙騙小孩

哈^_^

鄉下老師(yccsonar) 於 2009-07-28 05:35 回覆:

職位是別人給的,自我的評價由自己定義,

不必自我設限,能作的就作!