亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

運用J2EE創建靈活易擴展的企業應用程序探討

2019-11-18 12:29:51
字體:
來源:轉載
供稿:網友

  在J2EE技術飛速發展的今天,各種技術框架和設計模式層出不窮,每種技術都有各自的優勢與劣勢。目前,沒有一種技術處于絕對的霸主地位,如何使我們的應用程序不過多地依靠某種實現技術,具有強的可擴展性,同時,能更好地集成各種技術框架,使他們發揮最大的優勢,是我們創建企業應用時,應該考慮的問題。本文主要介紹了筆者基于SOA(Service Oriented Architecture)思想而設計的MiniSOA構架的設計原理,核心組件與使用示例,它能很好地幫您集成各種技術,使您輕松地選擇自己的表現層、業務層和數據持久層,“無痛”切換各個層面的技術實現,降低各個層面的耦合性,同時滿足多小組的團隊開發,提高開發效率,最大限度地發揮開發人員的技術優勢。
  
  引言
  隨著J2EE的飛速發展,已經有越來越多的企業應用程序以J2EE技術為其構建的基石,J2EE本身并不是產品,它只是制定了一套創建企業應用程序的規范,不同廠商根據J2EE規范,創建了符合J2EE規范的產品,這給予了我們更多的選擇創建企業應用的平臺。
  
  一個典型的J2EE的應用,至少應該包括以下三部分:表現層,業務邏輯層和數據持久層,為了更加輕易地創建企業應用程序,許許多多的Framework涌現出來,表現層我們可以選擇Struts, JSF, Tapestry, WebWork, Velocity等, 數據持久層我們可以選擇原始的JDBC, ORMapping tools(Hibernate,toplink等),SQLMapper tools(Ibatis),JDO, EJB(Entity Bean)等,業務邏輯層我們可以用普通的java Beans,也可以用EJB(session Bean)。每種技術都有它的優點與缺點,各自有各自的適用范疇,例如EJB可以很好地進行分布式處理和Object Cache等,但EJB的運行需要EJB容器,開發調試起來很不方便,非凡在需求不確定性很大、模型不穩定的情況下,實在是一種重量級別的開發;而JAVA BEAN則是一種很輕量級的方式,開發調試輕易,但又很難實現分布式處理。在各種技術紛爭的今天,暫時還沒有一種技術處于絕對的霸主地位,在這種條件下,我們不能把“賭注“押在任何一種技術上,如何使我們的應用程序有很高的靈活性和易擴展性是我們要仔細研究的課題。
  
  在實際的項目中,關于應用程序開發時所用技術的問題,大致存在兩種情況,一種是構架師或技術經理沒有嚴格限定用什么技術來實現具體的業務邏輯或者只有簡單的開發規范,程序員在開發時,只是依據自己的技術背景,選擇自己熟悉的實現方式,這種情況一般屬于橫向開發,在小的項目中,每個人只做自己負責的一個模塊,從表現層,業務邏輯層,一直到數據層,都由同一個人來負責,這種方式給了技術人員更多的自我發揮能力的空間,但不便于后期維護,非凡是人員流動頻繁的情況下,問題更是嚴重。第二種情況是構架師或技術經理在項目初期從開發成本,項目需求等等各個方面做出評估,經過幾番取舍,確定項目各個層面使用什么樣的技術實現方式,按不同層面進行分工,不同的工作人員負責不同層面的技術實現,這種方式比第一種方式要好得多,適合校大項目的開發,但也存在很多問題。在目前各種實現技術紛爭的情況下,沒有一種技術是萬能的,在做取舍時,難免和某一技術或實現方式依靠性過強,同時限定了技術人員個人技術特長的很好發揮,當由于某些原因要更改實現方式時,經常是牽一發而動全身,造成資源的極大浪費和開發成本的提高。
  
  所以,在構建企業應用時,應該有個好的技術框架,這個框架應該考慮到各種主流的實現技術,我們既可以根據實際情況進行取舍,同時在從一種實現方式變更為另一種實現方式時,又可以進行平滑過度,讓多種技術實現并存,發揮技術人員的最大優勢,降低項目成本,提高開發效率。
  
  基于SOA的構架
  
