简体   繁体   English

通用PHP服务器应用程序的UML部署图

[英]UML deployment diagram for a common PHP server application

Lets assume you want to visualize a common PHP server application using the UML 2 deployment diagram for someone not having much knowledge in this area. 让我们假设您想使用UML 2部署图来可视化常见的PHP服务器应用程序,以供对该领域不了解的人使用。 Such a common application could have three device nodes (Database Server, Web Server and Client) and four execution environment nodes (Relational Database Management System, Web Server, PHP Interpreter and a Web Browser). 这样的通用应用程序可以具有三个设备节点(数据库服务器,Web服务器和客户端)和四个执行环境节点(关系数据库管理系统,Web服务器,PHP解释器和Web浏览器)。 And inside "PHP Interpreter" might be sitting a common component "Application" and inside the execution environment "Web Browser" might be three artifacts (HTML, CSS and JavaScript). 在“ PHP Interpreter”内部可能是一个通用组件“ Application”,而在执行环境“ Web Browser”内部可能是三个工件(HTML,CSS和JavaScript)。

Since PHP supports many different protocols and RDBMS, a common specifier for the communication between the "PHP Interpreter" Node and the "Relational Database Management System" node can't be labeled with a concrete protocol, so we could mostly say it's TCP/IP between the underlaying device nodes "Database Server" and "Web Server"; 由于PHP支持许多不同的协议和RDBMS,因此“ PHP解释器”节点与“关系数据库管理系统”节点之间的通信的通用说明符无法用具体协议标记,因此我们可以说它是TCP / IP在底层设备节点“数据库服务器”和“ Web服务器”之间; but event this is not always true (think about sockets). 但是事件并非总是如此(考虑套接字)。 Between the execution environment nodes "Web Server" and "Web Browser" it's HTTP. 在执行环境节点“ Web服务器”和“ Web浏览器”之间是HTTP。 What is great! 太好了! :D. :d。 Regarding the communication between the RDBMS and the Application component it's SQL, but this is not a protocol and the result interface depends on the underlining driver. 关于RDBMS与应用程序组件之间的通信,它是SQL,但这不是协议,结果接口取决于下划线驱动程序。 Also it's not given that the three device nodes on separate instances. 同样,没有给出三个设备节点在单独的实例上。 And what about the ports and interfaces of the component "Application" regarding the Web Browser. 以及有关Web浏览器的“应用程序”组件的端口和接口呢? Can we specify here something more specific which is also mostly true? 我们可以在这里指定更具体的内容吗?

So my question is, how would a correct and generically well balanced diagram could look like considering my notes in the paragraph before? 所以我的问题是,一个正确且总体上平衡良好的图表将如何看起来像考虑上一段中的注释?

What you can do is to create some overview diagram which lights up a mix of the above like this one: 您可以做的是创建一些概述图,将上面的内容混合在一起,如下所示:

在此处输入图片说明

You can see that the machine itself has an IP connection which of course can carry lots of protocols. 您会看到机器本身具有IP连接,该IP连接当然可以携带许多协议。 You don't necessarily show what will travel across this IP connection. 您不一定要显示将通过此IP连接传输的内容。 If needed you would create another diagram which lists all the supported protocols as interfaces being realized here. 如果需要,您可以创建另一个图,其中列出了所有受支持的协议,作为此处要实现的接口。 That might get messy/tricky to show and there are quite some obvious things which can easily be discarded. 这可能会显示混乱/混乱,并且有很多显而易见的东西很容易被丢弃。

Further you can see that you have a RDBMS and a Web Server which run in separate jails. 此外,您还可以看到具有在单独的监狱中运行的RDBMS和Web服务器。 Here you can see that they provide ports for what they are used to talk to. 在这里,您可以看到它们提供了用于交谈的端口。 It's again not shown here whom and how they talk to. 这里再次没有显示与谁以及他们如何交谈。 This can again go into another diagram like this: 可以再次进入另一个这样的图:

在此处输入图片说明

Long story short: you will not create a single diagram showing everything inside, but you will create different diagrams for different aspects - which you reach from some overview diagram. 长话短说:您不会创建一个显示内部所有内容的图表,而是会针对不同方面创建不同的图表-您可以从一些总览图中找到这些图表。

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

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