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.主講

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

過了這麼多年,PHP 7快上市了

過了這些年,PHP 7快要上市了(已經到RC版)
當初寫ASP的時候,只是為了將來換公司、換專案,可能會用到JSP&PHP
所以花了一點時間瞭解
以最基礎的入門來說,HTML表單與JavaScript、(資料庫)SQL指令......幾乎是放諸四海皆準的國際標準
以前的ASP,以VBscript語法撰寫,而JSP與PHP比較類似C語法
當年轉換還有點卡卡的,現在對於不同語法的轉換,則沒什麼感覺了,似乎只是一兩天改變習慣而已。
我把手邊幾個範例,直接拿來改寫:
1. 自動化投票
2. 分頁程式
3. CRUD功能
PHP花了一個禮拜才完成
JSP只花了一天。
喔!不是PHP比較難啦,是我在架設PHP的運作環境,花了比較久的時間
我故意不用現成套件,我自己把Apahe + mySQL + PHP一個一個慢慢安裝與設定,想要知道他們是怎麼做的?
JSP當年透過 Tomcat一下子就完成了Web Server

連結資料庫的程式就更類似的。
如同我說的四大步驟,完全一模一樣。
第一,連結資料庫(連結字串)。
第二,執行SQL指令。
第三,自由發揮。
第四,釋放資源與關閉連線。

我還記得當初臨時接到一個案子
要我改寫一個 "個人行事曆",拿一個開放原始碼的作品來改,透過PHP + Access來做,搞了一兩週就OK了。
(雖然這個作品最後沒有用上,但我有分享https://www.dotblogs.com.tw/mis2000lab/archive/2009/02/19/php_calendar_basic_1.aspx
有一次有個小案子要用JSP來作,我拿我當初改好的幾個範本
微調一下,大約三天就好了。

有時我在想:
PHP or JSP為什麼不需要像 ASP.NET那樣改版(打掉重練)?
他們都可以活到今天,其中必然有些變化讓他們可以存活這麼久

維基百科:
https://zh.wikipedia.org/wiki/PHP
https://zh.wikipedia.org/wiki/JSP
https://zh.wikipedia.org/wiki/Active_Server_Pages   (Classic ASP)
 
 
我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----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

2015年12月1日 星期二

下載 VS2015 Update 1 (.NET 4.6.1)

完整官方說明,請看 https://www.visualstudio.com/zh-tw/news/vs2015-update1-vs.aspx 

2015 年 11 月 30 日
我們(微軟)很高興能在今天宣布 Visual Studio 2015 Update 1 上市的消息。 這個版本包含最新功能和功能更新。
  • Visual Studio 2015 Update 1 現在包含 .NET Framework 的最新版本 (4.6.1)。
  • .NET Framework 4.6.1 包含 .NET 4.6 的所有功能與改善,並且大幅度修正相依性、穩定性、安全性和效能。
  • Update 1 (ISO檔)大約 3.7GB

Visual Studio:
其他變更:
相關版本:

完整官方說明,請看 https://www.visualstudio.com/zh-tw/news/vs2015-update1-vs.aspx 

下載:  Visual Studio 2015 Update 1

我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----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.主講

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