新浪彩票网官方网站:尊藍中間件技術原理說明

2017-11-27 15:26:48 admin1 558

新浪彩票频道电脑版 www.jcmtjn.com.cn       “尊藍敏捷業務中間件平臺(Skyland Agile BizLogic Platform,簡稱SABP)”是基于先進的業務流程管理(BPM)、面向服務構架(SOA)、數據挖掘(DM)和領域驅動設計(Domain-Driven Design)理念,實現WEB2.0界面的開發工具和業務組件熱部署功能的敏捷業務應變的中間件平臺。通過將自主研發的動態表單(BizLogic DynaForm)、動態視圖(BizLogic DynaView)、動態頁面流BizLogic Pageflow、BizLogic BPM引擎、動態數據報表(BizLogic DynaReport)和BizLogic Studio開發平臺整合到高可擴展性構架中,提供數據實體、數據展現、業務流程、數據分析和開發部署一體化應用中間件,從而實現完全基于WEB的圖形化編程的業務分析,應用開發和運行平臺,使基于BizLogic中間件搭建的系統擁有靈活強大的擴展能力,客戶無需懂得編寫程序代碼即可迅速實現業務重組和業務流程的不斷優化,在一定程度上擺脫對軟件提供商的依賴。
      該平臺包括三大核心??椋河τ迷誦幸?,業務開發平臺和數據挖掘分析工具。使用的關鍵技術和原理有:
