av婷婷久久网,91视频这里只有精品,91午夜福利一区二区,啊啊啊一区二区久久久,啪啪亚洲视频,www.插插,亚洲婷婷精品二区,开心五月激情射,久青草在在线

你好,歡迎您來到福建信息主管(CIO)網(wǎng)! 設(shè)為首頁|加入收藏|會員中心
您現(xiàn)在的位置:>> 新聞資訊 >>
在SOA中批處理的最佳做法:轉(zhuǎn)變狀況
作者::清茶 來源:IT專家網(wǎng)CIOAge 發(fā)布時間:2008年10月23日 點擊數(shù):

大多數(shù)企業(yè)IT運營主要依賴批處理操作。這種依賴在你升級到SOA的時候也不會消失,盡管SOA僅意味著向許多人提供在線交易處理。IBM軟件實驗室服務(wù)部門主管IT設(shè)計師Sridhar Sudarsan遇到過這些問題。他曾指導(dǎo)過一些全球客戶的企業(yè)架構(gòu)解決方案。這些客戶包括在金融、公共部門和汽車行業(yè)的一些大企業(yè)。

  對于Sudarsan的客戶來說,在這些客戶轉(zhuǎn)移到SOA的同時,批處理問題仍是一個大問號。

  Sudarsan在J2EE平臺上與其他人共同創(chuàng)建了IBM的批處理編程模型,在批處理現(xiàn)代化工作方面花了許多時間。他還演示了諸如“在SOA中的批處理最佳做法:轉(zhuǎn)變狀況”等主題。


  批處理和實時處理

  在批處理能夠一夜之間簡單地運行的時候,這個架構(gòu)是簡單的。它由工作申請、調(diào)度(使用一個調(diào)度程序和一個分配程序)和執(zhí)行等組成。你有大量的數(shù)據(jù)流,使用某種類型的檢查點機制反復(fù)進行處理。

  現(xiàn)代批處理必須要發(fā)生,同時每一件都將或多或少地發(fā)生。因此,你必須要處理批處理窗口縮小的問題以及伴隨的需要調(diào)度和優(yōu)化IT資源的問題。你必須要把批處理集成到現(xiàn)代設(shè)計方式中,在Java/多平臺上處理,把一些處理轉(zhuǎn)移到Unix平臺以降低成本計算。

  對于某些用戶來說,把批處理集成到現(xiàn)代設(shè)計方法的邏輯結(jié)論意味著所有的處理都將成為可處理的。

  Sudarsan說,如果我遇到一個SUBMIT,我要立即得到答案。但是,他堅持認為這種事情不會很快實現(xiàn)。他解釋說,你不能同時處理許多請求。這是你要嚴格的調(diào)度的原因。

  Sudarsan并不認為在線交易處理(OLTP)將取代批處理。然而,他發(fā)現(xiàn)選擇競爭優(yōu)勢的企業(yè)(或者僅僅為了生存的企業(yè))需要把批處理與實時/在線處理結(jié)合起來。

  在把批處理與實時處理集成在一起之后,企業(yè)通過維護較少的系統(tǒng)和通過進行技能的整合實現(xiàn)了成本優(yōu)勢。使用批處理和OLTP系統(tǒng)的人員可以使用一種開放的和靈活的架構(gòu)。處理系統(tǒng)能夠分布到各個地方。因此,批處理會更經(jīng)常地、少量地、在更多的地方與OLTP一起使用。

  Java程序員不知道批處理

  Sudarsan承認,在談到有關(guān)企業(yè)批處理系統(tǒng)的時候有一個令人擔心的因素。他承認,人們確實害怕接觸老式的系統(tǒng)。15或者20年前編寫這些系統(tǒng)代碼的人正在退休。新的程序員沒有這些方面的技能,包括批處理以及如何把批處理與當前的系統(tǒng)和商業(yè)環(huán)境集成在一起的技能。

  他解釋說,客戶沒有財力為Java應(yīng)用程序和批處理工作維護兩個代碼庫。這兩個代碼庫需要使用相同的邏輯,但是卻不能使用。

  每周7天每天24小時的處理需求意味著使用老方法的批處理應(yīng)用程序必須要更換。此外,你不能讓一切東西都是OLTP的,因為當前的硬件和軟件不允許這樣做。Sudarsan知道這些限制,因為他曾設(shè)法創(chuàng)建一個實時解決方案。

  Sudarsan說,我也是這些情況的受害者。你在這種情況下可以提出一個雄心勃勃的架構(gòu)。我們設(shè)法讓整個事情都是實時的。但是,當我們經(jīng)過測試并且升級到生產(chǎn)階段時,一切都崩潰了。然而,他發(fā)現(xiàn)批處理與OLTP的集成是有用和必要的。

  SOA實現(xiàn)了批處理/OLTP集成

  Sudarsan總結(jié)了在一個現(xiàn)代化的努力中實現(xiàn)集成對SOA的需求。市場研究公司Gartner在研究報告中引述他的話說:

  “...在線處理中使用的商業(yè)功能與在批處理中使用的商業(yè)功能是相同的。因此,機構(gòu)應(yīng)該考慮自己的IT現(xiàn)代化戰(zhàn)略并且考慮把SOA當作一個標準化的應(yīng)用程序集成機制。”

  Sudarsan現(xiàn)在使用服務(wù)組合以便在SOA環(huán)境中使用批處理。

  他說,一個批處理環(huán)境可作為一個輕型的包裝物用于現(xiàn)有的OLTP應(yīng)用程序基礎(chǔ)設(shè)施。因此,你的處理編排使批處理成為一個商務(wù)處理步驟--另一種老式的集成方法。你不再需要從早上8點至晚上8點做OLTP工作并且從晚上8點至早上8點進行批處理工作。相反,你每天24小時都可以做批處理工作。

  在概念上,你要把基于SOA的批處理工作量管理分為三個部分:批處理客戶、批處理調(diào)度程序和工作量資源管理器。這個客戶需要規(guī)劃、調(diào)度、執(zhí)行、監(jiān)視和管理批處理工作的服務(wù)。批處理調(diào)度程序進行計劃、優(yōu)化、啟動和編排無人管理的執(zhí)行工作或者工作網(wǎng)絡(luò)。這個批處理調(diào)度程序提供堅實和管理批處理工作的服務(wù)。然后,工作量資源管理在全部可用的資源中分配應(yīng)用程序工作量以滿足工作政策和服務(wù)水平協(xié)議的要求。

  這種批處理執(zhí)行環(huán)境可以是計算機集群、計算機網(wǎng)格和分布式環(huán)境,或者好的老式大型計算機。

  共同的缺陷

  Sudarsan說,那些努力要把批處理引進到21世紀的IT組織經(jīng)常犯同樣的錯誤。一般來說,這樣的組織研制支持基礎(chǔ)設(shè)施和安全系統(tǒng)的復(fù)雜的應(yīng)用程序。他們過度使用第三方的庫,向這個問題扔許多錢。

  Java應(yīng)用程序開發(fā)人員對這個過程控制得太多了,盡管他們一般都缺少有關(guān)批處理系統(tǒng)的知識。同時,這個平臺的技術(shù)支持人員缺少能夠證明自己的技能。

  在編碼前詳細說明商務(wù)邏輯

  Sudarsan在把批處理升級到SOA環(huán)境的時候采取了一種吸取教訓(xùn)的方法。他的最佳做法列表一開始就是避免許多IT部門采取的“預(yù)備!開火!瞄準!”的做法。

  如果你僅做一項批量應(yīng)用程序的“代碼翻譯”,例如要不費勁地從COBOL翻譯到Java,這種事情可能是代價昂貴和不可行的。此外,你將制作出不可讀的、不能維護的和不充分的代碼。如果你要了解批處理工作的不依賴平臺的模式是什么樣的,你必須要了解商業(yè)邏輯和商業(yè)流程。

  Sudarsan主張使用手工處理和工具創(chuàng)建這些商務(wù)邏輯/流程制品。他說。這樣做是要保證捕捉當前的實施和滿足未來的需求。自動的設(shè)計流程不會做這個事情。

  速度勝過攜帶性

  Sudarsan接下來說,為了提高效率,你需要把處理功能盡可能地安排在這個系統(tǒng)附近。這對于Java程序員來說是很難接受的,因為這些程序員接受的教育就是便攜性超過一切。

  但是,即使Java用于目標批處理平臺,那也不是實施每一個組件的規(guī)定或者Java工作。

  例如,你應(yīng)該把分類放在操作系統(tǒng)的層面。你還可以從Java啟動這個分類。分區(qū)也不應(yīng)該用Java完成,操作系統(tǒng)互動也是如此(具體操作系統(tǒng)的登錄、審計和監(jiān)視)。你也許在OLTP系統(tǒng)中的用Java做這個事情。但是,在批處理過程中,數(shù)據(jù)(文件、數(shù)據(jù)庫)的數(shù)量之大無法使用Java。

  如果批處理的工作流不尋常地輕,你應(yīng)該僅選擇一種更便攜式的實施。但是,Sudarsan說,整個純數(shù)據(jù)處理或者ETL(提取/轉(zhuǎn)換/裝載)式的處理最好在數(shù)據(jù)層完成,而不要在對象層完成。

  瞄準有效的數(shù)據(jù)訪問

  批處理性能問題可能拖整個系統(tǒng)的后腿。Sudarsan說,避免出現(xiàn)這個問題的關(guān)鍵是有高效率的數(shù)據(jù)訪問。他提供了9個可以利用的領(lǐng)域以便在設(shè)計數(shù)據(jù)中心模型的時候保證快速訪問:

  ·還存

  ·把只讀數(shù)據(jù)與更新數(shù)據(jù)分開

  ·全球文件系統(tǒng)

  ·數(shù)據(jù)分區(qū)、移動

  ·復(fù)制

  ·大量數(shù)據(jù)訪問與一次的單個記錄

  ·并發(fā)性/爭論/一致性

  ·數(shù)據(jù)聯(lián)合/轉(zhuǎn)換/虛擬化

  ·規(guī)定數(shù)據(jù)內(nèi)容的宣布方法和對一個工作的需要

  把數(shù)據(jù)放在應(yīng)用層附近

  最后,據(jù)Sudarsan說,你把數(shù)據(jù)放在應(yīng)用層附近能夠極大地提高數(shù)據(jù)的吞吐量。

  如果你的應(yīng)用層和數(shù)據(jù)層互動很麻煩,性能就會下降。如果你把數(shù)據(jù)放在應(yīng)用層以外的不同的子系統(tǒng),你也會造成性能下降。這樣做將導(dǎo)致管理費用問題。這些問題是由網(wǎng)絡(luò)負載、翻譯、串行化等引起的。

  做移植工作的四個步驟

  你當前的實施可能使用幾種獨特的批處理功能。如果是這樣的話,你每個功能需要采取四個步驟:

  ·詢問在用Java實施時作為一個單獨的批處理功能是否需要一個特殊的步驟。也許它能夠合并,也許它需要分開。每一項實施應(yīng)該需要總時間的十分之一。

  ·找出批處理的組建--數(shù)據(jù)流、邏輯、檢查點和相關(guān)的工作控制參數(shù)。這應(yīng)該用你的30%的時間。

  ·編寫不依賴于批處理容器邏輯的商業(yè)邏輯,提供批處理應(yīng)用程序能夠調(diào)用的一個應(yīng)用程序編程接口(API)。這應(yīng)該占你20%的時間。

  ·測試(單位、性能和升級性)和調(diào)諧。這應(yīng)該占你40%的時間。

  Sudarsan稱,只要你有人力資源能夠?qū)嵤┻@種可升級的開發(fā)模式,這個過程能夠讓你并行開發(fā)多個工作。

  Sudarsan最后介紹了IBM用于J2EE的批處理編程模型。它的關(guān)鍵的功能包括異步執(zhí)行、處理架構(gòu)、面向記錄和容器管理的設(shè)計、一個真正的批處理編程模型和使用XML工作控制語言。他最后介紹了他如何設(shè)計在大型計算機上執(zhí)行現(xiàn)有的批處理應(yīng)用程序的Java wrapper。

  他對于Java程序員的基本觀點是:只要他們熟悉每周7天每天24小時批處理的特殊需求以及這些需求如何能夠滿足OLTP的需求,他們就能夠開發(fā)很好的批處理系統(tǒng)。

吴忠市| 钟山县| 峨边| 湘潭县| 安顺市| 新野县| 商南县| 当阳市| 汪清县| 大荔县| 锡林郭勒盟| 兰考县| 蕉岭县| 云龙县| 林甸县| 鲜城| 通河县| 定边县| 神农架林区| 朝阳市| 乐都县| 永丰县| 古丈县| 思南县| 桂平市| 青川县| 宽城| 定襄县| 巫溪县| 阳泉市| 扎兰屯市| 苍梧县| 凤阳县| 奈曼旗| 雷山县| 晋州市| 荆门市| 南和县| 左权县| 安阳市| 沁水县|