我必须有一种中介/路由系统,它应该与后端的几个系统通信。它看起来像这样:
Client
|
|
--Mediator-
| | |
| | |
Sys A Sys B SysC .....
现在客户端通过http(http://foo/bar?id=1
)调解介体上的几个方法,这些方法应该被路由到某个地方配置的系统(可能是xml-file或者类似的)
现在我还要求系统和一些方法应该能够处理身份验证,这样就会有一个http://foo/login
,并且中介应该返回一个令牌,该令牌可以用于后续调用,如{{1 }}。如果未提供令牌,则调用应返回特定错误。
我希望拥有灵活,易用,可扩展的解决方案,因为后端的系统并不总是使用相同的语言(某些JMS,某些FTP,......)。现在我读了上面的产品,想知道它们中的一些是否适合我的用例。我知道他们可以说消息/路由消息到其他系统,但我没有找到任何验证问题的例子(也可能是我没有足够的搜索;)。有没有能够做到这一点的系统?或者我应该更深入地了解哪些文件?
答案 0 :(得分:1)
Camel绝对可以帮助你解决这个问题。 Servicemix也是如此,但它更多的是容纳这些服务的容器(通常用Camel编写)。 Camel绝对更简单,可以独立运行,嵌入在应用服务器或OSGI容器等中。
有关在Camel中使用HTTP / Jetty端点设置身份验证的详细信息,请参阅camel-jetty页面
请参阅Camel EIPs页面,获取有助于实现复杂路由要求的企业集成模式的完整列表等。
请参阅Camel Components页面以获取Camel已实现的组件的完整列表,以允许您与各种技术((jms,file,http,jdbc,ftp等)进行交互。
另外,请参阅此讨论,了解有关比较不同产品的更多信息......
答案 1 :(得分:0)
Camel提供camel-http和camel-jetty,但你可以配置它们的方式有限。 看起来你需要某种会话来处理你的身份验证,编写自己的servlet并将请求从servlet内部传递给camel会更加保守。 但您也可以使用camel-jetty会话支持并访问会话以处理处理器内的身份验证: 更多信息:cammel-jetty
答案 2 :(得分:0)