2009-02-24 76 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工作。本文所表达的意见和观点属于我自己的观点,并不一定反映我的雇主的意见或看法。