田亞麗
摘要:針對軟件企業(yè)開發(fā)的業(yè)務需求,本文提出基于PEE架構(gòu)的企業(yè)信息化平臺的解決方案,平臺基于OSGI思想、提供組件概念、支持模塊重復使用,實現(xiàn)了軟件開發(fā)的模塊化、組件化、自由定制化開發(fā),提高了隨需應變能力,降低了開發(fā)、維護、實施成本。文中詳細介紹了企業(yè)應用集成開發(fā)平臺的應用背景、組成框架、主要功能、關(guān)鍵技術(shù)等方面內(nèi)容。
關(guān)鍵詞:企業(yè)應用平臺;J2EE;OSGI
中圖分類號:TP311 文獻標識碼:A DOI:10.3969/j.issn.l003-6970.2017.08.039
引言
軟件企業(yè)的核心競爭力體現(xiàn)在品牌優(yōu)勢、產(chǎn)品功能和性能、快速響應需求能力、服務水平等諸多方面。優(yōu)秀的企業(yè)級信息應用和開發(fā)平臺,能夠提供集成化、模塊化、個性化、易擴展、易維護、快速響應需求的產(chǎn)品全生命周期技術(shù)支撐和保證,從而加快產(chǎn)品開發(fā)、方便產(chǎn)品部署和集成、提高個性化需求的響應速度、簡化產(chǎn)品代碼管理、降低項目實施和維護成本,進而能夠整體提高軟件企業(yè)的創(chuàng)新能力、開發(fā)團隊和產(chǎn)品技術(shù)水平、產(chǎn)品交付能力、創(chuàng)收能力和長期發(fā)展能力等。
1 系統(tǒng)需求
開發(fā)適合本公司特點的企業(yè)級應用開發(fā)平臺,
是大型軟件產(chǎn)品設計的最佳實踐,是企業(yè)級客戶信息化建設的客觀需求,也是軟件企業(yè)長期良性發(fā)展的必要條件。國際上成功軟件企業(yè)的發(fā)展歷程證明,擁有自主平臺的軟件公司,在品牌知名度、產(chǎn)品性肯泛、團隊技術(shù)水平、交付能力、服務保障能力等諸多方面,和僅擁有特定功能產(chǎn)品的軟件企業(yè)相比,有無可比擬的巨大優(yōu)勢。
2 系統(tǒng)功能
本平臺致力于減少項目開發(fā)周期、減輕開發(fā)人員的重復模塊開發(fā)負擔、降低項目成本、降低項目實施復雜性、以組件的形式做到重復使用、即插即拔。
選定J2EE應用程序服務器為基礎(chǔ),在不破壞原有功能和技術(shù)標準的前提下,通過擴展新的功能模塊、服務和二次開發(fā)能力,形成滿足市場定位的企業(yè)應用平臺和二次開發(fā)平臺。平臺總體框架示意
圖如圖1所示:
平臺功能模塊主要實現(xiàn)了單點登錄、STMP郵件、工具集、基礎(chǔ)功能組件、開發(fā)框架、多種業(yè)務引擎、平臺助手、基礎(chǔ)應用軟件、二次開發(fā)支持等功能。
2.1 單點登錄
單點登錄(SSO),是目前比較流行的企業(yè)業(yè)務整合的解決方案之一。SSO的定義是在多個應用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統(tǒng)。本平臺采用耶魯大學的CAS項目,其具備最先進的設計理念,體系結(jié)構(gòu)合理、配置簡單、客戶端支持廣泛、技術(shù)成熟。
2.2 OSGI容器
OSGI(Open Service Gateway Initiative)技術(shù)是面向Java的動態(tài)模型系統(tǒng)。通過與應用服務器的集成倉d造一個組件服務式容器,引入Bundles概念,容許任何Bundles插拔、互相引入,從而實現(xiàn)組件的可重用式幵發(fā)部署。
2.3 工具集
平臺提供了多種工具助手,以期提供更完美的服務,其中包含集合、時間、文件系統(tǒng)、編碼、加密、OSGI組件訪問等功能。
2.4 ZK框架
ZK是一套以AJAX/XUL/Java為基礎(chǔ)的網(wǎng)頁
應用程序開發(fā)框架,用于豐富網(wǎng)頁應用程序的使用界面。是Java寫成的開發(fā)工具。
2.5 Quartz定時任務
Quartz是一個開源的作業(yè)調(diào)度框架,它完全由Java寫成,并設計用于J2SE和J2EE應用中。它提供了巨大的靈活性而不犧牲簡單性。你能夠用它來為執(zhí)行一個作業(yè)而創(chuàng)建簡單的或復雜的調(diào)度。
2.6 數(shù)據(jù)庫JPA
JPA全稱Java Persistence API.JPA通過JDK注解或XML描述對象一關(guān)系表的映射關(guān)系,并將運行期的實體對象持久化到數(shù)據(jù)庫中。
JPA的總體思想和現(xiàn)有Hibernate、JDO等ORM框架大體一致??偟膩碚f,JPA包括三個方面的技術(shù):ORM映射元數(shù)據(jù)、API、查詢語言。
2.7 JBPM工作流
JBPM,全稱是Java Business Process Management業(yè)務流程管理),它是覆蓋了業(yè)務流程管理、工作流、服務協(xié)作等領(lǐng)域的一個開源的、靈活的、易擴展的可執(zhí)行流程語言框架。JBPM是公幵源代碼項目,使用它要遵循ASL(Apache License Version2.0)和EULA(JBoss End User License Agreement)協(xié)議。
2.8 消息推送
平臺提供了三種消息類型,普通、提示、告警,以彈窗形式進行,為用戶及時得到重要通知的反饋提供了方便,也使得二次開發(fā)人員不必耗費精力在消息功能插件上的開發(fā),只需調(diào)用合適的消息推送函數(shù)即可。
2.9 二次開發(fā)
基于OSGI思想的二次開發(fā)以組件插拔方式實現(xiàn),允許二次開發(fā)人員自由開發(fā)自己的Bundle,只需要明白需要引入哪些Bundle以及引入Bundle提供的功能即可。
2.10 集成開發(fā)環(huán)境
平臺內(nèi)置多Bundles組件包含了數(shù)據(jù)庫連接、批處理任務、工作流、報表、消息推送、權(quán)限管理、用戶管理、在線用戶監(jiān)控、安全審計、系統(tǒng)日志等功能,二次幵發(fā)人員只需基于這些基本功能Bundles的引用開發(fā)業(yè)務模塊即可。
3 主要技術(shù)方案
系統(tǒng)利用成熟的計算機技術(shù)、數(shù)據(jù)庫技術(shù),統(tǒng)一規(guī)劃設計,以計算機網(wǎng)絡、數(shù)據(jù)庫系統(tǒng)為基礎(chǔ),以系統(tǒng)架構(gòu)設計方法為指導,研究、幵發(fā)企業(yè)應用集成開發(fā)平臺。
整個平臺完全基于J2EE技術(shù)平臺,采用SOA架構(gòu)設計來構(gòu)架;主要采用了工作流控制系統(tǒng)、消息傳遞系統(tǒng)、郵件發(fā)送系統(tǒng)實現(xiàn)系統(tǒng)的協(xié)調(diào)工作;采用CAS技術(shù)實現(xiàn)單點登陸;用集成身份認證系統(tǒng)作為系統(tǒng)的身份與安全控制;安全系統(tǒng)按照軍工企業(yè)保密要求設計,強化安全性。
4 關(guān)鍵技術(shù)
4.1 ZK框架
ZK是一套開放源碼、相容于XUL/HTML標準、Java寫成的開發(fā)工具。
ZK的使用極大的方便了開發(fā)人員,從傳統(tǒng)的JavaScript繁復的代碼量中解脫出來,甚至無需使用JavaScript,而直接使用JAVA語言進行頁面開發(fā),該技術(shù)類似與谷歌的GWT,在中國市場具有更加廣闊的應用前景。
4.2 OSGI技術(shù)
OSGI服務平臺向Java提供服務,這些服務使Java成為軟件集成和軟件開發(fā)的首選環(huán)境。Java提供在多個平臺支持產(chǎn)品的可移植性。OSGI技術(shù)提供允許應用程序使用精煉、可重用和可協(xié)作的組件構(gòu)建的標準化原語。這些組件能夠組裝進一個應用和部署中。
因為OSGI技術(shù)為集成提供了預建立和預測試的組件子系統(tǒng),所以OSGI技術(shù)使你從改善產(chǎn)品上市時間和降低開發(fā)成本上獲益。
5 結(jié)束語
J2EE企業(yè)信息化開發(fā)平臺貫徹以人為本的設計理念,以OSGI思想為指導,樹立風格一致的開發(fā)環(huán)境,體現(xiàn)人性化設計,開發(fā)框架友好,易學好用;可以自由定制不同用戶需求的系統(tǒng)界面;軟件功能較強,內(nèi)容豐富,滿足軟件企業(yè)的企業(yè)信息化應用系統(tǒng)開發(fā)和集成部署要求。