我们在事务SAT里抓到一条ABAP Trace之后,通常会先看耗时、看调用层级、看内存,真到了要讨论系统协作关系的时候,很多人还是会退回去盯代码。原因很简单,代码能告诉你谁写了什么,却不一定能把运行时对象之间到底怎么发消息、谁依赖谁、接口边界是不是稳,直观地摊在桌面上。SAT确实早就提供了从无聚合测量生成UML sequence diagram的能力,不过这条标准链路历史上依赖JNet OCX,而且相关能力并不成熟,社区文章和项目仓库都明确提到过这一点。(GitHub)
这篇内容真正有意思的地方,不在于再造一个画图工具,而在于它把SAT的运行时测量结果,重新整理成PlantUML的纯文本序列图。这样一来,图不再是一个封死的图形控件,而是一段可以保存、编辑、版本化、对比、压缩、再生成的文本。PlantUML官方也一直强调,它的优势就在于文本与图形之间的直接映射关系,修改源文本会非常直接地反馈到最终图像上,编辑成本比传统拖拽式绘图小得多。(