Architecture 体系结构隔离机制

Architecture 体系结构隔离机制,architecture,isolation,Architecture,Isolation,我们目前正在审查如何将核心业务组件(在代码中)与前端开发隔离开来。我们已经有了多层体系结构,但它们是使用dll(或某些地方的Web服务)引用的 我们想做的是将UI的一部分外包给外部开发人员。问题是我们必须提供可以反向工程的dll,然后才能“获取”核心业务逻辑代码 解决这个问题的一种方法是使用Webservices公开BO,而不是使用dll公开BO。然而,问题很少。例如,对于安全性、调试、异常处理、托管等,我认为这不适合上述问题,但web服务也不适用于此类问题 我想知道是否有人遇到过类似的情况?或

我们目前正在审查如何将核心业务组件(在代码中)与前端开发隔离开来。我们已经有了多层体系结构,但它们是使用dll(或某些地方的Web服务)引用的

我们想做的是将UI的一部分外包给外部开发人员。问题是我们必须提供可以反向工程的dll,然后才能“获取”核心业务逻辑代码

解决这个问题的一种方法是使用Webservices公开BO,而不是使用dll公开BO。然而,问题很少。例如,对于安全性、调试、异常处理、托管等,我认为这不适合上述问题,但web服务也不适用于此类问题

我想知道是否有人遇到过类似的情况?或者如果有人这样做了?如果是,怎么做


谢谢,

提供了一个实现业务逻辑的web服务点-这将由您自己托管,并可供UI开发人员访问

通过这种方式,您可以控制业务逻辑,并且UI团队可以访问API


如果这是不可能的,那么将业务逻辑的公共接口提取到它自己的包中,并实现一组“固定”响应——只是供UI人员使用的硬编码数据。这允许您为UI团队提供他们将集成的界面以及示例数据,但不需要实际的业务逻辑。

提供一个实现业务逻辑的web服务点-这将由您自己托管,并可供UI开发人员访问

通过这种方式,您可以控制业务逻辑,并且UI团队可以访问API


如果这是不可能的,那么将业务逻辑的公共接口提取到它自己的包中,并实现一组“固定”响应——只是供UI人员使用的硬编码数据。这允许您为UI团队提供他们将集成的界面和示例数据,但不需要实际的业务逻辑。

y原则可能有助于您分离所要求的关注点

它是一种系统地分离业务和技术关注点的方法

以下字符图形描述了该方法:

  Business requirements      Technical requirements
+------   |                             |  ------+
|         v                             v        |
|  Business model               Technical model  |
\          \                            /      /
 \          \                        /       /
   \          \                    /       /
     \          > Mapping rules <        /
       \              |                /
         \            |              /
          \           v             /
           \    Implementation     /
            \         |           /
             \        |          /
              \       v         /
               Acceptance Tests
业务需求技术需求
+------   |                             |  ------+
|v v|
|业务模型技术模型|
\          \                            /      /
\          \                        /       /
\          \                    /       /
\>映射规则
如果映射规则一致并且可以重复应用,则该方法可以自动化。 反向y分析可以表明情况是否如此

如果该方法适用,将对效率产生深远影响。 而不是一次又一次地将业务问题映射到技术问题 这个过程可以重复并最终自动化


您可以在我的公司网页上找到更多信息。

y原则可能会帮助您分离您所要求的关注点

它是一种系统地分离业务和技术关注点的方法

以下字符图形描述了该方法:

  Business requirements      Technical requirements
+------   |                             |  ------+
|         v                             v        |
|  Business model               Technical model  |
\          \                            /      /
 \          \                        /       /
   \          \                    /       /
     \          > Mapping rules <        /
       \              |                /
         \            |              /
          \           v             /
           \    Implementation     /
            \         |           /
             \        |          /
              \       v         /
               Acceptance Tests
业务需求技术需求
+------   |                             |  ------+
|v v|
|业务模型技术模型|
\          \                            /      /
\          \                        /       /
\          \                    /       /
\>映射规则
如果映射规则一致并且可以重复应用,则该方法可以自动化。 反向y分析可以表明情况是否如此

如果该方法适用,将对效率产生深远影响。 而不是一次又一次地将业务问题映射到技术问题 这个过程可以重复并最终自动化


你可以在我的公司网页上找到更多信息。

接口合同的概念似乎就在这里

如果接口的契约定义得很好(让它们成为DLL入口点、WSDL等等),那么创建允许UI开发人员测试行为的模拟实现应该不是很困难


我们采取的唯一预防措施是要求UI承包商将代码提交到我们的SVN存储库中(不,这里没有Git:),这样我们的构建机器就可以连续运行集成测试,我们可以每天评估进度和问题。

接口契约的概念似乎就在这里

如果接口的契约定义得很好(让它们成为DLL入口点、WSDL等等),那么创建允许UI开发人员测试行为的模拟实现应该不是很困难


我们采取的唯一预防措施是要求UI承包商将代码提交到我们的SVN存储库(不,这里没有Git:),这样我们的构建机器就可以连续运行集成测试,我们就可以每天评估进度和问题。

“提供一个web服务点来实现