在網路上看了好多別人的文章,發現討論Reporting Service的文章真的不多,在國內的更好,不知道是大家都不使用Reporting Service還是說用的沒那麼深,所以沒有分享相關資訊出來,我們公司的產品使用Reporting Service倒是用了好一陣子,去年SQL Server2008出來後,我們就開始survey RS2008,因為根據微軟的說法,RS2008帶來了很多的變化,值得期待,以下我大概說一下當初我們評估的部分內容:
- RS 2008系統架構面:脫離IIS
HTTP:RS脫離Internet Information Services (IIS),成為可以獨立運行的報表系統。過去RS 2005以前的版本報表依依附在IIS之下,所以當效能不彰時,管理者未必知道是IIS或者是報表出了問題。 微軟於是在RS 2008做了架構上的簡化,改以內建於SQL Server CLR的ASP.NET、Microsoft .NET Framework,與作業系統的HTTP.sys取代IIS。利用作業系統的HTTP.sys做為HTTP協定的Listener,可監視導向本機電腦上特定通訊埠之 HTTP. sys的內送要求,當 HTTP 接聽程式處理要求時,它會將該要求轉送到驗證層以確認使用者識別,要求通過驗證後,就會呼叫報表伺服器 Web 服務。架構上唯一的限制是,舊版的Reporting Services不能與新版並存,因為在網址相同的情況下,URL的優先順序以RS 2008 為優先。
- RS 2008系統架構面:驗證層改變
RS 2005以前的版本利用IIS進行資料驗證控管,RS 2008脫離IIS後則另含一個驗證層,可確認使用者識別或進行要求的應用程式。支援下列驗證類型:Windows 整合式安全性、NTLM 驗證、基本驗證、表單或自訂驗證,以及匿名存取。RS 預設使用 Windows 整合式安全性和 NTLM 驗證,但是也可以另在組態檔中指定不同的驗證類型。每個報表伺服器執行個體都只能設定成一個驗證類型。如果擁有向外延展部署組態,環境中的每個節點都必須使用相同的驗證類型。
報表伺服器驗證會在網路安全性設定和用戶端應用程式的環境下運作。能否成功使用特定的驗證類型取決於瀏覽器和網路安全性功能。例如,使用 Windows 整合式安全性時,需要使用 Internet Explorer、擁有 Kerberos 網路驗證,而且啟用模擬。此外,如果將整合式安全性用於報表資料來源連接,則必須啟用委派,才能允許遠端資料來源的後續連接。
架構上的變化其中又以採用HTTP.sys變化最大,當報表服務不再依存Windows作業系統提供的IIS服務,可獲得下列四項優點:
- 報表服務可以完全掌控資源的使用,如記憶體的控制。
- IIS設計是強化靜態與動態網頁而非大量資料與多人存取的大型報表。
- 將原本分開的兩個服務(Windows與Web),合併成Windows(報表伺服器 Web 服務、報表管理員和背景處理應用程式都會合併到單一服務中),可以簡化溝通並有效利用作業環境資源。(服務架構可參考下方的圖示)
- 簡化部署。
- 設計工具的改善
RS 2008沿襲舊版在於設計工具上仍提供Report Builder 1.0 (RB1)與SQL Server Business Intelligence Development Studio(BIDS)兩種工具。微軟在RS 2008設計工具上主要的設計的焦點放在如何讓報表工具符合企業實務的需求,以及更多元的展現資訊。因此在使用者端使用工具RB1已不敷使用者使用,因此在RS 2008則另外提供新版報表產生器Report Builder 2.0(RB2)。
RB2為使用者熟悉的Office 介面型態報表開發軟體,提供類似 Office 的直覺式報表撰寫環境,支援 RS 2008報表開發的完整功能,讓商務和進階使用者充分運用 Microsoft Office 2007 產品的使用經驗,簡易地建立報表,並可針對於報表進行客製化新增與修改,簡化建立和編輯報表與查詢的程序,在執行上能滿足使用者對於報表的需求與急迫性。唯該工具無專案概念對於各報表檔案版本控管不易。
RS 2008報表開發工具提供三種層級的設計服務,Developer、MIS、User,開發難度分別以Developer最高,User難度最低。而分別提供這三種層級的工具可略約區分為BIDS、RB 2 、RB1。以下針對這三項工具進行比較(Table1)。
這項是我們當初評估的重點項目之一,因為Crystal Report可以讓使用者自行設計畫面,但Reporting Service過去一直做不到,在市場上的競爭力相對就弱了些。
如果你沒看過RS2008的RB2.0,你一定要看看:http://community.winsupersite.com/blogs/itprotips/archive/2008/03/12/sql-server-2008-reporting-services-enhancements-report-designer-visualizations-and-tablix.aspx
- 強化資料模型結構:Tablix
在RS 2008的彈性設計上,最值得自傲的即是Tablix設計概念的引入。RS 2005提供資料表、矩陣和清單等三種設計模式,這三種模式的使用上只能夠處理對稱式型態結構的報表,RS 2008為了提升可用性,Tablix的出現便是將這三者的功能加以延伸與綜合。Tablix結合資料表(Table)與矩陣(Matrix)的優點(Fig.2、Fig.3),資料區會透過將資料表、矩陣和清單資料區域的功能結合至單一彈性的方格配置。Tablix並非設計報表中可以選擇的物件,而是在設計的過程中的一個概念。
Tablix具備以下優點:
- 同時具備固定數量與動態數量資料行與資料列
- 同一階層支援平行資料行或資料列
下方兩張圖代表將Matrix與Table資料格式匯整成Tablix格式。
- 視覺強化
RS在舊版報表視覺顯示上是較為薄弱的一項,因此在報表顯示與使用上以清單式報表為其主要表現項目,但在RS 2008已有絕然不同的視覺表現。在RS 2008的視覺表現上微軟買下Dundas公司的報表元件技術之後,RS 2008提供許多專業的圖表元件。
當然RS2008除了以上項次外,尚有較佳的記憶體分頁管理、較優的效能、更容易的鑽取設定等等....,若您在之前沒有用過Reporting Service,個人建議你可以試看看RS 2008,應該會給你一些驚喜。