Pragmatic Programmer 中的一章建议将黑板/基于空间的架构 + 规则引擎视为传统工作流系统的更灵活的替代方案。
我正在从事的项目当前使用工作流引擎,但我想评估替代方案。 我确实觉得 SBA 可以更好地解决我们的业务问题,但我担心完全缺乏社区支持/用户群/供应商/选项。
JavaSpaces 已经死了,而 JINI 的衍生产品 Apache River 似乎也快要命了。 SemiSpace 看起来很完美,但它是一场独角戏。 唯一可行的解决方案似乎是 GigaSpaces。
我想听听您对基于空间的建筑的想法以及您在现实世界中实施的任何经验。
One chapter in Pragmatic Programmer recommends looking at a blackboard/space-based architecture + a rules engine as a more flexible alternative to a traditional workflow system.
The project I'm working on currently uses a workflow engine, but I'd like to evaluate alternatives. I really feel like a SBA would be a better solution to our business problems, but I'm worried about a total lack of community support/user base/venders/options.
JavaSpaces is dead, and the JINI spin-off Apache River seems to be on life support. SemiSpace looks perfect, but it's a one-man show. The only viable solution seems to be GigaSpaces.
I'd like to hear your thoughts on space based architecture and any experiences you've had with real world implementations.
发布评论
评论(4)
除了 Jini 2.1 发布已经有一段时间(2005 年 10 月)这一事实之外,您为什么还认为 Javaspaces 已经死了? 使用后,我认为它表明了成熟且完整的技术集,而不是被遗弃和废弃的技术。
有关 Javaspaces 的另一个实现,请查看 Blitz Javaspaces。 它得到了更定期的维护和增强(最新版本为 2008 年 7 月),并且提供了比 Sun 提供的默认
outrigger
更高性能和更易于管理的 Javaspace 实现。Why do you regard Javaspaces as dead, beyond the fact that the Jini 2.1 release was some time ago (October 2005) ? Having used that, I'd suggest that it indicates a mature and complete technology set rather than something abandoned and defunct.
For another implementation of Javaspaces, take a look at Blitz Javaspaces. That's maintained and enhanced more regularly (latest release July 2008) and offers a more performant and manageable Javaspace implementation than the default
outrigger
supplied by Sun.Gigaspaces 是 JavaSpaces 的成功商业实现——因此,我不会说 JavaSpaces 已经消亡。
您可以查看 Java Shared Data Toolkit (还有这篇文章)看看它是否满足您的要求。
Gigaspaces is a successful commercial implementation of JavaSpaces -- so, I wouldn't say JavaSpaces is dead.
You might take a look at Java Shared Data Toolkit (also this article) to see if it meets your requirements.
基于空间的架构是一种分布式计算架构,用于使用元组空间范式实现有状态的高性能应用程序的线性可扩展性。在基于空间的架构中,应用程序是由一组自给自足的单元构建的,这些单元称为处理单元。单位。
例如:千兆空间
在这里我附上了千兆空间的参考。
https://docs.gigaspaces.com/latest/overview/space-基于架构.html
Space-based architecture is a distributed-computing architecture for achieving linear scalability of stateful, high-performance applications using the tuple space paradigm With a space-based architecture, applications are built out of a set of self-sufficient units, known as processing-units.
Ex: Gigaspaces
here I attached the reference for gigaspaces.
https://docs.gigaspaces.com/latest/overview/space-based-architecture.html
虽然它不支持 JavaSpaces API,但我建议您考虑 Oracle Coherence,以获取可以驱动基于事件的工作流程的分布式且可靠的“实时”数据存储。 例如,由于可靠性和性能问题,德意志银行在其外汇交易中成功地将“SBA”(基于空间的架构)替换为基于 Coherence 的事件驱动系统。
为了充分披露,我在 Oracle 工作。 这篇文章中表达的意见和观点是我自己的,并不一定反映我雇主的意见或看法。
While it doesn't support the JavaSpaces API, I'd suggest looking at Oracle Coherence for a distributed and reliable "live" data store that can drive event-based workflow. Deutsche Bank, for example, successfully replaced a "SBA" (Space Based Architecture) with an event-driven system built on Coherence for their FX trading, because of both reliability and performance issues.
For the sake of full disclosure, I work at Oracle. The opinions and views expressed in this post are my own, and do not necessarily reflect the opinions or views of my employer.