体系结构 – 将第三方模块集成到应用程序中的最佳实践

我们有一些项目涉及构建一个由50%自定义功能组成的应用程序,但是然后引入一个wiki,一个论坛和其他已经发明的“轮子”的组件,我们不会希望从头开始重写.

这些第三方应用程序通常具有自己的数据库,主题和身份验证系统.根据我的经验,让事情像单点登录或共同主题一样工作,或者在多个子应用程序中跨实体进行标记/搜索是非常具有挑战性的问题.这种集成项目有哪些最佳实践?

到目前为止,我们的方法是尝试仔细挑选您的组件,选择具有明确定义的API的组件,最好通过HTTP(如REST或SOAP),尽管这并不总是可行的(我们没有找到一个像样的这样工作的论坛).人们可以给那些试图做到这一点的人提供建议,因为我怀疑这些天我们中的许多人越来越频繁了吗?

最佳答案
确保您的应用程序与第三方应用程序或库之间的接口是这样的,以便您可以使用其他东西轻松替换它以防万一.在某些情况下,第三方软件可能只是标准API的实现(Java在JDBC,JMS,JNDI等方面做了很多工作).在其他情况下,这意味着将第三方库包装在您提出的某些API中.

当然,有时候会把这个想法抛到窗外,让事情与第三方软件紧密结合.请确保您真的想要将您的应用程序绑定到该第三方.一旦你沿着这条路走下去,真的很难回头改变主意.

转载注明原文:体系结构 – 将第三方模块集成到应用程序中的最佳实践 - 代码日志