文章發表

目前日期文章:200505 (4)

瀏覽方式: 標題列表 簡短摘要

建置 SQL Server 2005 Web Services

 

 

SQL Server 2005 (YUKON) 預計在 2005年六月份上市,目前的版本為 Beta 2,若想先睹為快,您必須是MSDN Subscriptions的付費訂閱者,才能下載測試版的軟體 ( Library 訂閱層級除外)。若確定擁有訂閱者的權限,那你就可以到 http://msdn.microsoft.com/subscriptions/ 登入後下載 YUKON beta 2 版本。

 

由於 SQL Server 2005 有推出免付費的版本,SQL Server 2005 Express,目前的版本也是 Beta 2,但不支持本文的主題:Web Services,所以如果您要參考本文做練習,請不要下載這個版本。

 

另外,SQL Server 2005 (YUKON) 已經將 Web Services 的建置功能獨立出來,不需要另外安裝 IIS Web Server,也不再以 SQLXML ISAPI 來建置,改以 HTTP.SYS建立 Web Services,由於 HTTP.SYS Windows 2003 Server 才提供,所以如果要達成在 SQL Server 2005 (YUKON) 直接將資料操作轉成 Web Services,必須將SQL Server 2005 (YUKON) 安裝在 Windows 2003 Server 上。

假設一切安裝就緒,開始執行 SQL Server 2005 (YUKON) 中的SQL Server Management Studio,輸入帳號和密碼連線選取的 SQL Server

 

Zabo 發表在 痞客邦 PIXNET 留言(0) 人氣()

ASP.NET 呼叫Web Services

 

接著我們看如何在 ASP.NET 中去使用 SQLXML 所產生出來的 Web Services,主要分為三個步驟:

 

Step1. 加入 Web 參考:在 Visual Studio.NET 方案總管中加入 Web 參考,接著輸入 WSDL 網址,就是剛才 SQLXML 產生出來的 WSDL 位址,並設定 Web 參考名稱。

 加入 Web 參考

15

 

Step2. 產生 Proxy Class 的物件實體

 

Zabo 發表在 痞客邦 PIXNET 留言(1) 人氣()

ASP 呼叫Web Services

(XMLObjects.asp)

<%

'設定 Web Service WSDL 網址 

Const WSDL_URL = "http://localhost/NorthWind/sqlxml?wsdl"

'設定 Web Service 名稱 

Const WB_NAME = "sqlAsXml"

dim soapClient, NodeList, ItemLength

'建立 soapClient 物件 

Set soapClient = Server.CreateObject("MSSOAP.soapClient")

Zabo 發表在 痞客邦 PIXNET 留言(0) 人氣()

發表於Windows & .NET MAGAZINE 國際中文版雜誌 2005 年五月號  作者:葉建廷

引言:

XML 豐富的資料表達方式,儼然成為後 PC 時代最主要的溝通語言,各大 DBMS廠商設計新一代資料庫系統時,無不考慮將對XML 支援程度列為重大的課題。Web Services 則是以 SOAP 協定實現 XML 資訊交換的最佳方式,本文探討主題即是如何以 Web Services實作多層式架構存取 SQL Server的資料。 

觀察中大型企業對於Web應用程式設計上,有效率的資源應用及資訊的安全與否是企業非常重視的事情!一般不可能使用單純的 Client -Server架構,如圖 1,兩層式架構 (Two-Tier) 雖然能滿足客戶瀏覽的基本需求,但是卻會面對許多麻煩的問題:

  1. 執行效率容易遇到瓶頸:Web Server 除了網頁資訊的傳遞,還必須負擔所有的伺服端商業規則的執行,若伺服器的資源耗盡時,擴充性低。
  2. 程式重複使用性低:若多人一起開發Web應用程式,相同的邏輯的程式因為沒有元件化,無法達到重複使用的益處。
  3. 資料庫危險性升高: Web Server 直接與資料庫連線,若連線方式撰寫於網頁中,容易導致資料庫的帳號及密碼外洩。就算是使用 windows 帳號的認證的連線方式,風險仍高,因為萬一 Web Server 被入侵了,資料庫相對的也等於承認駭客的連線,也就完全沒有任何的防備了。 

    兩層式架構 

1

至於多層式架構 (N-Tier),如圖 2,則能解決以上所面臨到的問題:

  1. 執行效率可提升:因為將商業邏輯移交由元件伺服器負責,可藉由硬體的擴充,達到效能的提升,甚至是負載平衡。
  2. 程式重複使用性高:相同的邏輯的程式都已元件化,程式可直接呼叫使用元件,減少程式開發的負擔。
  3. 資料庫危險性降低:不直接與資料庫相連接,存取資料庫一定要透過元件,以參數傳遞給負責的相關元件處理,而不能以SQL 語法直接要求資料庫動作,減低資料庫控管的風險。

多層式架構

2

多層式架構並不是新的課題,只是多年的工作經驗觀察,會認真思考以 Microsoft DNA 來規劃的人還是不多。可能因為習慣於方便的開發模式及開發時程的要求,導致企業包袱越來越重,變更架構日益困難。另一方面,開發人員會選擇的程式語言肯定是多樣化的,COM技術架構雖好但是在跨平台呼叫元件上卻困難重重。雖有遠端程序呼叫 ( RPC ) 可使用,不過學習門坎較高,加上各語言有不同的元件,彼此互通性低。

Zabo 發表在 痞客邦 PIXNET 留言(1) 人氣()

找更多相關文章與討論