寫畢業論文主要目的是培養學生綜合運用所學知識和技能,是培養我們的科學研究能力的方法。下面是學習啦小編整理的兩篇畢業論文,希望你能從中得到感悟!
畢業論文怎么寫:關于javaee的畢業論文
基于JAVAEE的工作流引擎設計的探究
摘要:工作流系統作為辦公自動化軟件重要組成部分,其不僅能將企業相應數據有效的和網絡連接起來,同時也能將之前單獨的計算機個體組成一個有機的并能自動化運行的網絡系統,以便為企業提供更多信息,為企業更好的服務。就目前來看,工作流系統不僅僅在辦公自動化軟件中應用,在其他生產銷售領域也得到了廣泛應用。但是這種工作流數據在一定程度上還處于運轉過程中,而新的基于JAVAEE工作流引擎程序在目前不同企業使用中,其效果還是比較可觀的。本文主要從工作流管理系統概念及構成、JAVAEE技術概況、基于JAVAEE工作流引擎的設計等方面,對基于JAVAEE的工作流引擎設計進行相應探討。
關鍵詞:JAVAEE;工作流;引擎設計
中圖分類號:TP311.52文獻標識碼:A文章編號:1007-9599 (2012) 04-0000-02
隨著計算機不斷的普及和應用,給人們的生活和工作帶來了方便,人們日常生活工作對計算機的依賴性也越來越大。在這種情況下,不同種類的信息系統也相繼出現并廣泛應用在人們日常生活工作中。然而這些系統基本上是獨立運行的,且相互之間必要的交互和聯系,使得這些系統使用過程中必須協調多個人的活動才能完成。在一定程度上不能更好的滿足人們日常工作和生活需求。而基于JAVAEE工作流管理系統恰好能滿足這一需求,能夠實現有機自動化網絡系統,將不同的系統連接在一起,以方便人日常工作和生活。如何對基于JAVAEE的工作流引擎進行更好的設計,已經成為相關部門值得思索的事情。
一、工作流管理系統概念及構成
(一)工作流管理系統概念
工作流最初是為了滿足人們日常工作的而提出的固定程序活動。工作管理系統事實上就是一個軟件系統,其是完成工作流的定義和管理,在此基礎上,以預先定義好的工作邏輯為基礎,執行并推進工作流實例。工作流并不是企業業務系統,其只是為企業業務系統提供一個能支撐環境的軟件系統。
(二)工作流管理系統構成
工作流管理系統主要是由軟件構件、數控控制數據、應用與應用數據構成的。軟件構件的主要作用就是完成并實現工作流管理系統不同組成部分功能;數據控制數據就是工作流管理系統中一個或是幾個軟件構件使用的數據;應用與應用數據只是工作流管理系統中的外部系統或是數據,而不是工作流管理系統的重要組成部分,其在工作流管理系統中的主要作用是調用并完成整個或是部分工作量管理。
二、JAVAEE技術概況
JAVAEE作為一個被工業廣泛認可的工業標準,其是在Java2平臺技術基礎上建立起來的,能為整個系統的開發、部署與管理等提出了一系列完整的體系結構,同時企業能為搭建可伸縮性、易維護性的系統提供了相應機制。其在實際應用過程中最大的優勢是能保留現存IT資產、進行高效開發并支持異構環境,并通過結構實現信息資源的整合。其在實際應用過程中,除了發揮Java2平臺技術優勢外,能支持編寫一次或到處運行的特性及存儲數據庫技術等,還能發揮更多作用,能為業務邏輯封裝EJB組件技術及XML提供相應支持等;就目前來看,MVC就是基于JAVAEE平臺軟件設計模式,其作為一種體系結構,能將一個交互式應用程序分為模型、試圖及控制器三個組件。這種模型的優勢就是能將所辦函的核心功能及數據是以視圖形式顯示出來,在此基礎上對控制器進行處理并執行用戶輸入。在這里視圖和控制器是能共同構成用戶接口的,同時也能變更傳播機制來保證用戶接口和模型的一致性。MVC模式最大的優勢是通過圖形用戶接口實現與以增強應用程序的可用性并保持內核獨立用戶接口。用戶的高度交互。這種交換方式能為用戶訪問帶來便利,同時也能為用戶提供快速應用程序學習平臺。要想更好的實現MVC模式,還需要Struts為開發MVC系統提供底層支持,Struts正常情況下是由一組相互協作的類、Servlet以及風度的標記庫組成,同時其也包括了獨立于該框架工作的使用工具類。在Struts框架中的應用的業務邏輯是用Model表示的,其應用的表示層是用View表示的,頁面產生則是由JSP來表示的,其應用處理過程控制則是由Controller來表示的,正常情況下其可以作為Servlet。總之,這種模式是在應用邏輯、處理過程和顯示邏輯組件之間的交互組件,能更好的實現相應交互和重用,更好的為工作流管理系統服務。
三、基于JAVAEE工作流引擎的設計
(一)工作流引擎設計原理
在對工作流引擎設計進行研究的時候的,就應該先對其數據儲存原理進行分析,畢竟工作流作為企業管理系統,其對數據存儲有一定要求。對于工作引擎數據存儲來說,其主要是以XML和數據庫的方式來完成相應存儲任務的,而JAVAEE對XML有支持作用,使其在實際應用過程中能更好的發揮其作用。對于工作流管理系統來說,其定義的流程及流程運轉過程中轉成實例的數據都是以XML方式進行封裝并將其存儲在數據庫之中的,系統在使用相應數據的過程中,能隨時提取數據庫中的數據,以XML的方式對相應數據進行解析并將解析結果呈現在頁面上。在存儲過程中沒有直接用 XML文件進行存儲,而是用XML和數據庫結合的方式進行存儲,是從其讀出和提取性能方面進行考慮的,畢竟輸入輸出的速度要讀取數據要慢。XML應用過程中,其是由流程定義好流程名稱構成的。正常情況下,其流程名定義可以用flowID來表示,流程名稱可以用flowName表示。在實際工作中,每個工作流是由一個活多個環節點組成的。其中endNode屬性表示工作流環節是否有工作流終點,headNobe屬性表示工作流環節是否有工作流起點。taskName屬性則表示工作流環節名稱。
(二)工作流引擎模型設計
對于工作流模型設計來說,其事實上是引擎類模型的設計,其能夠更好反映不同類之間的關系。引擎類是由engine類、oaRule類、flowCache類、flowBox類、flowTimeCongtrol類構成的。其中engine類是引擎的核心類,其主要功能是集中函數;oaRule類是規則引擎類,其是用來定義流程中各類規則的;flowCache類作用是將流程存儲在緩存中并隨時對其進行讀取以不斷提高引擎性能的;flowBox類則是用來存儲不同狀態流程的;flowTimeCongtrol類則是用來控制引擎時間的控制器。工作流系統在運行過程中,其會以工作流定義為依據產生一系列進程。但是就引擎來說,其屬于無狀態系統,其是需要與大量用戶打交道的,同時也要對不同用戶及流程進行相應識別。在這種情況下,其就需要一個存儲系統來為工作流引擎服務。而工作流引擎需要的實時數據模型和工作流定義是有寫類似的。工作流定義在實際運行過程中,會先聲明工作流,再將其劃分成若干個流程和環節,以實現其邏輯運行。而工作流引擎運行中是需要定義數據進行指揮的,并對業務進程進行發送,工作流接收到用戶的請求后,其會在流程中建立進程并在進程中記載流程進程。在此基礎上工作流會將相應進程轉發至用戶名下,為其當前辦理的環節業務建立相應進程并將其指向工作流定義總進程和環節業務定義,這樣相應環節業務就能按照相應定義運行。此外,環節內部相應內容還需要用XML智能型封裝,并將相應環節的從哪里來到哪里去,回滾到哪里進行相應的記載,也對環節流中的相應數據進行記載,以便更好的將其記錄到電子表單實體表中相應位置。只有這樣,才能更好的實現辦理業務、發送機路由導航等。
四、結束語
隨著市場經濟不斷的發展和信息技術不斷的發展,商業競爭越來越激烈。在這種情況下,原有獨立、零散的辦公自動化軟件及計算機應用已經不能更好滿足時代發展需求。為了更好滿足辦公自動化軟件和計算機應用需求,就應該采用綜合集成化方案,JAVAEE的工作流引擎的出現在一定程度上滿足了這一需求。就目前來看,這種工作流引擎在應用過程中已經取得了一定成果。雖然未取得大的突破,但是隨著信息技術不斷的發展,工作流引擎將會在企業系統中發揮更大的作用。
參考文獻:
[1]蘇奕豪.基于JBPM工作流引擎構建企業級管理信息系統的解決方案[J].甘肅科技,2009,25(12)
[2]張洪山,殷人昆,張素琴.基于Web 的工作流引擎設計[J].計算機工程,2004(04)
[3]郭偉,席磊,馬新明.基J2EE的無公害農產品數字認證系統的設計與實現[J],2006(06)
[4]鮑振軍,趙武,榮先奎.利用JavaEE構建創新型企業管理系統[J].機械設計與制造,2011(02)
畢業論文怎么寫:關于javaee的畢業論文
基于JavaEE架構的SSH框架的研究
摘 要:眼下企業在構建其應用平臺的時候,在架構上首選JavaEE。此架構的框架通常是Struts、Spring、Hibernate。若把3種框架合理結合,系統在開發效率方面不僅可提高,同時也可讓系統顯得更為穩定、健壯及安全。本文首先對多層體系的JavaEE進行簡述,然后在特征上對3種框架分別作介紹,最后對整合下的3種框架(SSH框架)的獨特之處作概括。
關鍵詞:架構;JavaEE;框架;SSH;研究
中圖分類號:TP311.52
框架的好處一是讓開發效率得以提升,二是給軟件復用開辟新途徑,所以對框架在強健與穩定方面的構建長久被關注。本文從對多層體系的JavaEE進行剖析出發,接著對Struts、Spring和Hibernate進行分析,最后整合這3種框架構建成SSH框架。一來讓各層耦合度降低,二來對系統在移植、開發效率、維護上都有提高。
1 JavaEE總述
1.1 JavaEE的多層體系簡述
平常說架構也可被稱為體系結構。架構指:作為一種結構,用來對其它東西進行支持、封裝;尤其骨架性的支持,在構建其它事物上它是基礎。JavaEE的分層結構是:客戶層、WEB表示層、業務邏輯層、持久層、數據庫層[1]。WEB表示層用框架Struts來實現,它把標簽、信息資源及JSP等整合,讓業務邏輯同顯示邏輯兩者分離。業務邏輯層用框架Spring來實現,它把輕量級容器(基于IOC)作核心,編程思想用的是面向切面(AOP),在非侵入性方面讓編碼得以實現。持久層用框架Hibernate來實現,對數據庫表同領域模型對象間的ORM映射進行實現,使人工利用JDBC處理、SQL的時間縮減不少[2]。
1.2 JavaEE的缺陷
1.2.1 成本高
對容器EJB來說,一是組件供應商必須給予復用組件做支撐;二是容器供應商必須給予合適的底層環境讓其運行;三是服務器供應商必須給予應用服務器才可讓組件部署、容納、管理得以實現;四是系統部署員必須將組件在2個以上的服務器中做部署,這些均會耗費極大支出成本。
1.2.2 開發思想限制大
遵照EJB機制就必須用EJB的規范對組件進行編寫,再在容器里部署運行。組件編寫時,用戶訪問的遠程及引導接口必須被編寫,一旦用戶對這2個接口進行訪問,容器就會即刻攔截訪問并將其接管,通過Beans對應的辦法調用來實現。開發思想限制太大讓諸多問題解決受挫。
1.2.3 EJB調用的缺陷
軟件開發時在對服務的調用方面,EJB機制卻是種束縛。整個部署中,對對象機制做定位的在EJB中是JNDI。無論對象定位還是獲取服務都是顯式的,如在代碼中調用者要組件做什么服務,或者服務名字是什么,并且代碼還要對JNDI編碼方式及特定接口上加以實現,對代碼復用都顯然不利,耦合性也會增加。再者服務查找也是顯式的,EJB的重量級再次體現。
1.2.4 處理持久化的缺陷
說到持久化往往選擇分2種:第一是容器管理方面的持久化;第二是Bean管理方面的持久化。選擇第一種容器管理方面的持久化,則必須于Bean類中,對字段變量先做相應定義,同時在容器、服務器上部署持久化信息。雖然工作量省下挺多,但成本極為不劃算。再者將來對持久化信息做改變也不靈活,功能極為有限。選擇第二種Bean管理方面的持久化,雖然系統靈活問題不存在,可是避免不了對JDBC做代碼編寫,而且凡是操作同數據庫沾邊的代碼都要編寫,一來重復性過強;二來尤其在業務邏輯方面,對其代碼有太強侵入性。
2 Struts、Spring和Hibernate框架簡述
2.1 Struts框架
2.1.1 Struts簡述
該框架被基金會(Apache)視作開源軟件。一方面在穩定、成熟及高效上從項目Apache里得以繼承,另一方面在流程控制及Taglib上也極其強大。此框架是對MVC模式良好應用的典范。所謂MVC指:把模型、控制器與視圖的英文首字母取出并拼到一起。在實現組件方面由此框架給這3個類分別提供。
2.1.2 Struts優缺點
MVC所有優勢被Struts繼承,還在新內容上加以擴展。優勢涵蓋:
(1)此框架是開源的。對設計者,一來開源意味著使用免費;二來開源可在實現機制上對MVC透徹了解;三來在全世界此框架受諸多設計員支持。
(2)包含強大標記庫(Tablib)。借此框架可做代碼抽象及復用,使開發效率得以提升。另外也可做驗證工作,使驗證代碼不必重復寫,這樣工作量得以減少,驗證代碼更易集中管理。
(3)系統導航聯系不同部分,系統脈絡更清晰,對系統整體設計員也更好把握,在擴充維護方面系統也有提升。
此框架盡管優勢較多,但劣勢也難以忽略:
(1)對于初學者來說,要想對此框架進行透徹掌握須花費大量時間,原因是它會讓學習者將長久形成的編寫習慣完全打破。
(2)盡管此框架在結構上更加清晰,但無疑這也會使系統變得更復雜。
(3)從出現至今,此框架時刻在變更,眼下該框架無論是在理論上還是經驗上都較淺薄,因此在大型軟件里將此框架運用還極少。
2.2 Spring框架
2.2.1 Spring簡述
該框架是在框架中屬輕量級的,它基于AOP及IOC的多層體系。雖然如此,但是此框架不會強制設計員在任一層都必須用到它。究其原因是它在模塊性能上表現良好,依照系統實實在在的情況,設計員完全可對它的任一模塊做選擇。另外,它在MVC模式上同樣可實現,而且即便數據訪問用到的技術不同,它也可實現統一化的接口。
2.2.2 Spring優缺點 該框架優點:第一、組裝代碼的思想采取延時注入,可使系統在擴展性與靈活性上大幅提高,讓插件式編程得以實現;第二、在AOP思想下,對業務邏輯做集中處理,讓重復代碼得以減少,讓解決方案更為有效。而此框架缺點:一是使用的人較少;二是jsp寫的代碼過多;三是控制器太靈活;四是公用控制器匱乏。
2.3 Hibernate框架
2.3.1 Hibernate簡述
此框架在開發上用到ORM映射。它對數據庫表同領域模型對象間的ORM映射進行實現,在對對象JDBC做封裝時采用輕量級,所以設計員要操作數據庫在編程思想方面完全可選用對象編程。
2.3.2 Hibernate優缺點
此框架優點:第一、實現透明性不是用字節碼而是Java對應的反射機制;第二、與用SQL或JDBC操作數據庫比較,此框架的HQL語句用對象方式對既復雜又麻煩的關系算法做描述,使數據庫在查詢方面很大程度地得以簡化,開發效率也順其自然得以加快;第三、此框架對事務管理、數據訪問及緩存等進行封裝,而不必自己編寫代碼;第四、將數據表數據映射到對象中,把對象當成傳輸媒介,讓各層傳輸更容易[3]。
此框架缺點:第一、眼下此框架僅限于對數據表的支持,其余對象少有支持;第二、此框架雖然在復雜表的關聯方面映射良好,但要想對存儲過程用數據庫調用是不行的,因為它并非數據表對象,因此只可借助JDBC來做到[4]。
3 基于JavaEE架構SSH框架設計與實現
3.1 總體規劃
作為由Struts、Spring和Hibernate整合后搭建的框架,設計目的是:為web營造簡潔化、功能極強的框架,讓組件復用性更高,層間耦合更低,無論維護還是擴展方面系統都更好。把SSH框架用3層表示:一是表示層,二是業務層,三是持久層。在程序處理方面,每層明確分工,不跟另2層功能重合,同時每層同另外2層完全分離,只需在3層間加一通信接口即可。
把JavaEE做SSH框架基礎。在框架的流程里,表示層用Struts替代,一是對用戶請求用標記庫來管理,同時給出對應的響應;二是業務邏輯方面,用控制器做對應控制。而框架Spring跟框架Struts可完美結合,在依賴注射及事務管理上,它有獨到的地方,所以在業務邏輯方面用它極為合適。采用Hibernate做持久層,在對象封裝方面對JDBC是輕量級的[5]。
3.2 具體實現
用Struts做表示層,MVC控制角色用通用控制組件替代,Action可讓鏈接轉向、動作處理及業務邏輯得以實現。
用Spring做業務層,用來對業務組件在關聯、組裝方面進行實現,通過利用面向接口方式的編程、AOP及依賴注入,一來讓各層耦合度降低,二來對系統在移植、開發效率、維護上都有提高。
Hibernate對JDBC做封裝,而在底層訪問上,JDBC給數據庫支撐。這樣程序運行時,只要JDBC給數據庫做驅動,便能利用對POJO操作的辦法,對任一數據庫都可隨意操縱。如此便可把JDBC繞過,讓JDBC的諸多代碼都省下來,省下的精力關注在頁面及業務邏輯方面更好,并一定程度對邏輯代碼的上層做保護,讓組件重用輕松完成。
4 結束語
眼下把3種框架合理整合搭建為新型的SSH框架已被廣泛采取。首先,3種框架都是開源的,無論開發背景還是文檔資料上都是既免費又豐富的。其次,此框架下的系統,在持久化、業務邏輯、控制及視圖方面均層次分明,不同角色具有不一樣的職能,在系統復用、升級、運行、移植、維護及擴充上均十分有利。最后,開發周期被再次降低,維護成本再次下降,效率上升,加之交互過程中讓模塊耦合性大大降低,使得內聚性大大加強,系統健壯性也大大提升。
參考文獻:
[1]沈建東,龔潘晶,謝東然.基于JavaEE架構的高職院校辦公自動化系統的研究與設計[J].科技致富向導,2010(08):53-58.
[2]解智,張俐,張維璽.基于JavaEE輕量級架構的安全電子拍賣系統的設計與實現[J].科學咨詢(科技-管理),2012(12):32-40.
[3]馮遠正,裴云,劉雅琴.基于JavaEE多模式的旅游電子商務系統的設計與實現[J].科技情報開發與經濟,2012(17):23-36.
[4]唐倩,張偉,李偉誠.基于SSH架構的智能社區信息管理系統的設計與實現[J].計算機時代,2012(12):32-40.
[5]劉軍,陳敬勇,邱占芝.基于SSH架構電工電子網絡虛擬實驗室教學信息管理web平臺設計與研究[J].計算機技術與發展,2012(17):23-36.
作者簡介:宦臣(1985-),男,江蘇揚州人,本科,研究方向:計算機應用。
作者單位:南理工泰州科技學院,江蘇泰州 225300