iT邦幫忙

DAY 15
2

從零開始開發Web應用程式系列 第 15

Web應用程式開發-Web Service

  • 分享至 

  • xImage
  •  

Web Service依據MSDN的解釋:
System.Web.Services 命名空間由類別組成,這些類別能讓您使用 ASP.NET 和 XML Web Service 用戶端建立 XML Web Service。XML Web Service 是應用程式,使用標準通訊協定 (例如 HTTP、XML、XSD、SOAP 和 WSDL) 在有彈性的環境中提供交換訊息的能力。XML Web Service 啟用異質性環境中公司內和跨公司之模組應用程式的建置,讓它們能夠與各種範圍的實作、平台和裝置互動操作。這些應用程式的 SOAP 為主的 XML 訊息可以是完整定義 (結構化且具型別),或有彈性的定義元件 (使用任意的 XML)。這些訊息可以隨著時間發展而不中斷通訊協定,這種能力使 XML Web Service 非常健全而富有彈性,是建構未來 Web 的重要基石。

主要是將開發的系統的商業邏輯層和資料存取層抽離出來,以Web.Services 的方式提供服務,讓網站 系統 WINDOWS AP或其他不同的平台可以共通使用,當操作介面由WEB 改為WINDOWS AP時,也只需重新製作介面而已,因為商業邏輯和資料存取都放在Web.Services ,而此架構已經不是LAYER的切割,而是TIER的切割,Web.Services 是獨立的一台主機,若是Web.Services 開發好後和網站主機放在同一台機器,其實也沒什麼意義,因為別的應用程式呼叫時,還是透過這台主機,而會影響到這台主機的效能,這樣的架構下,至少要有三台機器,先不考慮LOAD BALANCE,網站主機 Web.Services 和資料庫,實際的分割為三個獨立的個體,當然這樣的前提下是客戶至少有三台機器, 若是只有一台,那就還是用先前說的展現層邏輯層 資料存取層 至少三層的架構,透過Web.Services 的架構可將系統有更大的彈性和延展擴充的可能性若是同樣的邏輯運算 分別位於某個網站 也未於某個windows ap,當要變更的時候,不但要分別去三個專案找出來,而且眾多的程式也費時耗力,若是透過Web.Services ,只需要更改一次,因為都是呼叫同一個Web.Services ,在維護上也較方便,若是又有新的系統要開發,重複的部分,直接呼叫現有的Web.Services ,也加快開發速度.

msdn上的簡單範例

using System;
using System.Web.Services;

public class Util: WebService {
[WebMethod(Description="Returns the time as stored on the Server",
EnableSession=false)]
public string Time() {
return Context.Timestamp.TimeOfDay.ToString();
}
}
標註了[WebMethod]可知這是一個Web Services的Web Method,網站實際使用時是以加入web參考的方式,將某個asmx,加入參考並呼叫所提供的function,工程師只要專心在邏輯和資料的存取效能,當加入參考時,底層的xml+http的部分,包含soap uddi wsdl全部都做掉了,增加開發的速度和減少人工撰寫的失誤,這就是用工具的長處,就像火車 飛機被發明出來之後,是讓人們去使用的,從台北到高雄,不必自己去研究出交通工具,知道車站在哪裡比較實際,知道坐到那一站比較務實,或堅持用走的,那並沒什麼意義,商業市場上,速度決定了很多事情,所以當走到了高雄,除了證明體力很好之外,一場會議早在三天前就結束了,並沒有真正的效用和意義.


上一篇
Web應用程式開發-設計模式
下一篇
Web應用程式開發-WCF
系列文
從零開始開發Web應用程式30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言