简体   繁体   English

使用 Tibco 和 GCP Pub/Sub 将旧版 On-Prem.Net 应用程序集成到 GCP

[英]Integrate legacy On-Prem .Net application to GCP using Tibco and GCP Pub/Sub

We are in the process of integrating.Net applications which are deployed on VM's on premises data centers with pub/sub resource topic in Google cloud platform on the cloud.我们正在集成.Net 应用程序,这些应用程序部署在虚拟机的本地数据中心,在云端的 Google 云平台中具有发布/订阅资源主题。 I have a scenario which I am currently not able to decide and would need help and a right direction.我有一个我目前无法决定的情况,需要帮助和正确的方向。 Below is the brief detail of the use case.下面是用例的简要细节。 Please have a look and provide your thoughts.请查看并提供您的想法。

Currently there is a.Net application which is deployed on a Windows VM on legacy on-prem client data centers.目前有一个 .Net 应用程序部署在传统本地客户端数据中心的 Windows VM 上。 What it does is that it publishes XML messages to a Tibco EMS topic on a EMS server deployed in same data centers on-prem.它的作用是将 XML 消息发布到部署在本地相同数据中心的 EMS 服务器上的 Tibco EMS 主题。 Few Java applications which are deployed on different VM's subscribe to this Tibco topic and pull messages and process them.部署在不同 VM 上的少数 Java 应用程序订阅此 Tibco 主题并拉取消息并处理它们。 This is the legacy flow.这是遗留流程。

As a part of modernization GCP is coming into the mix.作为现代化的一部分,GCP 正在加入其中。 Now the scenario is that XML messages that On-Prem.Net application publishes to the Tibco topic should also get pushed to pub/sub resource topic on GCP cloud.现在的情况是,On-Prem.Net 应用程序发布到 Tibco 主题的 XML 消息也应该被推送到 GCP 云上的发布/订阅资源主题。 A Java microservice which has been deployed on GCP infra would subscribe to this topic and consume these messages from it.已部署在 GCP 基础设施上的 Java 微服务将订阅该主题并从中使用这些消息。

Now the problem I am facing is that how to go about this integration between On-Prem and Cloud applications.现在我面临的问题是如何 go 关于 On-Prem 和云应用程序之间的这种集成。 I thought about a couple of options.我想了几个选择。

  1. Copy the messages directly from legacy Tibco topic to which.Net app publishes messages to Pub/sub topic in GCP.将消息直接从旧 Tibco 主题复制到 .Net 应用程序将消息发布到 GCP 中的 Pub/sub 主题。 I am not a Tibco expert and not sure If this is supported.我不是 Tibco 专家,不确定是否支持。 I found the below link but not sure if this suits my use-case.我找到了以下链接,但不确定这是否适合我的用例。 Also client wants to move away from Tibco and not sure if the legacy Tibco EMS on data centers support the below Tibco connector feature.此外,客户希望离开 Tibco,但不确定数据中心上的旧 Tibco EMS 是否支持以下 Tibco 连接器功能。 https://www.tibco.com/connected/google-cloud-pub/sub https://www.tibco.com/connected/google-cloud-pub/sub
  2. Make changes to the.Net code base so that point in code where it publishes message to Tibco topic we can add additional code to also publish it directly to Pub/Sub topic in GCP.对 .Net 代码库进行更改,以便在将消息发布到 Tibco 主题的代码点中,我们可以添加其他代码以将其直接发布到 GCP 中的 Pub/Sub 主题。 Not sure if this is ok as.Net application is on legacy on-prem VM and the Pub/Sub is in the Cloud.不确定这是否可行,因为 .Net 应用程序位于旧版本地 VM 上,而 Pub/Sub 位于云端。 Here also I not familiar with.Net but found out that there are.Net Google client library which can be added in.Net code to achieve this flow.这里也是我不熟悉.Net,但发现有.Net Google客户端库,可以在.Net代码中添加来实现这个流程。 Also is Google Pub/Sub the right integration tool to be used or something else has to be used to connect these two systems to-gather. Google Pub/Sub 是否是正确的集成工具,或者必须使用其他东西来连接这两个系统。

