オンザフライでイメージを生成するのに、オンラインの Web サービスとして PlantUML を使うことができます。オンラインのデモンストレーションは
http://www.plantuml.com/plantuml から試すことができます。また、手元の JEE Web アプリケーションサーバに PlantUML を インストール することもできます。
JEEアプリケーションサーバをインストールしたくない場合は、
PlantUML PicoWeb Serverをローカルで実行することもできます。
大きな入力フィールドはダイアグラムを記述するためのものです。任意のダイアグラムを入力してからsubmitボタンを押すと、下部に図が表示されます。
ダイアグラムは
@startxxx
キーワードで開始するように習慣づけると良いでしょう。
ダイアグラムを検証すると、そのダイアグラムをエンコードしたURLにリダイレクトされます。
エンコード形式は複数行からなるダイアグラムよりも短くなるため、共有するのに適した形式です。また、ブラウザを使ってオンラインのPlantUMLサーバ上で簡単に表示することができます。
例えば、
SyfFKj2rKt3CoKnELR1Io4ZDoSa70000
は次のダイアグラムをエンコードしたものです:
@startuml
Bob -> Alice : hello
@enduml
デフォルトでは、PlantUMLサーバは
Bob -> Alice
のシーケンス図をサンプルとして表示します。しかし、ダイアグラムのエンコード形式を使用して他のダイアグラムを初期表示することもできます。
URLに
/uml/ENCODED
を追加してください。
例えば、次のリンク
http://www.plantuml.com/plantuml/uml/Aov9B2hXil98pSd9LoZFByf9iUOgBial0000では、シンプルなHello Worldのアクティビティ図を表示したPlantUMLサーバが開かれます。
PlantUMLは生成したPNGのメタデータに、ダイアグラムのソースコードを
エンコードテキスト形式で保存します。そのため、画像のURLをクエリパラメータの
metadata
として与えることで、ソースコードを取り出すことが可能になっています。
例えば、
http://i.stack.imgur.com/HJvKF.png
の画像からダイアグラムのソースコードを取り出したい場合、次のサーバリクエストを使います:
http://www.plantuml.com/plantuml/?metadata=http://i.stack.imgur.com/HJvKF.png
.
まるで魔法のようですが、これは非常に優れたエンジニアリングです :-)
PlantUMLサーバのウェブサービスインターフェースは開発者向けに用意されています。
ダイアグラムをPNGファイルとして取得するには、次のURLスキームを使用します:
/plantuml/png/ENCODED
ダイアグラムをSVG XMLファイルとして取得するには、次のURLスキームを使用します:
/plantuml/svg/ENCODED
すべてのダイアグラムがSVGとして出力できるわけではありません。例えば、ditaaはPNG形式のみ利用可能です。
UTF-8でエンコードされたダイアグラムをアスキーアート形式で取得するには、次のURLスキームを使用します:
/plantuml/txt/ENCODED
アスキーアートを生成できるダイアグラムはシーケンス図のみです。
前述のサービスで生成したPNG画像に対する、
クライアントイメージマップを取得するには、次のURLスキームを使用します:
/plantuml/map/ENCODED
<area>
タグのリストが出力されます。各行が図の定義中に含まれるリンクに対応しています。
例えば次の
図:
@startuml
participant Bob [[http://plantuml.com]]
Bob -> Alice : [[http://forum.plantuml.net]] hello
@enduml
これにより、
次の結果が得られます:
<map id="plantuml_map" name="plantuml_map">
<area shape="rect" id="id1" href="http://forum.plantuml.net" title="http://forum.plantuml.net" alt="" coords="38,50,199,65"/>
<area shape="rect" id="id2" href="http://plantuml.com" title="http://plantuml.com" alt="" coords="8,3,50,116"/>
</map>
完全なイメージマップを作るには、
<area...
タグを
<map...
タグの中に含める必要があることに注意してください。
プロキシサービスを使用すると、PlantUMLは、ダイアグラムのソースを別のサーバーにあるドキュメントから取ってくることができます。
プロキシサービスは、次のURLスキームを使用します:
/plantuml/proxy?src=RESOURCE&idx=INDEX&fmt=FORMAT
- RESOURCEは、
@startxxx
と@endxxx
タグを含むダイアグラムの記述の書かれたドキュメントのURLです。.html
または.txt
ファイルのURLを指定します。
- INDEX(任意項目)は、リモートのドキュメントに複数のダイアグラムが記述されている場合に、何番目のダイアグラムかを指定します。数値は0始まりで、デフォルト値は0です。
- FORMAT(任意項目)は、出力形式を指定します。
png
、svg
、eps
、epstext
、txt
の値を指定できます。デフォルトはpng
です。
次の例を試してください:
http://www.plantuml.com/plantuml/proxy?src=https://raw.github.com/plantuml/plantuml-server/master/src/main/webapp/resource/test/test2diagrams.txt
リモートドキュメントのURLはパラメータとして指定するので、そのURL自体を
URLエンコードする必要はありません。
PlantUMLサーバをJEE 5ウェブサーバにインストールするには、
plantuml.warをダウンロードし、そのファイルを
webappフォルダにコピーします。
PlantUMLサーバはTomcat 6、7、Jetty 8、9で正常に動作することがテストされています。
Because of the [[https://blogs.oracle.com/javamagazine/post/transition-from-java-ee-to-jakarta-ee|transition]] from ''javax.
'' to ''jakarta.'', the PlantUML Server does not work on Tomcat 6/7/8/9 any more. You have to use Tomcat 10.
Because of the [[https://blogs.oracle.com/javamagazine/post/transition-from-java-ee-to-jakarta-ee|transition]] from ''javax.
'' to ''jakarta.'', the PlantUML Server does not work on Tomcat 6/7/8/9 anymore. You have to use Tomcat 10.
WARNING
This translation need to be updated. WARNING
PlantUMLサーバはオープンソースです。ソースコードは
https://github.com/plantuml/plantuml-serverにあります。
(メインソースは
https://github.com/plantuml/plantumlにあります。)