六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

無狀態Enterprise JavaBeans的觀點

[摘要]在Component-Base和N-Tier潮流下,無狀態(stateless)物件扮演著重要的角色。stateless物件是 OO 和Transaction Service兩項技術結合的產物。OO 技術強調的是彈性(felxibility)、重用性(reusability)和分散性(distri...
在Component-Base和N-Tier潮流下,無狀態(stateless)物件扮演著重要的角色。stateless物件是 OO 和Transaction Service兩項技術結合的產物。OO 技術強調的是彈性(felxibility)、重用性(reusability)和分散性(distribution),Transaction Service技術強調的是效率(performance)和延展性(scalability)。 Stateless物件是這兩項技術結合的重要支柱。

  傳統的OO技術大多著重于 Stateful 物件,然而在今天的MiddleWare(如EJB和 COM+/MTS)里面,Stateless物件的地位卻遠遠高于Stateful物件。尤其是在EJB的架構里,Stateless有著非常重要的用途。例如Stateless的Session物件不需要長期保存自身的狀態值,也不專屬于特定的用戶(client),所以占用的服務器資源非常之少,也由于不隸屬于特定的用戶,所以許多EJB物件可以共用少數的Stateless物件。

  Stateless物件的特性

  就Client而言,在意的是server物件的外在行為,而行為又和物件的狀態無關。所以client物件不必在意物件狀態的變化,而不是此 種物件真的沒有狀態。比如說stateless的限制并不意味著stateless的session beans不能擁有屬性變量,所以,這些session beans一樣會擁有自己的內部狀態,然而重要的是,client不會看到這些內部狀態。

  在Internet時代里,資訊系統的擴展性(scalability)顯得無比重要,而高度擴展性的前提是必須有效運用Server的資源,而無狀態的物件的資源共用性極大地減少了服務器的負載,因此,在開發N-Tier系統的時候,活用Stateless物件是系統開發人員必須具有的技能之一。

  使用Stateless支持交易

  當企業資訊系統的Client數目大幅度增加的時候,每個Client能夠享有的共用資源(shared resources)自然會更加稀少。面對這個問題,除了投入更多的資源之外,好好協調以避免資源的浪費,達到充分共享,也是重要的解決之道。

  其中,數據庫是最典型的稀有共享資源,交易是協調這項共享資源的可靠技術,如果加上Stateless物件,交易就會更加具有威力--更有效運用數據庫的connection,并能跨越不同的數據庫(即分布式交易)。

  交易是商業往來或異動的事件(event) 。事件一旦發生,企業資訊系統就會參與進行一連串的作業過程(process),在這個過程中,會導致共享資源(比如數據庫的資料)的一連串異動。為了確保在異動過程中,不受到別的交易的干擾,也為了確保異動過程中的例外處理(比如roll back),“交易”就成為用來管理和協調共用資源的工具。

  在交易過程中,需要數據庫提供服務(即資源),以便能夠異動數據庫里面的資料,完畢后就把資源釋放,供彼得交易使用。在像EJB等系統的交易服務(transaction service)里 ,都必須具備有ACID(atomic,consistency,isolation,duration)四個特性,來做到上述的資源管理功能。

  一般來說,必須先取得和數據庫的溝通管道(connection) ,才能獲得數據庫的服務,而數據庫的connection又很有限,所以協調connection成為管理數據庫資源的重心。讓每個client能盡快釋放connection成為重要的管理工作。

  在交易的進行過程中,會取得所需的數據庫連接,一直到交易結束才會釋放掉,所以充分運用連接一定要注意兩點,一是交易的時間越短越好,交易越短就能越快速地釋放被占用的connection。二是交易所需要的connection越少越好,這樣就有更多的共享機會了。

  在component-based環境中,一個交易通常由一群物件所共同合作,每個物件可能由不同人所設計開發,每個物件也都可能向數據庫索取connection。如果一個交易的參與物件越多,而且每個物件占用的connection時間越長,則這個交易就需要足夠多的connection才能完成任務。

  因此,“讓物件迅速釋放connection” 是提升數據庫資源運用效率的重要策略,stateless物件則是實現這個策略的重要技術。 


主站蜘蛛池模板: 欧日韩不卡在线视频 | 婷婷六月在线 | 日韩黄色一级片 | 午夜欧美精品久久久久久久久 | 一级成人a免费视频 | 手机看片日韩国产一区二区 | 中文字幕 国产精品 | 欧美一区二区三区男人的天堂 | 在线播放精品视频 | 青青草视频免费在线 | 欧洲激情视频 | 午夜影院在线播放 | 午夜91| 天堂bt | 五月开心六月伊人色婷婷 | 伊人久久综合影院首页 | 天天拍拍夜夜出水 | 亚洲第一综合色 | 亚洲国产最新在线一区二区 | 一区二区免费看 | 色婷婷丁香六月 | 亚洲区欧美 | 色偷偷91综合久久噜噜app | 手机在线精品视频每日更新 | 色综合久久久久久中文网 | 午夜视频www | 最近中文字幕免费mv视频4 | 亚洲第一黄色 | 欧美性乱| 一区二区三区在线免费视频 | 三区在线视频 | 青娱乐九色 | 亚洲欧美成人 | 日韩欧美国产视频 | 色综合天天射 | 日本xxx在线| 欧美又粗又大又硬又长又爽视频 | 日本免费不卡视频一区二区三区 | 青青草黄| 欧美一级片在线观看 | 亚洲欧洲综合在线 |