j2ee的企業應用十分地廣泛和成熟,但在模組化方面還缺乏合適的解決方案,osgi則正好可以彌補這方面的缺憾。但osgi又偏偏是個底層的元素,如果要使j2ee和osgi結合起來,就需要將j2ee應用從底層開始改造,就如你想將舊樓改造成更高的樓,需要重新將地基弄堅實點一樣。
為了能讓osgi適應企業應用開發的需要,osgi制定了一些企業開發規範,將j2ee己有的di,持久化,事務等等好的東西都納入其中。
aries是apache的乙個開源專案,它分為很多子專案,都是實現了osgi在企業應用方面的規範,例如:aries blueprint container,aries jpa container等等。
首先,aries blueprint container是用於osgi di(ioc)的一套開源實現。blueprint是osgi定義的乙個規範,它是**於鼎鼎大名的spring。spring為了支援osgi,發展乙個叫spring dynamic module(spring dm)的專案,但估計是因為spring實現本身有些在classloader方面與osgi格格不入的原因(這是我個人的看法,大家別噓我),spring dm轉給了eclipse,發展出了virgo.
而osgi則從spring dm中抽象出blueprint規範出來。aries blueprint container則是這個規範的一種實現。和傳統spring一樣,blueprint可以在bean裡注入依賴。除此之外,blueprint還可以實現osgi服務的發布和引用,支援osgi的服務引用的注入,而且這種依賴的注入是動態的,也就是說你可以將很多osgi服務動態地組合成更粗粒度的osgi服務。
blueprint和spring十分相似,同樣採用xml的方式來組裝應用(當然也有用annotation的方式來實現的)。在aries blueprint container裡,將blueprint的xml配置文件放在bundle裡的osgi/blueprint目錄下,bundle就會被aries blueprint container認為是個blueprint的應用,這裡的xml文件就會被解析,並按xml的內容來組裝應用,其中的服務引用的動態性,都會由container來維護。在servicemix裡,甚至可以直接解析乙個blueprint的xml文件,而不需要將它放進bundle裡。
除了di外,在servicemix裡,blueprint還被用於camel路由的定義等方面,這很大程度擴大了blueprint的應用範圍。
微軟發布2008新一代企業級應用平台與開發技術
2008年3月13日,微軟中國 向企業級使用者及開發人員正式介紹備受期待的微軟2008新一代企業級應用平台與開發技術 windows server 2008 visual studio 2008 和 sql server 2008。微軟公司全球高階副總裁 主管伺服器和工具業務的鮑勃 穆格利亞 bob...
企業如何實施專案管理 系統與應用
企業如何實施專案管理 系統與應用 21世紀企業發展和管理的重點將從職能部門的管理轉向專案管理。常規職能部門的生產運作只需要由部分管理人才和藍領工人通過自動化的生產流程承擔,而大量的技術人才和管理人才將轉向開發新的專案。正如fannie mae公司的一位cio所說 一切都將成為專案,我們將按照此方式經...
資料倉儲與企業應用整合(二)
三 cif的案例 sapbw 主要特點是erp 商提供了整個體系結構,這就節省了大量的工作,並且降低了設計和開發的成本,將業務封裝在bw中,降低了長期維護的難度。erp的資料資源是非常豐富和寶貴的,應該是 資料倉儲的重要 sap的bw就是將 資料倉儲納入了erp應用。1.sapbw概述 a.sapb...