简体   繁体   English

如何组织同一组中多个biztalk应用程序引用的公共模式?

[英]How to organize common schemas referenced by multiple biztalk applications in a same group?

I have a situation were I need to reference a schema in two different BizTalk applications. 我有一种情况是我需要在两个不同的BizTalk应用程序中引用一个模式。

I could either: 我可以:

Put the schema in one application and make the other applications have a reference to it. 将模式放在一个应用程序中,并使其他应用程序具有对它的引用。

OR 要么

Put the schema in a common application and all other applications have a reference to this common application. 将模式放在一个通用应用程序中,所有其他应用程序都引用此常见应用程序。

However, in both the above cases if there are any changes to the schema I end up having to rebuild/redeploy all the applications having a reference to the schemal. 但是,在上述两种情况下,如果对模式进行任何更改,我最终都必须重新构建/重新部署所有引用了schemal的应用程序。 Is there a better way of organizing the applications? 有没有更好的组织应用程序的方法?

From the Microsoft Biztalk Operations Guide : 从Microsoft Biztalk操作指南

Deploy shared artifacts in a separate application - If artifacts are going to be shared by two or more applications, deploy the shared artifacts into a separate application. 在单独的应用程序中部署共享工件 - 如果工件将由两个或更多应用程序共享,请将共享工件部署到单独的应用程序中。 For example, if two applications share a schema, place the schema in a separate application. 例如,如果两个应用程序共享架构,请将架构放在单独的应用程序中。 We recommend this because only one artifact in a BizTalk group can have a single locally unique identifier (LUID). 我们建议这样做,因为BizTalk组中只有一个工件可以具有单个本地唯一标识符(LUID)。 A LUID consists of the artifact name and optionally other attributes. LUID由工件名称和可选的其他属性组成。 If you include an artifact in one application, and then create a reference to it from another application, the referring application may not function correctly when you stop the application containing the artifact. 如果在一个应用程序中包含工件,然后从另一个应用程序创建对它的引用,则在停止包含工件的应用程序时,引用应用程序可能无法正常工作。 This best practice applies to all artifact types except for files, such as Readme files and scripts, which are added to the application as a File type of artifact. 此最佳实践适用于除文件之外的所有工件类型,例如自述文件和脚本,这些文件作为工件的文件类型添加到应用程序中。 This is because more than one file artifact with the same name can be deployed in a BizTalk group. 这是因为可以在BizTalk组中部署多个具有相同名称的文件工件。 Therefore, you can use a file having the same name in two or more applications. 因此,您可以在两个或多个应用程序中使用具有相同名称的文件。 In this case, stopping one application will not impact the other application. 在这种情况下,停止一个应用程序不会影响其他应用程序。 For more information about adding file artifacts, see "How to Add a File to an Application" in BizTalk Server 2006 R2 Help at http://go.microsoft.com/fwlink/?LinkId=106818 . 有关添加文件工件的详细信息,请参阅“BizTalk Server 2006 R2帮助”中的“如何将文件添加到应用程序”, 网址http://go.microsoft.com/fwlink/?LinkId=106818

The schemas going in the shared app really shouldn't change as they're shared and this is a major event. 共享应用程序中的模式确实不应该随着它们的共享而改变,这是一个重大事件。 If you are adding schemas or modifying existing maps, there is no need to rebuild old apps. 如果要添加模式或修改现有映射,则无需重建旧应用程序。 You may have to recycle dependent host instances to get them to refresh their in memory copies of the dll. 您可能必须回收依赖的主机实例,以使它们刷新其内存中的dll副本。 Otherwise should be 95% hassle free. 否则应该95%无忧无虑。

我们将常用模式和功能放在一个单独的应用程序中。

I am not sure im understanding your question, so correct me if i am off base. 我不确定我是否理解你的问题,所以如果我不在基础,请纠正我。

You should organize your schemas as their own assembly that can be independently deployed to all the applications that need it. 您应该将模式组织为自己的程序集,可以将其独立部署到需要它的所有应用程序。 They can then be referenced by other projects during development. 然后,它们可以在开发期间被其他项目引用。 After deployment if changes are made to the schemas; 部署后,如果对模式进行了更改; the schema assembly just has to be updated on the server; 架构程序集只需要在服务器上更新; the reference to the schema from the applications will be maintained. 将保留对应用程序中模式的引用。

hope this helps. 希望这可以帮助。

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

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