-1

朋友们,

我正在寻求您的意见,以帮助我考虑下一个开源项目。我有两个想法,其中一个我想做,可能使用 Java 作为主要语言,只是作为一个偏好问题。我特别想知道其中任何一个是否已经完成,这样我就不会重复工作,以及您是否认为它可能对您所做的工作有用。

第一个是 UDDI 的 SOA 目录服务替代方案。当我在 90 年代中期帮助实现中间件/SOA 框架时,我们构建的其中一个部分是目录服务。虽然它没有提供今天 UDDI 提供的元数据存储功能,但它比 UDDI 具有一些优势。很简单:很容易注册服务、进行查找等。速度非常快。使用租用机制注册的服务,因此您可以获得匹配服务实例的列表,知道这些实例可能仍在运行。接下来,它被复制了。当然,许多 UDDI 实现都支持复制。我不想做的是创建另一个 UDDI 实现,而是构建一个替代目录服务,它更像我们在 90 年代所做的,符合当今的框架需求,但更轻量级。在我看来,UDDI 是一个比大多数企业需要的更重量级的解决方案,一个更简单的解决方案可能会提供一些吸引力,前提是它与他们已经使用的任何框架很好地集成。也就是说,很容易选择它作为 UDDI 的替代方案。

第二种可能性是对数据联合系统进行开源实现。我们为一个从未使用过的客户建造了一个,但里面有一些好主意。作为一个开源项目,我想再做一次,因为它提供了一些有用的功能。它本质上允许用户将文档发布到主节点,然后将文档复制到区域服务器,也就是说,将数据推送到靠近组织内使用它的位置。例如,如果一个文档被标记为与某个组织的欧洲地区相关,那么它将被推送到该地区的服务器,以及邻近地区的备份服务器。然后,该地区的用户可以根据需要对文档进行注释,并将其推送回原作者以供考虑。相对于拥有单一文档服务器,像这样的联合系统提供了一些可用性和性能优势。当用户想要一个没有存储在他或她的区域中的文档时,系统会返回到主服务器或另一个区域服务器来获取它。作为一项附加功能,原始系统支持可以从外部来源获取数据的插件,并且包含这些插件可能很有用。

4

2 回答 2

2

模块化、可扩展和可理解

我认为最好的项目是那些提供其他人可以轻松贡献的功能基础的项目。我给你举个例子:

多年来,我一直想为一些操作系统开发做出贡献。首先,显而易见的选择是 Linux 内核。但是在政治和庞大的代码库之间,至少可以说陷入困境似乎是一项艰巨的任务......

环顾四周后,我找到了我的替代方案,即GNU Hurd内核和服务。这是一个基于微内核的高度模块化的操作系统。源结构很容易理解,我可以看到我需要做什么才能陷入困境。完美。

给它一些感觉 我们都可以看到这对 Mozilla 及其巨大的营销推动力是如何工作的。

让它成为一个可以成长的定义 你的项目应该说明一个目的、一个根、一个允许人们接受、使用和发展它的种子。然后可以共享这些功能分支,并可以激励更多人做出贡献。

至于你提出的项目,我想只有你能回答。

于 2009-06-13T21:27:00.930 回答
0

但是, Looselycoupled.com 的 Phil Wainewright提供了一些关于 UDDI 的替代方案/评论,因为他引用了 Timothy Appnel 推荐的 WSIL “对于那些想要更‘轻量级......基于文档的方法’的人。"

对现有的内容进行分析,并考虑您的目标受众。这将是一项概念验证工作,还是您有针对特定用例的目标?

于 2009-06-13T21:24:41.900 回答