• # Des sites existent

    Posté par (site web personnel) . En réponse au journal Écrire des diagrammes de séquences. Évalué à 10.

    Il y a longtemps j'utilisais WebSequence Diagram. C'était bien.

    Mais pas assez ouvert, alors en cherchant un peu, j'ai trouvé : PlantUML. Et comme ils le disent : Open-source tool that uses simple textual descriptions to draw UML diagrams.

    Un exemple simple :

    • Voici le texte utilisé : @startuml Actor User as u box "Client Workstation" #aqua participant "Client Browser" as b participant "Client JavaWebStart" as c endbox box "Servers Infrastructure" #darksalmon participant ReverseProxy as r participant ApplicationServer as s endbox u -> b : I want to go to application https://test.com == Authentication == b -> r : User wants to go to application https://test.com r --> b : OK, but first Authenticate b --> u : Give your creds u -> b : user=test, pass=**** b -> r : OK, here are the credentials r -> r : Checking authentication r --> b : OK you're granted. Take the cookie(s) b --> u : You're accepted. Going to the app == Request a Page to have the JavaWebStart file == b -> r : Going to https://test.com see my cookie(s) r -> r : Checking cookie(s) : OK granted. r -> s : Please have a look on this request note over s The authentication mechanism of the application is not represented in this schema. But it also adds cookie like JSESSIONID. endnote s --> r : The answer (with the link to JavaWebStart) r --> b : The answer (with the link to JavaWebStart) + cookie updated b --> u : The answer u -> b : Click on the JWS b -> s : I want this (including the check on the ReverseProxy for security) s --> b : Here is the file (including the update of cookie on the RP). b --> u : Do you want to execute the JWS ? == Executing JWS == u --> c : Execute c -> r : I want something on https://test.com (i have no cookie) r --> c : **You shall not pass !** note over c,r : That's why the Java Web Start needs to know the cookies @enduml
    • Et l'image générée :

    Diagramme de séquence simple

    PlantUML en action avec l'exemple ci-dessus.

    Bien sûr, je pourrais télécharger le jar et le faire tourner en local, mais j'ai juste pas envie. D'autant plus qu'il y a pléthore de license disponible.