2009-02-24 49 views

回答

3

我們目前正在使用javaspaces(Sun支架實現)來協調鬆散耦合的進程。它背後的想法很吸引人,而且API非常簡單。實際的實施是一個問題。它建立在Jini上,因此需要5或6個進程來提供空間。而且,至少在Sun的實施中,沒有辦法通過特定的端口進行通信,這使得防火牆有點痛苦。

我們遇到的另一個問題是空間中沒有隱含的排序。因此,如果您放入5個對象,並且您的閱讀/拿取模板匹配全部5個,則不會指定您將獲得哪一個。根據應用,這可能會也可能不是問題。

0

我相信Orbitz是Jini酒店的預訂系統。

基於Java Posse第#82,#84和#86這是對Vin Simmons的採訪,這項技術有時用於軍事或財務應用,這些應用在安靜的環境中是不幸的。

0

我在幾年前使用它,但它可能沒有太大的改變。

@Keith:它是(曾經是ATLEAST)可以開始在一個單一的過程/ JVM所有的服務,我認爲這是文檔告訴我們怎樣做到這一點。

相信的Jini/JavaSpaces的是在一些大型的應用程序使用(票務,手機等)在歐洲。也被GE飛機用於研究和分析。

SORCER lab在Texas Tech有一個基於Jini/Javaspaces構建的大型SOA架構,您可以在這裏找到一些幫助。

2

GigaSpaces是JavaSpaces的一個成熟的版本。它被廣泛用於保持安靜的財務應用。

對於實施它基本上是對的Jini頂部的交易對象數據庫。這些查詢與db4o類似。

1

我已經看到了它在金融應用中使用,主要用於管理計算工人在那裏條目被寫入到空間,從正面層應用程序(網格樣式),並通過在現場展示的工作相匹配,需要拉出工人。結果可以寫回空間,觸發由前端應用程序註冊的notify,然後回讀完成的作品。

對於計算工人很不錯,但缺乏排序可能是你的問題(如果只有不可預測的,因爲) - 一些實現具備的功能來執行FIFO排序。它也用於長期數據存儲,因爲它是持久的,但我認爲這不是一個好主意。由於數據量較大,管理工具還不足以使其易於管理和性能受損。

使用Dan Creswell的Blitz JavaSpaces實現 - 它具有很多功能(可以在瞬態或持久模式下運行),設計爲可靠(具有事務日誌記錄功能)並保持高性能,並且非常可調。與其他Jini服務一樣,您可以配置「導出器」讓它監聽特定的端口以使防火牆更容易 - SSL傳輸和完整的PKI也被使用,並且由Jini的通信抽象化而成爲可能。

我認爲Gigaspaces是唯一通過以多種方式擴展規範而不斷創新的實現,這很好看。他們已經使其適合各種各樣的用例,並增加了實施功能,如集羣和高可用性。使用它會讓我擔心,因爲在社區中看到兩個或更多的這些功能的實現,我會更加高興,因爲Gigaspaces是相當專有的。

0

我現在還沒有意識到JavaSpaces的任何新用法。對於分佈式計算,大多數大型系統都是使用內存數據網格技術或分區的NoSQL類解決方案構建的。 (我看到很多正在使用的Oracle Coherence,但這可能是因爲我使用了它。)

爲了充分披露,我在Oracle工作。本文所表達的意見和觀點屬於我自己的觀點,並不一定反映我的僱主的意見或看法。