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

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

無狀態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物件則是實現這個策略的重要技術。 


主站蜘蛛池模板: 欧美一级淫片免费播放40分钟 | 青青青在线网站视频在线 | 日韩欧美三级在线 | 性调教视频 | 色中文字幕 | 任我爽精品视频在线播放 | 日韩精品无码一区二区三区 | 亚洲区精品 | 青青草原播放器 | 色影影院| 涩狠狠狠狠色 | 色狠狠色狠狠综合天天 | 日韩不卡一级毛片免费 | 婷婷丁香九月 | 四虎必出精品亚洲高清 | 亚洲成av人片在线观看无码 | 日韩字幕在线 | 日韩黄色一级大片 | 一级毛片免费毛片一级毛片免费 | 日韩欧美国产视频 | 青青青在线视频人视频在线 | 亚洲sss| 亚洲免费观看网站 | 日本精品久久久久久久 | 午夜视频在线观看完整高清在线 | 欧美亚洲日本 | 青草青草伊人精品视频 | 五月天丁香婷婷综合久久 | 四虎影院精品在线观看 | 日本一区欧美 | 新午夜影院 | 人人做天天爱夜夜爽中字 | 日日摸夜夜摸人人嗷嗷叫 | 天天爽夜夜爽人人爽 | 亚洲人成网站看在线播放 | 色狠狠色狠狠综合天天 | 日本香蕉一区二区三区 | 日本高清免费在线视频 | 午夜精品久久久久久中宇 | 色偷偷亚洲第一成人综合网址 | 青青草国产精品 |