我还不太了解如何在 UML2 组件图中使用端口、连接器和接口。
我知道组件可以是物理组件或逻辑组件,接口是否相同?例如,所需的导入成为组件图中的必需接口或类图中的简单用法?而且我也不理解端口作为交互点的概念:只是微服务中进入和退出点的表示吗?
为了理解我在应用程序中做了两个非常典型的场景(我是一个 java 开发人员)。
方案 1
一种典型的外观模式,我的客户端应用程序需要通过外观调用多个 Web 服务(rest 或 soap)。
我尝试在组件图中表示:
1b)客户端和外观组件之间的接口使用正确还是我只需要一个简单的<>?物理上没有接口,只有一个类导入,但逻辑上甚至外观组件都暴露了一个 API(与 Web 服务 API 不同)。不需要端口,因为客户端和外观不是完全独立的软件,对吗?
1c)在外观和服务之间我需要端口,因为我们连接到各种独立的软件(可能不是我们的软件)。是正确的?
场景 2 现在我在 Java Web 应用程序中制作了第二个场景,它也是非常典型的。出于业务目的需要调用 EJB(具有接口的远程类)的 MVC 应用程序。
我的组件图:
2a)在这种情况下,我的用户界面包含在演示组件中,在各种 UI 和整个组件之间建立了委托连接。这是正确的使用方法吗?
2b)当我调用Web服务并且需要使用端口时,表示和业务组件之间的情况与场景1相同吗?
如果我的组件图有误,请帮助我理解我的错误以及如何为这些场景制作正确的组件图。