问题描述
我们有存储其数据的几个不同的应用,我们需要一个共同的服务,它提供了访问这些数据。
we have a few various applications that stores its data and we need one common service which provides access to these data.
使用我的意思是比如Atlassian的吉拉,合流,SVN,Git的,LDAP,一些内部MySQL数据库等应用其中一些为您提供SOAP API,REST API,各种命令行的客户,对于一些你不得不直接访问数据库来获取数据。
With the applications I mean for example Atlassian Jira, Confluence, SVN, Git, LDAP, few internal mysql databases, etc. Some of them offers you SOAP API, REST API, various command line clients, for some you have to directly access database to get data.
我们要的是一个共同的REST API接口来访问所有可能的数据源。当然,我们必须解决身份验证和授权,缓存和更多的任务。
What we want is a common REST API interface, to access all possible data sources. Of course, we have to solve authentication and authorization, caching and many more tasks.
这似乎有点像ESB - Enterprise Service Bus和EIP - 企业集成模式是回答我们的需求。
It seems that something like ESB - Enterprise service bus and EIP - Enterprise integration patterns is answer to our needs.
有关的开始,我们打,实际上挖掘到Apache的骆驼 - 它不是完整的堆栈EIP,它的只是一个集成框架。但我想这是很好足以让我们现在。
For start, we are playing and actually dig in to Apache Camel - it's not full EIP stack, it's "just" a integration framework. But I guess it's good enough for us right now.
我的问题是 - 你的意思的解决方案是什么?难道我们的好办法吗?
My question is - what you mean about the solution? Are we on the good way?
谢谢!
推荐答案
骆驼有很多连接器,所以这将是一个很好的开始。
Camel has a lot of connectors, so that would be a great start.
如果你害怕过薄,那么来看看的Apache ServiceMix的,它提供了一个部署(OSGi的)容器骆驼的路线(和其他东西)。骆驼来规范服务组合版本中捆绑的开箱即用的。
If you are afraid it is too thin, then take a look at Apache ServiceMix, which provides a deployment (OSGi) container for camel routes (and other things). Camel comes bundled within the standard service mix release out of the box.
硬任务可能是设计通用API足以覆盖你的用例。
The hard task is probably to design the generic API good enough to cover your use cases.
一个GIT回购和数据库有很大的不同,这是非常通用的?你只需要进入文字的数据或东西吗?
A GIT repo and a Database are very different, is this very generic? Do you only want to access "text" data or something?
我喜欢骆驼非少的办法,因为它是比较通用的,灵活的,这些类型的场景。你将需要
I like the approach with camel non the less, since it's rather generic and flexible in these kind of scenarios. That you will need
这篇关于如何整合各种应用,并提供通用接口来访问他们的数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!