圖片關鍵詞1) 領域驅動設計(Domain-Driven Design,簡稱DDD):
Evans DDD是近期與SOA相提并論的兩大重要技術思想,SOA是著重于軟件集成方面;而Evans DDD才是著重我們軟件開發上,在大部分情況下,軟件開發的重要程度不亞于軟件集成,但是因為軟件開發方面開源力量沖擊,軟件集成上工業廠商利潤最高,所以,工業廠商在媒體上SOA的宣傳較多,工業廠商更多關心的是功能,而不會告訴你如何去把握技術理論的方向。領域驅動設計,才是軟件核心復雜性應對之道。
軟件設計有不同的方法,其中之一是瀑布設計方法。這種方法包含了一些階段。業務專家提出一堆需求同業務分析人員進行交流,分析人員基于那些需求來創建模型并作為結果傳遞給開發人員,開發人員根據他們收到的內容開始編碼。在這個方法中,知識只有單一的流向。雖然這種方法作為軟件設計的一個傳統方法,這么多年來已經有了一定級別的成功應用,但它還是有它的缺點和局限。主要問題是業務專家得不到分析人員的反饋信息,分析人員也得不到開發人員的反饋信息。
另一個方法是敏捷方法學,例如極限編程(XP)。這些方法學是不同于瀑布方法的一堆動作,產生背景是預先很難確定所有的需求,特別是需求經常變化的情況。要想預先創建一個覆蓋領域所有方面的完整模型確實很困難。需要做出很多的思考,而且開始時常不能看到涉及到的所有的問題,也不能預見設計中某些帶有負面影響或錯誤的部分。敏捷方法試圖解決的另一個問題被稱為“分析癱瘓”,團隊成員會因為害怕做出任何設計決定而無所事事。盡管敏捷方法的倡導者承認設計決定的重要性,但他們反對預先設計。相反,他們使用大量靈活的實現,通過由業務專家持續參與的迭代開發和許多重構,開發團隊更多地學習到了客戶的領域知識,從而能夠產出滿足客戶需要的軟件。
敏捷方法也存在自己的問題和局限:他們提倡簡單,但每個人都對“簡單”的意義有著自己的觀點。同時,缺乏了真實可見的設計原則,由開發人員執行地持續重構會導致代碼更難理解或者更難改變。雖然瀑布方法可能會導致過度工程,但對過度工程的擔心可能會帶來另一種擔心:害怕做出深度、徹底的設計。
圖片關鍵詞2) 業務流程管理(Business Process Management,簡稱BPM):
業務流程管理,是指根據業務環境的變化,推進人與人之間、人與系統之間以及系統與系統之間的整合及調整的經營方法與解決方案的IT工具。業務流程管理應該包括"建模-實施-監控-管理"等過程,要具備其所需的所有服務與工具才能叫做BPM。
現在的信息系統開發方式的缺點在于對需求表達不清晰、效率不高。在這種思維方式下流程被固化在系統中,企業不能隨著商業環境的變化而方便迅速地改變業務流程,而企業環境的變化促使企業必須快速地調整業務來響應。實時性企業將敏捷地使用最新信息,以積極地消除其關鍵性業務流程中的管理與執行層面出現的低效率延遲。BPM的出現正是為了解決企業流程實時改變所帶來的敏捷性、實時效果評估、資源整合與優化等問題,而這些問題是不能為傳統的OA和工作流所解決的。
通過BPM,可以對業務流程進行自動化,并通過流程的分析及監控功能,對業務進行整合及計量,從業務角度、組織角度、IT角度都可得到可量化的改善效果,這種效果隨著管理者通過BPM分析與優化流程,將越來越顯著。
完整的BPM系統需由圖形化流程設計環境、流程管理與監控、BPM引擎、使用者執行環境以及整合各種資源的底層框架等主要元素所架構而成。另外,由于BPM記錄了業務流程的所有活動,可以對流程管理所需的關鍵性指標進行設置,向流程實施者及管理者提供實時而直觀的業務、組織和個人的績效數據,可以實現有效的客觀性成果測定效果。
圖片關鍵詞3) 面向服務的體系結構(Service-Oriented Architecture,SOA):
SOA是一個組件模型,它將應用程序的不同功能單元(稱為服務)通過這些服務之間定義良好的接口和契約聯系起來。接口是采用中立的方式進行定義的,它應該獨立于實現服務的硬件平臺、操作系統和編程語言。這使得構建在各種各樣的系統中的服務可以以一種統一和通用的方式進行交互。
這種具有中立的接口定義(沒有強制綁定到特定的實現上)的特征稱為服務之間的松耦合。松耦合系統的好處有兩點,一點是它的靈活性;另一點是,當組成整個應用程序的每個服務的內部結構和實現逐漸地發生改變時,它能夠繼續存在。而與此相對,緊耦合意味著應用程序的不同組件之間的接口與其功能和結構是緊密相連的,因而當需要對部分或整個應用程序進行某種形式的更改時,它們就顯得非常脆弱。
對松耦合系統的需求來源于業務應用程序需要根據業務的變動變得更加靈活,以適應不斷變化的環境,比如經常改變的政策、業務級別、業務重點、合作伙伴關系、行業地位以及其他與業務有關的因素,這些因素甚至會影響業務的性質。我們稱能夠靈活地適應環境變化的業務為按需(On Demand)業務,在按需業務中,一旦需要,就可以對完成或執行任務的方式進行必要的更改。
雖然面向服務的體系結構不是一個新鮮事物,但它卻是更傳統的面向對象的模型的替代模型,面向對象的模型是緊耦合的,已經存在二十多年了。雖然基于 SOA的系統并不排除使用面向對象的設計來構建單個服務,但是其整體設計卻是面向服務的。由于它考慮到了系統內的對象,所以雖然SOA是基于對象的,但是作為一個整體,它卻不是面向對象的。不同之處在于接口本身。SOA系統原型的一個典型例子是通用對象請求代理體系結構(Common Object Request Broker Architecture,CORBA),它已經出現很長時間了,其定義的概念與SOA相似。
然而,現在的SOA已經有所不同了,因為它依賴于一些更新的進展,這些進展是以可擴展標記語言(eXtensible Markup Language,XML)為基礎的。通過使用基于XML的語言(稱為Web服務描述語言,Web Services Definition Language,WSDL)來描述接口,服務已經轉到更動態且更靈活的接口系統中,非以前 CORBA中的接口描述語言(Interface Definition Language,IDL)可比了。
Web服務并不是實現SOA的唯一方式。前面剛講的CORBA是另一種方式,這樣就有了面向消息的中間件(Message-Oriented Middleware)系統,為了建立體系結構模型,您所需要的并不只是服務描述。您需要定義整個應用程序如何在服務之間執行其工作流。您尤其需要找到業務的操作和業務中所使用的軟件的操作之間的轉換點。因此,SOA 應該能夠將業務的商業流程與它們的技術流程聯系起來,并且映射這兩者之間的關系。因而,業務流還可以在SOA的設計中扮演重要的角色。
圖片關鍵詞4) 數據挖掘(Data Mining):
數據挖掘又稱為數據庫中的知識發現(Knowledge Discovery in Database, KDD),就是從大量數據中獲取有效的、新穎的、潛在有用的、最終可理解的模式的非平凡過程,簡單的說,數據挖掘就是從大量數據中提取或“挖掘”知識。數據挖掘分為:數據的抽取、數據的存儲和管理、數據的展現等關鍵技術。
? 數據的抽取
數據的抽取是數據進入倉庫的入口。由于數據倉庫是一個獨立的數據環境,它需要通過抽取過程將數據從聯機事務處理系統、外部數據源、脫機的數據存儲介質中導入數據倉庫。數據抽取在技術上主要涉及互連、復制、增量、轉換、調度和監控等幾個方面的處理。在數據抽取方面,未來的技術發展將集中在系統功能集成化方面,以適應數據倉庫本身或數據源的變化,使系統更便于管理和維護。
? 數據的存儲和管理
數據倉庫的組織管理方式決定了它有別于傳統數據庫的特性,也決定了其對外部數據的表現形式。數據倉庫管理所涉及的數據量比傳統事務處理大得多,且隨時間的推移而快速累積。在數據倉庫的數據存儲和管理中需要解決的是如何管理大量的數據、如何并行處理大量的數據、如何優化查詢等。目前,許多數據庫廠家提供的技術解決方案是擴展關系型數據庫的功能,將普通關系數據庫改造成適合擔當數據倉庫的服務器。
? 數據的展現
在數據展現方面主要的方式有:
查詢:實現預定義查詢、動態查詢、OLAP查詢與決策支持智能查詢;報表:產生關系數據表格、復雜表格、OLAP表格、報告以及各種綜合報表;可視化:用易于理解的點線圖、直方圖、餅圖、網狀圖、交互式可視化、動態模擬、計算機動畫技術表現復雜數據及其相互關系;統計:進行平均值、最大值、最小值、期望、方差、匯總、排序等各種統計分析;挖掘:利用數據挖掘等方法,從數據中得到關于數據關系和模式的知識。
圖片關鍵詞5) 異步JavaScript和XML (AJAX):
AJAX全稱為“Asynchronous JavaScript and XML”(異步JavaScript和XML),是Ajax實際上是由幾種蓬勃發展的技術以新的強大方式組合而成。AJAX是Web2.0的核心技術。
傳統的WEB應用允許用戶填寫表單(form),當提交表單時就向web服務器發送一個請求。服務器接收并處理傳來的表單,然后返回一個新的網頁。這個做法浪費了許多帶寬,因為在前后兩個頁面中的大部分HTML代碼往往是相同的。由于每次應用的交互都需要向服務器發送請求,應用的響應時間就依賴于服務器的響應時間。這導致了用戶界面的響應比本地應用慢得多。
與此不同,AJAX應用可以僅向服務器發送并取回必需的數據,它使用SOAP或其它一些基于XML的web service接口,并在客戶端采用JavaScript處理來自服務器的響應。因為在服務器和瀏覽器之間交換的數據大量減少,結果我們就能看到響應更快的應用。同時很多的處理工作可以在發出請求的客戶端機器上完成,所以Web服務器的處理時間也減少了。
Ajax應用程序的優勢在于:
? 通過異步模式,提升了用戶體驗
? 優化了瀏覽器和服務器之間的傳輸,減少不必要的數據往返,減少了帶寬占用
? Ajax引擎在客戶端運行,承擔了一部分本來由服務器承擔的工作,從而減少了大用戶量下的服務器負載
? 借住成熟的Ajax框架,使用豐富的Widgets組件可以使B/S應用系統的用戶使用體驗達到使用C/S應用系統的效果。
圖片關鍵詞6) 動態語言和元編程:
動態語言,是指程序在運行時可以改變其結構:新的函數可以被引進,已有的函數可以被刪除等在結構上的變化。比如眾所周知的JavaScript便是一個動態語言。除此之外如Ruby、Python、Groovy等也都屬于動態語言,而C、C++等語言則不屬于動態語言。
所謂的動態類型語言,意思就是類型的檢查是在運行時做的,而靜態類型語言的類型判斷是在運行前判斷(如編譯階段),比如C#就是一個靜態類型語言,靜態類型語言為了達到多態會采取一些類型鑒別手段,如繼承、接口,而動態類型語言卻不需要,所以一般動態語言都會采用dynamic typing,常出現于腳本語言中。
靜態類型語言的主要優點在于其結構非常規范,便于調試,方便類型安全;缺點是為此需要寫更多的類型相關代碼,導致不便于閱讀、不清晰明了。動態類型語言的優點在于方便閱讀,不需要寫非常多的類型相關的代碼;缺點自然就是不方便調試,命名不規范時會造成讀不懂,不利于理解等。
在SABP中,充分運用以上先進的設計思想和技術原理,集中體現為一個高度一體化的敏捷業務中間件平臺。
 

400-820-1940

尊藍公司成立于2003年,專注于國內物業管理信息化領域,定位于物業管理信息平臺產品供應商與服務提供商,是雙軟認證企業、國務院創新基金支持單位,擁有自主知識產權25項,產品銷售遍布全國128個城市,擁有物業公司客戶數量,超過1600家;經過多年發展,尊藍已成為國內物業軟件知名品牌。