This is by far i could proceed.到目前为止,我可以继续进行。 Could you guys let me know are the above 2 approaches right or there is an issue and which one is the right approach.你们能否让我知道上述两种方法是正确的还是存在问题,哪一种是正确的方法。 Also if there is any other solution apart from above it would really help me to move forward.此外,如果除了上述之外还有其他解决方案,它真的会帮助我继续前进。 Hoping for a positive reply and help from you all.希望得到大家的积极回复和帮助。

Thanks, Vikeng21谢谢,维京21

For the 1st scenario the mentioned connector is in fact a TIBCO BusinessWorks plugin.对于第一种情况,提到的连接器实际上是一个 TIBCO BusinessWorks 插件。 So the approach would be to build a kind of GCP Cloud Messaging / TIBCO EMS gateway using TIBCO BusinessWorks.因此,方法是使用 TIBCO BusinessWorks 构建一种 GCP 云消息传递/TIBCO EMS 网关。 It would be then possible to run this solution on premise or in the Cloud (using TIBCO TCI offering).然后可以在本地或云端运行此解决方案(使用 TIBCO TCI 产品)。 The advantage of this approach is that it would be transparent for your applications and local.Net applications and Cloud applications would receive exact same messages.这种方法的优点是它对您的应用程序是透明的,local.Net 应用程序和云应用程序将接收完全相同的消息。

I think EmmanuelM's answer covers the first scenario, it would probably be the easiest and most transparent approach.我认为 EmmanuelM 的回答涵盖了第一种情况,这可能是最简单、最透明的方法。

In regards of scenario #2.关于场景#2。 I think this is a valid approach as well, although it requires to modify your application code to publish messages to Pub/Sub alongside Tibco, I'm no Tibco expert either;我认为这也是一种有效的方法,尽管它需要修改您的应用程序代码才能将消息发布到 Tibco 旁边的 Pub/Sub,但我也不是 Tibco 专家; but when it comes to Pub/Sub, as you've mentioned, Pub/Sub offers a .NET client library which you can you use in your application to easily publish and consume Pub/Sub messages.但是对于 Pub/Sub,正如您所提到的,Pub/Sub 提供了一个.NET 客户端库,您可以在应用程序中使用它来轻松发布和使用 Pub/Sub 消息。 I see that you've mentioned:我看到你提到过:

Not sure if this is ok as.Net application is on legacy on-prem VM and the Pub/Sub is in the Cloud不确定这是否可行,因为.Net 应用程序位于旧版本地 VM 上,并且 Pub/Sub 位于云端

It is completely ok;完全没问题; Cloud Pub/Sub service is used through its API , and you can consume the API regardless of whether you do it on-prem or cloud. Cloud Pub/Sub 服务通过其 API使用,您可以使用 API,无论您是在本地还是在云端进行。

The thing about this approach is that I'm not sure how consistency could be kept between Tibco and Pub/Sub, I'm assuming that this is why the first approach would be easier and transparent as this is probably what the integration plugin is in charge of.这种方法的问题是我不确定如何在 Tibco 和 Pub/Sub 之间保持一致性,我假设这就是为什么第一种方法会更容易和透明的原因,因为这可能是集成插件所在负责。 Without that, some custom application logic would probably be required to guarantee that messages are being successfully published both to Tibco and Pub/Sub.否则,可能需要一些自定义应用程序逻辑来保证消息成功发布到 Tibco 和 Pub/Sub。

Having said that, I would really recommend that you get in contact with Google Cloud Sales to describe in detail your use case, business requirements and get personalized assistance for your migration plan.话虽如此,我真的建议您与 Google Cloud Sales 联系,详细描述您的用例、业务需求,并为您的迁移计划获得个性化帮助。

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

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