在2007年拉斯維加斯舉辦的IBM信息管理和信息點播(IOD)會議上,IBM做了一些新發布,包括實際是 Viper 2 beta版本的DB2 9.5版本,和為IBM數據服務器(Linux, Unix和Windows平台上的DB2,i5/OS上的DB2,z/OS上的DB2,Informix IDS)開發的名為IBM Data Studio的新產品。
在DB2 9.5前工具集是什麼樣的?
在IBM Data Studio正式發布前,IBM主要將精力放在客戶端的運行時程序上。比如,IBM開發了跨整個DB2家族的API 調用層次接口(CLI),Java數據庫連接(JDBC),SQL Java(SQLJ),.Net, Perl,Ruby on Rails(ROR),PHP,Python等。
從開發的角度,並沒有對圖形用戶接口(GUI)給予太多的關注。在DB2 Universal Database (DB2 UDB)版本8中,IBM引入了DB2 Developer Center,在DB2 9中演變為DB2 Developer’s Workbench,但是這個工具主要在開發者和應用數據管理者(DBA)之間建立某種關系。從開發的角度來看,一個挑戰是開發者不只是建立存儲過程,和用戶定義的函數(一般稱為routines);他們必須使用JSP和諸如J2EE的框架來搭建網站。對於Java開發者來說,我們的工具集只是幫助了他們10%的工作,他們無法使用一個IDE完成所有工作。多種工具意味著一個大的客戶端覆蓋,更不要提學習曲線和管理應用的端到端生命周期了。
我們以前的工具集主要面向應用程序DBA,提供給他們框架來建立routines,但是沒有工具來做計劃演進。對於計劃,DBA只能轉向控制中心;然而,控制中心和DB2 9 Developer Workbench是建立在完全不同集合的技術上。根據你的工作職責不同,你可能兩種工具都要使用。
另外一些用戶——操作DBA,可以使用控制中心或者命令行處理器(CLP)。然而,他們可能希望一個輕量級的架構來管理數據服務器的健康程度。這個任務需要另外一些集合的工具,比如基於Web的命令中心和健康中心。
最後,你的DB2服務器工具可能就是一系列工具的集合。
IBM Data Studio發布之後的IBM數據服務器工具集以及未來
IBM Data Studio發布是一個將DB2 工具集結成為單個可定制的工具集的一大進步。這些工具擴展了DB2的操作。它們是針對所有IBM相關數據服務器的工具。但還不止是這些。
IBM Data Studio提供了對於整個生命周期內的任何任務的透視,IBM定義為:
當你在考慮IBM軟件組(IBM SWG)職能時,你會感謝IBM提供的這些。從這種廣泛的角度來看,IBM戰略家們從數據服務器的角度提供了為如下角色所做的服務。IBM Data Studio通過增加的功能和角度來直接支持這些角色的工作。
在上文,你可以看到我想使用IBM專家使用的角色來映射程序的生命周期。比如,設計階段包含了工作職責的相關問題(如商業分析和數據庫架構)。仔細看圖,你會看到DBA的高層聚合角色被分解為普通的DBA相關的角色。
為了簡化,我將一些橘色,尤其是每天做工作的角色展示如下。工具集是基於Eclipse的,人們每天使用的IDE。注意,有一個Web組件。部署和管理這些解決方案放在基於Web的界面中(如Data Studio管理控制),因此Data Studio工具集有基於Eclipse和Web 2.0的兩種表現方式。
簡單的說,我知道的沒有其他廠商提供了像上圖這樣的解決方案。這個工具集的好處在於它能夠在設計階段幫助整個機構搜集信息,並且使用信息來盡早進入開發階段。在開發階段,機構可以搜集到更多的項目信息,並且用之於開發。隨著信息的改進,開發將會變得更加順暢。在你進入管理時,許多需要人工需求來定義的標准已經完成了,因為他們已經在整個過程中被對所有相關人員有效的工具集標識和建立了。
在管理階段前,這個框架能注意到你需要知道的應用程序生命周期的很多問題。工具集會嘗試著幫你解決其中一些。
IBM Data Studio 前景展望
讓我們假設你是一個零售商,需要提供信用卡作為支付手段之一並且遵從PCI標准。並且假設你使用IBM Rational Data Architect(IBM RDA)來建模你的物理和邏輯設計。
關於PCI:這有點超出本文的范圍了。簡單來說,主要的信用卡公司規定使用他們服務的廠商必須要遵從PCI規范。最終目標是要指導這些公司來保護信用卡持有人的信息。不遵從這個規定的廠商將會受到重罰。任何被發現有洩露持有人敏感信息的零售商將會有接受額外審查和失去提供信用卡服務的風險。
PCI規范有12個部分。其中有一條規定,如果在沒有“必須知道”的報告中提及信用卡號,必須使用X來代替前導字母,而不是直接使用數字。如圖所示。
另外一個聲明就是PIN代碼輸入時,必須以星號等代替。標准可以參見:www.pcisecuritystandards.org/.
假設你在建立一個零售數據庫。你如何指定一個IBM RDA數據模型,其中一列包含信用卡號,其他列包含PIN號?如果可以,那麼一個管理工具必須要知道這兩個域是要被PCI協議管理的,在任何商業情景中表達這兩個域它都會使用細粒度訪問控制規則來保護被訪問數據。
考慮針對這個零售商的另外一個場景。PCI標准規定了活動的用戶數據不可用於測試。這就意味著真實數據不能用。如果你用了將會被罰。這樣你的IT部門就要創建一個開發組織使用的測試數據庫。這是一個多角色使用相同工具集來解決業務問題的極佳范例。DBA必須改變真實數據以進入測試數據庫。但是如果DBA沒有做而是引入了一個范例數據庫呢?一般來說,不會發生什麼引發被罰的情況。
但是如果說有一個前圖所示的工具,能夠發現PCI相關數據被引入到一個測試數據庫,並且在數據移動過程中提示沖突時,那這種方式將會非常有用。現在假設你需要從數據庫中導出一些記錄來准備一個廣告大賽,但是並不受PCI規范制約。但是,你的單位有一些內部的規定保證用戶數據不會在未允許條件下分發給其他廠商。現在將這個場景擴展到數據模型。如果數據服務器理解A欄是可以訪問或不可訪問的域,並且使得你的家庭地址可見不可見,那麼每次查詢在做數據導出時,數據服務器將會考慮到這一欄來看是否地址會發送給應用程序。
其他一些場景,和來源於其他工業的一些例子,如健康信息保護和移植行為等等,也是可以使用相同的方式來進行。
這裡的目標就是讓設計層足夠智能來根據數據屬性判斷不同的域。這將會給你提供一個非常有效率的環境。
現在,不要讓我的所有介紹都圍繞著工具和角色標識來戲弄你。IBM仍然主要關注於客戶端運行時API,因為如果你能高效運行應用程序,無須使用任何工具。我們希望提供一個工具集來幫助你完成各種任務和角色。
下面是我對IBM推出新的IBM Data Studio的意圖的解釋:
1、為應用提供整個生命周期的綜合解決方案的目標是獨一無二和極有雄心的。我討論了幾乎所有的內容,包含早期業務過程設計和應用的邏輯數據模型,到你開始設計,編碼和測試這些應用。但是過程並沒有停在某個點上。然後你必須創建一個物理數據庫模型包含你的計劃;你必須分配存儲。你必須進行一些安全保證工作。你必須抽空為系統進行每天的管理,比如備份或滿足服務層次需求。最後,不要忘記所有需要進行的管理服務,以滿足業務上設置的調整兼容決定。
2、盡管有很多其他的工具用於應用程序的生命周期的各個部分,但是沒有一個單個程序集能覆蓋整個業務流程。事實上,我看過市場上的工具,只是部分解決方案,你需要集合它們幾個來完成整個流程。
坦白說,IBM Data Studio是一個非常有雄心的,以及具有高價值和高潛力的工具。更重要的是,它將來會超越當前支持的關系型IBM數據服務器。跨數據服務器的工具集將會解決目前企業在整合數據服務器時遇到的效率不高的問題:技能和資源將會被整合和限制於數據庫廠商的直接相關性中。我的觀點是它損害了生產率。一個跨整個生命周期的工具將會提供更好的人員配置,更好的資源配置,和競爭中無與倫比的優勢。
2007年對於IBM Data Studio意味著什麼
IBM已經聲明了IBM Data Studio的通用性——最棒的是它對所有人免費。盡管IDE的第一個版本和我已經討論的全周期覆蓋的目標還離得很遠,某些特性已經可用了。比如,Data Studio提供了一些IBM RDA裡的子集。它也有ER圖,一個簡單的數據分發查看器等等。
從開發的角度,你可以從程序員的角度來看一些問題,如創建SQL和XQuery語句,routines等等。除了上一個版本DB2 9 Developer Workbench所提供的那些,IBM Data Studio還有一些更多的增強設計來提高開發者的效率。另外還有一個新的Web服務框架,叫做IBM Data Web Services。最後,增加了DBA活動的一些新特性。從管理角度來說,它也給你提供了安全角色工作的能力。
顯然我能說的面面俱到,不過下圖給你一個總體印象。
IBM Data Studio去向何方?
在本節中,我列出IBM Data Studio的首要問題。
第一個目標,是減少這個工具集關聯的footprint,因為客戶端並不和服務器關聯,IBM Data Studio可以有自己可用性調度,比一個數據服務器更加主動。
另外,DB2或Informix IDS必須被看做IBM WebSphere應用服務器的毫無疑問的選擇。對於pureQuery的首次發布是第一步,但是希望見到其他結合點的開始。一些可能的例子包含JDBC Capture來使能pureQuery為任何Java程序服務,重要的性能監控和問題判斷幫助,支持pureQuery,Spring,iBatis等的openJPA。其他被考慮的緊密結合如對象網格。
因為IBM Data Studio目前代表了一個標准工具集以及一個為各種角色和特性提供的可插入的接口,你可以看到一些關鍵的IBM信息管理產品被集成到這個工具集中來,如DB2 Change Management Expert, DB2 Performance Expert, DB2 Warehouse Edition中的DB2 Design Studio, IBM Optimum suite,和DB2 High Performance Unload。希望見到一些針對IBM Data Studio的性能管理插件。比如,一些提供SQL語句級的IBM Data Studio性能管理細節和歷史趨勢分析。除此以外,數據服務器個人版可以提供報告數據庫資源使用情況,比如SQL語句,包或集合,應用,應用服務器,Java類名等。
最後,希望具有擴展的管理功能和“改變任何事情“的能力:查看和改變注冊值,數據庫和數據庫管理配置參數;用於死鎖和超時事件的FTA;其它DB2 Control Center中的改進IBM數據服務器運行體驗的條目。記住,這些是目標,而不是承諾。
總結
在本文裡,我嘗試著介紹IBM新推出的Data Studio。這個工具覆蓋了整個應用程序的生命周期,可以用於:
IBM Data Studio被期望簡化和加速新技能的培訓,通過一個易用的和IBM Rational軟件開發平台兼容的集成用戶接口,來提供一個“一次學習,面向所有數據服務器”的工具集。
最後,IBM Data Studio被期望通過無須編程而開發和發布數據相關的Web服務,來加速信息服務。因為它支持Info 2.0,支持Web 2.0協議和格式,它將會把你的應用帶入下一個技術潮流中。