简体   繁体   English

有关Integration.net和Java应用程序的体系结构建议

[英]Architecture advice on integrating.net & java application

In one of our recent projects, we have decided to use a message based solution to integrate an existing .Net app to a new JAVA based application. 在我们最近的项目之一中,我们决定使用基于消息的解决方案将现有的.Net应用程序集成到新的基于Java的应用程序中。 There is a requirement to not use a Application Server. 要求不使用应用程序服务器。 So I am trying to look into some alternative options. 因此,我正在尝试研究一些替代方案。 Currently we are planning to use ActiveMQ as the JMS provider. 当前,我们计划将ActiveMQ用作JMS提供程序。 Also the Java application needs to interact with an backend database. Java应用程序还需要与后端数据库进行交互。 So, when trying to figure out options, I found that the Spring framework would be quite helpful. 因此,当尝试找出选项时,我发现Spring框架会很有帮助。 It appears that Spring may need some additional components (eg, Atomikos) to provide transaction support for JMS & JDBC operations. 看来Spring可能需要一些其他组件(例如Atomikos)来为JMS和JDBC操作提供事务支持。 I am trying to limit the user of additional components as much as possible. 我试图尽可能限制其他组件的用户。 So, Is this the right approach to use ActiveMQ with Spring. 那么,这是在Spring上使用ActiveMQ的正确方法吗? If so, can I just use the built-in transaction module available in Spring to support transactions? 如果是这样,我可以仅使用Spring中提供的内置交易模块来支持交易吗?

Any advice would be very helpful? 有什么建议会很有帮助吗?

Leo 狮子座

Use WebSphere MQ .NET interface (.NET native or XMS .NET) for sending/receiving messages from your .NET application. 使用WebSphere MQ .NET接口(.NET本机或XMS .NET)从.NET应用程序发送/接收消息。 At the Java app end use MQ JMS interface. 在Java应用程序端,使用MQ JMS接口。 MQ JMS interface supports two phase commit, so you can synchronize your message gets and database updates. MQ JMS接口支持两阶段提交,因此您可以同步消息获取和数据库更新。

Keep the integration through MQ and WS. 通过MQ和WS保持集成。 More tight coupling may lead to problems and complexity. 更紧密的耦合可能导致问题和复杂性。

I'd go with a messagequeue that has good .NET and Java clients - eg RabbitMQ That builds on AMQP. 我将使用一个具有良好的.NET和Java客户端的消息队列-例如,基于AMQP构建的RabbitMQ。 As well as serialization technology that has good cross-language capabilities (Thrift, Protocol-buffers etc.) 以及具有良好跨语言功能的序列化技术(节余,协议缓冲区等)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM