2015年12月3日 星期四

不寫畫面的網頁程式設計,Web API、Web Service、WCF Service

客戶有一個系統,三不五時要連上我方,查詢資料
以前的作法是給對方一個帳號,讓他可以連上我們的DB來查詢。
所以,早期的同仁,真的給他們DB連結字串
客戶的Windows程式、網站就真的靠這麼危險的方式,連上我們公司的DB。
但怎麼想都覺得危險,而且......
如果對方SQL指令亂下,把效能搞得更爛,豈不是慘兮兮?
如果對方不小心,設定檔被偷走,看到我方DB資訊怎麼辦?
幾年前的 Internet還沒有那麼大的頻寬,所以還得種種限制,避免他們一次查詢太多數據

我接手以後,改用了Web Service (WS-*)來做,之前我有幾篇文章介紹過。
沒想到一晃眼也七八年過去了
滿有趣的,前些年,我網站上流量或是點閱率最高的就是 -- 搜尋「Web Service」這個關鍵字而連上我的網站

後來客戶導入了電話語音卡(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 救了我們一命,也延續了我們(網頁程式)的生命週期

相關文章:

我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson
......... 寫信給我,mis2000lab (at) yahoo.com.台灣 .....................................................................................
................   facebook社團   https://www.facebook.com/mis2000lab   ............................
................   Google+   https://plus.google.com/100202398389206570368/posts ..............
................  YouTube (ASP.NET) 線上教學影片  http://goo.gl/rGLocQ

[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!微軟MVP --MIS2000Lab.主講

事先錄製好的影片,並非上課時側錄!   觀看影片時,有如我「一對一」跟您面對面講課

沒有留言: