JavaSpaces技术在那里有真正的实际用途,它究竟是如何实现的?任何人使用JavaSpaces技术?
回答
我们目前正在使用javaspaces(Sun支架实现)来协调松散耦合的进程。它背后的想法很吸引人,而且API非常简单。实际的实施是一个问题。它建立在Jini上,因此需要5或6个进程来提供空间。而且,至少在Sun的实施中,没有办法通过特定的端口进行通信,这使得防火墙有点痛苦。
我们遇到的另一个问题是空间中没有隐含的排序。因此,如果您放入5个对象,并且您的阅读/拿取模板匹配全部5个,则不会指定您将获得哪一个。根据应用,这可能会也可能不是问题。
我相信Orbitz是Jini酒店的预订系统。
基于Java Posse第#82,#84和#86这是对Vin Simmons的采访,这项技术有时用于军事或财务应用,这些应用在安静的环境中是不幸的。
我在几年前使用它,但它可能没有太大的改变。
@Keith:它是(曾经是ATLEAST)可以开始在一个单一的过程/ JVM所有的服务,我认为这是文档告诉我们怎样做到这一点。
相信的Jini/JavaSpaces的是在一些大型的应用程序使用(票务,手机等)在欧洲。也被GE飞机用于研究和分析。
SORCER lab在Texas Tech有一个基于Jini/Javaspaces构建的大型SOA架构,您可以在这里找到一些帮助。
GigaSpaces是JavaSpaces的一个成熟的版本。它被广泛用于保持安静的财务应用。
对于实施它基本上是对的Jini顶部的交易对象数据库。这些查询与db4o类似。
我已经看到了它在金融应用中使用,主要用于管理计算工人在那里条目被写入到空间,从正面层应用程序(网格样式),并通过在现场展示的工作相匹配,需要拉出工人。结果可以写回空间,触发由前端应用程序注册的notify
,然后回读完成的作品。
对于计算工人很不错,但缺乏排序可能是你的问题(如果只有不可预测的,因为) - 一些实现具备的功能来执行FIFO排序。它也用于长期数据存储,因为它是持久的,但我认为这不是一个好主意。由于数据量较大,管理工具还不足以使其易于管理和性能受损。
使用Dan Creswell的Blitz JavaSpaces实现 - 它具有很多功能(可以在瞬态或持久模式下运行),设计为可靠(具有事务日志记录功能)并保持高性能,并且非常可调。与其他Jini服务一样,您可以配置“导出器”让它监听特定的端口以使防火墙更容易 - SSL传输和完整的PKI也被使用,并且由Jini的通信抽象化而成为可能。
我认为Gigaspaces是唯一通过以多种方式扩展规范而不断创新的实现,这很好看。他们已经使其适合各种各样的用例,并增加了实施功能,如集群和高可用性。使用它会让我担心,因为在社区中看到两个或更多的这些功能的实现,我会更加高兴,因为Gigaspaces是相当专有的。
我现在还没有意识到JavaSpaces的任何新用法。对于分布式计算,大多数大型系统都是使用内存数据网格技术或分区的NoSQL类解决方案构建的。 (我看到很多正在使用的Oracle Coherence,但这可能是因为我使用了它。)
为了充分披露,我在Oracle工作。本文所表达的意见和观点属于我自己的观点,并不一定反映我的雇主的意见或看法。
- 1. 项目管理+供技术人员和非技术人员使用的SCM?
- 2. 使用人工智能技术
- 3. 如何使用Bluemix技术
- 4. AI人脸检测技术
- 5. 使用推技术
- 6. 任何人都可以解释“Khronos技术堆叠”的技术适合在一起的方式吗?
- 7. 任何想法什么视频编码技术YouTube使用?
- 8. 任何使用不寻常技术的经验?
- 9. 使用图像技术
- 10. 如何使用md5技术盐
- 11. BlockBhain:私人区块链技术
- 12. 学习Java人脸识别技术
- 13. 适用于任何RDBMS技术的通用语言
- 14. 你如何使用技术来记忆一组术语?
- 15. 是否有任何技术用标志参数拆分方法?
- 16. 如何使用Android发现任何NFC技术(不仅是标签)?
- 17. 如何运行非技术性启动的技术部门?
- 18. Mongomapper - bootstrapping技术
- 19. Stumbleupon.com技术
- 20. ajax技术
- 21. HTML5技术
- 22. GetDeviceCaps技术
- 23. 编码技术
- 24. 滚动技术
- 25. openmp reduce技术
- 26. 猜测技术
- 27. 分类技术
- 28. Spiceworks技术
- 29. WPF技术栈
- 30. .NET“推”技术?