
Documenting your architecture: Wireshark, PlantUML and a REPL to glue them all - kiyanwang
http://danlebrero.com/2017/04/06/documenting-your-architecture-wireshark-plantuml-and-a-repl/
======
gerdesj
I love the description of Wireshark being "venerable". It seems only last week
it was called Ethereal and only last month when there was nothing really
available to do packet capture and analysis that didn't cost a kidney.

Nowadays the pace of development is breathtaking. Judging by the change log
there can be anything up to a few hours between commits:

[https://code.wireshark.org/review/gitweb?p=wireshark.git;a=l...](https://code.wireshark.org/review/gitweb?p=wireshark.git;a=log;h=HEAD)

~~~
hackbinary
>> It seems only last week it was called Ethereal and only last month when
there was nothing really available to do packet capture and analysis that
didn't cost a kidney.

Ethereal was released in 1998, and changed the name to wireshark in 2006 or
2007. Doesn't feel like last week to me, but then again different people, so
different perceptions.

~~~
wybiral
Yeah, I've used wireshark for years. But maybe I was late in the game.

------
PaulHoule
I definitely like the idea of using UML in a territory-to-map direction as
opposed to the opposite.

~~~
suls
This analogy is taken straight out of “the 7 habits”?

~~~
PaulHoule
see
[https://en.wikipedia.org/wiki/Alfred_Korzybski](https://en.wikipedia.org/wiki/Alfred_Korzybski)

~~~
NotUsingLinux
Thank you for sharing this!

------
vvanders
PlantUML is one of the best tools I've used for sequence diagrams. Really
awesome stuff and there's a fantastic plugin for VSCode that gives you
realtime preview.

~~~
fulafel
Emacs support too.

------
contingencies
[http://www.mcternan.me.uk/mscgen/](http://www.mcternan.me.uk/mscgen/)

------
jimmcslim
The C4 model [1] and Structurizr [2], describing systems architecture through
code seems worth linking to here as well.

[1] [https://c4model.com/](https://c4model.com/)

[2] [https://structurizr.com/](https://structurizr.com/)

------
vijucat
Good idea. In the finance space, I did something similar to understand FIX
message log files; there's a lot of back and forth among algorithmic trading
engines, the GUI, and the stock exchange that can be confusing, and some
visualization can help give the big picture before one delves into the multi-
gigabyte log file.

I remember NewRelic had something similar to reverse-engineer cloud
architecture, which I thought was an awesome idea, too, in this age of
microservices. There should be a startup around that idea (minus having to use
NewRelic) if there isn't one already.

~~~
coredog64
AppDynamics does as well. It injects a bunch of headers into standard traffic
(HTTP, JMS, JDBC) and then correlates it elsewhere.

It's great when it works. (We're 4 months into a support case where Hystrix
causes AppD to completely lose it's mind).

------
fulafel
There is really a missing piece in FOSS tools - the high level network
analyzer focusing on flows, inferring causalities, tracking network identities
on different protocol layers.

------
ryanmarsh
Having taken the bait of model driven OO architecture hook line and sinker
circa 2000, and having followed the practice religiously to it's natural
painful conclusion, it's nice to see someone find a truly novel and useful
application for the UML sequence diagram.

It's nice to have an accurate picture of how the system works but it is folly
to trust one before the fact.

------
pathdependent
Shameless plug:

This (very) thin wrapper lets you write your PlantUML code in Jupyter cells.

[https://github.com/jbn/IPlantUML](https://github.com/jbn/IPlantUML)

------
IncRnd
I like this idea.

I've used a similar method to explore differences between design and
implementation for verticals, as those often have stringent requirements on
how to process data and what data/algorithms can be used.

------
gcb0
neat solution! but in most systems requests would be coming from all over the
place, not a central one (the browser in this example, of all things :)

------
kvr2277
Good concept to generate UML from logs

------
chrisweekly
So cool. So useful. Thank you Dan Lebrero!

