標籤:
客戶有一個系統,經常要連上我方,查詢資料
以前的作法是給對方一個帳號,讓他可以連上我們的DB來查詢。
所以,早期的同仁,真的給他們DB連結字串
客戶的Windows程式、網站就真的靠這麼危險的方式,連上我們公司的DB。
但怎麼想都覺得危險,而且......
如果對方SQL指令亂下,把效能搞得更爛,豈不是慘兮兮?
如果對方不小心,設定檔被偷走,看到我方DB Connection String怎麼辦?
幾年前的 Internet還沒有那麼大的頻寬,所以還得種種限制,避免他們一次查詢太多資料
我接手以後,改用了Web Service (WS-*)來做,之前我有幾篇文章介紹過。
沒想到一晃眼也七八年過去了
滿有趣的,前些年,我網站上流量或是點閱率最高的就是 -- 搜尋「Web Service」這個關鍵詞而連上我的網站
Web Service入門 #1,透過VS 2005/2008/2010 撰寫一個Web Service
https://www.dotblogs.com.tw/mis2000lab/archive/2008/09/26/webservice_1.aspx
後來客戶匯入了電話語音卡(CTI)
就是我們打電話給銀行、信用卡公司,電話裡面的語音系統都會請您這樣操作:
按下一,幫您查詢賬單金額
按下二,幫您做XYZ等等
按下九,幫您轉接專人。
你把我打一頓,我也不會、不懂CTI電話語音卡、電話總機啊
那我怎麼跟廠商合作?資料怎麼交換?
廠商問我:會不會Socket,可以彼此串聯?
我不會。
我問他:您的CTI可以連上網路嗎?可以收髮網頁資訊嗎?
廠商說可以。
於是,透過Web Service一路做到今天。
去年,這套系統改成 Mobile APP(手機與平版)的介面。
我呢?我要怎麼配合修改?
沒有,我完全沒事做,發獃,等廠商寫好後,跟我測試而已
然後就上線了
然後呢,莫名其妙的,變成這部門第一套走入行動運算的功能
老闆很開心地拿去跟別人炫耀
(我什麼事都沒做,結果呢?大家都很開心,包含:我、合作廠商、老闆、客戶)
前些天,一位大學的老師跟我聊天,說現在流行前端技術,大家都在做手機APP
他擔心:有了畫面,那資料誰來喂?誰負責提供資料給這些APP呢?
(意思是說:每個人都在搞手機APP、手機遊戲。一窩蜂,好像沒人想做後端、資料庫程式了)
我跟他說,那很好啊。都沒人做,就給我做吧。
反正我對於前端技術沒興趣,我就專心挖資料、傳遞資料,提供他們(各種前端技術)資料吧
他們(各種前端技術)負責 "畫面"展示
我負責 "資料存取"
這樣很棒,大家都有工作。
而且不像以前,畫面做得不好看、配色、UI......對方GGYY了老半天,但那不是我的專長,我怎樣都滿足不了對方的審美觀
終於跟討人厭的「畫面」「UI」脫離了
我反倒鬆了一口氣
這代表我不用接 End User的抱怨電話了,以後他們來電抱怨,頂多就是我給的資料不對
(雖然資料有錯,是很嚴重的事,但至少我熟悉這一塊,比較好抓出問題)
User再也不會抱怨 "畫面"的問題、字型大小、UI不順或是不好看
(前端畫面的美醜,我比較無能為力)
以前寫 ActionScript程式產生 Flash動畫與AIR時,覺得很奇怪,
怎麼他們的程式沒有連結資料庫的部分呢?
後來才發覺,他們透過Web Service來處理,讓「畫面」歸「畫面」,「資料來源」歸「資料來源」
其實區分得很清楚。
以前都說我們是寫 "網頁" 的
以後,我可以說我們是提供「資料」的、提供「服務」的
Web Service / WCF Service / WebAPI 救了我們一命,也延續了我們(網頁程式)的生命週期
相關文章:
WCF 新手入門 #2 -- 撰寫第一個 WCF程式
https://www.dotblogs.com.tw/mis2000lab/archive/2010/09/16/wcf_02_diy.aspx
[入門範例] ASP.NET Web Service (asmx) 與 jQuery AJAX
https://www.dotblogs.com.tw/mis2000lab/archive/2015/05/19/jquery_ajax_web_service.aspx
WEB SERVICES開發實戰:使用 ASP.NET WEB API 2
http://blog.kkbruce.net/2014/01/web-service-develope-use-aspnet-web-api-2.html
不寫畫面的網頁程式設計,Web API、Web Service、WCF Service