圖一

  
 運用J2EE創建靈活易擴展的企業應用程序探討(圖一)

  SOA(Service Oriented Architecture),對這一術語我們并不生疏,因為Web service是基于SOA的一種技術,服務的提供者將提供的服務注冊到UDDI,其使用者從UDDI上獲得服務的描述(WSDL),然后根據服務接口使用服務。Web Service用xml進行消息的傳遞,通過SOAP綁定在現有的輕量級協議,如HTTP之上,可以透過防火墻,不依靠服務端和客戶端具體地實現技術,進行分布式遠程調用,它是現有的應用向Internet的延伸。Web service在EAI,B2B,應用到應用的集成等方面體現了巨大的優勢,有很多文獻介紹Web service,由于這不是本文重點,在此不再贅述。
  
  SOA的優勢在于降低了服務的提供者與使用者之間的耦合性,服務的提供者將自己提供的服務注冊在中介那里,服務使用者先通過中介查找自己所需服務,使用者獲得的是服務接口,但并不知道服務的具體實現,它根據調用接口調用服務,這樣即使服務的實現方式發生了變化,只要供使用者調用接口沒有改變,服務使用者就不會受到任何影響,這種思想正是我們應該學習和借鑒的地方。那么既然Web service是基于SOA的,我們的企業應用是不是就可以完全構架在Web service上呢?我們并不建議這么做,Web service對于企業內部的應用并不太適合,在一個應用內部使用Web service,系統大量的資源花費在進行XML消息的解析和進行遠程調用上,造成系統運轉緩慢。當然,從某種意義上講,EJB也是SOA的一種實現,服務的提供者把服務注冊在JNDI上,使用者通過JNDI找到自己想要的服務,通過遠程接口使用服務,但EJB的運行需要EJB 容器,開發調試起來不方便,非凡對于需求經常變化的系統,進行EJB調試的時間會更久。我們所需要的是一個輕量級的構架,能兼顧各種主流的技術,但又不依靠具體的某個實現方式,當實現方式從一種技術變更為另一種技術時,對于服務的使用者來說幾乎沒有影響,從而實現客戶端和服務器端的松耦合,這樣,我們的表現層,業務邏輯層和數據持久層都可以依據實際需求情況與偏好隨意選擇各種實現方式?! ?br />  
  MiniSOA構架介紹
  MiniSOA設計思想
  MiniSOA是以SOA思想為指導的一個極其輕量級的構架,其主旨是降低服務使用者和提供者之間的耦合度,使現在流行的多種技術能夠很好的并存,并充分發揮各自的優勢,技術人員能夠發揮自己的特長,用自己熟悉的技術來實現業務邏輯,同時應用程序某些層面能夠方便的在不同的實現技術之間進行切換,而不會對其他層面造成影響。MiniSOA沒有創建一個新的編程模式,沒有Web service,EJB那么工業化的龐大,它只是通過XML配置把應用組件裝配在一起,通過必要的緩存,提高組件的運行效率,自動治理組件運行時的事務、環境參數等信息,使其能更有效的運行,同時,提供多小組的團隊開發的支持,并方便進行單元測試,使開發人員集中精力開發業務邏輯,提高勞動生產率。
  
