将 MongoDB 与 OpenESB 集成
我的任务是研究使用 OpenESB 将 MongoDB 集成到 SOA 中。
从我到目前为止所读到的内容来看,在我看来,MongoDB 或 OpenESB 都没有对此开箱即用的支持。我认为 OpenESB 上的某种插件是必要的,以便将请求发送到 Mongo(虽然 Mongo 是一个数据库,但它实际上没有 JDBC 驱动程序,因为语义并不真正匹配)。
由于对 SOA 概念相对较新,我希望获得一些指导、优秀文档/文章的链接等。
I have been tasked with investigating the integration of MongoDB into SOA, using OpenESB.
From what I have read so far, it seems to me that there is no support for this out of the box with either MongoDB or OpenESB. I would assume that some kind of plugin on OpenESB would be necessary in order to send requests to Mongo (while Mongo is a database, it does not really have a JDBC driver because the semantics don't really match).
Being relatively new to the concepts of SOA, I would appreciate some pointers, links to good documentation/articles, and so-on.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
面向服务较少涉及技术,而更多涉及设计。我确信您可以毫无疑问地在 SOA 中使用这些技术,但它们只是实现选择。与 Java 一样,.NET 也可以成为应用程序的实现选择。
无论如何回到你的问题,MongoDB 是一个持久性存储,因此在 SOA 中它将位于服务层后面,该服务层可以保护上游用户免受这一事实的影响,您可以稍后将其替换为下一个最有用、最流行的、持久性存储和用户都不会明智。
对于 OpenESB 来说也是一样,ESB 是一种可以用来实现面向服务的某些方面的模式,即路由、发布/订阅、消息转换等。您的实现选择就是 OpenESB,所以做同样的事情,屏蔽后面的实现选择稳定的接口。
我现在实现这些接口的最佳方法是创建以功能为中心的接口,即专注于“什么”而不是“如何”。
下面是一些如何使用 WCF 构建 SOA 的实际示例,我意识到 .Net 可能不是您的实现选择,但这些原则作为 SOA 原则是正确的。
我建议您阅读 Thomas Erl 和 Roger Sessions 撰写的文章,这将使您牢牢掌握 SOA 的含义。
构建 SOA
SOA 设计模式
在 SOA 中实现完整性
为什么您的 SOA 应该像 VW Beetle
为您的老板解释 SOA
WCF 服务性能
Service Orientation is less about the technology and more about the design. I am cetain you can use these technologies in a SOA without any question, but they are just that, implementation choices. In the same way Java, .NET can be implemenation choices for applications.
Any way back to your question, MongoDB is a persistance store, so in a SOA it would sit behind a service layer that would shield the upstream users from this fact, you could at a later date swop it out with the next most useful, popular, persistance store and the users would be none the wiser.
Same thing for OpenESB, ESB is a pattern you can use to implement certain aspects of service orientation, namely routing, pub/sub, message transformation etc.. Your implementation choice is just OpenESB, so do the same thing, shield the implemenation choice behind a stable interface.
The best way I now of to implement theses interfaces is to create capability focused interfaces, i.e. focused on the what not on the how.
Here are some practical examples of how to build a SOA using WCF, I realise that .Net may not be your implementation choice, but the principles hold true as they as SOA principles.
I would suggest you read articles by Thomas Erl and Roger Sessions, this will give you a firm handle on what SOA is all about.
Building a SOA
SOA Design Pattern
Achieving integrity in a SOA
Why your SOA should be like a VW Beetle
SOA explained for your boss
WCF Service Performance
您需要为 openesb 创建 MongoDB 组件。
1>创建用于集成的 wsdl 服务。
2> java pojo 将使用 java-driver-for-mongo-db。
该组件将是通用的,通信将是带有 xml 有效负载的 wsdl 调用。
您可以使用 xsl 进行转换。
You need to create MongoDB component for openesb.
1> create wsdl services for integration.
2> java pojo will use java-driver-for-mongo-db.
this component will be generic and communication will be wsdl call with xml payloads.
for transformation you can use xsl's.