圖二

  
 運用J2EE創建靈活易擴展的企業應用程序探討(圖二)

  MiniSOA概述
  為了降低表現層,業務層和數據持久層等各個層面之間的耦合性,各個層面使用其他層面提供的服務時,不是直接去使用服務對象,而是通過服務中介,查找定位服務接口,通過接口來訪問服務,服務提供者可以通過各種方式來實現服務接口,然后把提供的服務注冊到服務中介,服務中介是服務使用者和服務提供者之間進行通訊的橋梁,可以在服務中介上做一些其他方面的控制,如事務,安全等。
  表現層作為業務層的使用者,在使用業務層提供的服務時,通過Business Service Manager這個中介來查找和使用服務接口;業務層是表現層的服務提供者,它把通過各種方式實現的服務對象注冊到Business Service Manager,供表現層對象使用,同時業務層也是數據持久層服務的使用者,它通過Data access Object Manager這個中介來使用數據持久層提供的服務;同樣數據持久層把對數據庫,文件等資源的存取進行封裝,把以各種方式提供的服務對象以接口的形式注冊到Data Access Object Manager,供業務層對象使用。
  
圖三

  
運用J2EE創建靈活易擴展的企業應用程序探討(圖三)

  MiniSOA包括業務層和數據持久層兩部分組件,業務層的核心組件是ServiceManager, 它是表現層和業務層進行交互的橋梁;數據持久層的核心組件是DaoManager,它是業務層和數據持久層進行交互的橋梁。根據數據模型和業務需求,定義提供的服務接口后,開發人員用自己熟悉的技術開發接口的實現組件,經過單元測試后,把服務接口、實現組件和相應的事務,環境參數等信息配置到dao-conf.xml,service-conf.xml文件,服務使用者就可以通過ServiceManager,DaoManager來查找所需的服務接口,調用服務方法。
  MiniSOA 業務層核心組件簡介:
  l  ServiceFacotry:作為表現層調用業務層的Facade,它讀取service-factory-conf.xml配置文件,創建用于各個模塊的ServiceManager,便于多個開發小組的分工合作。
  l  Service-factory-conf.xml 實例:
  <servie-factory>
  <factory>
    <service-id>module1</service-id>
    <service-file>module1-service-conf.xml</service-file>
  </factory>
  <factory>
    <service-id>module2</service-id>
    <service-file>module2-service-conf.xml</service-file>
  </factory>
  </servie-factory>
  通過service-factory-conf.xml配置文件,每個模塊可以使用和本模塊相關的service配置,適合多個開發小組共同開發,有效避免了資源沖突。
  l  ServiceManager, ServiceManagerBuilder:ServiceManagerBuilder用于讀取serivice-conf.xml配置信息,創建每個service對象使用的環境對象ServiceContext,返回用于服務使用者查找具體服務的ServiceManager接口。
  l  Service-conf.xml實例:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美日韩网| 亚洲欧美国内爽妇网| 在线观看精品自拍私拍| 国产成人精品视| 国产一区私人高清影院| 日韩网站免费观看高清| 亚洲www永久成人夜色| 欧美激情网站在线观看| 国产精品老女人精品视频| 国产日韩欧美成人| 久久久久在线观看| 日韩国产精品亚洲а∨天堂免| 成人黄色短视频在线观看| 91爱视频在线| 欧美在线一级va免费观看| 国模精品系列视频| www.亚洲免费视频| 国产一区二区黑人欧美xxxx| 亚洲一区二区三区成人在线视频精品| 欧美www在线| 亚洲综合精品伊人久久| 久久影院模特热| 538国产精品视频一区二区| 欧美亚洲午夜视频在线观看| 91久久夜色精品国产网站| 欧美日韩亚洲精品内裤| 欧美激情视频一区二区三区不卡| 91精品久久久久久久久久另类| 国产午夜精品免费一区二区三区| 97avcom| 国产精品久久久久久久久久小说| 久久久女女女女999久久| 精品av在线播放| 亚洲福利视频免费观看| 久久久久久久久国产| 欧美中文字幕视频| 日本精品中文字幕| 久久影院资源站| 国产精品爱久久久久久久| 国语自产精品视频在线看| 精品亚洲一区二区三区四区五区| 岛国精品视频在线播放| 久久精品中文字幕电影| 日韩不卡中文字幕| 国产在线精品成人一区二区三区| 国产视频久久网| 8x拔播拔播x8国产精品| 国产精品第一第二| 日韩在线中文字幕| 久久久精品视频成人| 91理论片午午论夜理片久久| 欧美另类99xxxxx| 26uuu另类亚洲欧美日本一| 第一福利永久视频精品| 精品一区二区三区四区在线| 91av在线播放视频| 国产精品自产拍在线观看| 欧美激情视频在线观看| 国产一区二区三区三区在线观看| 亚洲乱码av中文一区二区| 久久天天躁狠狠躁夜夜av| 国产精品第一页在线| 国产拍精品一二三| 久久久久久久成人| 亚洲天堂精品在线| 91视频九色网站| 亚洲国产91色在线| 日韩av在线免费观看一区| 伊人久久大香线蕉av一区二区| 国产精品久久久久久久av电影| 91久热免费在线视频| 亚洲黄色片网站| 久久久视频免费观看| 欧美亚洲国产视频| 中文字幕精品国产| 国产成人精品免高潮费视频| 日韩中文字幕精品视频| 色婷婷久久一区二区| 久久久久中文字幕2018| 色妞在线综合亚洲欧美| 波霸ol色综合久久| 久久久亚洲国产天美传媒修理工| 97在线免费观看视频| 欧美在线视频观看| 日韩美女中文字幕| 日韩国产在线播放| 日韩资源在线观看| 日韩av日韩在线观看| 亚洲电影成人av99爱色| 国产精品日韩欧美大师| 日韩免费视频在线观看| 一区二区三区 在线观看视| 亚洲最大av在线| 91精品国产九九九久久久亚洲| 中文字幕亚洲一区二区三区| 日韩精品中文字| 久久激情视频免费观看| 高潮白浆女日韩av免费看| 精品国产一区二区三区久久狼黑人| 国产精品亚洲片夜色在线| 亚洲午夜色婷婷在线| 2019中文字幕在线| 日韩中文字幕免费| 精品人伦一区二区三区蜜桃免费| 成人激情电影一区二区| 亚洲精品久久7777777| 日本成人免费在线| 青青a在线精品免费观看| 97精品欧美一区二区三区| 日韩精品在线观看视频| 欧美www视频在线观看| 国产精品福利小视频| 亚洲美女av在线播放| 亚洲激情视频在线观看| 亚洲aa中文字幕| 91精品啪aⅴ在线观看国产| 久久久www成人免费精品张筱雨| 日韩精品在线视频| 91国内精品久久| 欧美电影免费观看高清完整| 国产精品久久视频| 97视频人免费观看| 日韩av在线免费观看一区| 国产在线观看一区二区三区| 国产亚洲精品va在线观看| 国产丝袜一区视频在线观看| 久久精品国产69国产精品亚洲| 精品久久久久久久久久久久| 日韩在线观看高清| 日韩精品视频观看| 国产成人精品视频| 欧美日韩国产区| 欧美日韩色婷婷| 亚洲精品美女在线观看| 久久精品视频播放| 日韩精品中文字幕视频在线| 国产精品一区二区三区在线播放| yw.139尤物在线精品视频| 在线视频国产日韩| 国产97在线|日韩| 欧美激情视频在线观看| 国产精品久久久av久久久| 国产精品视频免费观看www| 久久精品电影一区二区| 一区二区福利视频| 久久躁日日躁aaaaxxxx| 一本色道久久综合狠狠躁篇的优点| 亚洲小视频在线观看| 久久久久久久久久久免费| 热99精品里视频精品| 日韩经典第一页| 亚洲精品av在线播放| 亚洲电影中文字幕| 亚洲电影免费观看高清完整版在线观看| 这里只有精品在线观看| 国产精品成人一区二区| 日韩av免费看网站| 日韩精品在线免费| 欧美自拍视频在线观看| 亚洲成色777777在线观看影院| 亚洲最新av在线网站| 2021久久精品国产99国产精品| 国产精品自产拍在线观看| 日韩免费观看av|